OS Scheduling for Simultaneous Multithreading Processors
by Jonathan Ledlie, Matt McCormick, and Omer Zaki
Within recent years the concept of the simultaneous multithreading (SMT)
processor has been gaining in popularity. This hardware allows multiple
processes to run on the processor at the same time providing more potential
for instruction level parallelism. These new processors suggest that the rules
an operating system (OS) scheduler follows need to be changed or at least
modified. Our study shows the combination of jobs selected to run on these
threads can significantly affect system performance. Our research shows that
scheduling policies are greatly affected by the system workload and there
most likely does not exist a single, best scheduling policy. However, it can
be shown that a scheduler that tries to schedule processes doing a large
number of loads and stores together with jobs doing few loads and stores
consistently performs at levels close to or better than all other scheduling
policies examined. It can also be seen that the more possibilities there are
for scheduling, the more necessary it is to have an intelligent scheduler. In
contrast, the few number of decisions to make (few threads and/or few
processes) the less important the decision of a scheduler becomes.
View paper in pdf format or in
ps format.