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.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
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)
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)
Torrellas, J., Tucker, A., Gupta, A.: Evaluating the Performance of Cache Affinity Scheduling in Shared-Memory Multiprocessors. JPDC 24, 135–151 (1995)
Horowitz, E., Sahni, S.: Exact and Approximate Algorithms for Scheduling Nonidentical Processors. J. ACM 23(2), 317–327 (1976)
Devarakonda, M., Mukherjee, A.: Issues in Implementation of Cache-Affinity Scheduling – USENIX Technical Conference and Exhibition, pp. 345–357 (1992)
Gupta, A., et al.: The impact of operating system scheduling policies and synchronization methods of performance of parallel applications. ACM SIGMETRICSÂ 19 (May 1991)
Lawler, E.L., Martel, C.U.: Scheduling periodically occurring tasks on multiple processors. Information Processing Letters 7, 9–12 (1981)
Craft, D.H.: Resource management in a decentralized system. ACM SIGOPS Operating Systems Review 17(5) (October 1983)
Bryant, R., Hartner, B.: Java Technology, Threads and Scheduling in Linux. Java Technology Update IV(1) (January 2000)
Kravetz, M., et al.: Enhancing Linux Scheduler Scalability. In: 5th ALS (November 2001)
Molloy, S., Honeyman, P.: Scalable Linux Scheduling. CITI Technical Report (May 2001)
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)
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)
Squillante, M.S., Lazowska, E.D.: Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling. IEEE TPDS archive 4(2), 131–143 (1993)
Conway, R.W., Maxwell, W.L., Miller, L.: Theory of Scheduling. Addison-Wesley, Reading (1967)
Linux Benchmark Suite Home page http://lbs.sourceforge.net/
Woeginger, G.J., Yu, Z.L.: - On the equal-subset-sum problem. Information Processing Letters 42(6), 299–302 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pinter, S.S., Zalmanovici, M. (2006). Data Sharing Conscious Scheduling for Multi-threaded Applications on SMP Machines. In: Nagel, W.E., Walter, W.V., Lehner, W. (eds) Euro-Par 2006 Parallel Processing. Euro-Par 2006. Lecture Notes in Computer Science, vol 4128. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11823285_27
Download citation
DOI: https://doi.org/10.1007/11823285_27
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37783-2
Online ISBN: 978-3-540-37784-9
eBook Packages: Computer ScienceComputer Science (R0)