Dynamic Scheduling on Heterogeneous Multicores

Ayobami Edun1,a, Ruben Vazquez1,b, Ann Gordon-Ross2,c and Greg Stitt2,d
1Department of Electrical and Computer Engineering, University of Florida, Gainesville, Florida, USA
aaedun@ufl.edu
bruben.vazquez@ufl.edu
2NSF Center for Space, High-Performance, and Resilient Computing (SHREC) at UF
canngordonross@ufl.edu
dgstitt@ufl.edu

ABSTRACT


Heterogeneous multicore systems help meet design goals by using disparate hardware components that are suitable for different application requirements/design goals. The individual cores may also have different tunable hardware parameters for additional specialization. However, this complicates scheduling since to reap the benefits of specialization, applications should be scheduled to the core that offers the best configuration based on the application’s requirements and design goals. This scheduling decision could be made by exploring the design space to evaluate different configurations to determine the best configuration, or by executing the application in a base configuration to gather execution statistics to predict the best configuration. However, given increasingly complex systems, these methods may be infeasible given extremely large design spaces or difficulty in choosing a representative base configuration. In this paper, we present a dynamic scheduling methodology that uses predictive methods to schedule applications to best configurations for reduced energy consumption for a system with configurable caches. We use an artificial neural network (ANN) to train our predictive model using hardware counters. The trained ANN can then be used to predict the best core and a tuning heuristic explores the design space to determine the best configuration on non-best cores. If the best core is busy, our scheduler considers alternative idle cores or the application is stalled depending on which decision is energy advantageous. Our experiments show that system energy can be reduced by 28% on average as compared to a fixed-core system where all cores offer the same configuration.

Keywords: Dynamic scheduling, embedded systems, Machine Learning.



Full Text (PDF)