写点什么

PGAS 模型编程语言

用户头像
星际行者
关注
发布于: 2020 年 12 月 02 日

进入多核时代以后,充分利用CPU的并行处理能力,是一个较大的挑战。由单机运行变为集群运行又是一个较大的挑战。传统上开发单机并行程序,我们使用多线程的方式。而开发集群运行的程序则多使用mpi或者hadoop体系的技术工具。简化开发的复杂度无疑是一个非常值得研究的方向。PGAS(partitioned global address space:PGAS)似乎是一个不错的方向。



引自维基百科:



“PGAS模型试图将针对分布式内存系统的如MPI那样的SPMD编程样式,和共享内存系统的数据参照语义二者的好处结合起来。PGAS模型相较分布式共享内存有所创新,共享内存空间的一部分可以对特定线程或进程有“亲和性”,从而利用上参照局部性。这也比传统共享内存方式的一个平直地址空间要更具现实性,因为特定于硬件的数据局部性比如NUMA,可以在划分地址空间中进行建模。



PGAS模型是SHMEM[2]、Unified Parallel C、Coarray Fortran、Chapel、X10、Fortress、Split-C、Global Arrays、UPC++、Coarray C++、DASH的基础。自从Fortran 2008,这个模型被集成为标准Fortran语言的一部分。



PGAS模型的一个变体是异步分区全局地址空间(asynchronous partitioned global address space:APGAS),它允许创建局部和远程异步任务二者[3]。使用了这个模型的两个编程语言是Chapel和X10。“



发布于: 2020 年 12 月 02 日阅读数: 24
用户头像

星际行者

关注

编程多年依旧热爱。。。 2019.03.28 加入

还未添加个人简介

评论

发布
暂无评论
PGAS模型编程语言