One size does not fit all: a case for heterogeneous multiprocessor systems.
Pedro Trancoso · IADIS AC · 2005
Traditionally, general-purpose multiprocessor systems are built out of a certain number of identical nodes, i.e. the systems are homogeneous. Heterogeneous systems are exceptions that happen only for special-purpose applications, for large-scale systems, or as a consequence of node updates. Nevertheless, different applications do not have the same characteristics or even the same goals. Consequently, a heterogeneous system is a much better match for the application requirements. The objective of this work is to find the best matching heterogeneous system configuration for a workload composed of database queries which may have one of two goals: high-performance or low-energy. Experiments were performed on simulated systems with up to 32 nodes and using a large number of database queries, where 50% of them had as goal high-performance and the rest low-energy. The results showed that for medium and large systems the heterogeneous configuration achieves a significant reduction of the total penalty, up to 62%, compared to the best homogeneous configuration. In addition, a heterogeneous system configured using a simple heuristic achieved a penalty reduction within 3% from the best heterogeneous configuration found with exhaustive search. These results lead to the conclusion that when configuring a multiprocessor it is necessary to seriously consider a heterogeneous configuration.