Selecting Heterogeneous Cores for Diversity

Erik-Arne Tomusk, Christophe Dubach, Michael O'Boyle

Research output: Contribution to journalArticlepeer-review


Mobile devices with heterogeneous processors are becoming mainstream. With a heterogeneous processor, the runtime scheduler can pick the best CPU core for a given task based on program characteristics, performance requirements, and power limitations. For a heterogeneous processor to be effective, it must contain a diverse set of cores to match a range of runtime requirements and program behaviors. Selecting a diverse set of cores is, however, a non-trivial problem. Power and performance are dependent on both program features and the microarchitectural features of cores, and a selection of cores must satisfy the competing demands of different types of programs. We present a method of core selection that chooses cores at a range of power-performance points. Our algorithm is based on the observation that it is not necessary for a core to consistently have high performance or low power; one type of core can fulfill different roles for different types of programs. Given a power budget, cores selected with our method provide an average speedup of 6% on EEMBC mobile benchmarks, and a 24% speedup on SPECint 2006 benchmarks over the state of the art core selection method.
Original languageEnglish
Pages (from-to)1-25
Number of pages25
JournalACM Transactions on Architecture and Code Optimization
Issue number4
Publication statusPublished - 16 Dec 2016


Dive into the research topics of 'Selecting Heterogeneous Cores for Diversity'. Together they form a unique fingerprint.

Cite this