公众号
关注微信公众号
移动端
创头条企服版APP

软硬结合:快手推荐系统国内率先基于持久内存应用异构存储

820
创之 2019-08-06 10:02 抢发第一评

作为2亿日活、日均千万级短视频上传、强调社区普惠的短视频APP,快手推荐系统所需解决的技术挑战是「世界级」的。近日,快手在国内率先应用持久内存重新设计了基于异构存储结构的推荐系统,率先采用英特尔傲腾数据中心级持久内存。在快手推荐系统高吞吐量大数据量请求的场景下,使用持久内存可以降低存储成本,减少故障恢复时间,提高系统可靠性。故障恢复时间从小时级别降低到分钟级,也为改善大规模深度机器学习系统在改进千亿级别数据量的处理能力上开辟了新的探索方向。

业界超大规模实时在线短视频推荐系统

如何在承载高峰期每秒数十万并发调用量的同时,从上百亿级别的短视频库中,通过千亿参数级别的深度模型将内容展现给用户?快手推荐团队设计了基于异构设备的先进推荐系统,其中遇到问题的复杂程度极富挑战。

目前快手推荐系统采用的是计算与存储分离的架构模式(如下图所示)。推荐系统中的存储型服务主要是用来存储和实时更新上亿规模的用户画像、数十亿规模的短视频特征、以及千亿规模的排序模型参数。计算型服务主要进行的是视频召回检索、推荐模型预估和推荐策略计算。

2018年到2019年上半年,快手推荐架构团队的主要工作集中在利用异构混合计算的方式,提升推荐系统中模型预估和召回检索等计算密集型业务的性能。通过利用异构计算的改造,产生了数倍的性能提升,鼓舞了快手推荐架构团队向异构系统设计中更难的存储问题进发。

一直以来,快手推荐团队致力于推荐系统架构调整,力求在日益增长的用户量冲击下,使推荐系统高可用的前提下,实时、高效、精准地向用户推荐优质内容。

软硬结合极致优化,探索异构存储

持久内存是介于DRAM和SSD间的新存储层级,不仅能提供接近DRAM的延迟,同时还提供持久化和更大容量的存储空间,这为推荐系统中不同场景的可行性分析和架构设计提供了思路。

相比于传统的内存加硬盘的两级存储,新存储设备的推出,现代服务器可以利用的存储层级越来越多,利用多层级存储的软件系统设计也变得越来越复杂。每种存储设备有不同的性能特性和容量大小限制,越快的设备的单位容量成本越高。例如使用内存插槽的英特尔傲腾数据中心级持久内存,依据读写粒度的不同,读写带宽虽小于传统内存,但写入数据具有持久性,且容量远大于传统内存。如何结合不同层级的存储设计在大规模推荐场景下性价比最优的存储系统成为一个巨大机遇和挑战。

*新一代服务器的存储层级结构

快手联合英特尔,国内业界率先落地采用英特尔傲腾数据中心级持久内存的异构存储到推荐系统

基于多层级异构存储设备,快手推荐团队联合系统运营部硬件选型研发团队针对推荐系统中的不同场景进行了可行性分析和架构设计的调研。针对持久内存的特性,对分布式索引和参数服务器中的KV存储进行了重新设计。

*基于持久性内存的KV系统设计示意图,注:AEP指代英特尔傲腾数据中心级持久内存

该设计主要通过为KV存储增加MemPool组件,针对不同访问类型来决定系统是访问DRAM缓存,还是直接读取持久内存。比如说,在推荐模型预估的参数服务器这个场景中,由于模型中神经网络大小与Embedding Table相比很小,所以神经网络也会被MemPool直接分配进入DRAM来提高预估的性能。

除此之外,推荐团队还对KV系统进行了调优:

  • 对于数据读取场景采用NUMA节点绑定的方式使得持久内存访问不跨NUMA节点,从而获得更好的读写性能;
  • 采用ZeroCopy技术对内存和持久内存进行访问;
  • 使用无锁技术,减少临界区中对持久内存的访问来提高性能。

经过上述的技术改进,我们将基于持久内存的索引系统用真实的线上请求数据进行模拟压测。测试结果如下:

基于异构存储的索引系统几乎达到纯DRAM的索引系统相同的性能指标,但总体拥有成本降低30%。同时异构存储的索引系统能够提供分钟级别的故障恢复速度,比之前小时级别的恢复提升了百倍恢复速度。英特尔专家介绍,快手是国内率先在推荐系统领域中引入并使用基于持久内存的异构存储的互联网公司。

声明:该文章版权归原作者所有,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系。
您阅读这篇文章花了0
转发这篇文章只需要1秒钟
喜欢这篇 0
评论一下 0
凯派尔知识产权全新业务全面上线
相关文章
评论
试试以这些内容开始评论吧
登录后发表评论
凯派尔知识产权全新业务全面上线
阿里云创新中心
×
#热门搜索#
精选双创服务
历史搜索 清空

Tel:18514777506

关注微信公众号

创头条企服版APP