Skip to main content

Barrier synchronisation optimisation

  • Conference paper
  • First Online:
  • 113 Accesses

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

Abstract

This paper describes a new compiler algorithm to reduce the number of barrier synchronisations in parallelised programs. A preliminary technique to rapidly determine critical data dependences is developed. This forms the basis of the Fast First Sink (FFS) algorithm which places, provably, the minimal number of barriers in polynomial time for codes with a regular structure. This algorithm is implemented in a prototype compiler and applied to three well known benchmarks. Preliminary results show that it outperforms an existing state-of the-art commercial compiler.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. Callahan, A global approach to detection of parallelism. Ph.D. Dissertation, Dep. of Computer Science, Rice University, 1987

    Google Scholar 

  2. D.-K. Chen, Compiler optimizations for parallel loops with fine-grained synchronization. Ph.D. Dissertation, University of Illinois at Urbana-Champaign, 1994

    Google Scholar 

  3. R. Cytron, Compile-time scheduling and optimizations for asynchronous machines, Ph.D. Dissertation, University of Illinois at Urbana-Champaign, 1984

    Google Scholar 

  4. Z. Li, W. Abu-Sufah, On reducing data synchronization in multiprocessed loops, IEEE Trans. on Computers, C-36(1), pp 105–109, Jan. 1987

    Google Scholar 

  5. S.P. Midkiff, D.A. Padua, Compiler generated synchronizations for do loops, Proceedings of International Conference on Parallel Processing, IEEE press, New York, Aug. 1986

    Google Scholar 

  6. S.P. Midkiff, D.A. Padua, Compiler algorithms for synchronization, IEEE Trans. Comput., C-36(12), pp. 1485–1495, Dec. 87

    Google Scholar 

  7. R. Miller, A Library for Bulk Synchronous Parallel Programming. Proc. of the BCS Parallel Processing Specialist Group Workshop on General Purpose Parallel Computing, pg 100–108, Dec. 1993

    Google Scholar 

  8. R. Berrendorf, M. Gerndt, W. E. Nagel and J. Prümerr, “SVM Fortran”, Technical Report IB-9322, KFA Jülich, Germany, 1993

    Google Scholar 

  9. F. Bodin, L. Kervella and T. Priol, “Fortran-S: A Fortran Interface for Shared Virtual Memory Architectures”, Proceedings of 7th International Conference on Supercomputing, ACM Press, 1993

    Google Scholar 

  10. D. M. Pase, T. MacDonald, A. Meltzer, “MPP Fortran Programming Model”, Cray Research Inc., Eagan, Minnesota, 1993

    Google Scholar 

  11. H. Zima, P. Brezany, B. Chapman, P. Mehrota, “Vienna Fortran—a Language Specification”, ICASE Internal Report 21, ICASE, Hampton, VA, 1992

    Google Scholar 

  12. M.F.P. O'Boyle, L. Kervella, F. Bodin, Synchronization Minimization in a SPMD Execution Model, J. of Parallel and Distributed Computing 29, 1995

    Google Scholar 

  13. D.A. Padua, Multiprocessors: Discussion of some theoretical and practical problems, Ph.D. Dissertation, Dep. of Computer Science, University of Illinois at Urbana-Champaign, 1979

    Google Scholar 

  14. M. Philippsen, E. Heinz, Automatic synchronization elimination in synchronous FORALLs. In Frontiers'95: The 5th Symposium on the Frontiers of Massively Parallel Computation, McLean, VA, Feb. 1995

    Google Scholar 

  15. D. Prakash, M. Dhagat, R. Bargodia, Synchronization issues in data-parallel languages. Proceedings of International Workshop on Languages and Compiler for Parallel Computing, pp. 76–95, LNCS 768, Springer Verlag, Aug. 1993

    Google Scholar 

  16. W. Pugh, D. Wonnacott, Going beyond Integer Programming with the Omega Test to Eliminate False Data Dependences, Tech. Rep. UMIACS-TR-93-132, Univ. of Maryland, Dec 1992

    Google Scholar 

  17. M. Quinn, P. Hatcher and B. Seevers, Implementing a data parallel language on a tightly coupled multiprocessors. In Advances in Languages and Compilers for Parallel Processing, pp.385–401. Pitman, London, 1991

    Google Scholar 

  18. B. Simons, A. Munshi, Scheduling loops on processors: Algorithms and complexity, SIAM J. of Computing, 19(4), pp.728–741, Aug. 1990

    Google Scholar 

  19. E. Stöhr, M. O'Boyle, A graph based approach to barrier synchronisation, CNC Tech Report, Nov 1996

    Google Scholar 

  20. C.-W. Tseng, Compiler optimizations for eliminating barrier synchronization, Fifth ACM SIGPLAN Symposium on Principles& Practice of Parallel Programming PPOPP, in ACM SIGPLAN Notices, 30(8), Aug. 1995

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bob Hertzberger Peter Sloot

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Stöhr, E.A., O'Boyle, M.F.P. (1997). Barrier synchronisation optimisation. In: Hertzberger, B., Sloot, P. (eds) High-Performance Computing and Networking. HPCN-Europe 1997. Lecture Notes in Computer Science, vol 1225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0031650

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-62898-9

  • Online ISBN: 978-3-540-69041-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics