skip to main content
research-article

Fast switching of threads between cores

Published:21 April 2009Publication History
Skip Abstract Section

Abstract

We address the software costs of switching threads between cores in a multicore processor. Fast core switching enables a variety of potential improvements, such as thread migration for thermal management, fine-grained load balancing, and exploiting asymmetric multicores, where performance asymmetry creates opportunities for more efficient resource utilization. Successful exploitation of these opportunities demands low core-switching costs. We describe our implementation of core switching in the Linux kernel, as well as software changes that can decrease switching costs. We use detailed simulations to evaluate several alternative implementations. We also explore how some simple architectural variations can reduce switching costs. We evaluate system efficiency using both real (but symmetric) hardware, and simulated asymmetric hardware, using both microbenchmarks and realistic applications.

References

  1. J. Aas. Understanding the Linux 2.6.8.1 CPU Scheduler. http://josh.trancesoftware.com/linux/, Feb. 2005.Google ScholarGoogle Scholar
  2. S. Balakrishnan, R. Rajwar, M. Upton, and K. Lai. The Impact of Performance Asymmetry in Emerging Multicore Architectures. In Proc. ISCA, pages 506--517, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Becchi and P. Crowley. Dynamic Thread Assignment on Heterogeneous Multiprocessor Architectures. J. Instruction- Level Parallelism, pages 1--26, June 2008.Google ScholarGoogle Scholar
  4. N.L. Binkert, R.G. Dreslinski, L.R. Hsu, K.T. Lim, A.G. Saidi, and S.K. Reinhardt. The M5 Simulator: Modeling Networked Systems. IEEE Micro, 26(4):52--60, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Brooks, V. Tiwari, and M. Martonosi. Wattch: a framework for architectural-level power analysis and optimizations. In Proc. ISCA, pages 83--94, Jun. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J.A. Brown and D.M. Tullsen. The Shared-Thread Multiprocessor. In Proc. ICS, pages 73--82, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Chaparro, J. Gonzalez, and A. Gonzalez. Thermal-Aware Clustered Microarchitectures. In Proc. ICCD, pages 48--53, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. Choi, L. Porter, and D. Tullsen. Accurate Branch Prediction for Short Threads. In Proc. ASPLOS, Apr. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. Constantinou, Y. Sazeides, P. Michaud, D. Fetis, and A. Seznec. Performance Implications of single thread migration on a chip multi-core. In Workshop on Design, Arch., and Simulation of Chip Multiprocessors, Nov. 2005.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Fedorova. Personal communication, 2009.Google ScholarGoogle Scholar
  11. A. Fedorova, D. Vengerov, and D. Doucette. Operating System Scheduling On Heterogeneous Core Systems. In Proc. Workshop on Op. Sys. Support for Heterogeneous Multicore Architectures, 2007.Google ScholarGoogle Scholar
  12. R.E. Grant and A. Afsahi. Power-performance efficiency of asymmetric multiprocessors for multi-threaded scientific applications. In Proc. Intl. Parallel and Distributed Processing Symp., Apr. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Heo, K. Barr, and K. Asanovic. Reducing Power Density through Activity Migration. In Proc. Intl. Symp. on Low Power Electronic Design, Aug. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Hill and M.R. Marty. Amdahl's Law in the Multicore Era. IEEE Computer, 41(7):33--38, Jul. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. L.R. Hsu, A.G. Saidi, N.L. Binkert, and S.K. Reinhardt. Sampling and Stability in TCP/IP cworkloads. In Proc. Workshop on Modeling, Benchmarking, and Simulation, Jun. 2005.Google ScholarGoogle Scholar
  16. Intel Corp. Intel Core 2 Duo Processors and Intel Core 2 Extreme Processors on 45-nm Process: Datasheet. Document Number 320120, Jul 2008.Google ScholarGoogle Scholar
  17. N. James, P. Restle, J. Friedrich, B. Huott, and B. McCredie. Comparison of Split-Versus Connected-Core Supplies in the POWER6 Microprocessor. In Proc. ISSCC, pages 298--604, Feb. 2007.Google ScholarGoogle ScholarCross RefCross Ref
  18. A.R. Karlin, K. Li, M.S. Manasse, and S. Owicki. Empirical studies of competitive spinning for a shared-memory multiprocessor. In Proc. SOSP, pages 41--55, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Koushik Chakraborty and Philip M. Wells and Gurindar S. Sohi. Computation Spreading: Employing Hardware Migration to Specialize CMP Cores On-the-fly. In Proc. ASPLOSXII, San Jose, CA, Nov. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Kumar, K. Farkas, N. Jouppi, P. Ranganathan, and D. Tullsen. Single-ISA Heterogeneous Multi-core Architectures: The Potential for Processor Power Reduction. In Proc. MICRO-36, San Diego, CA, Dec 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Kumar, D. Tullsen, P. Ranganathan, N. Jouppi, and K. Farkas. Single-ISA Heterogeneous Multi-core Architectures for Multithreaded Workload Performance. In Proc. ISCA-31, June 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. T. Li, D. Baumberger, D.A. Koufaty, and S. Hahn. Efficient Operating System Scheduling for Performance-Asymmetric Multi-Core Architectures. In Proc. Supercomputing, pages 1--11, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. Li, P. Brett, B. Hohlt, R. Knauerhase, S.D. McElderry, and S. Hahn. Operating System Support for Shared-ISA Asymmetric Multi-core Architectures. In Workshop on the Interaction between Op. Sys. and Computer Arch., June 2008.Google ScholarGoogle Scholar
  24. R. McDougall and J. Mauro. Solaris Internals: Solaris 10 and OpenSolaris Kernel Architecture. Prentice Hall, 2nd edition, 2007.Google ScholarGoogle Scholar
  25. J.C. Mogul, J. Mudigonda, N. Binkert, P. Ranganathan, and V. Talwar. Using Asymmetric Single-ISA CMPs to Save Energy on Operating Systems. IEEE Micro, 8(3):26--41, May/June 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. I. Molnar. Modular Scheduler Core and Completely Fair Scheduler. http://kerneltrap.org/node/8059, Apr. 2007.Google ScholarGoogle Scholar
  27. M. Monchiero. Personal communication, 2008.Google ScholarGoogle Scholar
  28. D. Nellans, R. Balasubramonian, and E. Brunvand. A Case for Increased Operating System Support in Chip Multi-Processors. In Proc. P = ac2 Conf., Yorktown Heights, NY, Sept. 2005.Google ScholarGoogle Scholar
  29. D. Nellans, R. Balasubramonian, and E. Brunvand. Interference Aware Cache Designs for Operating System Execution. Tech. Rep. UUCS-09-002, University of Utah, Feb. 2009.Google ScholarGoogle Scholar
  30. D. Nellans, R. Balasubramonian, and E. Brunvand. OS Execution on Multi-Cores: Is Out-SourcingWorthwhile? Op. Sys. Review, 43, Apr. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. M.A. Olson, K. Bostic, and M. Seltzer. Berkeley DB. In Proc. FREENIX Track, USENIX Annual Tech. Conf., pages 183--191, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. J.M. Smith. A survey of process migration mechanisms. ACM Operating System Review, July 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. D. Tarjan, S. Thoziyoor, and N.P. Jouppi. CACTI 4.0. Technical Report HPL-2006-86, HP Laboratories Palo Alto, 2006.Google ScholarGoogle Scholar
  34. B. Wun and P. Crowley. Network I/O Acceleration in Heterogeneous Multicore Processors. In Proc. 14th IEEE Symp. on High-Performance Interconnects, pages 9--14, Palo Alto, CA, Aug. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Fast switching of threads between cores

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGOPS Operating Systems Review
        ACM SIGOPS Operating Systems Review  Volume 43, Issue 2
        April 2009
        119 pages
        ISSN:0163-5980
        DOI:10.1145/1531793
        Issue’s Table of Contents

        Copyright © 2009 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 21 April 2009

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!