高性能安全内存系统的持久性机理研究
主要完成人:华宇、李鹏飞、陈章玉、黄建明、张铭、朱博抡
大内存系统是云计算、大数据、人工智能等信息化技术发展的重要基础设施。随着新型应用对存储大容量、操作低延迟和系统强安全等方面的需求,传统的存储系统已远不能满足系统需求。近年来,构建具有高性能、强安全等特征的大内存系统正成为存储系统的发展趋势,而其体系结构和安全机制一直是具有重要学术意义的基础性国际难题。
研究团队瞄准国际学术前沿,以持久性作为大内存系统的第一原理,并以此原理构建内存系统的基础方法论和具体的实现机制,并在异步缓存刷新机制、解耦合分离内存操作和精细粒度原子化事务持久性等方面取得突破,构建了高性能安全持久内存系统,为解决内存系统性能瓶颈提供重要理论支撑和新型实现方法。
如图1所示,研究团队依托大内存系统的第一原理,在设备层、系统层和安全层全面开展研究工作,聚焦大内存系统这一学术界的核心科学问题和工业界的关键技术,以高性能安全持久内存系统为突破口,在FAST、HPCA、ASPLOS、VLDB、DAC、ACM TOS、ACM TACO等中国计算机学会的A类国际会议和期刊发表多篇有影响力的学术论文,获得USENIX FAST 2023(中国首次获奖)和IEEE/ACM IWQoS 2023两项国际会议最佳论文奖。相关工作被ACM Fellow、IEEE Fellow、SOSP/SIGMOD最佳论文奖获得者等多位国际权威学者引用和积极评价。研究工作实现的软件系统在开源社区发布源代码,在持久内存软件系统领域的开源贡献率居世界前列,并被广泛使用和评测。
研究工作培养的博士毕业生入选华为天才少年。研究工作申请国家发明专利3项,授权发明专利2项。应邀在国际国内学术会议与企业论坛上作特邀报告,包括国际会议MSC 2023、2022中国芯片大会新型存储系统论坛等。原型系统在工业界得到实际应用,支持7×24小时高并发云存储服务,解决了当前大模型系统中内存快速恢复的难题。
研究工作从设备、系统和安全等多维度设计和实现高性能安全持久内存系统,注重解决总线风险、空间低效和崩溃冲突等核心和关键问题,注重构建完整的软硬件生态体系,取得以下原创性成果:
一是高性能分离式持久内存组织结构。
分离式持久内存组织结构提高了资源利用率和支持故障隔离,能够构建可扩展且高效的远程内存池。然而,由于提供的计算能力有限,并且忽略了实际持久内存的带宽和持久属性,传统的基于DRAM的服务器设计的现有分布式事务方案难以高效支持分离式持久内存架构。如图2所示,提出了基于快速单边远程直接内存访问技术的分布式事务系统,充分利用单边远程直接内存访问技术在持久内存池中绕过远程CPU的事务。为了减少往返次数,将读取和锁定操作批量化为一个请求,以消除额外的锁定和验证。为了加速事务提交,通过并行撤消日志记录和数据可见性控制在单次往返中更新所有远程副本。此外,考虑到持久内存带宽有限,可以读取备份副本以减轻主副本的负载,从而提高吞吐量。为了有效保证持久内存池中远程数据的持久性,选择性地将数据刷新到备份副本以减轻网络开销。
二是解耦合关键操作的学习型内存系统。
分离式内存系统将传统服务器分成不同的组件,包括计算和内存节点,以提高资源利用率、支持硬件可扩展性和提供高效的数据共享。通过利用高性能远程直接内存访问技术,计算节点可以直接访问远程内存池,而不需要远程CPU的参与。因此,有序键值存储对所有数据进行排序,以通过高性能网络提供范围查询服务。然而,因为要消耗多次网络往返来搜索远程数据及严重依赖有限计算资源的内存节点来修改数据,现有的有序键值无法在分离式内存系统上高效运行。如图3所示,提出了面向学习型索引的、可扩展的远程直接内存访问技术的键值存储,以合并分类系统中的有序键值存储,实现高效的数据存储和检索。采用重新训练解耦的学习索引方案,向学习模型添加偏差和数据移动约束,以及分离模型重新训练与数据修改操作。基于操作解耦,数据修改通过单边远程直接内存访问的原语直接在计算节点中执行,具有高可扩展性。因此,将模型重训练从数据修改的关键路径中移除,并通过使用专用计算资源在内存节点中异步执行。
三是原子化事务持久机制。
持久内存由于其非易失性而面临数据安全和崩溃一致性问题。计数器模式加密和盆景默克尔树采用安全元数据来确保数据安全。数据及其安全元数据需要以原子方式持久保存才能正确恢复。为了保证崩溃一致性,持久事务被广泛采用。然而,默克尔树更新会增加事务延迟,并且安全元数据会产生大量写入流量。如图4所示,提出了确保高性能持久内存的安全性和崩溃一致性的方法。利用可扩展的直写元数据缓存来确保数据及其安全元数据的原子性。为了减少事务延迟,采用时期持久化模型,以最小化排序约束。为了减少持久内存写入量,将计数器与日志条目放在同一位置,并合并默克尔树块。实验结果表明相关方法能够显著提升事务性能并降低了写入流量。