  Heterogeneous architectures have emerged as a promising alternative for
homogeneous architectures to improve the energy-efficiency of computer systems.
Composite Cores Architecture (CCA), a class of dynamic heterogeneous
architectures enabling the computer system to construct the right core at
run-time for each application by composing cores together to build larger core
or decomposing a large core into multiple smaller cores. While this
architecture provides more flexibility for the running application to find the
best run-time settings to maximize energy-efficiency, due to the
interdependence of various tuning parameters such as the type of the core,
run-time voltage and frequency and the number of threads, it makes it more
challenging for scheduling. Prior studies mainly addressed the scheduling
problem in CCAs by looking at one or two of these tuning parameters. However,
as we will show in this paper, it is important to concurrently optimize and
fine-tune these parameters. In addition, most previous works on CCA mainly
study traditional single threaded CPU applications. This paper describes a
systematic approach to predict the right configurations for running
multithreaded workloads on CCAs. It achieves this by developing a machine
learning-based approach to predict core type, voltage and frequency setting to
maximize the energy-efficiency. Our predictor learns offline from an extensive
set of training multithreaded workloads. It is then applied to predict the
optimal processor configuration at run-time by taking into account the
multithreaded application characteristics and the optimization objective. For
this purpose, five well-known machine learning models are implemented for
energy-efficiency optimization and precisely compared in terms of accuracy and
hardware overhead to guide the scheduling decisions in a CCA.
