Journal of Logical and Algebraic Methods in Programming ( IF 0.7 ) Pub Date : 2019-07-26 , DOI: 10.1016/j.jlamp.2019.100479 Yoann Marquer , Frédéric Gava
bulk-synchronous parallel (bsp ) is a bridging model for hpc (high performance computing) algorithm design. It provides a conceptual bridge between the physical implementation of the machine and the abstraction available to a programmer, while having portable and scalable performance predictions of bsp algorithms on most hpc systems. Two questions may come to mind. What are formally bsp algorithms? And how to ensure that the programmer can effectively program every bsp algorithm with a bsp language, especially with the right cost? gurevich proved that three convincing postulates for the sequential algorithms are equivalent to what is called abstract state machines (asms ), and thus that asms capture the sequential algorithms. Firstly, we extend these sequential postulates and asms in order to intuitively and realistically capture the bsp algorithms (and not more). Secondly, by using an operational semantics and an algorithmic simulation, we prove that is equivalent to , a minimal imperative bsp programming language. Therefore, bsp programming languages (extending at least ) are bsp algorithmically complete, involving the definition of a class model of the bsp algorithms.
中文翻译:
BSP算法的公理化和特征化
b ulk-小号ynchronous p arallel(BSP)是桥接模型为HPC(ħ IGH p erformance Ç omputing)算法的设计。它在机器的物理实现和程序员可用的抽象之间提供了概念上的桥梁,同时在大多数hpc系统上具有bsp算法的可移植和可扩展的性能预测。可能会想到两个问题。什么是正式的bsp算法?以及如何确保程序员可以有效地编程每个具有bsp语言的bsp算法,尤其是成本合适的算法?克urevich证明,3名令人信服公设的顺序算法相当于所谓一个bstract小号泰特米achines(ASM或多个),并且因此ASM小号捕获的顺序算法。首先,我们扩展这些顺序的假设和asm,以便直观和现实地捕获bsp算法(并且不更多)。其次,通过使用操作语义和算法仿真,我们证明了
相当于 ,一种最小的命令式bsp编程语言。因此,bsp编程语言(至少扩展)是BSP算法完成,涉及的一类模型的定义BSP算法。