一种用于分布式文件系统中多线程卸载擦除码的硬件/软件架构
《Future Generation Computer Systems》:A Hardware/Software Architecture for Multi-threaded Offloading of Erasure Codes in Distributed File Systems
【字体:
大
中
小
】
时间:2025年10月09日
来源:Future Generation Computer Systems 6.2
编辑推荐:
分布式文件系统中的纠删码加速架构设计与性能优化
随着大数据分析和云计算技术的快速发展,数据中心对计算能力、延迟和存储需求的挑战日益加剧。分布式文件系统(DFS)作为解决这一问题的重要手段,其核心优势在于能够通过横向扩展计算和存储资源来提升性能。然而,分布式集群在数据存储过程中不可避免地面临存储设备故障的风险,这要求系统具备容错能力以确保业务连续性。传统的数据复制方案,如3x复制,虽然能有效提升容错性,但其存储开销高达200%,并且在写入传播和能耗方面也存在显著问题。因此,寻找更高效的容错机制成为关键。数据纠删码(EC)作为一种替代方案,能够在保持数据可用性的同时,将存储开销降低至30%左右,从而为大规模数据处理提供更经济的选择。然而,EC计算过程本身对CPU资源消耗巨大,导致能耗效率下降。为了克服这一瓶颈,研究者们尝试将EC任务卸载到专用硬件加速器,如FPGA,以实现更高效的计算。
本文提出了一种异构的软硬件架构设计,旨在实现大规模、多线程的分布式EC加速,同时引入了一种新的抽象模型和集成方式,用于在容错存储系统中整合分布式加速器。通过引入一种硬件线程代理层,该架构实现了软件线程隔离,使多线程SYCL(SYCL是Khronos Group提出的一种面向异构计算的编程模型)IP内核能够安全地部署在PCIe加速器上。此外,该设计还支持异构集群配置,允许不同加速器(包括FPGA和GPU)与仅使用CPU的节点无缝集成。研究者通过系统性地评估该架构的各个层次,并在基于容器的HDFS集群中验证其整合效果,比较了其性能与当前最先进的AVX-512加速的ISA-L库及其他SYCL子系统(如GPU和单线程FPGA)的性能表现。
在当前的分布式存储系统中,HDFS作为最广泛应用的DFS之一,其EC实现依赖于数据块的编码和解码操作。HDFS通过将数据和校验块分布存储在不同节点上,实现数据的冗余性。然而,HDFS在EC处理时面临多线程调度和资源管理方面的挑战。现有的加速方案,如ISA-L,虽然在单线程性能上表现良好,但无法充分利用多线程的计算潜力。此外,传统加速框架如OpenCL和OneAPI在支持多线程和资源隔离方面存在显著局限,这限制了其在大规模分布式系统中的应用。
本文提出的架构通过结合PCIe加速器的硬件虚拟化(SR-IOV)技术和SYCL编程模型,实现了一种新的多线程加速方法。SR-IOV允许将物理加速器划分为多个虚拟功能(VFs),每个VF可独立运行,并通过硬件隔离确保数据处理的安全性。同时,该架构支持多种加速器类型,包括FPGA、GPU和ASIC,从而实现异构计算的灵活性。此外,通过引入轻量级的支持包(SP),研究者们在软件层面实现了对多线程的管理,并通过PCIe链路实现高效的硬件资源利用。
在性能评估方面,研究者们使用了基于SYCL的RS编码内核,并在不同的配置(如RS[3:2]和RS[6:3])下进行了测试。实验结果表明,该架构在单线程和多线程模式下均优于现有的ISA-L和OneAPI方案。特别是在多线程模式下,该架构能够有效减少CPU的负载,提高整体计算效率,并且通过软件线程隔离和硬件资源管理,实现了高能效的EC处理。此外,通过在虚拟HDFS集群中的部署,该架构展示了其在真实分布式系统中的适用性,并且在性能和能效方面均表现优异。
在实验过程中,研究者们发现,尽管FPGA在EC处理中具有显著的性能优势,但其多线程支持仍面临挑战。传统的FPGA加速框架通常设计为单用户、单线程模式,难以满足分布式系统中对多线程的高需求。因此,本文提出了一种基于SYCL的轻量级加速内核,能够支持多线程处理,并通过软件抽象层实现线程隔离。这一方法不仅减少了硬件复杂度,还提高了系统的可扩展性和资源利用率。此外,研究者们还分析了不同数据块大小对EC性能的影响,发现较长的数据块能够更好地利用PCIe链路的带宽,并且在多线程环境下表现出更优的性能。
在能耗方面,该架构同样具有显著优势。通过使用PCIe加速器,研究者们能够减少CPU的负载,从而降低整体能耗。实验数据显示,与基于AVX-512的ISA-L相比,该架构在相同数据块大小下,其能耗显著降低。同时,该架构支持动态激活和关闭加速器实例,从而实现按需调整计算资源,提高能源利用效率。此外,通过引入轻量级的SP设计,研究者们进一步优化了硬件资源的使用,使得加速器的运行更加高效。
本文还讨论了多线程架构在实际应用中的可行性。通过将多线程任务与分布式存储系统结合,研究者们展示了如何在不改变现有中间件架构的前提下,实现高效的数据处理。实验结果表明,该架构能够支持多种RS编码配置,并且在多线程环境中表现出良好的可扩展性和稳定性。同时,该架构还考虑了异构计算的场景,使得不同类型的加速器可以协同工作,提升系统的整体性能。
为了进一步验证该架构的实用性,研究者们在虚拟HDFS集群中进行了实际测试。该测试不仅展示了架构在模拟环境中的表现,还为未来的实际部署提供了基础。实验中使用了DFSIO基准工具,对不同数据块大小和线程数量下的性能进行了评估。结果显示,随着线程数量的增加,EC处理的延迟和吞吐量均有所提升,尤其是在较大的数据块和较多的线程配置下,系统能够充分利用硬件资源,实现更高的计算效率。
此外,研究者们还探讨了该架构在异构存储系统中的适用性。通过支持不同类型的加速器(如FPGA、GPU和ASIC),该架构能够适应多种计算需求,并且在实际应用中具有更高的灵活性。同时,该架构通过软件抽象层,使得不同加速器之间的协同工作更加顺畅,从而提高了系统的整体性能和可靠性。
综上所述,本文提出的架构不仅在性能和能耗方面表现出色,还通过多线程和异构计算的结合,为未来的分布式存储系统提供了新的解决方案。该架构能够有效解决现有EC加速方案在多线程支持和资源隔离方面的不足,同时确保系统的可扩展性和兼容性。通过实验验证,该架构在多个方面均优于现有的解决方案,展示了其在大数据处理和云计算领域的巨大潜力。未来的研究将进一步评估该架构在真实物理集群中的性能,并探索其在其他系统任务(如压缩和加密)中的应用。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号