论文标题

使用任务台量化魅力++和HPX中的开销

Quantifying Overheads in Charm++ and HPX using Task Bench

论文作者

Wu, Nanmiao, Gonidelis, Ioannis, Liu, Simeng, Fink, Zane, Gupta, Nikunj, Mohammadiporshokooh, Karame, Diehl, Patrick, Kaiser, Hartmut, Kale, Laxmikant V.

论文摘要

异步多任务(AMT)运行时系统利用具有轻质线程,异步执行和智能调度的多核体系结构。在本文中,我们使用任务基准测试基准介绍了AMT Systems Charm ++和HPX与主流MPI,OpenMP和MPI+OpenMP库的比较。 Charm ++是一种基于C ++的并行编程语言,与自适应运行时系统一起支持无尚的任务以及轻巧的线程。 HPX是用于并发和并行性的C ++库,揭示了C ++标准符合API的标准。首先,我们详细分析了Charm ++和HPX的共同点,差异和优势场景。此外,为了调查Charm ++和HPX任务系统引入的潜在间接费用,我们利用了现有的参数化基准测试工作台,其中15个不同的编程系统实现了,例如MPI,OpenMP,MPI+ OpenMP,并通过添加HPX实现来扩展任务台。我们在不同方案中分别将单个任务和多任务分别分配给每个核心的不同方案中的Charm ++,HPX和主流库的开销。我们还研究了每个系统的可扩展性以及隐藏通信延迟的能力。

Asynchronous Many-Task (AMT) runtime systems take advantage of multi-core architectures with light-weight threads, asynchronous executions, and smart scheduling. In this paper, we present the comparison of the AMT systems Charm++ and HPX with the main stream MPI, OpenMP, and MPI+OpenMP libraries using the Task Bench benchmarks. Charm++ is a parallel programming language based on C++, supporting stackless tasks as well as light-weight threads asynchronously along with an adaptive runtime system. HPX is a C++ library for concurrency and parallelism, exposing C++ standards conforming API. First, we analyze the commonalities, differences, and advantageous scenarios of Charm++ and HPX in detail. Further, to investigate the potential overheads introduced by the tasking systems of Charm++ and HPX, we utilize an existing parameterized benchmark, Task Bench, wherein 15 different programming systems were implemented, e.g., MPI, OpenMP, MPI + OpenMP, and extend Task Bench by adding HPX implementations. We quantify the overheads of Charm++, HPX, and the main stream libraries in different scenarios where a single task and multi-task are assigned to each core, respectively. We also investigate each system's scalability and the ability to hide the communication latency.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源