Development of a workload set for multi-core architectures

More Info
expand_more

Abstract

With the rise of multi-core chips in commodity hardware, the need for specialized workloads to evaluate the performance of multi-core systems has become apparent. The current generation of workloads used for evaluating multi-core systems often consist of sequential programs not capable of running on multiple processors and are therefore of limited use for evaluating multi-core hardware. Such sequential programs fail to show the bene?ts of adding additional cores to a system, since the programs are not capable of using all of the available resources concurrently. Apple Inc. requested the development of a workload suite that would clearly show the bene?ts of increasing the number of cores, while stressing the main parts of the system. Key requirements for the workload are: Scalability, Reproducibility and Veri?ability. In this thesis report, we present the whole process of workload development for multi-core systems, starting from selecting the programs to be included in the workload, till the application of the workload to actual hardware. In addition, this report discusses the classi?cation of different programs based on fundamental algorithm classes called Dwarfs, which is the basis for selecting possible workload components. The thesis also presents the relevant technologies used for the parallelization of selected workload components. Finally, a case study is discussed showing how to use the developed workload in practice.