基于存内计算的基因测序数据压缩加速器设计
iSCoder: Mitigating Genomic Sequencing Data Compression Bottlenecks via In-SRAM Computing
-
摘要:研究背景 近年来,随着基因组测序数据的迅速增长,存储、传输和带宽相关的成本正成为基因组研究与应用的主要瓶颈。为减轻这一负担,数据压缩是一种被广泛应用的方法,而其有效的前提是它能实现足够高的压缩比和较快的压缩速度。MPEG-G是一种专门针对基因数据的压缩标准,它比通用压缩工具具有更高的压缩比(4.3倍),然而就目前的软件实现而言,其代价是性能降低(5 倍)。其中一个原因是MPEG-G流程包含各种额外的处理步骤,这比GZIP 这样的通用算法要复杂得多,而另一个原因是现有的基于CPU的软件实现无法充分利用该流程中算法的并行性。目的 我们的研究目标是设计一种能够充分利用瓶颈算法内在并行度的专用硬件加速器,减少它们的执行延迟,以缓解整个基因组数据压缩流程的性能瓶颈。方法 我们首先对MPEG-G流程中的两种瓶颈算法,即匹配编码(MatchC)和查找表编码(LutC)进行识别和剖析,研究它们的性能限制,并分析存内计算(In-SRAM)加速的机遇与挑战。然后,分别针对 MatchC和LutC提出两种In-SRAM算法。在基础设计中,将它们的功能映射到基于SRAM的内容可寻址存储器(CAM)中,随后根据基因测序数据的特征进行性能缺陷分析,以实现进一步的优化。最后,针对这两种不同算法提出可支持两种模式的统一硬件架构,充分利用SRAM 阵列内的并行性并对SRAM进行阵列间调度。结果 实验结果表明,与运行在频率为 3GHz 的 72 核英特尔处理器上的多线程软件实现相比,我们的设计(功耗7.676 2瓦,面积 33.677平方毫米)对于MatchC 算法平均加速了131倍,对于LutC算法平均加速了191倍。我们还评估了不同优化方法、硬件参数和数据集对结果的影响。结论 作者发现 MatchC 和 LutC 是基因测序数据压缩流程中的两个关键热门算法,并分析了 CPU、GPU 以及其他硬件方案如哈希表和传统内容可寻址存储器(CAM)存在的局限性。尽管存内(In-SRAM)计算设计具有高并行度和低延迟的优势,但也需要结合具体算法和数据进行优化。例如,平衡 SRAM 中的计算量和内存访问量,通过规划数据布局平衡各并行单元的负载量。只有这样,才能充分利用阵列间和阵列内的并行性,以实现尽可能高的加速比。此外,作者对MatchC和LutC采用统一设计,这有助于节省硬件资源。未来,该流程中的其他算法也可以得到加速。Abstract: With the rapid expansion of genomic sequencing data over the years, the costs associated with storage, transmission, and bandwidth are becoming the primary bottlenecks in genomic research and applications. Data compression is widely used to alleviate this burden, provided it achieves a sufficiently high compression ratio and fast compression speed. MPEG-G is a genome-specific compression standard that offers a higher compression ratio than general-purpose compression tools (4.3x), however, at the cost of performance reduction (5x). Following common strategies in compression acceleration, we design to the best of our knowledge, the first hardware accelerator for the MPEG-G genomic data compression pipeline utilizing in-SRAM (Static Random-Access Memory) computing, referred to as iSCoder. We identify and analyze MatchC (Match Coding) and LutC (Lut Coding) as two bottleneck algorithms within this pipeline, propose two optimized in-SRAM algorithms, and design a unified hardware architecture for these algorithms, considering the characteristics of genomic data. Compared with 72-core Intel processors operating at 3.0 GHz, experimental results demonstrate that iSCoder achieves an average speedup of 131x for MatchC and 191x for LutC.
下载: