A Machine Learning Based Meta-Scheduler for Multi-Core Processors

A Machine Learning Based Meta-Scheduler for Multi-Core Processors

Jitendra Kumar Rai, Atul Negi, Rajeev Wankar, K. D. Nayak
Copyright: © 2012 |Pages: 13
DOI: 10.4018/978-1-60960-818-7.ch311
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Sharing resources such as caches and memory buses between the cores of multi-core processors may cause performance bottlenecks for running programs. In this paper, the authors describe a meta-scheduler, which adapts the process scheduling decisions for reducing the contention for shared L2 caches on multi-core processors. The meta-scheduler takes into account the multi-core topology as well as the L2 cache related characteristics of the processes. Using the model generated by the process of machine learning, it predicts the L2 cache behavior, i.e., solo-run-L2-cache-stress, of the programs. It runs in user mode and guides the underlying operating system process scheduler in intelligent scheduling of processes to reduce the contention of shared L2 caches. In these experiments, the authors observed up to 12 percent speedup in individual as well as overall performance, while using meta-scheduler as compared to default process scheduler (Completely Fair Scheduler) of Linux kernel.
Chapter Preview
Top

Metric To Characterize L2 Cache Behaviour

The meta-scheduler uses the solo-run-L2-cache-stress of programs to characterize their L2 cache behaviors. Solo-run-L2-cache-stress of a program is the number of misses and pre-fetches of L2 cache per instruction, experienced by that program while not sharing the L2 cache with programs running on other core.

Complete Chapter List

Search this Book:
Reset