论文标题
将面向类型的编程应用于PGAS内存模型
Applying Type Oriented Programming to the PGAS Memory Model
论文作者
论文摘要
分区的全局地址空间内存模型已通过多种语言和应用程序普及。但是,这种抽象通常会导致程序员不得不依靠一些内置的选择,并且在这种隐式并行性的情况下,在程序员的帮助下,代码的可扩展性和性能很大程度上取决于编译器和应用程序的选择。 我们提出了一种方法,面向类型的编程,在其中通过类型和类型系统编码并行的所有方面。程序员关联的类型信息将确定如何分配,分配和分发数组。借助这种丰富,高水平的信息,编译器可以生成有效的目标可执行文件。如果程序员希望省略详细的类型信息,则编译器将依靠有记录良好且安全的默认行为,该行为可以在以后对类型进行调整。 介绍了遵循PGAS内存模型的类型的平行编程语言网格am。我们说明,如果希望这样,则使用类型如何以干净,一致的方式调整与此PGAS模型关联的所有参数和选项,而无需重写大部分代码。提出了FFT案例研究,并在可编程性和性能方面进行了考虑 - 我们通过与现有的FFT求解器进行比较来证明后者。
The Partitioned Global Address Space memory model has been popularised by a number of languages and applications. However this abstraction can often result in the programmer having to rely on some in built choices and with this implicit parallelism, with little assistance by the programmer, the scalability and performance of the code heavily depends on the compiler and choice of application. We propose an approach, type oriented programming, where all aspects of parallelism are encoded via types and the type system. The type information associated by the programmer will determine, for instance, how an array is allocated, partitioned and distributed. With this rich, high level of information the compiler can generate an efficient target executable. If the programmer wishes to omit detailed type information then the compiler will rely on well documented and safe default behaviour which can be tuned at a later date with the addition of types. The type oriented parallel programming language Mesham, which follows the PGAS memory model, is presented. We illustrate how, if so wished, with the use of types one can tune all parameters and options associated with this PGAS model in a clean and consistent manner without rewriting large portions of code. An FFT case study is presented and considered both in terms of programmability and performance - the latter we demonstrate by a comparison with an existing FFT solver.