Types, Regions, and Effects for Safe Programming with Object-Oriented Parallel Frameworks

Types, Regions, and Effects for Safe Programming with Object-Oriented Parallel Frameworks
复制标题

使用面向对象并行框架进行安全编程的类型、区域和效果

DOI:
--
复制
发表时间:
2011
期刊:
European Conference on Object-Oriented Programming
影响因子:
--
通讯作者:
Vikram S. Adve
Vikram S. Adve
中科院分区:
--
文献类型:
--
作者:
R. Bocchino;Vikram S. Adve

文献摘要

参考文献

被引文献

相似文献

面向对象的框架可以通过提供通用的并行算法(如MAP、REDUTE或管线)并允许用户使用顺序代码填充细节,从而使并行编程变得更容易。然而,如果不小心使用此类框架,例如,如果用户提供的函数执行对全局变量的非同步访问,则可能会产生不正确的行为。我们开发了可以防止此类错误的新技术。在具有基于区域的类型和效果系统的语言(确定性并行Java,或DPJ)的基础上,我们展示了如何编写框架API,使其能够对未知用户提供的方法的效果进行合理的推理。我们还描述了对DPJ的新扩展,它支持泛型类型和效果,同时保留了健壮性。给出了该语言的形式化语义和完备性性质。最后,我们描述了一个评估,表明我们的技术可以用这些框架表示三个并行框架和三个实际的并行算法。
Object-oriented frameworks can make parallel programming easier by providing generic parallel algorithms such as map, reduce, or pipeline and letting the user fill in the details with sequential code. However, such frameworks can produce incorrect behavior if they are not carefully used, e.g., if a user-supplied function performs an unsynchronized access to a global variable. We develop novel techniques that can prevent such errors. Building on a language (Deterministic Parallel Java, or DPJ) with an expressive region-based type and effect system, we show how to write a framework API that enables sound reasoning about the effects of unknown user-supplied methods. We also describe novel extensions to DPJ that enable generic types and effects while retaining soundness. We present a formal semantics and soundness properties for the language. Finally, we describe an evaluation showing that our technique can express three parallel frameworks and three realistic parallel algorithms using those frameworks.
确定性并行的模块化推理
DOI: 10.1145/1925844.1926416
发表时间: 2011
影响因子: --
作者:
Dodds M
通讯作者: Dodds M
通用 Java 的通用所有权
DOI: 10.1145/1167515.1167500
发表时间: 2006
影响因子: --
作者:
Potanin A
通讯作者: Potanin A