Using a 0-1 integer programming model for automatic static data distribution

This paper describes an automatic data distribution method which deal with both the alignment and the distribution problems in a single optimization phase, as opposed to sequentially solving these two inter-dependent approaches as done by previous work. The core of this work is called the Communicat...

Descripción completa

Detalles Bibliográficos
Autores: García Almiñana, Jordi|||0000-0002-3515-7150, Ayguadé Parra, Eduard|||0000-0002-5146-103X, Labarta Mancho, Jesús José|||0000-0002-7489-4727
Tipo de recurso: artículo
Fecha de publicación:1996
País:España
Institución:Universitat Politècnica de Catalunya (UPC)
Repositorio:UPCommons. Portal del coneixement obert de la UPC
Idioma:inglés
OAI Identifier:oai:upcommons.upc.edu:2117/331039
Acceso en línea:https://hdl.handle.net/2117/331039
https://dx.doi.org/10.1142/S0129626496000169
Access Level:acceso abierto
Palabra clave:Computational complexity
Integer programming
Automatic data distribution
Automatic parallelization
Distributed-memory multiprocessors
Computation and data movement costs
0–1 linear programming
Complexitat computacional
Programació en nombres enters
Àrees temàtiques de la UPC::Informàtica::Informàtica teòrica
Descripción
Sumario:This paper describes an automatic data distribution method which deal with both the alignment and the distribution problems in a single optimization phase, as opposed to sequentially solving these two inter-dependent approaches as done by previous work. The core of this work is called the Communication-Parallelism Graph, which describes the relationships among array dimensions of the same and different array references regarding communication and parallelism. The overall data distribution problem is then formulated as a linear 0–1 integer programming problem, where the objective function to be minimized is the total execution time. The solution is static in the sense that the layout of the arrays does not change during the execution of the program. We also show the feasibility of using this approach to solve the problem in terms of compilation time and quality of the solutions generated.