DSN 2023 Paper CXL论文阅读笔记整理
问题
随着云工作负载越来越多地采用容错的功能即服务(FaaS)模型,提高性能的需求也在增加。但维护FaaS对象的远程对象存储严重阻碍了FaaS应用程序的性能。我们发现,基于CXL的缓存一致分离式内存是一种很有前途的维护FaaS对象的技术。分析表明,CXL的低延迟、高带宽访问特性,加上对象的计算端缓存,与基于内存RDMA的对象存储相比,提供了显著的性能潜力。
然而,CXL缺乏在数据中心内以服务器间规模运行所必需的容错级别。此外,它的缓存行细粒度访问会导致对象粒度数据存储访问效率低下。
挑战
-
FaaS将状态和计算分离,导致了大量检索数据的开销,使用基于CXL的分离式内存可以缓存数据从而减少数据移动。
-
CXL在面对部分故障问题时会失去可用性。CXL 3.0协议[76](一种强制执行单写多读(SWMR)不变量的传统协议[65]),在强制执行强一致性的同时,如果共享对象的服务器失败,则从任何其他服务器对该共享者的写入都可能无限期地阻止等待失败共享者的确认。
本文方法
本文提出了Apta,基于CXL的对象粒度内存接口,用于维护FaaS对象。关键创新是新的容错一致性协议,用于在面对计算服务器故障时保持缓存对象的一致性,而不影响可用性。
-
惰性失效,将无效项移出写入的关键路径,这样当缓存共享程序的服务器出现故障时,写入程序就不会被无限期地阻止。但是会存在一个不一致的窗口,缓存可能会保存过时的值。
-
一致性感知调度,对FaaS调度器进行了更改,使其只能在无未决失效的服务器上调度功能,从而实现强大的一致性和可用性。
使用6个完整的FaaS应用程序工作流(共26个功能)对Apta进行的评估表明,它在基于RDMA的系统上比最先进的容错对象缓存协议高21-90%,在基于CXL的未缓存系统上高15-42%。
实验
实验环境:使用gem5模拟器
数据集:
实验对比:性能、get/put执行时间、带宽、延迟、计算能力(INT/FP CPI)
实验参数:工作负载
总结
针对云环境的FaaS,如何通过基于CXL的分离式内存进行优化。直接使用CXL会面临部分故障引起的不可用。本文提出Apta,基于CXL的对象粒度内存接口,用于维护FaaS对象。关键创新是新的容错一致性协议,包括两个部分:(1)惰性失效,将无效项移出写入的关键路径,这样当缓存共享程序的服务器出现故障时,写入程序就不会被无限期地阻止。但会导致缓存不一致。(2)一致性感知调度,对FaaS调度器进行了更改,使其只能在无未决失效的服务器上调度功能,从而实现强大的一致性和可用性。