LCI: a Lightweight Communication Interface for Efficient Asynchronous Multithreaded Communication
By: Jiakun Yan, Marc Snir
Potential Business Impact:
Makes computers talk faster in complex tasks.
The evolution of architectures, programming models, and algorithms is driving communication towards greater asynchrony and concurrency, usually in multithreaded environments. We present LCI, a communication library designed for efficient asynchronous multithreaded communication. LCI provides a concise interface that supports common point-to-point primitives and diverse completion mechanisms, along with flexible controls for incrementally fine-tuning communication resources and runtime behavior. It features a threading-efficient runtime built on atomic data structures, fine-grained non-blocking locks, and low-level network insights. We evaluate LCI on both Infiniband and Slingshot-11 clusters with microbenchmarks and two application-level benchmarks. Experimental results show that LCI significantly outperforms existing communication libraries in various multithreaded scenarios, achieving performance that exceeds the traditional multi-process execution mode and unlocking new possibilities for emerging programming models and applications. LCI is open-source and available at https://github.com/uiuc-hpc/lci.
Similar Papers
Contemplating a Lightweight Communication Interface for Asynchronous Many-Task Systems
Distributed, Parallel, and Cluster Computing
Makes computer programs talk to each other faster.
Understanding the Communication Needs of Asynchronous Many-Task Systems -- A Case Study of HPX+LCI
Distributed, Parallel, and Cluster Computing
Makes supercomputers run science faster.
An Efficient, Reliable and Observable Collective Communication Library in Large-scale GPU Training Clusters
Distributed, Parallel, and Cluster Computing
Makes AI learn much faster and more reliably.