An Efficient Inter-Node Communication System with Lightweight-Thread Scheduling

An Efficient Inter-Node Communication System with Lightweight-Thread Scheduling
复制标题

一种轻量级线程调度的高效节点间通信系统

DOI:
10.1109/hpcc/smartcity/dss.2019.00103
复制
发表时间:
2019
期刊:
Proceedings of 2019 IEEE 21st International Conference on High Performance Computing and Communications (HPCC)
影响因子:
--
通讯作者:
Taura Kenjiro
Taura Kenjiro
中科院分区:
--
文献类型:
--
作者:
Fukuoka Takuya;Endo Wataru;Taura Kenjiro

文献摘要

相似文献

在多核/众核处理器时代,对高性能计算中间件的需求日益增加,以利用节点间和节点内的并行性。为了有效地重叠通信和计算,许多研究都集中在MPI+并行,MPI的节点间并行和用户级线程(ULT)的节点内并行的组合。然而,在现有的MPI+ MPI实现中主要存在两个问题。首先,使用MPI_THREAD_MULTIPLE从多个线程调用MPI函数会导致性能瓶颈。其次,一些MPI+ MPI系统专注于使用非阻塞通信,程序员必须显式地管理通信的开始和结束。为了解决这些问题,我们介绍了一种高性能MPI+ULT实现MPI+神话。MPI+Myth专注于通信和计算的隐式重叠,而无需对应用程序进行任何代码修改。此外,它可以避免使用通信专用线程的多线程MPI调用的开销,并采用了一种新的调度技术,该技术通过避免阻塞ULT占用核心的情况来实现有效的负载平衡。在评估中,我们表现出显着的性能改善与现有的混合编程方法相比,使用几个微基准和一个迷你应用程序miniFE。此外,我们说明了MPI+神话有可能重叠的通信和计算,我们的新的并行调度技术可以实现负载平衡比现有的并行调度技术更有效。
In the era of multi-/many-core processors, there are increasing needs for middleware of high-performance computing to exploit both inter-node and intra-node parallelism. To overlap communication and computation efficiently, many studies have focused on MPI+ULT, a combination of MPI for inter-node parallelism and user-level threads (ULTs) for intra-node parallelism. However, there are mainly two problems in the existing MPI+ULT implementations. First, the use of MPI_THREAD_MULTIPLE to invoke MPI functions from multiple threads causes a performance bottleneck. Second, some MPI+ULT systems focus on the use of non-blocking communication and programmers have to manage both the start and the end of communication explicitly. To solve these problems, we introduce a high-performance MPI+ULT implementation MPI+myth. MPI+myth focuses on implicit overlapping of communication and computation without any code modifications to the applications. Furthermore, it can avoid the overhead of multi-threaded MPI invocations using a communication dedicated thread and adopts a new scheduling technique which achieves efficient load balancing by avoiding a situation that a core is occupied by blocking ULTs. In the evaluation, we demonstrate significant performance improvement compared with the existing hybrid programming methods using several microbenchmarks and one mini application miniFE. In addition, we illustrate that MPI+myth has the potential to overlap communication and computation and our new ULT scheduling technique can achieve load balancing more efficiently than existing ULT scheduling techniques.