DOE OSTI · 1496973
Tail queues: A multi-threaded matching architecture
Abstract
As we approach exascale, computational parallelism will have to drastically increase in order to meet throughput targets. Many–core architectures have exacerbated this problem by trading reduced clock speeds, core complexity, and computation throughput for increasing parallelism. This presents two major challenges for communication libraries such as MPI: the library must leverage the performance advantages of thread level parallelism and avoid the scalability problems associated with increasing the number of processes to that scale. Hybrid programming models, such as MPI+X, have been proposed to address these challenges. MPI THREAD MULTIPLE is MPI's thread safe mode. While there has been work to optimize it, it largely remains non–performant in most implementations. While current applications avoid MPI multithreading due to performance concerns, it is expected to be utilized in future applications. One of the major synchronous data structures required by MPI is the matching engine. In this paper, we present a parallel matching algorithm that can improve MPI matching for multithreaded applications. We then perform a feasibility study to demonstrate the performance benefit of the technique.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Dosanjh, Matthew G. F., Grant, Ryan E., Schonbein, Whit, Bridges, Patrick G.. 2019-02-06. Tail queues: A multi-threaded matching architecture. https://doi.org/10.1002/cpe.5158
Cite the original work for its findings. Save a collection to share your selection of sources.