Abstract
The paper describes the Skel-BSP Global Optimizer (GO), a compile-time technique tuning the structure of skeletal programs to the characteristics of the target architecture. The GO uses a set of optimization rules predicting the costs of each skeleton. The optimization rules refer to a set of implementation templates developed on top of the EdD-BSP (a variant of the BSP model). The paper describes the Program Annotated Tree representation and the set of transformation rules utilized by the GO to modify the starting program. The optimization phases: balancing, scaling and augmenting are presented and explained running the GO on a cluster of PCs for an image analysis toy-program.
This work has been supported by the Italian M.U.R.S.T. within the Mosaico frame work
Chapter PDF
References
M. Aldinucci, M. Coppola, and M. Danalutto. Rewriting skeleton programs: how to evaluate the data-parallel stream-parallel tradeoff. In Proceedings of International Workshop on Constructive Methods for Parallel Programming, number MIP-9805 in Technical Report, University of Passau, 1998.
O. Bonorden, B. Juurlink, I. von Otte, and I. Rieping. The paderborn university bsp (pub) library-design, implementation and performance. In Proceeding of 13th International Parallel Processing Symposium and 10th Symposium on Parallel and Distributed Processing (IPPS/SPDP), 1999.
M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. The MIT Press, Cambridge, Massachusetts, 1989.
M. Danelutto, R. Di Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi. A methodology for the development and the support of massively parallel programs. In D. B. Skillicorn and D. Talia, editors, Programming Languages for Parallel Processing. IEEE Computer Society Press, 1994.
J. Darlington, Y.-K. Guo, Hing Wing To, and J. Yang. Functional skeletons for parallel coordination. Lecture Notes in Computer Science, 966:55–67, 1995.
P. De La Torre and C. P. Kruskal. Submachine locality in the bulk synchronous setting. Lecture Notes in Computer Science, 1124:352–360, 1996.
S. Gorlatch and S. Pelagatti. A transformational framework for skeletal programs: Overview and case study. In Jose Rohlim, editor, Proc. of Parallel and Distributed Processing. Workshops held in Conjunction with IPPS/SPD’99, volume 1586 of LNCS, pages 123–137, Berlin, 1999. Springer.
J. M. D. Hill, B. McColl, D.— C. Stefanescu, M. W. Goudreau, K. Lang, S. B. Rao, T. Suel, T. Tsantilas, and R. H. Bisseling. BSPlib: The BSP programming library. Parallel Computing, 24(14), 1998.
R. Hockney. Performance parameters and benchmarking of supercomputers. Parallel Computing, 17(10-11):1111–1130, December 1991.
S. Pelagatti. Structured Development of Parallel Programs. Taylor & Francis, 1997.
L. G. Valiant. A bridging model for parallel computation. Communications of the ACM, 33(8):103, August 1990.
A. Zavanella. Optimising Skeletal Stream Parallelism on a BSP Computer. In P. Amestoy, P. Berger, M. Dayde, I. Duff, V. Fraysse, L. Giraud, and D. Ruiz, editors, Proceedings of EURO-PAR’99, number 1685 in LNCS, pages 853–857. Springer-Verlag, 1999.
A. Zavanella. Skel-Bsp: Performance Portability for Skeletal Programming. In M. Bubak, H. Afsarmanesh, R. Williams, and B. Hertzberger, editors, Proceedings of HPCN 2000, volume 1823 of LNCS, pages 290–299, 2000.
A. Zavanella. Skeletons and BSP: Performance Portability for Parallel Programming. PhD thesis, Dipartimento di Informatica Univesita di Pisa, 2000.
A. Zavanella and S. Pelagatti. Using BSP to Optimize Data-Distribution in Skeleton Programs. In P. Sloot, M. Bubak, A. Hoekstra, and B. Hertzberger, editors, Proceedings of HPCN99, volume 1593 of LNCS, pages 613–622, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zavanella, A. (2000). The Skel-BSP Global Optimizer: Enhancing Performance Portability in Parallel Programming. In: Bode, A., Ludwig, T., Karl, W., Wismüller, R. (eds) Euro-Par 2000 Parallel Processing. Euro-Par 2000. Lecture Notes in Computer Science, vol 1900. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44520-X_91
Download citation
DOI: https://doi.org/10.1007/3-540-44520-X_91
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67956-1
Online ISBN: 978-3-540-44520-3
eBook Packages: Springer Book Archive