arrow
返回

Locality analysis for parallel C programs

delete1999-01-01
delete6
PRE
AI
H
Hendren, LJ
DOI:10.1109/71.752778delete
delete原文链接
delete分享
delete收藏
摘要

摘要

En 中文
Many parallel architectures support a memory model where some memory accesses are local and, thus, inexpensive, while other memory accesses are remote and potentially quite expensive. In the case of memory references via pointers, it is often difficult to determine if the memory reference is guaranteed to be local and, thus, can be handled via an inexpensive memory operation. Determining which memory accesses are local can be done by the programmer, the compiler, or a combination of both. The overall goal is to minimize the work required by the programmer and have the compiler automate the process as much as possible. This paper reports on compiler techniques for determining when indirect memory references are local. The locality analysis has been implemented for a parallel dialect of C called EARTH-C, and it uses an algorithm inspired by type inference algorithms for fast points-to analysis. The algorithm statically estimates when an indirect reference via a pointer can be safely assumed to be a local access. The locality inference algorithm is also used to guide the automatic specialization of functions in order to take advantage of locality specific to particular calling contexts. In addition to these purely static techniques, we also suggest fine-grain and coarse-grain dynamic techniques. In this case, dynamic locality checks are inserted into the program and specialized code for the local case is inserted. In the fine-grain case, the checks are put around single memory references, while in the coarse-grain case the checks are put around larger program segments. The static locality analysis and automatic specialization has been implemented in the EARTH-C compiler, which produces low-level threaded code for the EARTH multithreaded architecture. Experimental results are presented for a set of benchmarks that operate on irregular, dynamically allocated data structures. Overall, the techniques give moderate to significant speedups, with the combination of static and dynamic techniques giving the best performance overall.
Keyword:
locality analysis
multithreaded architectures
compiling for parallel architectures
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Parallel and Distributed Systems 封面图
IEEE Transactions on Parallel and Distributed Systems
IF:
6
论文数:
5.2K
被引数:
1.1W

机构

暂无机构信息
引用论文

引用论文

err
IF0
err
err0
errOAAI
err
err分享
err收藏
Exposure to a mildly aversive early life experience leads to prefrontal cortex deficits in the rat
err2015-12-07
err0
PREAI
errAntonios Stamatakis; Vasileios Manatos; Theodora Kalpachidou; Fotini Stylianopoulou
err分享
err收藏
Turning the Stimulus On and Off Changes the Direction of α Traveling Waves
err2020-11-09
err0
errOAAI
errZhaoyang Pang (庞兆阳); Andrea Alamia; Rufin VanRullen
err分享
err收藏
err分享
err收藏
Audiovisual perception of openness and lip rounding in front vowels
err2007-04-01
err0
PREAI
errHartmut Traunmüller; Niklas Öhrström
err分享
err收藏
err分享
err收藏
没有更多内容