论文阅读:E3: Energy-Efficient Microservices on SmartNIC-Accelerated Servers

摘要:

我们研究了使用SmartNIC加速服务器在数据中心执行基于微服务的应用程序,发现通过将合适的微服务卸载到智能NIC的低功耗处理器上,我们可以提高服务器的能量效率,而不会造成延迟损失。 然而,作为主机数据路径中的异构计算基板,SmartNIC为微服务平台带来了几个挑战: 网络流量路由和负载平衡,异构硬件上的微服务放置,以及共享智能NIC资源的争用。

我们介绍了E3,一个用于SmartNIC加速服务器的微服务执行平台, E3遵循Azure Service Fabric微服务平台的设计理念,并将关键系统组件扩展到SmartNIC,以解决上述挑战。

E3采用了三种关键技术:

  • 通过Smart NIC实现基于ECMP的负载平衡
  • 网络拓扑感知的微服务放置
  • 能够检测Smart NIC过载的数据平面编排器

我们使用Cavium LiquidIO SmartNIC的E3原型表明,SmartNIC卸载可以将集群能量效率提高3倍,成本效率提高1.9倍,包括实时分析,IoT中心和虚拟网络功能。

背景/问题:

能效已成为数据中心设计的主要因素,美国数据中心每年消耗约700亿千瓦每小时的能源(约占总能源消耗的2%) ,其中多达57%的能量被服务器使用。 因此,提高服务器的能效势在必行,最近的一种选择是在服务器网络接口卡(NIC)中集成低功耗处理器。例如Netronome Agilio-CX ,Mellanox BlueField,Broadcom Stingray 和Cavium LiquidIO,它们依赖于基于ARM / MIPS的处理器和板载内存。这些SmartNIC可以处理微秒级的客户端请求,但比服务器CPU消耗的能量少得多, 通过与主机服务器共享空闲电源和机箱,SmartNIC还有望比其他异构或低功耗群集更具能源效率和成本效益。

如今,越来越多的云应用程序已构建为微服务,这促使我们重新审视云中的SmartNIC卸载

微服务通常具有足够小的内存空间以用于SmartNIC卸载,并且它们的编程模型有效地支持异构平台上的透明执行。 通过共享数据中心基础架构上的微服务平台部署微服务,这些平台提取并分配物理数据中心计算节点,提供可靠且可用的执行环境,并通过一组通用的运行时API与已部署的微服务进行交互。大型Web服务已经在成千上万的服务器上使用微服务。

我们正在探索如何将每台服务器的多个SmartNIC集成到微服务平台中,以期以最小的延迟成本实现更高的能源效率

但是,将SmartNIC透明地集成到微服务平台中并非易事。与传统的异构群集不同,SmartNIC与主机服务器并置,从而引发了许多问题:

  • 首先,SmartNIC和主机共享相同的MAC地址,我们需要一种有效的机制来路由和负载均衡到主机和SmartNIC的流量
  • 其次,SmartNIC位于主机的数据路径中,SmartNIC上运行的微服务可能会干扰主机上的微服务,微服务需要适当放置以平衡网络到计算带宽
  • 最后,微服务可能会争用共享的SmartNIC资源从而导致过载,我们需要有效地检测和预防这种情况

解决办法:

我们提出了E3,这是一种用于SmartNIC加速服务器的微服务执行平台,可以解决这些问题。

E3遵循Azure Service Fabric微服务平台的设计理念,并扩展了关键系统组件,以允许将微服务透明卸载到SmartNIC。 为了平衡SmartNIC和主机之间的网络请求流量,E3在机架顶部(ToR)交换机上采用了等价多路径(ECMP)负载平衡,并在主机和SmartNIC之间提供了高性能的PCIe通信机制。 为了平衡计算需求,我们引入了HCM(一种分层的,可感知通信的微服务放置算法),并结合了可以通过微服务迁移检测和消除SmartNIC过载的数据平面编排器。 这使E3可以优化服务器能效,而对客户端请求延迟的影响最小。

总结:

E3其实是将Azure Service Fabric微服务平台的关键系统组件(编程模型,执行引擎,通信子系统,调度)扩展到SmartNIC,但有个重要的点,之前的微服务平台假定所有计算节点之间具有统一的通信性能,但是其实SmartNIC-Host(通过PCIe)SmartNIC-SmartNIC(通过ToR交换机)通信往返时间主机-主机(通过ToR交换机)内核旁路通信分别低83.3%86.2%,E3考虑了这种拓扑效应获得的良好性能。

链接:https://pan.baidu.com/s/1AYA0Sqfj0F0RiFaLCFdeUQ
提取码:h85u
为了讲这个组合还做了一天的PPT,害,详细的都在里面了,自己码一下。

你可能感兴趣的:(论文阅读:E3: Energy-Efficient Microservices on SmartNIC-Accelerated Servers)