第四范式推出业界首个基于持久内存、支持毫秒级恢复的万亿维线上预估系统

作者:第四范式 | 日期:2020-07-01 18:17:18

线上预估服务是AI在企业应用落地的关键环节,企业通常会采用分布式计算架构在内存中完成实时数据处理和高达万亿维的模型特征存储,并通过多集群副本解决传统纯内存(DRAM)天生的易“失”性隐患,以达到线上实时服务质量(Quality of Service)效果。然而,随着企业AI应用模型大小和数量的增长,线上预估服务所需要的硬件资源也呈几何倍数增加。

为进一步满足企业线上预估需求,第四范式定制开发了基于持久内存技术、支持实时恢复的万亿维线上预估系统,为企业提供高可用性、毫秒级恢复的在线预估服务,同时将企业总拥有成本降低80%。该系统基于第四范式AI算力平台SageOne的持久内存进行了软硬一体设计,与其他预估系统相比,可实现每秒亿级KV查询的高性能,并能够与第四范式自研的高维机器学习框架以及TensorFlowAI开源框架无缝对接。保证了在线预估服务无论在发生物理故障或者程序崩溃的情况下,均具备毫秒级故障实时恢复特性,是企业低成本实现高可用AI线上预估服务的最佳选择。

第四范式自研的基于持久内存的万亿维级参数服务器-HyperPS是该线上预估系统的关键基础组件。HyperPS参数服务器具备高性能底层序列化框架、链路共享、多级访存优化、双端参数合并及动态扩缩容等特性。基于持久内存设计和优化后,HyperPS在保持与基于纯内存参数服务器几乎一致性能的同时,展现出在线上预估应用中数据实时恢复和应用成本低的巨大优势。

持久内存加持 参数服务器性能升级

参数服务器通常将所有数据放在纯内存中处理,AI模型越大,分布式参数服务器的内存需求越大。此外,纯内存虽然性能优秀,但因其易失性(volatile)特性,一旦硬件或者软件发生故障,内存丢失的全部数据必须从持久性存储设备(HDD/SSD)中读取日志恢复,恢复速度慢,严重影响线上性能服务质量。

持久内存的大容量、高性能、非易失性属性,为其带来了高安全性、低成本等优势,改善了目前纯内存容量小、成本高、灾备恢复慢等问题。针对持久内存这些应用优点,第四范式针对HyperPS参数服务器的底层系统架构和存取性能等进行了软硬一体设计。首先,针对节点内的shard重新设计了新的存储引擎,采用持久化哈希表为底层数据结构储存特征,保证高并行度性能的同时,对持久内存数据组织格式进行优化,达到接近于纯内存哈希表的性能;其次,对参数服务器灾难恢复机制调优,使用持久化智能指针记录哈希表的核心数据结构和根指针,实现业界首创的参数服务器实时恢复能力;再次,利用PMDKtransaction机制,使用pmempool分配和管理持久内存空间,确保持久内存数据一致性;最后,针对影响性能的持久化操作进行策略性的降低,进一步提高性能。

在实际测试环境中,基于持久内存的HyperPS表现出更低的拥有成本和巨大的实时恢复优势,以及与纯内存近乎一致的性能表现。

01.企业AI应用内存预估:

AI为企业带来出众的业务效果,同时企业也要承担AI产生的成本压力,特别是当AI规模化应用时。以某著名手机终端厂商为例,分别采用配备384GB 纯内存服务器和配备2TB持久内存的服务器为预估单节点基准。每上线一个模型在在纯内存的参数服务器上占用内存空间大概是128GB。基于持久内存的数据结构由于其有额外的持久化逻辑,在空间复杂度上会略高于纯内存数据结构,其空间占用大概是204GB。在此基础上,估算企业上线1-100个模型参数服务器所需的纯内存物理节点数和配备持久内存的物理节点数量。

从预估结果来看,企业需要采用持久内存的物理节点数量和纯内存的物理节点数量比为1:3.4-4,而持久内存的参数服务器总成本最多下降80%

02.数据恢复速度测试:

当系统节点出现故障时,采用纯内存的参数服务器需要从数据存储集群(如HDFS)重新申请模型参数数据恢复,耗时长,严重影响线上服务质量。采用持久内存的HyperPS则完全不同,节点发生故障或者程序崩溃后,数据依然保存在持久内存中,服务重启后只需要调用优化过的数据一致性检查函数,即可实现毫秒级实时恢复

以恢复6千万维参数模型为例,纯内存参数服务器恢复模型需要花费58秒,而持久性内存参数服务器只需要0.03秒,故障恢复时长缩短将近2000倍。

恢复20个模型总计12亿维参数测试中,纯内存参数服务器数据恢复时间随着数据总量增加而大幅增长,而持久内存的参数服务器几乎没有受到影响,只需检查哈希表元数据后即可提供服务,其恢复时长缩短17114倍。

03.预估性能测试:

HyperPS不仅大幅降低了总拥有成本并提升数据恢复速度,也展现出和纯内存模式下同水准的性能表现。在非高压(1个请求线程)和高压(56个并发请求线程)的情况下的请求延迟(TP99)。结果表明,基于持久内存的HyperPS参数服务器在延迟上,与采用纯内存的参数服务器性能相近。单线程和56线程两个测试中,持久内存的参数服务器均仅比采用纯内存的参数服务器延迟多1毫秒。

在吞吐性能对比测试大发龙虎大战APP中,基于持久内存的参数服务器在56线程的高压负载测试中的QPS仅比纯内存参数服务器低3.5%

此次,通过软件定义算力的全新方式,第四范式将自研HyperPS万亿维参数服务器与英特尔?傲腾?持久内存进行软硬一体优化设计,保证线上推理服务超高性能的同时,大幅降低企业AI整体投入成本,提升线上服务质量,进一步扫清了企业AI规模化应用的前进障碍。

(内容摘自“第四范式”微信公众号,2020630日)