Working Sets based Thread Scheduling with Cache Partitioning

Masayuki Sato1

Advised by: Isao Kotera1, Ryusuke Egawa2, Hiroyuki Takizawa1 and Hiroaki Kobayashi2

1 Graduate School of Information Sciences, Tohoku University
2 Cyberscience Center, Tohoku University

Chip multiprocessors (CMPs) have large shared cache memories, and the shared caches have become major power sources due to their areas. However, executed threads do not always require their entire capacity. Besides, some threads sharing a cache cause severe performance degradation due to inter-thread cache conflicts. Although cache partitioning has been proposed to avoid the conflicts, it may cause capacity shortage when threads that require large cache spaces are co-scheduled. These problems degrade energy efficiency because an expected performance cannot be obtained even with a large amount of resource and power used.

This paper proposes a thread scheduling policy for a CMP with a power-aware cache partitioning mechanism. If the CMP has multiple shared caches, threads are scheduled so that the requested capacity by threads sharing a cache does not exceed its capacity. This helps resource allocation to threads by the cache partitioning mechanism, and therefore, the CMP can avoid degrading performances due to both inter-thread cache conflicts and capacity shortage. The evaluation results indicate that the system can achieve 9.8% better performance than the worst case scheduling that causes capacity shortage, and reduce the cache energy consumption by 47.5% if co-scheduled threads do not need the entire cache.

Long Abstract

Back to Program