Memento: Architectural Support for Ephemeral Memory Management in Serverless Environments

Memento: Architectural Support for Ephemeral Memory Management in Serverless Environments
复制标题

DOI:
10.1145/3613424.3623795
复制
发表时间:
2023-10
期刊:
2023 56th IEEE/ACM International Symposium on Microarchitecture (MICRO)
影响因子:
--
通讯作者:
Ziqi Wang;Kaiyang Zhao;Pei Li;Andrew Jacob;Michael Kozuch;Todd Mowry;Dimitrios Skarlatos
Ziqi Wang;Kaiyang Zhao;Pei Li;Andrew Jacob;Michael Kozuch;Todd Mowry;Dimitrios Skarlatos
中科院分区:
其他
文献类型:
--
作者:
Ziqi Wang;Kaiyang Zhao;Pei Li;Andrew Jacob;Michael Kozuch;Todd Mowry;Dimitrios Skarlatos

文献摘要

相似文献

无服务器计算是云中越来越有吸引力的范例,因为它易于使用和细粒度的按使用付费计费。然而,无服务器计算由于其短暂的功能执行模型而对系统设计提出了新的挑战。我们的详细分析表明,内存管理是负责大量的功能执行周期。这是因为函数在用户空间和操作系统中支付了内存管理的全部关键路径成本,而没有机会在其较短的生命周期内分摊这些成本。为了解决这个问题,我们提出了Memento,这是一种新的以硬件为中心的内存管理设计,基于我们的见解,即无服务器函数中的内存分配通常很小,并且在分配后快速释放或在函数退出时释放。Memento通过引入两个关键机制来减少无服务器内存管理的开销:(i)硬件对象分配器,其基于竞技场执行缓存内内存分配和释放操作,以及(ii)硬件页面分配器,其管理用于补充对象分配器的竞技场的物理页面的小池。这些机制一起减轻了内存管理开销,并绕过了昂贵的用户空间和内核操作。Memento通过一组伊萨扩展自然地与现有的软件栈集成,这些扩展可以与多种语言运行时无缝集成。最后,Memento利用硬件中新暴露的内存分配语义来引入主内存旁路机制,并避免对新分配的对象进行不必要的DRAM访问。我们通过跨各种容器化无服务器工作负载和语言运行时的全系统模拟来评估Memento。结果表明,Memento实现了函数执行加速,平均范围在8-28%和16%之间。此外,Memento的硬件分配器和主内存旁路机制大大减少了平均30%的主内存流量。Memento的综合效果将功能执行的定价成本降低了29%。最后,我们展示了Memento在功能之外的适用性,主要的无服务器平台操作和长期运行的数据处理应用程序。CCS概念·计算机系统组织→云计算; ·软件及其工程→内存管理。
Serverless computing is an increasingly attractive paradigm in the cloud due to its ease of use and fine-grained pay-for-what-you-use billing. However, serverless computing poses new challenges to system design due to its short-lived function execution model. Our detailed analysis reveals that memory management is responsible for a major amount of function execution cycles. This is because functions pay the full critical-path costs of memory management in both userspace and the operating system without the opportunity to amortize these costs over their short lifetimes.To address this problem, we propose Memento, a new hardware-centric memory management design based upon our insights that memory allocations in serverless functions are typically small, and either quickly freed after allocation or freed when the function exits. Memento alleviates the overheads of serverless memory management by introducing two key mechanisms: (i) a hardware object allocator that performs in-cache memory allocation and free operations based on arenas, and (ii) a hardware page allocator that manages a small pool of physical pages used to replenish arenas of the object allocator. Together these mechanisms alleviate memory management overheads and bypass costly userspace and kernel operations. Memento naturally integrates with existing software stacks through a set of ISA extensions that enable seamless integration with multiple languages runtimes. Finally, Memento leverages the newly exposed memory allocation semantics in hardware to introduce a main memory bypass mechanism and avoid unnecessary DRAM accesses for newly allocated objects.We evaluate Memento with full-system simulations across a diverse set of containerized serverless workloads and language runtimes. The results show that Memento achieves function execution speedups ranging between 8-28% and 16% on average. Furthermore, Memento hardware allocators and main memory bypass mechanisms drastically reduce main memory traffic by 30% on average. The combined effects of Memento reduce the pricing cost of function execution by 29%. Finally, we demonstrate the applicability of Memento beyond functions, to major serverless platform operations and long-running data processing applications.CCS CONCEPTS• Computer systems organization → Cloud computing; • Software and its engineering → Memory management.