General purpose systems (i.e., desktops and servers) have followed an aggressive path to providing high performance for a range of applications. Microprocessor semiconductor technology has followed Moore’s Law for the past 30-40 year. Unfortunately, the kind of exponential transistor growth predicted by Moore does not directly translate into exponential performance gains. Adding more circuits to the design of a single microprocessor core has provided limited benefits.
The Memory Wall still looms in the background. Power/thermal issues associated with higher clock frequencies have also placed limits on single core performance scalability. While many manufacturers have turned to multi-core CPUs, due to the lack of adequate programming environments and operating systems, many of these cores sit idle.
The underlying memory hierarchy becomes even a larger bottleneck when servicing requests from many cores. While increasing the number of general purpose cores that can be placed on a single die should provide performance benefits for selected workloads, the software community is still struggling on how best to utilize these homogeneous parallel platforms.
The world is ready for a new class of computing platform, one that is multi- core, but one which provides heterogeneity that can provide high performance to a wider range of applications.In the embedded systems design space, heterogeneous sys- tems have been the norm. The concept of a system-on-a-chip or SoC has dominated the embedded systems market over the last decade.
Given the power and cost constraints imposed by the embedded systems market, SoC engineers have developed methodologies for combining CPUs, digital signal processors (DSPs), field programmable devices, and even graphic processing units (GPUs) on a single chip, allowing the embedded systems market to expand rapidly into a larger range of application spaces. Most recently we have seen this market move into smart phone and tablet environments, two markets that are advancing rapidly in terms of function and new applications.
It is at the convergence of the general purpose and embed- ded markets that we see a new computing model emerging. The model is one that assumes heterogeneity from the be- ginning, where multiple classes of architectures are combined into a single hardware fabric.
On the embedded side we see the impact of full-featured media devices pushing the embedded systems market towards this convergence point. But to truly arrive at a common model across both domains, there needs to be a set of common heterogeneous programming environments that can allow developers to move gracefully across the divide without significant cost or effort. As soon as both communities can agree on a common framework (or possibly multiple frameworks), we will see a continuous spectrum of products emerge out of this convergence in heterogeneous architectures.
To read this external content in full, download the complete paper in PDF form from the authors online archives at Pennsylvania State University.