HASS: A Scheduler for Heterogeneous Multicore Systems


January 12, 2009


Daniel Shelepov


Microsoft (work performed at Simon Frasier University)


Future heterogeneous single-ISA multicore processors will have an edge in potential performance per watt over comparable homogeneous processors. To fully tap into that potential, the OS scheduler needs to be heterogeneity-aware, so it can match jobs to cores according to characteristics of both. We propose a Heterogeneity-Aware Signature-Supported scheduling algorithm that does the matching using per-thread architectural signatures, which are compact summaries of threads’ architectural properties collected offline. The resulting algorithm does not rely on dynamic profiling, and is comparatively simple and scalable. We implemented HASS in OpenSolaris, and achieved average workload speedups of up to 13%, matching best static assignment, achievable only by an oracle. We have also implemented a dynamic IPC-driven algorithm proposed earlier that relies on online profiling. We found that the complexity, load imbalance and associated performance degradation resulting from dynamic profiling are significant challenges to using this algorithm successfully. As a result it failed to deliver expected performance gains and to outperform HASS.


Daniel Shelepov

Daniel Shelepov has just graduated from Simon Fraser University (SFU) in Vancouver, BC with a Bachelor of Science in CS. During his senior year he got involved in OS research under the supervision of SFU’s Dr. Alexandra Fedorova. During that time he led the ongoing project on Heterogeneity-aware OS scheduling. After graduation, Daniel has joined Microsoft as an SDE in Internet Explorer, where he used to be an intern in the Summer of 2007.