Skip to main content

Optimizing Mutual Exclusion Synchronization in Explicitly Parallel Programs

  • Conference paper
  • First Online:
Languages, Compilers, and Run-Time Systems for Scalable Computers (LCR 2000)

Abstract

We present two newcompiler optimizations for explicitly parallel pro- grams based on the CSSAME form: Lock-IndependentCodeMotion (LICM) and Mutex Body Localization (MBL). We have implemented these optimizations on top of the SUIF framework and present performance results for selected SPLASH applications.

Concurrent Static Single Assignment with Mutual Exclusion. Pronounced sesame.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, R. Sethi, and J. Ullman. Compilers: Principles, Techniques,and Tools. Reading, Mass.: Addison-Wesley, Reading,MA, second edition, 1986.

    Google Scholar 

  2. D. Bacon, R. Konuru, C. Murthy, and M. Serrano. Thin Locks: Featherweight Synchronization for Java. In ACM SIGPLAN ’98 Conference on Programming Language Design and Implementation, pages 258–268, Montreal, Canada, June 1998.

    Google Scholar 

  3. F. Chow, S. Chan, R. Kennedy, S.-M. Liu, R. Lo, and P. Tu. A new algorithm for partial redundancy elimination based on SSA form. In ACM SIGPLAN ’97 Conference on Programming LanguageDesign and Implementation, Las Vegas, 1997.

    Google Scholar 

  4. R. Cytron, J. Ferrante, B. Rosen, M. Wegman, and K. Zadeck. Efficiently computing static single assignment form and the control dependencegraph. ACM Transactions on Programming Languages and Systems, 13(4):451–490, October 1991.

    Article  Google Scholar 

  5. M. Hall, J. Anderson, S. Amarasinghe, B. Murphy, S. Liao, E. Bugnion, and M. Lam. Maximizing Multiprocessor Performance with the SUIF Compiler. IEEE Computer, 29(12):84–89, December 1996.

    Google Scholar 

  6. J. Knoop and B. Steffen. Code motion for explicitly parallel programs. In Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Atlanta, GA, May 1999.

    Google Scholar 

  7. J. Knoop, B. Steffen, and J. Vollmer. Parallelism for free: Efficient and optimal bitvector analyses for parallel programs. ACM Transactions on Programming Languages and Systems, 18(3):268–299,May 1996.

    Article  Google Scholar 

  8. A. Krishnamurthy and K. Yelick. Analyses and Optimizations for Shared Address Space Programs. Journal of Parallel and Distributed Computing, 38:130–144, 1996.

    Article  MATH  Google Scholar 

  9. J. Lee, S. Midkiff, and D. A. Padua. Concurrent static single assignment form and constant propagation for explicitly parallel programs. In Proceedings of the Tenth Workshop on Languages and Compilers for Parallel Computing, August 1997.

    Google Scholar 

  10. J. Lee, D. A. Padua, and S. Midkiff. Basic compiler algorithms for parallel programs. In Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Atlanta, GA, May 1999.

    Google Scholar 

  11. S. P. Masticola. Static Detection of Deadlocks in Polynomial Time. PhD thesis, Department of Computer Science, Rutgers University, 1993.

    Google Scholar 

  12. D. Novillo. Compiler Analysis and Optimization Techniques for Explicitly Parallel Programs. PhD thesis, University of Alberta, February 2000.

    Google Scholar 

  13. D. Novillo, R. Unrau, and J. Schaeffer. Concurrent SSA Form in the Presence of Mutual Exclusion. In 1998 International Conference on Parallel Processing, pages 356–364, Minneapolis, Minnesota, August 1998.

    Google Scholar 

  14. D. Novillo, R. Unrau, and J. Schaeffer. Identifying and Validating Irregular Mutual Exclusion in Concurrent Programs. In European Conference on Parallel Computing (Euro-Par 2000), August 2000.

    Google Scholar 

  15. J. Singh, W. Weber, and A. Gupta. SPLASH: Stanford parallel applications for sharedmemory. Computer Architecture News, 20(1):5–44, March 1992.

    Article  Google Scholar 

  16. R. Unrau, O. Krieger, B. Gamsa, and M. Stumm. Experiences with Locking in a NUMA Multiprocessor Operating System Kernel. In Proceedings for the 1st USENIX Symposium on Operating Systems Design and Implementation (OSDI ’94), pages 139–152, 1994.

    Google Scholar 

  17. M. J. Wolfe. High Performance Compilers for Parallel Computing. Reading, Mass.: Addison-Wesley, Redwood City, CA, 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Novillo, D., Unrau, R.C., Schaeffer, J. (2000). Optimizing Mutual Exclusion Synchronization in Explicitly Parallel Programs. In: Dwarkadas, S. (eds) Languages, Compilers, and Run-Time Systems for Scalable Computers. LCR 2000. Lecture Notes in Computer Science, vol 1915. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-40889-4_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-40889-4_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41185-7

  • Online ISBN: 978-3-540-40889-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics