数据所张杰课题组在计算机体系结构领域取得重要突破

北京大学计算机学院张杰课题组长期从事存储系统和新型非易失性内存的研究张杰课题组2024年度在体系结构四大顶会(ISCA、HPCA、MICRO、ASPLOS)上均有多篇论文发表,是北大首次在体系结构领域四大顶会上实现年度大满贯。论文的简要介绍如下:

ISCA 2024

工作一Flagger: Cooperative Acceleration for Large-Scale Cross-Silo Federated Learning Aggregation

机构邦学习利用同态加密来保证自客户端的模型更新隐私性。然而,同态加密面临复杂的加密计算和膨胀的密文大小的挑战。随着跨机构联邦学习不断扩展以容纳更大的模型和更多的客户端,同态加密的开销可能会压垮以CPU为中心的聚合器架构,其中包括过多的网络流量、巨大的数据量、复杂的计算和冗余的数据搬移。为了解决这些问题,论文《Flagger: Cooperative Acceleration for Large-Scale Cross-Silo Federated Learning Aggregation》(ISCA 2024)提出了一种高效且高性能的联邦学习聚合器架构Flagger。Flagger精心整合了数据处理单元(DPU)和计算存储驱动器(CSD),将这两种不同的近数据处理加速器作为一个整体架构协同增强联邦学习聚合。通过精细地委派复杂的联邦学习聚合任务,我们构建了Flagger-DPU和Flagger-CSD,以利用网络内和存储内的近数据同态加密计算加速来简化联邦学习聚合。我们还实现了Flagger-Runtime,一个专用的软件层,用于协调近数据加速器并实现DPU和CSD之间直接的点对点数据交换,显著减少数据迁移负担。我们的评估结果表明,与传统的以CPU为中心的聚合器相比,Flagger在联邦学习训练迭代中的聚合速度平均加快了436%。

Flagger系统架构示意

该论文第一作者为计算机学院2023博士生潘修睿,通讯作者为张杰助理教授,合作作者包括中科院计算所梁胜文副研究员、厦门大学毛波教授、李乔副教授、中科院信工所张明喆副研究员、KAIST Myoungsoo Jung教授等

HPCA 2024

工作一 StreamPIM: Streaming Matrix Computation in Racetrack Memory

计算机领域中许多受到关注的新兴应用(如深度学习)属于内存敏感型应用,其性能受到内存墙问题的严重限制。构建在高存储密度、低能耗的赛道存储(RM)技术上的存内计算(PIM)系统有很大希望解决这一问题。然而,现有RM存内计算方法中,内存存储单元与计算单元之间松散耦合造成很大的数据传输开销严重限制了系统整体性能。为了解决这一问题,论文《StreamPIM: Streaming Matrix Computation in Racetrack Memory》(HPCA 2024基于赛道存储提出了一种新型的存内计算架构,StreamPIMStreamPIM采用物理学界的最新技术,基于赛道纳米线直接构建矩阵处理器,摆脱了对CMOS计算单元的依赖同时基于赛道纳米线构建存内总线,进一步消除数据在存储单元和计算单元之间传输电磁转换开销这两项技术使内存存储单元和计算单元紧密耦合论文同时提出了一系列优化措施提高存内计算的并行性,进一步提升整体性能。实验结果显示,业内先进的赛道存储存内计算平台CORUSCANT相比StreamPIM性能提高了2.5倍,同时能耗减少到35%

StreamPIM存内计算流程示例

该论文第一作者为元培学院2020级本科安昱达和物理学院2019本科生唐云潇(现已毕业),通讯作者为张杰助理教授,合作作者包括北京大学孙广宇副教授、罗昭初助理教授本文系北京大学本科生在国际计算机体系结构顶级会议发表的首篇论文。

工作二 BeaconGNN: Large-Scale GNN Acceleration with Out-of-Order Streaming In-Storage Computing

许多新兴应用依赖于对大规模存储数据进行大量不规则访问,而在传统的冯诺依曼架构中,这种情况会导致巨大的数据传输开销。计算型存储是解决这一问题的重要突破口,它将计算任务下放到基于闪存的固态硬盘,从而减少了数据搬移的需求。然而,随着闪存延迟降低至微秒级别,频繁的主机-存储通信开销以及低效的传统固态硬盘闪存控制方式成为该技术性能的瓶颈

为解决这一问题,我们在论文《BeaconGNN: Large-Scale GNN Acceleration with Out-of-Order Streaming In-Storage Computing》(HPCA 2024)中,以大规模图神经网络计算为例,提出了多种面向超低延迟闪存内计算的优化技术。首先,我们将闪存地址信息等元数据融合到常规闪存数据中,以避免冗长的存储栈地址翻译,实现了盘内直接寻址。其次,我们扩展了闪存芯片和通道的计算能力,自动化了闪存后端的"数据搬移"、"闪存寻址"以及"闪存指令生成/路由"的过程,从而节省了闪存通道带宽,并绕过了闪存控制器的固件处理。实验证明,这两种优化技术显著提高了闪存数据吞吐量,相较于最先进的图神经网络计算存储设计,我们实现了11.6倍的性能增益,同时减少了76.5%的能耗

BeaconGNN系统架构

该论文第一作者为美国加州大学洛杉矶分校(UCLA)在读博士生王余越(本科毕业于北京大学信息科学技术学院),通讯作者为张杰助理教授和UCLA的Glenn Reinman教授。

工作三 LearnedFTL: A Learning-based Page-level FTL for Reducing Double Reads in Flash-based SSDs

随着3D NAND和NVMe技术的崛起,固态硬盘(SSD)的容量和性能大幅提升。然而,在SSD的闪存转换层(FTL中存储所有地址映射表需要大量内存,在闪存中存储则会导致“双读”问题,严重影响读性能。为了解决这一问题,主流的需求驱动型FTL(DFTL、TPFTL等利用工作负载的局部性缓存映射以减少双读现象的发生。然而,面对随机读取场景时,这些方案依然面临双读瓶颈。为了解决这一问题,论文《LearnedFTL: A Learning-based Page-level FTL for Reducing Double Reads in Flash-based SSDs》(HPCA 2024)提出了LearnedFTL,将学习索引与需求驱动型FTL结合,保证处理局部性工作负载能力的同时增强随机读性能。LearnedFTL以可调参数的分段线性模型为基础,建立就地更新线性模型摆脱对工作负载局部性的依赖,并通过虚拟物理地址表示法在保证并行性的同时满足学习索引的训练需求。同时,LearnedFTL提出了基于组的分配策略减少模型的空间开销,利用垃圾回收训练模型最小化训练开销,还通过一系列措施进一步提高模型准确性。实验表明,与现有的FTL方案相比,LearnedFTL的P99尾延迟可以减少5.3到12.2倍,随机读场景下,双读残留可以减少55%这项研究为提高SSD性能,特别是在处理随机读取时,提供了一种创新解决方案。

LearnedFTL系统架构

该论文厦门大学毛波课题组、德州大学阿灵顿分校江泓教授和张杰助理教授共同完成,通讯作者毛波教授。

工作四 Midas Touch: Invalid-Data Assisted Reliability and Performance Boost for 3D High-Density Flash

计算机存储系统对密度与容量的需求持续增加,三星、美光等国外公司和国内长江存储近两年相继推出200层3D堆叠闪存芯片,并采用4比特每存储元的QLC技术。由于制程工艺的限制,3D QLC在可靠性与性能等方面面临着巨大挑战,故而其采用一种全新的编程方式,即基于WL粒度(4个物理页同时编程)的两步编程方式。厦门大学李乔老师团队在今年HotStorage论文中首次指出3D QLC的两步编程方式中,存在对无效数据页的编程,将其定义为无效编程问题(invalid programming)。针对该问题,本文首次提出系统的解决方案,利用无效页的存在实现有效页的高效编程,在不改变闪存芯片硬件的前提下,最小化对无效编程产生的能耗和性能损耗,并提升有效页的可靠性。论文提出了三个无效数据辅助策略来提升有效数据写入性能和可靠性。论文首先提出了一种对有效数据进行重新组织编程Re-prog的方案,避免对无效数据的精细编程操作,缩短编程的时间,提升了写入性能。其次,论文提出了非编程(Not-prog)方案,利用Wordline中存在的无效页,改变精细编程步骤中的数据,提升了其他有效页的可靠性最后,论文基于最新的混合Flash,设计出了SLCQLC区域之间的动态数据管理自适应数据分配策略,减少无效编程的发生。基于真实芯片和模拟器的评估表明,所提出的策略3D QLC可靠性、性能和能耗均有较大的提升

整体设计流程示例

该论文厦门大学李乔课题组香港城市大学的薛春教授、台湾大学的郭大维教授和张杰助理教授共同完成,通讯作者李乔副教授。

MICRO 2024

工作一 Cambricon-LLM: A Chiplet-Based Hybrid Architecture for On-Device Inference of 70B LLM

Cambricon-LLM是首个支持70B规模大语言模型在边缘端设备上部署的加速架构。在智能手机和机器人等边缘端设备上部署先进的大型语言模型增强了用户数据隐私性并降低了对网络连接的依赖性,然而这项任务表现出计算批次小(通常为1)和计算强度低的特点,给有限的边缘资源带来了内存占用和带宽需求双重挑战。为了解决这些问题,Cambricon-LLM设计了一种基于芯粒技术,集成了NPU和专用的NAND闪存芯片的混合架构。首先,Cambricon-LLM利用NAND闪存芯片的高存储密度来保存模型权重,并为NAND闪存芯片增加了die内计算和die内纠错能力以在维持模型推理精度的前提下缓解带宽压力。其次,Cambricon-LLM结合了硬件感知的切片技术,使得NPU与闪存芯片协同进行矩阵运算,达到硬件资源的合理利用。总体而言,Cambricon-LLM比现有的闪存卸载技术快22倍到45倍,展示了在边缘设备上部署强大LLM的潜力。

Cambricon-LLM架构图

该工作由中科院计算所胡杏和梁胜文团队中科大团队、北京大学张杰助理教授团队、寒武纪公司共同完成。

工作二 NeoMem: Hardware/Software Co-Design for CXL-Native Memory Tiering

CXL技术逐渐普及的背景下,由于CPU可以直接访问CXL内存而不经过操作系统,操作系统只能使用间接监控方法(如页表扫描、CPU性能计数器等),现有异构内存系统中现有的内存访问分析技术面临低分辨率和高开销的问题。针对这项挑战,我们提出了一种名为NeoMem的软硬件协同设计解决方案。NeoMem的核心创新在于其设备侧控制器中集成的内存访问分析单元——NeoProf。该单元使用基于Sketch技术的检测算法,以高时间空间分辨率低开销的方式准确跟踪内存访问。NeoProf将页面热度、内存带宽利用率、读/写比率以及访问频率分布等关键信息的全面分析卸载到设备端,不仅避免了占用宝贵的CPU资源,而且实现了与任何支持CXLCPU平台的无缝兼容性。在操作系统端,NeoMem利用NeoProf提供的信息实施内存分层策略。为了验证其效能,我们基于FPGA平台和支持CXLLinux内核v6.3实现了NeoMem,并进行了综合评估。结果表明,相较于现有的几种内存分层方案,NeoMem能够提供显著的性能提升,达到了32%67%的加速效果,同时保证了较低的实现开销和广泛的适用性。

NeoMem 架构图

该工作由北京大学孙广宇副教授团队、张杰助理教授团队、微软研究院共同完成。

ASPLOS 2024

工作一 Achieving Near-Zero Read Retry for 3D NAND Flash Memory


3D NAND 闪存已被广泛用作许多高度交互系统中的存储介质,如自动驾驶汽车、智能手机和机器人。然而,基于闪存的存储由于闪存磨损,不可避免地存在可靠性下降的问题。随着可靠性下降,读取数据的原始比特错误率增加,当其超过纠错码纠错能力,就会触发read retry操作以重新读取数据。Read retry机制会根据read retry table (RRT) 调整读取参考电压值,力求抵消电压漂移,从而减少比特错误。然而,由于RRT表格设置的不合理,找到合适的读电压往往会导致大量的read retry操作造成闪存的读取性能呈倍数的下降。为缓解因read retry操作导致的性能下降,论文《Achieving Near-Zero Read Retry for 3D NAND Flash MemoryASPLOS 2024提出一种针对 3D NAND 闪存定制RRT的方法,并通过动态微调方法以实现近乎零重试。该论文在设计定制 RRT 时,综合考虑多方因素:一方面,考虑闪存读取粒度,为不同页类型在 RRT 中规划读取电压值序列;另一方面,为应对 3D 闪存错误行为,依据读取电压集的可纠错范围构建RRT 以处理 3D 闪存的 RBER 分布;同时, RRT 的读取电压偏移值序列贴合闪存块在 P/E 周期和保留时间内的电压漂移走向,使RRT 设计更合理。在实际 3D NAND 闪存芯片上的实验结果表明,该论文所提出的方法实现了稳定的读取性能。即使闪存经过 8000 P/E 周期老化,对于高 RBER 数据的读取,平均所需的read retry次数也小于 0.003 次,而当前最先进的方法,一旦闪存老化到 3000 P/E 周期,平均重读重试次数就会超过 3 次。

基于定制RRT的动态读电压调整流程

该论文由厦门大学李乔课题组、香港城市大学的薛春教授、台湾大学的郭大维教授和北京大学张杰助理教授共同完成,通讯作者为李乔副教授。