Skip to main content

Meeting Challenges in Computer Architecture

Final Report Summary - MECCA (Meeting Challenges in Computer Architecture)

The overarching goal of MECCA (Meeting the Challenges in Computer Architecture) is to make significant advances in how future computers use available computational resources to meet challenging goals concerning computational performance, energy consumption and (time) predictability. MECCA is confronted with three major challenges anchored in barriers related to the shift to parallel architectures that happened early 2000. The first challenge – parallelism – is anchored in the negative impact parallel architectures have on programmer productivity. Parallel programming is difficult and labor-intensive. An open and very challenging problem is how to off-load the programmer from a significant part of this task. The second challenge – power – is rooted in the very reason for the shift to parallel architectures: exhaustion of the chip power budget; the maximum power that a chip can dissipate. The third challenge – predictability – is motivated from the diverse use of mass-volume microprocessor devices in application domains spanning embedded controllers via desktop, laptop, tablet, smartphones to supercomputer and data centers. In particular, the strict requirements of predictable response times in safety-critical applications (e.g. automotive, airplanes, health care, and industrial automation) are at odds with the evolution of parallel architectures. MECCA has successfully delivered on its promises.

For the first challenge MECCA has developed a novel technique for resource management of cache resources. Like operating systems are responsible for managing virtual memory, MECCA has taken the view that a runtime system being part of the microprocessor is responsible for management of on-chip cache resources – a challenging management task for programmers. MECCA has developed a principled cross-layer approach in which static information at the programming-model level and dynamic information at the architecture level are used by runtime systems to effectively manage cache resources in multicore architectures. This concept has successfully been shown to go beyond state of the art when it comes to cache coherence optimizations, dead-block removal and global cache management.

Improving on-chip cache utilization is important as an enabler for higher performance and lower energy consumption. MECCA has advanced state of the art in cache compression techniques leveraging statistical compression techniques that were felt to be too slow in the context of caches. This line of work has not only had impact in the research community but has also led to a successful launch of a startup company that is now entering the market place.

For the second challenge computer applications typically run at a best effort at the highest speed offered by available resources. This wastes energy as the end user may find it acceptable with a more relaxed performance target. For example, in processing video images, a typical performance target is fifty frames per second. By using specified performance targets one can save energy by throttling resources at the architectural level. MECCA has contributed with novel resource management concepts that dynamically predict the remaining execution time and energy consumption of a large set of configurations so as to select among this large set of configurations the one that minimizes energy consumption and meets the performance target. This involves innovative techniques that can predict execution time and energy consumption accurately at low overhead.

For the third challenge, the predictability challenge, designers of safety-critical systems have refrained from taking advantage of the performance advantage of multicore systems to run parallel applications. The problem is that one must make execution-time guarantees. State-of-the-art solutions provide so pessimistic guarantees that the performance potential of multicore systems vanish. MECCA has gone beyond state of the art by, for the first time, deriving tight bounds on the worst-case execution time for dynamic scheduling algorithms making them timing-anomaly free. Another major contribution in the MECCA project is a first derivation of the worst-case execution time of parallel applications on unrelated multicore platforms which is a general model capturing a broad range of heterogeneous multicore platforms that are becoming more and more important.