Advertisement

Data Sharing Conscious Scheduling for Multi-threaded Applications on SMP Machines

  • Shlomit S. Pinter
  • Marcel Zalmanovici
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4128)

Abstract

Extensive use of multi-threaded applications that run on SMP mac hines, 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 relat ions to reduce data cache misses in multi-threaded applications running on SMP platforms, thus improving runtime, memory throughput, and energy consumpt ion. Our approach schedules the tasks to the CPU that holds the relevant data rather than to the one with highest affinity. We observed improve ments 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.

Keywords

Load Balancer Data Cache Cache Line Priority Group High Priority Task 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Jouppi, N.P., Wall, D.W.: Available instruction-level parallelism for superscalar and superpipelined machines. In: Proceeding of the 3rd ASPLOS conference, April 1989, pp. 272–282 (1989)Google Scholar
  2. 2.
    Etsion, Y., Tsafrir, D., Feitelson, D.: Effects of Clock Resolution on the Scheduling of Interactive and Soft Real Time Processes. In: ACM SIGMETRICS, June 2003, pp. 172–183 (2003)Google Scholar
  3. 3.
    Torrellas, J., Tucker, A., Gupta, A.: Evaluating the Performance of Cache Affinity Scheduling in Shared-Memory Multiprocessors. JPDC 24, 135–151 (1995)Google Scholar
  4. 4.
    Horowitz, E., Sahni, S.: Exact and Approximate Algorithms for Scheduling Nonidentical Processors. J. ACM 23(2), 317–327 (1976)MATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Devarakonda, M., Mukherjee, A.: Issues in Implementation of Cache-Affinity Scheduling – USENIX Technical Conference and Exhibition, pp. 345–357 (1992)Google Scholar
  6. 6.
    Gupta, A., et al.: The impact of operating system scheduling policies and synchronization methods of performance of parallel applications. ACM SIGMETRICS 19 (May 1991)Google Scholar
  7. 7.
    Lawler, E.L., Martel, C.U.: Scheduling periodically occurring tasks on multiple processors. Information Processing Letters 7, 9–12 (1981)CrossRefMathSciNetGoogle Scholar
  8. 8.
    Craft, D.H.: Resource management in a decentralized system. ACM SIGOPS Operating Systems Review 17(5) (October 1983)Google Scholar
  9. 9.
    Bryant, R., Hartner, B.: Java Technology, Threads and Scheduling in Linux. Java Technology Update IV(1) (January 2000)Google Scholar
  10. 10.
    Kravetz, M., et al.: Enhancing Linux Scheduler Scalability. In: 5th ALS (November 2001)Google Scholar
  11. 11.
    Molloy, S., Honeyman, P.: Scalable Linux Scheduling. CITI Technical Report (May 2001)Google Scholar
  12. 12.
    Vaswani, R., et al.: The implications of cache affinity on processor scheduling for multiprogrammed, shared memory multiprocessors. In: 13th ACM SOSP, pp. 26–40 (October 1991)Google Scholar
  13. 13.
    Yamamura, S., et al.: Speeding Up Kernel Scheduler by Reducing Cache Misses. In: Proceedings of the FREENIX Track 2002 USENIX Annual Technical Conference, pp. 275–285 (2002)Google Scholar
  14. 14.
    Squillante, M.S., Lazowska, E.D.: Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling. IEEE TPDS archive 4(2), 131–143 (1993)Google Scholar
  15. 15.
    Conway, R.W., Maxwell, W.L., Miller, L.: Theory of Scheduling. Addison-Wesley, Reading (1967)MATHGoogle Scholar
  16. 16.
    Linux Benchmark Suite Home page http://lbs.sourceforge.net/
  17. 17.
    Woeginger, G.J., Yu, Z.L.: - On the equal-subset-sum problem. Information Processing Letters 42(6), 299–302 (1992)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Shlomit S. Pinter
    • 1
  • Marcel Zalmanovici
    • 1
  1. 1.IBM Haifa Research LabHaifa UniversityHaifaIsrael

Personalised recommendations