Extensive use of multi-threaded applications that run on SMP machines
justifies modifications in thread scheduling algorithms to consider
threads' characteristics in order to improve performance. Current
schedulers (e.g. in Linux, AIX) avoid migrating tasks between CPUs
unless absolutely necessary. Unwarranted data cache misses occur when
tasks that share data run on different CPUs, or are far apart time-wise
on the same CPU. This work presents an extension to the Linux scheduler
that exploits inter-task data relations to reduce data cache misses in
multi-threaded applications running on SMP platforms, thus improving
runtime, memory throughput, and energy consumption. Our approach
schedules the tasks to the CPU that holds the relevant data rather than
to the one with highest affinity. We observed improvements in CPU time
and throughput on several benchmarks. For the Chat benchmark the
improvement in CPU time and cache misses is over 30% on average.
Dr. Pinter was a research specialist at MIT before
receiving her Ph.D. in computer science from Boston University.
Following her Ph. D., she joined the faculty of the Electrical
Engineering Department of Technion (Israel), remaining for twelve years
before joining the IBM research lab in Haifa as member of research
staff. She recently left IBM to become CTO of Rascal Software
Security. She is also an adjunct faculty member of the Department of
Computer Science, Haifa University, supervising graduate student research.