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.
References
D. Callahan, A global approach to detection of parallelism. Ph.D. Dissertation, Dep. of Computer Science, Rice University, 1987
D.-K. Chen, Compiler optimizations for parallel loops with fine-grained synchronization. Ph.D. Dissertation, University of Illinois at Urbana-Champaign, 1994
R. Cytron, Compile-time scheduling and optimizations for asynchronous machines, Ph.D. Dissertation, University of Illinois at Urbana-Champaign, 1984
Z. Li, W. Abu-Sufah, On reducing data synchronization in multiprocessed loops, IEEE Trans. on Computers, C-36(1), pp 105–109, Jan. 1987
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
S.P. Midkiff, D.A. Padua, Compiler algorithms for synchronization, IEEE Trans. Comput., C-36(12), pp. 1485–1495, Dec. 87
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
R. Berrendorf, M. Gerndt, W. E. Nagel and J. Prümerr, “SVM Fortran”, Technical Report IB-9322, KFA Jülich, Germany, 1993
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
D. M. Pase, T. MacDonald, A. Meltzer, “MPP Fortran Programming Model”, Cray Research Inc., Eagan, Minnesota, 1993
H. Zima, P. Brezany, B. Chapman, P. Mehrota, “Vienna Fortran—a Language Specification”, ICASE Internal Report 21, ICASE, Hampton, VA, 1992
M.F.P. O'Boyle, L. Kervella, F. Bodin, Synchronization Minimization in a SPMD Execution Model, J. of Parallel and Distributed Computing 29, 1995
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
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
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
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
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
B. Simons, A. Munshi, Scheduling loops on processors: Algorithms and complexity, SIAM J. of Computing, 19(4), pp.728–741, Aug. 1990
E. Stöhr, M. O'Boyle, A graph based approach to barrier synchronisation, CNC Tech Report, Nov 1996
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
Author information
Authors and Affiliations
Editor information
Rights 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