Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/511334.511343acmconferencesArticle/Chapter ViewAbstractPublication PagesmetricsConference Proceedingsconference-collections
Article

Symbiotic jobscheduling with priorities for a simultaneous multithreading processor

Published: 01 June 2002 Publication History

Abstract

Simultaneous Multithreading machines benefit from jobscheduling software that monitors how well coscheduled jobs share CPU resources, and coschedules jobs that interact well to make more efficient use of those resources. As a result, informed coscheduling can yield significant performance gains over naive schedulers. However, prior work on coscheduling focused on equal-priority job mixes, which is an unrealistic assumption for modern operating systems.This paper demonstrates that a scheduler for an SMT machine can both satisfy process priorities and symbiotically schedule low and high priority threads to increase system throughput. Naive priority schedulers dedicate the machine to high priority jobs to meet priority goals, and as a result decrease opportunities for increased performance from multithreading and coscheduling. More informed schedulers, however, can dynamically monitor the progress and resource utilization of jobs on the machine, and dynamically adjust the degree of multithreading to improve performance while still meeting priority goals.Using detailed simulation of an SMT architecture, we introduce and evaluate a series of five software and hardware-assisted priority schedulers. Overall, our results indicate that coscheduling priority jobs can significantly increase system throughput by as much as 40%, and that (1) the benefit depends upon the relative priority of the coscheduled jobs, and (2) more sophisticated schedulers are more effective when the differences in priorities are greatest. We show that our priority schedulers can decrease average turnaround times for a random jobmix by as much as 33%.

References

[1]
http://developer.intel.com/technology/hyperthread/.
[2]
A. Agarwal, B. Lim, D. Kranz, and J. Kubiatowicz. APRIL: a processor architecture for multiprocessing. In 17th Annual International Symposium on Computer Architecture, pages 104-114, May 1990.
[3]
R. Alverson, D. Callahan, D. Cummings, B. Koblenz, A. Porterfield, and B. Smith. The tera computer system. In International Conference on Supercomputing, pages 1-6, June 1990.
[4]
A. Arpaci-Dusseau, D. Culler, and A. Mainwaring. Scheduling with implicit information in distributed systems. In Sigmetrics, 1998.
[5]
R. Blumofe and C. Leiserson. Scheduling multithreaded computations by work stealing. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Nov. 1994.
[6]
R. Chandra, S. Devine, and B. Verghese. Scheduling and page migration for multiprocessor computer servers. In 6th International Conference on Architectural Support for Programming Languages and Operating Systems, Oct. 1994.
[7]
S. Chapin. Distributed and multiprocessor scheduling. ACM Computing surveys, Mar. 1996.
[8]
H. Cofer, N. Camp, and R. Gomperts. Turnaround vs. throughput: Optimal utilization of a multiprocessor system. In SGI Technical Reports, May 1999.
[9]
J. Delany. Daylight multithreading toolkit interface. http://www.daylight.com, May 1999.
[10]
M. Fillo, S. Keckler, W. Dally, N. Carter, A. Chang, Y. Gurevich, and W. Lee. The M-Machine multicomputer. In 28th Annual International Symposium on Microarchitecture, Nov. 1995.
[11]
A. Gupta, A. Ticker, and S. Urushibara. The impact of operating scheduling policies and synchronization methods on the performance of parallel applications. In Proceedings of the 1999 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 392-403, June 1999.
[12]
B. Hamidzadeh and Y. Atif. Dynamic scheduling of real-time aperiodic tasks on multiprocessor architectures. In Proceedings of the 29th Hawaii International Conference on System Sciences, Oct. 1999.
[13]
H. Hirata, K. Kimura, S. Nagamine, Y. Mochizuki, A. Nishimura, Y. Nakase, and T. Nishizawa. An elementary processor architecture with simultaneous instruction issuing from multiple threads. In 19th Annual International Symposium on Computer Architecture, pages 136-145, May 1992.
[14]
W. Lee, M. Frank, V. Lee, K. Mackenzie, and L. Rudolph. Implications of i/o for gang scheduled workloads. In 3rd Workshop on Job Scheduling Strategies for Parallel Processing, Apr. 1997.
[15]
S. Leffler, M. McKusick, M. Karels, and J. Quarterman. The Design and Implementation of the 4.3BSD UNIX Operating System. Addison-Wesley, 1989.
[16]
J. Little. A simple proof of the queuing formula L =λ W. Operations Research, 9:383-387, 1961.
[17]
J. L. Lo, S. J. Eggers, J. S. Emer, H. M. Levy, R. L. Stamm, and D. Tullsen. Converting thread-level parallelism to instruction-level parallelism via simultaneous multithreading. In ACM Transactions on Computer Systems, Aug. 1997.
[18]
H. Patterson and G. Gibson. Exposing I/O concurrency with informed prefetching. In Proceedings of Third International Conference on Parallel and Distributed Information Systems, Sept. 1994.
[19]
W. Pfeiffer, L. Carter, A. Snavely, R. Leary, A. Majumdar, S. Brunett, J. Feo, B. Koblenz, L. Stern, J. Manke, and T. Boggess. Evaluation of a multithreaded architecture for defense applications. In SDSC Techical Report, June 1999.
[20]
K. Schauser, D. Culler, and E. Thorsten. Compiler-controlled multithreading for lenient parallel languages. In Proceedings of FPCA '91 Conference on Functional Programming Languages and Computer Architecture, July 1991.
[21]
F. Silva and I. Scherson. Improving throughput and utilization in parallel machines through concurrent gang. In Proceedings of the IEEE International Parallel and Distributed Processing Symposium, May 2000.
[22]
S. Sistare, N. Nevin, T. Kimball, and E. Loh. Coscheduling mpi jobs using the spin daemon. In SC 99, Nov. 1999.
[23]
A. Snavely and L. Carter. Symbiotic jobscheduling on the MTA. In Workshop on Multi-Threaded Execution, Architecture, and Compilers, Jan. 2000.
[24]
A. Snavely, N. Mitchell, L. Carter, J. Ferrante, and D. Tullsen. Explorations in symbiosis on two multithreaded architectures. In Workshop on Multi-Threaded Execution, Architecture, and Compilers, Jan. 1999.
[25]
A. Snavely and D. Tullsen. Symbiotic jobscheduling for a simultaneous multithreading processor. In Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, Nov. 2000.
[26]
P. Sobalvarro, S. Pakin, W. Weihl, and A. Chien. Dynamic coscheduling on workstation clusters. In SRC Technical Note 1997-017, Mar. 1997.
[27]
P. G. Sobalvarro and W. E. Weihl. Demand-based coscheduling of parallel jobs on multiprogrammed multiprocessors. In Proceedings of the IPPS 1995 Workshop on Job Scheduling Strategies for Parallel Processing, pages 63-75, Apr. 1995.
[28]
K. Thompson. Unix implementation. In The Bell System Technical Journal, July 1978.
[29]
K. Thompson and D. Ritchie. The unix time-sharing system. In Communications of the ACM, July 1974.
[30]
J. Torrellas, A. Tucker, and A. Gupta. Benefits of cache-affinity scheduling issues for multiprogrammed shared memory multi-processors. In Proceedings of the 1993 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, May 1993.
[31]
A. Tucker and A. Gupta. Process control and scheduling issues for multiprogrammed shared memory multiprocessors. In Symposium on Operating Systems Principals, Dec. 1989.
[32]
D. Tullsen, S. Eggers, J. Emer, H. Levy, J. Lo, and R. Stamm. Exploiting choice: Instruction fetch and issue on an implementable simultaneous multithreading processor. In ISCA96, pages 191-202, May 1996.
[33]
D. Tullsen, S. Eggers, and H. Levy. Simultaneous multithreading: Maximizing on-chip parallelism. In 22nd Annual International Symposium on Computer Architecture, pages 392-403, June 1995.
[34]
R. Vaswani and J. Zahorjan. The implications of cache-affinity on processor scheduling for multiprogrammed, shared memory multiprocessors. In Symposium on Operating Systems Principals, Oct. 1991.
[35]
W. Yamamoto and M. Nemirovsky. Increasing superscalar performance through multistreaming. In Conference on Parallel Architectures and Compilation Techniques, pages 49-58, June 1995.

