Since the mid-1990s the need for techniques to parallelize numerical applications has increased. When parallelizing nested loops for distributed memory parallel computers, two major problems have to be solved: the scheduling of the loop iterations and the mapping of the computations and data elements onto the processors. The scheduling functions must satisfy all the data dependences existing in the sequential loop nests. The mapping functions should maximize the degree of parallelism obtained. Furthermore they should minimize the amount of communication overhead due to non local data references.
This survey presents the alignment problem, that is, the problem of mapping computation and data onto the processors. The alignment problem has been studied extensively since the beginning of the nineties, that is, since the beginning of the introduction of massively parallel distributed memory computers. For different sub-problems of the alignment problem, the most interesting results are...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Anderson, J.M., and Lam, M.S.: ‘Global optimizations for parallelism and locality on scalable parallel machines’: ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI ’93), ACM, 1993, pp. 112–125.
Bau, D., Kodukula, I., Kotylar, V., Pingali, K., and Stodghill, P.: ‘Solving alignment using elementary linear algebra’: 7th Internat. Workshop Languages and Compilers for Parallel Computing (LCPC ’94), Vol. 892 of Lecture Notes Computer Sci., Springer, 1994, pp. 46–60.
Bixby, R., Kennedy, K., and Kremer, U.: ‘Automatic data layout using 0–1 integer programming’, Internat. Conf. Parallel Architectures and Compilation Techniques (PACT ’94), 1994, pp. 111–122.
Chapman, B.M., Fahringer, T., and Zima, H.P.: ‘Automatic support for data distribution on distributed memory multiprocessor systems’: 6th Internat. Workshop Languages and Compilers for Parallel Computing (LCPC ’93), Vol. 768 of Lecture Notes Computer Sci., Springer, 1993, pp. 184–199.
Chatterjee, S., Gilbert, J.R., Schreiber, R., and Sheffler, T.J.: ‘Array distribution in data-parallel programs’: 7th Internat. Workshop Languages and Compilers for Parallel Computing (LCPC ’94), Vol. 892 of Lecture Notes Computer Sci., Springer, 1994, pp. 78–91.
Chen, T.-S, and Sheu, J.-P: ‘Communication-free data allocation techniques for parallelizing compilers on multicomputers’, IEEE Trans. Parallel and Distributed Systems5, no. 9 (1994), 921–938.
Crooks, P., and Perrott, R.H.: ‘An automatic data distribution generator for distributed memory MIMD machines’: 4th Internat. Workshop Compilers for Parallel Computers, 1993, pp. 33–44.
Darte, A., and Robert, Y.: ‘On the alignment problem’, Parallel Proc. Lett.4, no. 3 (1994), 259–270.
Diderich, C.G.: ‘Automatic data distribution for massively parallel distributed memory computers’, PhD Thesis Computer Sci. Dept. Swiss Federal Inst. Tech., Lausanne, Switzerland (1998).
Diderich, C.G., and Gengler, M.: ‘The alignment problem in a linear algebra framework’: Proc. Hawaii Internat. Conf. System Sci. (HICSS-30); Software Techn. Track, IEEE Computer Soc. Press, 1997, pp. 586–595.
Dierstein, A., Hayer, R., and Rauber, T.: ‘The ADDAP system on the iPSC/860: Automatic data distribution and parallelization’, J. Parallel Distributed Comput.32, no. 9 (1994), 1–10.
Dion, M.: ‘Alignement et distribution en parallélisation automatique’, PhD Thesis Ecole Normale Sup. Lyon (1996), (In French.)
Dion, M., and Robert, Y.: ‘Mapping affine loop nests’, Parallel Comput.22 (1996), 1373–1397.
Feautrier, P.: ‘Towards automatic distribution’, Parallel Proc. Lett.4, no. 3 (1992), 233–244.
Garcia, J., Ayguadé, E., and Labarta, J.: ‘A novel approach towards automatic data distribution’: Supercomputing ’95 Conf., 1995.
Gupta, M.: ‘Automatic data partitioning on distributed memory multicomputers’, PhD Thesis Univ. Illinois at Urbana-Champaign, Urbana, IL (1992).
Huang, C.-H, and Sadayappan, P.: ‘Communication-free hyperplane partitioning of nested loops’, 4th Internat. Workshop Languages and Compilers for Parallel Computing (LCPC ’91), Vol. 589 of Lecture Notes Computer Sci., Springer, 1991, pp. 186–200.
Kelly, W., and Pugh, W.: ‘Minimizing communication while preserving parallelism’: 1996 ACM Internat. Conf. Supercomputing (ICS ’96), ACM, 1996, pp. 52–60.
Knobe, K., Lukas, J.D., and Steele Jr., G.L.: ‘Data optimization: Allocation of arrays to reduce communication on SIMD machines’, J. Parallel Distributed Comput.8, no. 2 (1990), 102–118.
Kunchithapadam, K., and Miller, B.P.: ‘Optimizing array distributions in data-parallel programs’: 7th Internat. Workshop Languages and Compilers for Parallel Computing (LCPC ’94), Vol. 892 of Lecture Notes Computer Sci., Springer, 1994, pp. 470–484.
Lamport, L.: ‘The parallel execution of DO loops’, Comm. ACM17, no. 2 (1974), 83–93.
Li, J., and Chen, M.: ‘Index domain alignment: Minimizing cost of cross-referencing between distributed arrays’: 3rd Symp. Frontiers of Massively Parallel Computation (Frontiers ’90), IEEE Computer Soc. Press, 1990, pp. 424–433.
Li, J., and Chen, M.: ‘The data alignment phase in compiling programs for distributed-memory machines’, J. Parallel Distributed Comput.13 (1991), 213–221.
Lim, A.W., and Lam, M.S.: ‘Communication-free parallelization via affine transformations’: 7th Internat. Workshop Languages and Compilers for Parallel Computing (LCPC ’94), Vol. 892 of Lecture Notes Computer Sci., Springer, 1994, pp. 92–106.
Mongenet, C.: ‘Mappings for communications minimization using distribution and alignment’: Internat. Conf. Parallel Architectures and Compilation Techniques (PACT ’95), 1995, pp. 185–193.
O’Boyle, M.: ‘A data partitioning algorithm for distributed memory compilation’, Techn. Report Ser. Univ. Manchester, EnglandUMCS-93-7-1 (1993).
O’Boyle, M., and Hedayat, G.A.: ‘Data alignment: Transformation to reduce communication on distributed memory architectures’: Scalable High Performance Computing Conf. (SHPCC ’92), IEEE Computer Soc. Press, 1992, pp. 366–371.
Platonoff, A.: ‘Automatic data distribution for massively parallel computers’: Internat. Workshop Compilers for Parallel Computers, 1995, pp. 555–570.
Platonoff, A.: ‘Contribution à la distribution automatique des données pour machines massivement parallèles’, PhD Thesis Ecole Normale Sup. Mines de Paris (1995), (In French.)
Ramanujam, J., and Sadayappan, P.: ‘Compile-time techniques for data distribution in distributed memory machines’, IEEE Trans. Parallel and Distributed Systems2, no. 4 (1991), 472–482.
Sheu, J.-P., and Tai, T.-H.: ‘Partitioning and mapping nested loops on multiprocessor systems’, IEEE Trans. Parallel and Distributed Systems2, no. 4 (1991), 430–439.
Sinharoy, B., and Szymanski, B.K.: ‘Data and task alignment in distributed memory architectures’, J. Parallel Distributed Comput.21 (1994), 61–74.
Wolfe, M., and Ikei, M.: ‘Automatic array alignment for distributed memory multicomputers’, 27th Annual Hawaii Internat. Conf. System Sci., Vol. II, IEEE Computer Soc. Press, 1994, pp. 23–32.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Kluwer Academic Publishers
About this entry
Cite this entry
Diderich, C.G., Gengler, M. (2001). Alignment Problem . In: Floudas, C.A., Pardalos, P.M. (eds) Encyclopedia of Optimization. Springer, Boston, MA. https://doi.org/10.1007/0-306-48332-7_8
Download citation
DOI: https://doi.org/10.1007/0-306-48332-7_8
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-7923-6932-5
Online ISBN: 978-0-306-48332-5
eBook Packages: Springer Book Archive