Skip to main content
Log in

Transitive Closure of Infinite Graphs and Its Applications

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

Integer tuple relations can concisely summarize many types of information gathered from analysis of scientific codes. For example, they can be used to precisely describe which iterations of a statement are data dependent of which other iterations. It is generally not possible to represent these tuple relations by enumerating the related pairs of tuples. For example, it is impossible to enumerate the related pairs of tuples in relation {[i] → [i + 2]|l ⩽ in − 2}. Even when it is possible to enumerate the related pairs of tuples, such as for the relation {[i, j] → [i′, j′]|l ⩽ i, j, i′, j′ ⩽ 100}, it is often not practical to do so. We instead use a closed form description by specifying a predicate consisting of affine constraints on the related pairs of tuples. As we just saw, these affine constraints can be parameterized, so what we are really describing are infinite families of relations (or graphs). Many of our applications of tuple relations rely heavily on an operation called transitive closure. Computing the transitive closure of these “infinite graphs” is very different from the traditional problem of computing the transitive closure of a graph whose edges can be enumerated. For example, the transitive closure of the first relation above is the relation {[i] → [i′]|∃β s.t. i′ − i = 2β ∧ l ⩽ ii′ ⩽ n}. As we will prove, transitive closure is not comutable in the general case. We have developed algorithms that produce exact results in most commonly occuring cases and produce upper of lower bounds (as necessary) in the other cases. This paper will describe ou algorithms for computing transitive closure and some of its applications such as determining which inter-processor synchronizations are redundant.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Wayne Kelly, and William Pugh, A Framework for Unifying Reordering Transformations. Technical Report CS-TR-3193, Department of Computer Science, University of Maryland, College Park (April 1993).

    Google Scholar 

  2. Wayne Kelly, Vadim Maslov, William Pugh, Evan Rosser, Tatiana Shpeisman, and David Wonnacott, The Omega Library Interface Guide. Technical Report CS-TR-3445, Department of Computer Science, University of Maryland, College Park (March 1995).

    Google Scholar 

  3. Wayne Kelly and William Pugh, Finding Legal Reordering Transformations Using Mappings. Seventh Int’l. Workshop on Languages and Compilers for Parallel Computing Lecture Notes in Computer Science, Vol. 892 Ithaca, New York Springer-Verlag. (August 1994).

    Google Scholar 

  4. V. P. Krothapalli and P. Sadayappan, Removal of Redundant Dependences in DOACROSS Loops with Constant Dependences. Proc. of the Third ACM SIGPLAN Symp. on PPPP, pp. 51–60 (July 1991).

  5. Ding-Kai Chen, Compiler Optimizations for Parallel Loops With Fine-Grained Synchronization. Ph.D. Thesis, Department of Computer Science, University of Illinois at Urbana-Champaign, 1994. Also available as CSRD Report 1374.

    Google Scholar 

  6. Wayne Kelly and William Pugh, A Unifying Framework for Iteration Reordering Transformations. Proc. of the IEEE First Int’l. Conf. on Algorithms and Architectures for Parallel Processing, Brisbane, Australia (April 1995).

    Google Scholar 

  7. S. P. Midkiff and D. A. Padua, Compiler Algorithms for Synchronization. IEEE Trans. on Computers, C-36(12): 1485–1495 (1987).

    Article  MATH  Google Scholar 

  8. S. P. Midkiff and D. A. Padua, A Comparison of Four Synchronization Optimization Techniques. Proc. IEEE Int’l Conf. on Parallel Processing, pp. II-9–II-16 (August 1991).

  9. M. Gupta and E. Schonberg, Static Analysis to Reduce Synchronization Costs in Data-Parallel Programs. Conference Record of POPL ’96: The 23 RD ACM SIGPLAN-SIGACT Symp. on PPL (January 1996).

  10. Chau-Wen Tseng. Compiler Optimizations for Eliminating Barrier Synchronization. Proc. of the Fifth ACM SIGPLAN Symp. on PPPP, pp. 144–155 (July 1995).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wayne Kelly.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kelly, W., Pugh, W., Rosser, E. et al. Transitive Closure of Infinite Graphs and Its Applications. Int J Parallel Prog 24, 579–598 (1996). https://doi.org/10.1007/BF03356760

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03356760

Key Words

Navigation