Cited By

View all
  • (2024)Software Resource Disaggregation for HPC with Serverless Computing2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS57955.2024.00021(139-156)Online publication date: 27-May-2024
  • (2023)Micro-Armed Bandit: Lightweight & Reusable Reinforcement Learning for Microarchitecture Decision-MakingProceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3613424.3623780(698-713)Online publication date: 28-Oct-2023
  • (2020)Navigator: Dynamic Multi-kernel Scheduling to Improve GPU Performance2020 57th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC18072.2020.9218711(1-6)Online publication date: Jul-2020
  • Show More Cited By

Index Terms

  1. Symbiotic jobscheduling with priorities for a simultaneous multithreading processor

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SIGMETRICS '02: Proceedings of the 2002 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
      June 2002
      299 pages
      ISBN:1581135319
      DOI:10.1145/511334
      • cover image ACM SIGMETRICS Performance Evaluation Review
        ACM SIGMETRICS Performance Evaluation Review  Volume 30, Issue 1
        Measurement and modeling of computer systems
        June 2002
        286 pages
        ISSN:0163-5999
        DOI:10.1145/511399
        Issue’s Table of Contents
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 June 2002

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. job scheduling
      2. priorities
      3. simultaneous multithreading

      Qualifiers

      • Article

      Conference

      SIGMETRICS02
      Sponsor:

      Acceptance Rates

      SIGMETRICS '02 Paper Acceptance Rate 23 of 170 submissions, 14%;
      Overall Acceptance Rate 459 of 2,691 submissions, 17%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)14
      • Downloads (Last 6 weeks)2
      Reflects downloads up to 09 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Software Resource Disaggregation for HPC with Serverless Computing2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS57955.2024.00021(139-156)Online publication date: 27-May-2024
      • (2023)Micro-Armed Bandit: Lightweight & Reusable Reinforcement Learning for Microarchitecture Decision-MakingProceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3613424.3623780(698-713)Online publication date: 28-Oct-2023
      • (2020)Navigator: Dynamic Multi-kernel Scheduling to Improve GPU Performance2020 57th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC18072.2020.9218711(1-6)Online publication date: Jul-2020
      • (2020)A Learning-based Fetch Thread Gating Mechanism for A Simultaneous Multithreading Processor2020 Eighth International Symposium on Computing and Networking (CANDAR)10.1109/CANDAR51075.2020.00011(1-10)Online publication date: Nov-2020
      • (2016)Warped-slicerACM SIGARCH Computer Architecture News10.1145/3007787.300116144:3(230-242)Online publication date: 18-Jun-2016
      • (2016)Symmetry-Agnostic Coordinated Management of the Memory Hierarchy in Multicore SystemsACM Transactions on Architecture and Code Optimization10.1145/284725412:4(1-26)Online publication date: 4-Jan-2016
      • (2016)Thread Assignment in Multicore/Multithreaded Processors: A Statistical ApproachIEEE Transactions on Computers10.1109/TC.2015.241753365:1(256-269)Online publication date: 1-Jan-2016
      • (2016)Warped-slicerProceedings of the 43rd International Symposium on Computer Architecture10.1109/ISCA.2016.29(230-242)Online publication date: 18-Jun-2016
      • (2015)Computer performance microscopy with ShimACM SIGARCH Computer Architecture News10.1145/2872887.275040143:3S(170-184)Online publication date: 13-Jun-2015
      • (2015)Computer performance microscopy with ShimProceedings of the 42nd Annual International Symposium on Computer Architecture10.1145/2749469.2750401(170-184)Online publication date: 13-Jun-2015
      • Show More Cited By

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media