Abstract
The degree of locality of a program reflects the level of temporal and spatial concentration of related data and computations. Locality optimization can speed up programs by reducing the communication costs. A possible human approach to locality optimization is to consider several small program instances of a given program, find optimal or close to optimal mappings of data and computations for the program instances, and generalize them to the program.
This paper suggests the use of this approach in a semi-automatic locality optimization method. Emphasis is given to the phase of optimizing the program instances. We introduce a fuzzy objective function that reflects the degree of locality of a program instance, and show its advantages over a crisp function such as communication costs. We provide a framework for applying several optimization techniques and describe an implementation that uses local search. The paper refers to a two-level memory hierarchy.
Preview
Unable to display preview. Download preview PDF.
References
J.M. Anderson, S.P. Amarasinghe, M.S. Lam: Data and Computation Transformations for Multiprocessors. Proc. ACM SIGPLAN Symp. on Principles and Practice of Parallel Programming, pp. 166–178, 1995
M. Cierniak, W. Li: Unifying Data and Control Transformations for Distributed Shared Memory Machines. Proc. ACM SIGPLAN'95 Conf. on Programming Language Design and Implementation, pp.205–217, 1995
Y. Crama, A.W.J. Kolen, E.J. Pesch: Local Search in Combinatorial Optimization. Artificial Neural Networks, LNCS 931, pp. 157–174, 1991
K. Dussa-Zieger: Configuration, Mapping and Sequencing by Genetic Algorithms. Proc. Int. Workshop on Approximate Reasoning in Scheduling, ICSC Press, pp. 11–17, 1997
H. El-Rewini, T.G. Lewis, H.H. Ali: Task Scheduling in Parallel and Distributed Systems. Prentice Hall, 1994
M. Kandemir, J. Ramanujam, A. Choudhary: A Compiler Algorithm for Optimizing Locality in Loop Nests. Proc. ACM Int. Conf. on Supercomputing, pp. 269–276, 1997
A. LaMarca, R.E. Ladner: The Influence of Caches on the Performance of Sorting. Proc. ACM SIGPLAN Symp. on Discrete Algorithms, pp. 370–379, 1997
J.S. Vitter, E.A.M. Shriven Algorithms for Parallel Memory I: Two-Level Memories. Algorithmica, Vol. 12, No. 2/3, pp. 110–147, 1994
M.E. Wolf, M.S. Lam: A Data Locality Optimizing Algorithm. Proc. ACM SIGPLAN'91 Conf. on Programming Language Design and Implementation, pp. 30–44, 1991
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Leopold, C. (1998). Locality optimization for program instances. In: Rolim, J. (eds) Parallel and Distributed Processing. IPPS 1998. Lecture Notes in Computer Science, vol 1388. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-64359-1_692
Download citation
DOI: https://doi.org/10.1007/3-540-64359-1_692
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64359-3
Online ISBN: 978-3-540-69756-5
eBook Packages: Springer Book Archive