skip to main content
10.1145/777412.777434acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
Article

Quantifying instruction criticality for shared memory multiprocessors

Published:07 June 2003Publication History

ABSTRACT

Recent research on processor microarchitecture suggests using instruction criticality as a metric to guide hardware control policies. Fields et al. [3, 4] have proposed a directed acyclic graph (DAG) model for characterizing program microexecutions on uniprocessors. Under such a model, critical path analysis can be applied and instructions' slack values can be used to quantify instruction criticality. In this paper, we extend the uniprocessor DAG model to characterize parallel program executions on shared memory multiprocessor systems. We describe how critical path analysis can be applied, at a fine grain, in a multiprocessor system running both finite and continuous workloads. We provide detailed evaluations for various aspects of multiprocessor executions under the DAG model. To enable efficient offline critical path analysis, we propose a novel graph reduction technique that reduces a DAG to an equivalent but significantly smaller DAG.

References

  1. Alaa R. Alameldeen, Carl J. Mauer, Min Xu, Pacia J. Harper, Milo M. K. Martin, Daniel J. Sorin, Mark D. Hill, and David A. Wood. Evaluating Non-deterministic Multithreaded Commercial Workloads. In Proceedings of the Fifth Workshop on Computer Architecture Evaluation Using Commercial Workloads, pages 30--38, February 2002.Google ScholarGoogle Scholar
  2. Carl J. Beckmann. Hardware and Software for Functional and Fine Grain Parallelism. PhD thesis, University of Illinois at Urbana-Champaign, April 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Brian Fields, Rastislav Bodik, and Mark D. Hill. Slack: Maximizing Performance Under Technological Constraints. In Proceedings of the 29th Annual International Symposium on Computer Architecture, pages 47--58, May 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Brian Fields, Shai Rubin, and Rastislav Bodik. Focusing Processor Policies via Critical-Path Prediction. In Proceedings of the 28th Annual International Symposium on Computer Architecture, pages 74--85, July 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Kourosh Gharachorloo, Madhu Sharma, Simon Steely, and Stephen Von Doren. Architecture and Design of AlphaServer GS320. In Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 13--24, November 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jeffrey K. Hollingsworth. Critical Path Profiling of Message Passing and Shared-Memory Programs. IEEE Transactions on Parallel and Distributed Systems, 9(10):1029--1040, October 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jeffrey K. Hollingsworth and Barton P. Miller. Slack: A New Performance Metric for Parallel Programs. Technical Report 1260, Computer Sciences Department, University of Wisconsin--Madison, December 1994.Google ScholarGoogle Scholar
  8. H. Kasahara and S. Narita. Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing. IEEE Transactions on Computers, C-33(11):1023--1029, November 1990.Google ScholarGoogle Scholar
  9. Yu-Kwong Kwok and Ishfaq Ahmad. Static Scheduling Algorithms for Allocating Directed Task Graphs. ACM Computing Surveys, 31(4):406--471, December 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Peter S. Magnusson, Magnus Christensson, Jesper Eskilson, Daniel Forsgren, Gustav Hallberg, Johan Hogberg, Fredik Larsson, Andreas Moestedt, and Bengt Werner. Simics: A Full System Simulation Platform. IEEE Computer, 35(2):50--58, February 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Robert H. B. Netzer. Optimal Tracing and Replay for Debugging Shared-Memory Parallel Programs. In Proceedings of the ACM/ONR Workshop on Parallel and Distributed Debugging (PADD), pages 1--11, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Srikanth T. Srinivasan, Roy Dz-ching Ju, Alvin R. Lebeck, and Chris Wilkerson. Locality vs. Criticality. In Proceedings of the 28th Annual International Symposium on Computer Architecture, pages 132--143, July 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Tune, D. Liang, D. M. Tullsen, and B. Calder. Dynamic Prediction of Critical Path Instructions. In Proceedings of the Seventh IEEE Symposium on High-Performance Computer Architecture, pages 185--196, January 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Eric S. Tune, Dean M. Tullsen, and Brad Calder. Quantifying Instruction Criticality. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, September 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie, Jaswinder Pal Singh, and Anoop Gupta. The SPLASH-2 Programs: Characterization and Methodological Considerations. In Proceedings of the 22nd Annual International Symposium on Computer Architecture, pages 24--37, June 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Cui-Qing Yang and Barton P. Miller. Critical Path Analysis for the Execution of Parallel and Distributed Programs. In Proceedings of the Seventh Conference on Distributed Memory Computer Systems, pages 366--373, June 1988.Google ScholarGoogle Scholar

Index Terms

  1. Quantifying instruction criticality for shared memory multiprocessors

    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
    • Published in

      cover image ACM Conferences
      SPAA '03: Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
      June 2003
      374 pages
      ISBN:1581136617
      DOI:10.1145/777412

      Copyright © 2003 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 7 June 2003

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      SPAA '03 Paper Acceptance Rate38of106submissions,36%Overall Acceptance Rate447of1,461submissions,31%

      Upcoming Conference

      SPAA '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader