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上对其进行评估。实验表明,对于多种算法、读段长度及编辑距离阈值,真实内存计算系统在执行序列比对任务时,其性能显著优于满负荷运行的服务级多线程CPU系统。我们期望该研究成果能激励更多关于在真实内存计算系统上创建与加速生物信息学算法的工作。相关代码已开源在https://github.com/safaad/aim。