Skip to main content

An Efficient Algorithm to Compute Delay Set in SPMD Programs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2913))

Abstract

We present compiler analysis for single program multiple data (SPMD) programs that communicate through shared address space. The choice of memory consistency model is sequential consistency as defined by Lamport [9]. Previous research has shown that these programs require cycle detection to perform any kind of code re-ordering either at hardware or software. So far, the best known cycle detection algorithm for SPMD programs has been given by Krishnamurthy et al [5, 6, 8]. Their algorithm computes a delay set that is composed of those memory access pairs that if re-ordered either by hardware or software may cause violation of sequential consistency. This delay set is computed in O(m 3) time where m is the number of read/write accesses. In this paper, we present O(m 2) algorithm for computing analogous delay set for SPMD programs that are used in practice. These programs must be structured with the property that all the variables are initialized before their value is read.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Adve, S.A., Hill, M.D.: Weak ordering - a new definition. In: Proceedings of the 17th Annual International Symposium on Computer Architecture, May 1990, pp. 2–14 (1990)

    Google Scholar 

  2. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers Principles, Techniques, and Tools. Addison-Wesley publishing company, Reading (1986)

    Google Scholar 

  3. Bernstein, A.J.: Analysis of programs for parallel processing. IEEE Transactions on Electronic Computers EC-15(5) (October 1966)

    Google Scholar 

  4. Culler, D.E., Dusseau, A., Goldstein, S.C., Krishnamurthy, A., Lumetta, S., von Eicken, T., Yelick, K.: Parallel programming in split-c. In: Proceedings of Supercomputing, pp. 262–273 (1993)

    Google Scholar 

  5. Krishnamurthy, A.: Compiler analyses and system support for optimizing shared address space programs. PhD thesis, University of California Berkeley (1999)

    Google Scholar 

  6. Krishnamurthy, A., Yelick, K.: Optimizing parallel spmd programs. Languages and Compilers for Parallel Computing (1994)

    Google Scholar 

  7. Krishnamurthy, A., Yelick, K.: Optimizing parallel programs with explicit synchronization. In: Proceedings of the ACM SIGPLAN 1995 conference on Programming Languages Design and Implementation(PLDI), June 1995, pp. 196–204 (1995)

    Google Scholar 

  8. Krishnamurthy, A., Yelick, K.: Analyses and optimizations for shared address space. Journal of Parallel and Distributed Computing (1996)

    Google Scholar 

  9. Lamport, L.: How to make multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers C-28(9) (September 1979)

    Google Scholar 

  10. Midkiff, S.P., Padua, D.A.: Issues in the optimization of parallel programs. In: International Conference on Parallel Processing, vol. II, pp. 105–113 (1990)

    Google Scholar 

  11. Shasha, D., Snir, M.: Efficient and correct execution of parallel programs that share memory. ACM Transactions on Programming Languages and Systems 10(2) (April 1988)

    Google Scholar 

  12. Tarjan, R.: Depth-first search and linear graph algorithms. SIAM Journal on Computing 1(2), 146–160 (1972)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kurhekar, M.P., Barik, R., Kumar, U. (2003). An Efficient Algorithm to Compute Delay Set in SPMD Programs. In: Pinkston, T.M., Prasanna, V.K. (eds) High Performance Computing - HiPC 2003. HiPC 2003. Lecture Notes in Computer Science, vol 2913. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24596-4_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24596-4_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20626-2

  • Online ISBN: 978-3-540-24596-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics