The Illinois 4-PEAKS Project
Predictable, Power-efficient, Programmable Performance for
Emerging Applications and worKloadS
Background: Multimedia, communications, and network applications are an increasingly important workload for a growing number of systems (e.g., future handheld, laptop, and desktop systems, wireless phones and base stations, and network switches and routers). As these applications become more complex and follow evolving standards, considerations such as programmability, upgradability, and portability become more important. As a result, general-purpose architectures become increasingly attractive over special-purpose designs.
Challenges: Our target applications impose many new challenges for general-purpose architectures:
· They have high performance demands.
· They often run on mobile and small form factor devices, demanding high power efficiency (including energy and thermal efficiency).
· Their real-time nature requires performance to be predictable. This is even more challenging since they often run on platforms with dynamic changes in the availability of resources (e.g., computation, energy, and bandwidth).
· The above criteria must be met preserving the advantages of programmability of general-purpose processors.
Goal: Our goal is to develop architectures that will deliver the high performance required for our target applications, but in a predictable, power-efficient, and easy-to-program way. We refer to these criteria as the 4-P criteria.
Opportunities: Because we start with general-purpose architectures, we can exploit advances from conventional applications, and conversely, many of the techniques we develop are also useful for conventional applications. However, our focus on our target application domain allows us to exploit some of their unique properties that lead to novel solutions:
· Since these applications are real-time, as long as their deadlines are met, we can slow the system down to conserve resources.
· These applications can often operate at different performance levels, enabling a systematic tradeoff between user experience vs. resource usage (e.g., video quality vs. energy consumption).
· Their computations are usually periodic (frame-based) and easier to predict through techniques such as profiling, allowing the system to intelligently adapt for predicted future demands.
· They have significant parallelism at multiple levels, allowing us to exploit on-chip multiprocessing and multithreading.
Key Themes: The key themes in our current and ongoing work are:
· Adaptive hardware: Changing application requirements and resource availability motivate adaptive hardware that can respond to these changes to provide the best output quality given the current resources. Our current focus is primarily on dynamic energy and temperature management. Our work involves the adaptive design of various architectural resources and a coherent framework to control multiple adaptive hardware resources to provide a targeted performance vs. energy/temperature tradeoff.
· Multithreading and multiprocessing: Several of our target applications are inherently multithreaded; e.g., a video teleconferencing application consists of several video and speech encoders and decoders and each of these has significant parallelism. We are investigating on-chip multithreading and multiprocessing to best achieve our 4-P criteria.
· Cross-layer adaptation: Besides the hardware, we expect other system layers (operating system, network, and applications) also to be adaptive. To achieve a globally optimal solution, it will be crucial for all the adaptive layers in a system to coordinate their adaptations with each other. We are working on such a coordinated, cross-layer adaptive system, called GRACE, with researchers in OS, networking, and applications.