skip to main content
article

Thread coloring: a scheduler proposal from user to hardware threads

Published: 01 April 2005 Publication History

Abstract

The appearance of simultaneous multithreading (SMT) processors, offering instruction-level parallelism and increasing hardware resources utilization, permits the execution of various instructions streams at the same time. A particular case is the Intel SMT implementation (Hyper-Threading Technology) where a processor can execute two instructions streams independently. Due to hardware resources sharing in a Hyper-Threading processor, both instruction streams can contend for the same execution resources depending on the instruction execution units utilization.As other works in this area have demonstrated, we have observed that the system throughput can be improved when the execution resources used by each thread are contemplated in their scheduling. Starting from the evaluation results, we propose a Thread Coloring philosophy that designs a way to manage information about resources utilization (hardware and software resources) per each thread. This policy permits the scheduler to select threads that will perform better with less resource contention, besides including OS upper layers in the resource management. The proposed Thread Coloring scheme establishes the bases of processor and OS cooperation, sharing resources utilization information and providing a form of controlling logical processor thread assignment taking into account possible resource contention.

References

[1]
D. T. Marr, F. Binns, D. L. Hill, G. Hinton, D. A. Koufaty, J. A. Miller, and M. Upton Hyper-Threading technology architecture and microarchitecture Intel Technology Journal, 6(1):4--16, February 2002.
[2]
Brain D. Marsh, Michael L. Scott, Thomas J. LeBlanc, Evangelos P. Markatos First-Class User-Level Threads Proceedings of the 13th ACM Symposium on Operating Systems Principles, 1991.
[3]
Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska and Henry M. Levy Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism ACM Transactions on Computer Systems Vol. 10 No.1, pp 53--79, February 1992.
[4]
A. Tucker and A. Gupta Process control and scheduling issues for multiprogrammed shared-memory multiprocessors Proceedings of the 12th ACM Symposium on Operating Systems Principles, pages 159--166, 1989.
[5]
Hakan Aydin and David Kaeli Using Cache Line Coloring to Perform Aggressive Procedure Inlining ACM SIGARCH News, 28(1), March 2000.
[6]
Dean F. Sutherland, Aaron Greenhouse, and William L. Scherlis The Code of Many Colors: Relating Threads to Code and Shared State PASTE'02, November 18-19, 2002.
[7]
Richard P. Draves, Brian N. Bershad, Richard F. Rashid, Randall W. Dean Using Continuations to Implement Thread Management and Communication in Operating Systems ACM Symposium on Operating Systems Principles, 1991.
[8]
S. Parekh, S. Eggers, and H. Levy Thread-sensitive scheduling for smt processors Technical Report, University of Washington, Seattle, WA, May 2000.
[9]
A. Snavely and D. M. Tullsen Symbiotic jobscheduling for a simultaneous multithreading processor In Architectural Support for Programming Languages and Operating Systems, pages 234--244, 2000.
[10]
Francisco J. Cazorla, Alex Ramirez, Mateo Valero and Enrique Fernández Dynamically Controlled Resource Allocation in SMT Processors Proceedings of the 37th International Symposium on Microarchitecture (MICRO'04), pp. 171--182, December 2004.
[11]
F. J. Cazorla, P. Knijnenburg, R. Sakellariou, E. Fernández, A. Ramírez and M. Valero QoS for High Performance SMT Processors in Embedded Systems IEEE Micro, pp. 24--31, vol. 24, no. 4, July 2004.
[12]
A. Settle, J. Kihm, A. Janiszewski, and D. Connors Architectural Support for Enhanced SMT Job Scheduling Proceedings of the 13th International Conference on Parallel Architecture and Compilation Techniques (PACT'04), Antibes Juan-les-Pins, France, October 2004.
[13]
James R. Bulpin and Ian A. Pratt Multiprogramming Performance of the Pentium 4 with Hyper-Threading In the Third Annual Workshop on Duplicating, Deconstruction and Debunking (at ISCA'04), pp 53--62. June 2004.
[14]
Nathan Tuck and Dean M. Tullsen Initial Observations of the Simultaneous Multithreading Pentium 4 Processor Proceedings of 12th Intl Conference on Parallel Architectures and Compilation Techniques, September 2003.
[15]
J. Nakajima and V. Pallipadi Enhancements for Hyper-Threading Technology in the Operating System - Seeking the Optimal Scheduling Proceedings of the 2nd Workshop on Industrial Experiences with Systems Software, Boston, MA, USA December 8, 2002
[16]
G. Hinton, D. Sager, M. Upton, D. Boggs, D. Carmean, A. Kyker and P. Roussel The Microarchitecture of the Pentium 4 Processor Intel Technology Journal, Q1, 2001.
[17]
Intel Corporation IA-32 Intel@ Architecture Optimization Reference Manual Order number 248966-011, 2004. ftp://download.intel.com/design/Pentium4/manuals/24896611.pdf
[18]
Kernel Trap http://kerneltrap.org/node/view/391/972
[19]
LWN.net http://lwn.net/Articles/80911/
[20]
AIM Benchmarks http://www.caldera.com/developers/community/contrib/aim.html
[21]
Ruben Pinilla and Marisa Gil ULT: A Java threads model for platform independent execution ACM SIGOPS Operating Systems Review, 37(4):48--62, October 2003.
[22]
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula and Eric Brewer Capriccio: Scalable Threads for Internet Services 19th SOSP, October 19-22, 2003.
[23]
Perry H. Wang, Jamison D. Collins, Hong Wang, Dongkeun Kim, Bill Greene, Kai-Ming Chan, Aamir B. Yunus, Terry Sych, Stephen F. Moore and John P. Shen Helper Threads via Virtual Multithreading On An Experimental Itanium 2 Processor-based Platform ASPLOS XI, October 9-13, 2004.
[24]
Vuk Marojevic and Marisa Gil Evaluating Hyperthreading and VMware Technical report UPC-DAC-2004-27, July, 2004.
[25]
Gautham K. Dorai and Donald Yeung Transparent Threads: Resource Sharing in SMT Processors for High Single-Thread Performance Proceedings of the 11th Intl. Conf. on Parallel Architectures and Compilation Techniques, 2002.
[26]
Dongkeun Kim, Steve Shih-wei Liao, Perry H. Wang, Juan del Cuvillo, Xinmin Tian, Xiang Zou, Hong Wang, Donald Yeung, Milind Girkar and John P. Shen Physical Experimentation with Prefetching Helper Threads on Intels Hyper-Threaded Processors CGO 2004.
[27]
Joshua Redstone, Susan Eggers and Henry Levy Mini-threads: Increasing TLP on Small-Scale SMT Processors HPCA-9, February 8-12, 2003.
[28]
Duc Vianney Hyper-Threading speeds Linux IBM developer Works, January 2003. http://www-106.ibm.com/developerworks/linux/library/l-htl/
[29]
H. Wang, P. H. Wang, R. D. Weldon, S. M. Ettinger, H. Saito, M. Girkar, S. Shih-wei Liao and J. P. Shen Speculative Precomputation: Exploring the Use of Multithreading for Latency Tools Intel Technology Journal, 6(1):22--35, February 2002.
[30]
Yen-Kuang Chen, M. Holliman, E. Debes, S. Zheltov, A. Knyazev, S. Bratanov, R. Belenov and I. Santos Media Applications on Hyper-Threading Technology Intel Technology Journal, 6(1):47--57, February 2002.
[31]
Kent F. Milfeld, Chona S. Guiang, Avijit Purkayastha and John R. Boisseau Exploring the Effects of Hyper-Threading on Scientific Applications 45th CUG Conference, May 12-16, 2003.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review  Volume 39, Issue 2
April 2005
93 pages
ISSN:0163-5980
DOI:10.1145/1055218
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 2005
Published in SIGOPS Volume 39, Issue 2

Check for updates

Author Tags

  1. SMT
  2. hyper-threading
  3. linux kernel
  4. multithreaded
  5. scheduling
  6. thread coloring

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media