Graph Algorithms in PGAS: Chapel and UPC++

2019 IEEE High Performance Extreme Computing Conference (HPEC)(2019)

引用 2|浏览15
暂无评分
摘要
The Partitioned Global Address Space (PGAS) programming model can be implemented either with programming language features or with runtime library APIs, each implementation favoring different aspects (e.g., productivity, abstraction, flexibility, or performance). Certain language and runtime features, such as collectives, explicit and asynchronous communication primitives, and constructs facilitating overlap of communication and computation (such as futures and conjoined futures) can enable better performance and scaling for irregular applications, in particular for distributed graph analytics. We compare graph algorithms in one of each of these environments: the Chapel PGAS programming language and the the UPC++ PGAS runtime library. We implement algorithms for breadth-first search and triangle counting graph kernels in both environments. We discuss the code in each of the environments, and compile performance data on a Cray Aries and an Infiniband platform. Our results show that the library-based approach of UPC++ currently provides strong performance while Chapel provides a high-level abstraction that, harder to optimize, still provides comparable performance.
更多
查看译文
关键词
graph algorithms,Partitioned Global Address Space programming model,runtime library APIs,runtime features,explicit communication primitives,asynchronous communication primitives,distributed graph analytics,Chapel PGAS programming language,UPC++ PGAS runtime library,breadth-first search,triangle counting graph kernels,compile performance data,library-based approach,high-level abstraction,programming language features
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要