大内存系统是实现数据高时效处理的IT基础设施关键部件。当前,人工智能、大数据、云计算等数字时代支柱产业的数据规模爆炸式增长,引发了内存系统的容量危机。通过融合小容量、高性能、高成本的传统易失性DRAM内存和大容量、低性能、低成本的新型非易失性内存NVM来实现单机大内存系统,并通过高速互连网络实现分布式内存资源的高效扩展,构建高性能异构分布式大内存系统,是解决内存容量危机的必由之路。
然而,融合异构内存器件形成大容量、高性能、低成本的内存系统尚面临“灵活组织、高效扩展、异构兼容”三大关键挑战:
1)在单节点中,内存介质异构化打破了传统单一内存构建形式,异构内存架构难以灵活组织以高性能适配动态多样的访存需求;
2)在分布式环境下,内存访问网络化改变了传统集中内存管理模式,分布式异构大内存难以高效扩展以满足低延迟、高可靠、强一致的访存需求;
3)在编程层面,内存数据持久化模式颠覆了传统易失性内存的使用方式,异构大内存难以高效编程以实现对现有软件生态的兼容。
解决方案
针对上述关键难题,项目组围绕异构内存组织架构、分布式扩展方法和编程模式等关键挑战展开研究,历时十年攻关,构建了异构大内存系统的核心技术体系,研发了大容量、高性能、低成本的TB级单节点大内存系统和PB级分布式内存池系统,主要创新如下:
1)提出软件定义的单节点异构大内存构建方法:揭示异构内存的访存局部性原理,创建可组合的性能预测模型,发明软件定义的异构内存软硬协同架构设计方法,解决了混合多种介质的异构内存灵活组织难题,研发了可动态适配平行和层次架构的TB级异构大内存系统。相比IBM设计的异构内存系统HDRC,应用性能提高达9.6倍,性价比提升3.2倍,是当前记录的最高水平。
2)提出分布式异构大内存的动态扩展方法:发明无中心化的分布式异构内存池架构,提出分布式高速缓存的自组织方法,设计实现分布式异构内存池的高效数据持久化和副本复制机制,突破分布式内存高效扩展难题,研发了大容量、高性能、高可靠和易扩展的PB级分布式异构内存池系统。相比谷歌设计的分布式内存组织方法CHT,写吞吐提高2.4倍,写延迟降低36.8%,端对端访存延迟降低到1.5微秒的最好水平。
3)构建异构兼容的大内存高效编程环境:创建面向异构大内存的统一地址操作语义扩展方法,提出大内存的推测日志执行方法和数据语义冗余检测消除方法,攻克异构内存系统的软件生态零代码移植难题,研发了大内存的数据持久化新型统一编程模型、编程库和编译器。相比当前唯一商用的持久内存编程库Intel PMDK,典型大数据应用性能提升5.1倍。
图1 基于RISC-V架构的异构内存扩展卡
图2 异构内存服务器
图3 异构内存池系统
技术指标