Asymmetric Task Scheduling on Simultaneous Multithreading Processors

No Thumbnail Available

Date

2005-06-26

Journal Title

Series/Report No.

Journal ISSN

Volume Title

Publisher

Abstract

The performance of a simultaneous multithreaded CPU is greatly impacted by the behavioral characteristics of the threads competing for resources during concurrent execution. Most of the research aimed at improving SMT performance, or characterizing beneficial workload mixes, has targeted a multi-process parallel computation environment. Even in cases where the thread mix was heterogeneous, the CPU contexts were still viewed as two semi-independent resources, both of which were unbiased in their task selection. We investigate an alternative method for operating system designers to utilize an SMT CPU. By confining user processes to a single context of the CPU, and allowing kernel tasks to utilize the other context when necessary, we are able to, in many cases, provide better application performance than either an equivalent uniprocessor system, or an SMT system that is being treated as an SMP. In addition to operating in this special mode, an operating system may also choose to alternate between it and a conventional multiprocessing configuration, depending on which provides better performance. A modification to the Linux 2.6 kernel to achieve this desired behavior is presented, as well as test results of SPEC benchmarks which show where our modification improves performance. We also demonstrate how our modifications are sufficiently transparent to allow conditional mode selection at runtime.

Description

Keywords

scheduling, os, asymmetric, smt, hyperthreading

Citation

Degree

MS

Discipline

Computer Science

Collections