Optimal distribution assignment placement
Dynamic data redistribution is a key technique for maintaining data locality and workload balance in data parallel languages like HPF. On the other hand, redistributions can be very expensive and significantly degrade a program's performance. In this article, we present a novel and aggressive approach for avoiding unnecessary remappings by eliminating partially dead and partially redundant distribution changes. Basically, this approach evolves from extending and combining two algorithms for these optimizations achieving optimal results for sequential programs. Optimality, however, becomes more intricate by the combination. Unlike the sequential setting the data-parallel setting leads to a hierarchy of algorithms of varying power and efficiency fitting a user's individual needs. The power and flexibility of the new approach are demonstrated by illustrating examples. First practical experiences underline its importance and effectivity.
Unable to display preview. Download preview PDF.
- 1.S. Benkner, S. Andel, R. Blasko, P. Brezany, A. Colic, B.M. Chapman, M. Egg, T. Fahringer, J. Hulman, E. Kelc, E. Mehofer, H. Moritsch,M. Paul, K. Sanjari, V. Sipkova, B. Velkov, B. Wonder, and H.P. Zima. Vienna Fortran Compilation System-Version 1.2-User's Guide. Institute for Software Technology and Parallel Systems, University of Vienna, Vienna, February 1996.Google Scholar
- 2.F. Coelho and C. Ancourt. Optimal compilation of HPF remappings. Journal of Parallel and Distributed Computing, 38(2):229–236, November 1996.Google Scholar
- 3.High Performance Fortran Forum. High Performance Fortran language specification version 2.0. Technical report, Rice University, Houston,TX, January 1997. Available via HPFF home page: http://www.crpc.rice.edu/HPFF.Google Scholar
- 4.G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C.-W. Tseng, and M.-Y. Wu. FORTRAN D language specification. Technical report, Rice University, Houston,TX, January 1992.Google Scholar
- 5.M. W. Hall, S. Hirandani, K. Kennedy, and C.-W. Tseng. Interprocedural compilation of Fortran D for MIMD distributed-memory machines. In Proc. of Supercomputing '92, pages 522–534, Minneapolis, MN, November 1992.Google Scholar
- 6.J. Knoop and E. Mehofer. Distribution assignment placement: A new aggressive approach for optimizing redistribution costs. Technical Report TR 97-6, Institute for Software Technology and Parallel Systems, University of Vienna, Austria, 1997.Google Scholar
- 7.J. Knoop, O. Rfithing, and B. Steffen. Partial dead code elimination. In Proc. of the ACM SIGPLAN '95 Conference on Programming Language Design and Implementation (PLDI'95), pages 147–158, Orlando, FL, June 1994.Google Scholar
- 8.J. Knoop, O. Rüthing, and B. Steffen. The power of assignment motion. In Proc. of the ACM SIGPLAN '95 Conference on Programming Language Design and Implementation (PLDI'95), pages 233–245, La Jolla, CA, June 1995.Google Scholar
- 9.J. Knoop, O. Rüthing, and B. Steffen. Towards a tool kit for the automatic generation of interprocedural data flow analyses. Journal of Programming Languages, 4(4):211–246, 1996.Google Scholar
- 10.E. Mehofer and H. Zima. Distribution assignment placement. Technical Report TR-96-5, Institute for Software Technology and Parallel Systems, University of Vienna, Austria, 1996.Google Scholar
- 11.D.J. Palermo, E.W. Hodges, and P. Banerjee. Interprocedural array redistribution data-flow analysis. In Proc. of the 9th Workshop on Languages and Compilers for Parallel Computing, San Jose, CA, August 1996.Google Scholar
- 12.S. Ramaswamy, B. Simons, and P. Banerjee. Optimizations for efficient array redistribution on distributed memory multicomputers. Journal of Parallel and Distributed Computing, 38(2):217–228, November 1996.Google Scholar
- 13.H. Zima, P. Brezany, B. Chapman, P. Mehrotra, and A. Schwald. Vienna Fortran-A language specification version 1.1. Technical Report ACPC/TR 92-4, Austrian Center for Parallel Computation, March 1992. *** DIRECT SUPPORT *** A0008C42 00013Google Scholar