TPDS Article

Trends in Data Locality Abstractions for HPC Systems

The cost of data movement has always been an important concern in high performance computing (HPC) systems. It has now become the dominant factor in terms of both energy consumption and performance. Support for expression of data locality has been explored in the past, but those efforts have had only modest success in being adopted in HPC applications for various reasons. However, with the increasing complexity of the memory hierarchy and higher parallelism in emerging HPC systems, locality management has acquired a new urgency. Developers can no longer limit themselves to low-level solutions and ignore the potential for productivity and performance portability obtained by using locality abstractions. Fortunately, the trend emerging in recent literature on the topic alleviates many of the concerns that got in the way of their adoption by application developers. Data locality abstractions are available in the forms of libraries, data structures, languages and runtime systems; a common theme is increasing productivity without sacrificing performance. This paper examines these trends and identifies commonalities that can combine various locality concepts to develop a comprehensive approach to expressing and managing data locality on future large-scale high-performance computing systems.

author={D. Unat and A. Dubey and T. Hoefler and J. Shalf and M. Abraham and M. Bianco and B. L. Chamberlain and R. Cledat and H. C. Edwards and H. Finkel and K. Fuerlinger and F. Hannig and E. Jeannot and A. Kamil and J. Keasler and P. H. J. Kelly and V. Leung and H. Ltaief and N. Maruyama and C. J. Newburn and M. Pericas},
journal={IEEE Transactions on Parallel and Distributed Systems},
title={Trends in Data Locality Abstractions for HPC Systems},
keywords={Arrays;Distributed databases;Layout;Libraries;Market research;Parallel processing;Data locality;data layout;high-performance computing;locality-aware runtimes;programming abstractions},