Sequence alignment is a memory bound computation whose performance in modern systems is limited by the memory bandwidth bottleneck. Processing-in-memory architectures alleviate this bottleneck by providing the memory with computing competencies. We propose Alignment-in-Memory (AIM), a framework for high-throughput sequence alignment using processing-in-memory, and evaluate it on UPMEM, the first publicly-available general-purpose programmable processing-in-memory system. Our evaluation shows that a real processing-in-memory system can substantially outperform server-grade multi-threaded CPU systems running at full-scale when performing sequence alignment for a variety of algorithms, read lengths, and edit distance thresholds. We hope that our findings inspire more work on creating and accelerating bioinformatics algorithms for such real processing-in-memory systems. Our code is available at https://github.com/safaad/aim.
翻译:序列比对是一个受内存带宽瓶颈限制的计算,现代系统的性能受到限制。处理器内存架构通过为内存提供计算能力来缓解此瓶颈。我们提出了Alignment-in-Memory (简称AIM),它是一个使用处理器内存实现高通量序列比对的框架,并在UPMEM上进行了评估。UPMEM是第一个公开提供通用可编程处理器内存系统。我们的评估表明,当执行各种算法、读取长度和编辑距离阈值的序列比对时,实际处理器内存系统可以显著超越运行于全规模的服务器级多线程CPU系统。我们希望我们的发现能够激发更多有关在处理器内存系统上创建和加速生物信息学算法的工作。我们的代码可在https://github.com/safaad/aim 中获得。