🤖 AI Summary
This work addresses the computational bottleneck of k-mer counting (KC) in genome assembly. Traditional distributed-memory approaches suffer from poor scalability due to reliance on multi-round All-to-All collective communication. We propose the first asynchronous parallel KC algorithm for distributed memory, eliminating global synchronization overhead via a fine-grained asynchronous messaging mechanism and a customized message-aggregation protocol. Our method integrates distributed hash-based partitioning, MPI non-blocking communication, and hardware-aware performance modeling to maximize resource efficiency. Evaluated on 256 nodes (6,000 CPU cores), it achieves strong scalability—delivering a 9× speedup over the state-of-the-art distributed KC method and a 100× speedup over shared-memory counterparts. These results significantly alleviate the KC performance bottleneck in large-scale DNA sequence analysis.
📝 Abstract
This paper describes a new asynchronous algorithm and implementation for the problem of k-mer counting (KC), which concerns quantifying the frequency of length k substrings in a DNA sequence. This operation is common to many computational biology workloads and can take up to 77% of the total runtime of de novo genome assembly. The performance and scalability of the current state-of-the-art distributed-memory KC algorithm are hampered by multiple rounds of Many-To-Many collectives. Therefore, we develop an asynchronous algorithm (DAKC) that uses fine-grained, asynchronous messages to obviate most of this global communication while utilizing network bandwidth efficiently via custom message aggregation protocols. DAKC can perform strong scaling up to 256 nodes (512 sockets / 6K cores) and can count k-mers up to 9x faster than the state-of-the-art distributed-memory algorithm, and up to 100x faster than the shared-memory alternative. We also provide an analytical model to understand the hardware resource utilization of our asynchronous KC algorithm and provide insights on the performance.