论文标题
使用群集节点作为OpenMP设备的基于任务的编程经验
Experiences with task-based programming using cluster nodes as OpenMP devices
论文作者
论文摘要
编程分布式系统(例如群集)需要扩展使用低级通信库,并且通常会变得笨拙且误差易于普通开发人员。在这项工作中,我们将群集的每个节点视为一个单独的OpenMP设备,能够并行使用OpenMP指令运行代码。我们利用OpenMP设备模型来提供一种简单,直观的方式来编程可用的群集节点。基于此,我们研究了使现有的基于任务的应用程序能够利用此类基础架构所必需的修改。最后,我们评估系统的性能,并得出结论,只要应用程序任务不会产生过多的沟通开销,就可以获得大幅加速。
Programming a distributed system, such as a cluster, requires extended use of low-level communication libraries and can often become cumbersome and error prone for the average developer. In this work, we consider each node of a cluster as a separate OpenMP device, able to run code with OpenMP directives in parallel. We make use of the OpenMP device model to provide an easy and intuitive way to program available cluster nodes. Based on that, we examine modifications that were necessary to make existing task-based applications able to exploit such an infrastructure. Finally, we evaluate the performance of the system and conclude that one can gain significant speedup, as long as the application tasks do not produce excessive communication overheads.