根据一些调查研究,云计算应用的增长已经引起了数据中心行业的关注,全球的数据中心已经消耗了至少7%的全球电力消耗,并不断增长。这导致IT行业寻找提高基础设施效率的方法,其中包括试图重新考虑计算机和数据中心最初建立方式的一些努力。
今年1月,IBM公司研究人员在高性能与嵌入式体系结构和编译器国际会议(HiPEAC)上就分散式计算机体系结构的工作发表了一篇论文。这项工作是欧盟资助的dReDBox项目的一部分,该项目是Horizon 2020研究和创新计划的一部分。
分解(Disaggregation)意味着将服务器分解为其组成的计算和内存资源,以便根据每个工作负载的需要分配服务器资源。目前,服务器是IT基础设施的基本组成部分,但工作负载无法使用比单台服务器更多的内存或CPU资源,也无法轻松地在服务器外部共享任何备用资源。
“部署到数据中心的工作负载通常在资源使用方式上存在不成比例的现象。有一些工作负载消耗大量CPU,但不需要太多内存,另一方面,其他工作负载将比CPU使用多达4个数量级的内存。”IBM研究工程师Andrea Reale博士说。
在整个数据中心内,这意味着一些服务器将高效利用他们的CPU,但仍有大量的备用内存,而对于其他服务器则反之亦然,即使这些资源没有被使用,这些资源也会继续吸收电力。根据Reale的说法,典型数据中心中大约16%的CPU和30%的内存资源可能会以这种方式浪费。
在整个数据中心内,这意味着一些服务器将利用他们所有的CPU,但仍有大量的内存资源没有使用,而对于其他服务器则反之亦然,即使这些资源没有被使用,这些资源也会继续消耗电能。Reale表示,在典型数据中心中,大约16%的CPU和30%的内存资源可能会以这种方式浪费电能。
但是如果企业可以在软件控制下编写服务器,以便拥有尽可能多的CPU和每个特定工作负载需要的内存,这会怎么样?
分离计算和内存资源
dReDBox项目旨在通过使用名为bricks(砖块)的离散计算和内存模块来解决这个问题。这些通过高速链接连接在一起,使足够的计算bricks与足够的内存bricks配对,以满足在某一时刻运行的任何工作负载的要求。从理论上讲,这可以使服务器针对特定应用程序进行编写,具有尽可能多的CPU内核和作业所需的内存,然后可以将这些资源返回到池中,并在工作负载不再使用时用于其他内容需求。
作为其研究项目的一部分,dRedBox团队已经构建了一个演示系统,其中bricks围绕Xilinx Zynq Ultrascale+基于ARM的片上系统(SoC)芯片构建。计算bricks拥有少量的本地内存,而内存bricks则拥有更多数量的DDR4内存,以供计算砖投入使用。
在dRedBox体系结构中还有另外两种类型的bricks。可以提供GPU或FPGA硬件来加速应用程序(如机器学习或分析)的加速器bricks和一个控制器bricks,它是一种管理所有其他bricks的特殊bricks。
为了适应现有的数据中心基础设施,dRedBox团队设想,任何生产部署中的bricks都应安装在类似标准机架式服务器系统的2U机柜中。这些机械可能包含任何bricks的混合。
这种模块化安排的优点在于它还可以轻松升级,操作人员可以简单地替换具有更高性能的新bricks,或者将内存bricks交换为具有更大内存容量的计算bricks,而不是整个服务器。
然而,整个架构的关键部分是将bricks连接在一起的互连技术。这必须是高速和低延迟的网络连接,否则当计算机读取存储在存储器块中的数据时性能会受到影响。
低延迟架构
对于其演示系统,dRedBox团队使用电气开关矩阵连接机箱内的bricks,而光学开关矩阵连接到机架中另一个机箱内的bricks。对于IT环境而言,这些交换矩阵通常是电路交换的,这意味着它们在配置bricks之后创建专用通道,不像以太网那样的分组交换网络,其中根据数据分组中的地址将数据路由到其目的地。
Reale表示,这种安排的选择恰恰是因为需要低延迟。
“通过电路交换与分组交换相比,当从计算bricks到内存bricks时,可以让内存请求的延迟低得多。”他说。
实际上,Reale声称即使使用研究级硬件,dRedBox系统也能够远远低于1微秒的远程存储器访问端到端延迟时间,并且生产级处理器芯片以全时钟速度运行,其性能会更高。
在计算和内存bricks之间建立电路交换链路的另一个优点是它与软件看起来完全一样,就像标准服务器一样,内存直接连接到CPU。
“我们正在使用一些现有的操作系统扩展,比如NUMA支持Linux中的非统一内存表示,以表示知道该体系结构的应用程序的内存在哪里,而对于其他未知的应用程序,他们可以认为它是本地内存,他们不需要知道内存在哪里。”Reale说。
但其演示设置的规模相对较小,仅包含三个托盘,但dRedBox团队显然可以通过运行实际的云计算工作负载来测试它,尽管这些测试的结果尚未公布。
“我们不想使用基准测试,因为需要高保真度的结果,所以我们实际上使用了一组真实的云应用程序,包括数据分析和在线事务处理,内存缓存,并使用消息代理测试这种努力如何影响物联网市场。”Reale说。
根据dRedBox团队的说法,演示系统至少可以在性能方面与标准横向扩展服务器部署相匹配,同时使用的资源减少25%到50%。
在项目结束时,团队希望能够展示整个dRedBox硬件机架的性能如何。
同时,架构的任何生产版本都需要适应现有的基础设施,特别是管理工具。为此,dRedBox控制平面将通过API与常用编排工具进行交互。
“控制平面或编排平面基本上是用于连接CPU和内存的一些带外服务器,并且这个接口是作为API公开的,特别是RESTAPI,并且可以人工使用由数据中心的运营商或更有可能的集成,正如我们已经在项目中所做的那样,如果用户想部署虚拟机或Kubernetes容器,则需要像OpenStack这样的更高级的编排软件。”Reale解释说。
惠普和英特尔也在进行分解工作
dRedBox团队并不是唯一寻求服务器资源分解的组织,而作为可以解决现有数据中心设施面临的一些问题的可能解决方案,很多厂商都在关注。
另一个是HPE公司开展的TheMachine研究项目,该项目主要设计用于提供可支持大数据分析等应用的大内存空间的系统。它还具有独立的计算和内存模块,可以安装在基本上是机架式服务器的机箱集群中,并使用内存结构进行互连。在去年推出的演示系统中,HPE公司使用光链路连接了40个包含160TB共享内存的节点。
与此同时,英特尔公司有自己的主动权,称为机架比例设计(RSD)。这从相似的目标开始,但迄今为止,英特尔公司一直致力于从服务器节点分解存储资源,而不是分解计算和内存资源。英特尔公司还专注于创建名为Redfish的管理API,旨在提供机架规模的资源发现和管理,并支持来自不同供应商的RSD产品之间的互操作性。
英特尔公司的机架比例设计(RSD)正在逐步发展,以便让戴尔EMC,爱立信和Supermicro等厂商能够以他们感到满意的速度将技术整合到他们的产品中。同时,The Machine开发的技术和概念很可能会被注入到其他平台,例如美国能源部的Exascale Computing项目,HPE公司也将参与其中。
至于dRedBox项目,这是多个组织之间的协作努力,包括多所大学及其分拆公司,并且涵盖该技术的合作伙伴之间有许多知识产权协议。然而,期望的是,当项目结束时,它会提供一些可以部署在目标环境中的东西,但需要额外的努力。
由于能够使用25%到50%的资源来运行工作负载,基于分解架构的系统应该能够吸引数据中心客户。但是,正如人们以前经常看到的那样,伟大的想法并不总是能够推翻现状,还有哪些能记得IBM公司的Pure Systems?
在通常情况下,供应商发现投资与他们目前向客户交付的产品相差太远的任何事情都太冒险了,而需要像英特尔公司这样的影响力,才能将一项新技术真正推向市场。因此,真正可组合的硬件是否真的将其推向市场还有待观察。也许如谷歌、Facebook和亚马逊这样的超大规模用户表现出兴趣,人们将期待它成为现实。
编译:Harris