软硬件结合:快手推荐系统在国内率先应用基于持久内存的异构存储系统所要解决的技术挑战是世界级的。近日,快手在国内率先采用持久内存重新设计了基于异构存储结构的推荐系统,并率先采用Intel?Optane?DC持久内存。在快手推荐系统高吞吐、大数据量请求的场景下,使用持久内存可以降低存储成本,减少故障恢复时间,提高系统可靠性。故障恢复时间从数小时缩短至数分钟,这也为提升大规模深度机器学习系统处理能力在提升千亿级数据处理能力方面开辟了新的探索方向。业界超大规模的实时在线短视频推荐系统是如何在高峰期承载每秒数十万的并发调用,同时向用户展示内容的?快手推荐团队设计了一个基于异构设备的高级推荐系统,其中遇到的问题的复杂性极具挑战性。目前,快手推荐系统采用计算与存储分离的架构模式(如下图所示)。推荐系统中的存储服务主要用于实时存储和更新数亿用户画像、数十亿短视频特征、千亿排序模型参数。计算服务主要进行视频召回检索、推荐模型估计和推荐策略计算。【快手推荐系统采用计算存储分离架构】2018年至2019年上半年,快手推荐架构团队的主要工作集中在使用异构混合计算提高推荐系统中的模型估计和召回率检索等计算密集型服务的性能。通过异构计算的改造,性能得到了数倍的提升,这也鼓舞了快手推荐的架构团队向异构系统设计中更难的存储问题迈进。长期以来,快手推荐团队一直致力于推荐系统架构的调整,力求在让推荐系统高可用的前提下,实时、高效、准确地向用户推荐优质内容。用户数量增加的影响。新机遇:软硬件结合,极致优化,探索异构存储。持久内存是介于DRAM和SSD之间的一种新的存储级别。它不仅可以提供接近DRAM的延迟,还可以提供持久的、更大容量的存储空间。推荐系统中不同场景的可行性分析和架构设计提供了思路。与传统的内存和硬盘两级存储相比,随着新型存储设备的引入,现代服务器可以使用的存储级越来越多,采用多级存储的软件系统设计也越来越复杂。每种类型的存储设备都有不同的性能特征和容量大小限制,更快的设备每单位容量的成本更高。例如Intel?Optane?DC持久内存使用内存插槽,依赖于读写粒度,虽然读写带宽比传统内存小,但写入的数据是持久的,容量远大于传统内存。如何结合不同层级的存储,设计出在大规模推荐场景下性价比最高的存储系统,成为一个巨大的机遇和挑战。【新一代服务器存储层次结构】快手联合Intel,国内业界率先采用Intel?Optane?DC持久内存从异构存储到基于多级异构存储设备的推荐系统,快手推荐团队联合系统运营部硬件选型研发团队针对推荐系统中的不同场景进行了可行性分析和架构设计研究。针对持久内存的特点,对分布式索引和参数服务器中的KV存储进行了重新设计。【基于持久内存的KV系统设计图】,注:AEP指的是Intel?Optane?DCPersistentMemory。本次设计主要是在KV存储中加入MemPool组件,针对不同的访问类型,决定系统是否访问DRAM缓存。或者直接读取持久内存。例如在推荐模型估计的parameterserver场景中,由于模型中神经网络的大小小于EmbeddingTable,神经网络也会被MemPool直接分配到DRAM中以提高性能的估计。此外,推荐团队还对KV系统进行了调优:?数据读取场景使用NUMA节点绑定,使持久内存访问不跨越NUMA节点,从而获得更好的读写性能;?采用ZeroCopy技术访问内存和持久内存;?使用无锁技术减少对关键部分持久内存的访问以提高性能。经过以上技术改进后,我们将使用真实的在线请求数据来模拟持久内存索引系统的压力测试。测试结果如下:【基于持久内存的索引系统压力测试结果】基于异构存储的索引系统几乎达到了与纯DRAM索引系统相同的性能指标,但总体拥有成本降低了30%。同时,异构存储的指标体系可以提供分钟级的故障恢复速度,比以往的小时级恢复速度快一百倍。据英特尔专家介绍,快手是国内第一家在推荐系统领域引入并使用基于持久内存的异构存储的互联网公司。这种创新实践的技术能力引起了我们的关注。快手推荐打造行业顶尖、战斗力强大的技术团队。快手推荐系统通过工程与算法相结合,以数据驱动的手段,更高效、准确、稳定地服务亿万用户,记录每个人的生活点滴,记录每个人的共鸣。推荐架构团队成员均来自国内乃至国际知名高校,如CMU、清华大学、北京大学、中国科学技术大学等知名院校。团队的每一位成员都追求技术极致,拥有一流的分布式高并发服务开发能力,比如支持每天千亿级视频请求的在线分布式索引,支持在线学习和在线预览的机器学习平台数千亿个推荐模型。据估计,在线服务可为数亿用户提供99.99%的可用性。快手诚招分布式架构、机器学习平台、大数据处理等高级工程师,以及新技术硬件研发工程师。我们欢迎每一位追求技术的技术人,将简历发送至hr@kuaishou.com。
