摘要
大规模并行应用程序的性能优化和并行化的关键瓶颈之一在于多核CPU中越来越深和越来越复杂的存储层次。文中系统地分析和总结了当前主要多核CPU和并行程序设计语言中的局部性设计方法,提出了两种局部性,即横向局部性和纵向局部性,从这两种局部性的视角深入分析了当前的主要并行程序设计语言的局部性设计机制,进一步总结对比了其优缺点,并指出了新一代并行程序设计语言应具有的特点,重点提出了新语言应同时综合考虑两种局部性支持的设计机制的研究观点。
The memory access locality of a parallel program becomes a more and more important factor for exploiting more performance from the more and more complex memory hierarchy of current multi-core processors.In this paper,two different kinds of locality concept,horizontal locality and vertical locality,were proposed and defined.The state-of-the-art of parallel programming languages were investigated and analyzed,while the methods and mechanisms on how these parallel programming languages describe and control the memory access locality were analyzed in detail based on these two kinds view of horizontal locality and vertical locality.Finally,some future research directions on parallel programming languages were summarized,especially on the importance of integrating and support both horizontal locality and vertical locality in the future parallel programming language research.
作者
袁良
张云泉
白雪瑞
张广婷
YUAN Liang;ZHANG Yun-quan;BAI Xue-rui;ZHANG Guang-ting(State Key Laboratory of Computer Architecture,Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190,China;Bureau of Frontier Sciences and Education,Chinese Academy of Sciences,Beijing 100864,China)
出处
《计算机科学》
CSCD
北大核心
2020年第1期7-16,共10页
Computer Science
基金
国家重点研发计划(2017YFB0202001)
中国科学院战略性先导科技专项(C类)(XDC01040100)
国家自然科学基金(61432018,61521092,61602443)
北京自然科学基金(L182053)
中科院高效空间天气预报模式科技创新交叉与合作团队~~
关键词
并行程序设计语言
并行程序设计模型
局部性
并行性
多核
Parallel programming language
Parallel programming model
Locality
Parallelism
Multi-core