HPE公司“The Machine”项目深度剖析-程序员宅基地

技术标签: 操作系统  数据结构与算法  嵌入式  

HPE公司已经最终敲定了近期服务器架构领域最具野心的架构设计方案,这就是The Machine项目。

HPE公司The Machine项目深度剖析Machine节点板模型

在今天的文章中,我们将尝试解读HPE公司为The Machine系统作出的“完全不同”这一评价:包括其目标、所用技术以及发展现状。这是否真的是一款完全不同于以往的服务器?下面一起来看。

The Machine被称为一台内存驱动型计算机,其拥有一套非易失性内存建立的通用资源池,可供大量专用计算核心加以访问。其中,数据无需在不同服务器的处理器间往来移动,而是始终驻留在内存当中——各不同处理器则持续访问整体数据集中的对应子集。

其目标不仅是解决大规模数据在服务器间移动所带来的低速互连弊端,同时亦是为了在无需配合高成本DRAM的前提下利用内存内计算实现更高处理速度。该项目的主要优势在于将计算性能与能源功率改进至新的量级,且这种计算能力能够扩展至高速分析、高性能计算乃至其它现有工作负载当中。

这种颠覆性设计几乎涵盖到服务器中的每一个层面,从单一芯片设计、各系统芯片、光子芯片与消息收发协议、服务器主板、CPU-内存访问与架构、机架、网络结构、操作系统代码乃至应用堆栈及其IO都将经过重新设计。

这绝对是一场前所未有的发展壮举,甚至超出了HPE自身的控制能力——即使其将The Machine切实投放市场,保守的用户及开发商恐怕也不会加以采用。

The Machine无疑是HPE手中一笔风险极高的注码,下面我们将具体解读其系统与当前开发状态。

核心概念

The Machine项目的实质基本上就是利用大量处理器通过一条光子互连通道对一套通用型内存资源池进行访问。

HPE公司The Machine项目深度剖析 

The Machine项目的基本概念。

我们可以概括出The Machine项目的五大技术属性:

  1. 异步专用核心处理器或节点。
  2. 基于光子的CPU到通用内存池互连通道。
  3. 通用型非易失性内存资源池。
  4. 新型操作系统。
  5. 软件编程模式。

计算核心

项目中使用的计算核心面向各类专用工作负载,这意味着其并不一定需要属于x86核心。换言之,设备中可以使用ATOM、ARM或者其它架构类型组合,亦可以是单插槽配合多核心。

The Machine中的处理器包含一块系统芯片(简称SOC)配合部署内存与光子互连。该系统芯片属于计算单元,可链接至8条DRAM通道(可能为DIMM,我们将在后文的模型系统中具体探讨)。该互连机制首先接入一套结构交换机,而后再接入共享内存资源池。

HPE公司The Machine项目深度剖析 

备注:单一节点上的一块系统芯片通过该结构(桥接或者交换)接入其它节点中的持久性内存,且无需涉及旁邻节点的系统芯片。

光子机制将芯片与激光发射器相结合,旨在利用光信号通过网络结构以实现高于线缆内电流的信息传输速度。

The Machine项目的系统芯片运行有一套定制化Linux,且互连机制通过光子结构接入大规模通用内存资源池。

此内存应该会使用HPE公司自家的忆阻器技术,其有望在具备成本效益的单一设备当中提供持久存储、内存与高速缓存功能。

HPE公司表示这套大规模内存资源池的容量可高达数百PB,且相关内存同样具备高速与持久两大特性。

访问内存

我们估计,The Machine项目中的处理器将以不同于现有服务器x86处理器那样直接通过芯片内置中间缓存接入DRAM的方式实现内存访问。x86处理器使用的这套方案由于DRAM自身的易失性而需要将数据存储在其它大规模介质当中——例如磁盘或者SSD,这将显著降低整个访问流程的执行速度。换言之,The Machine项目使用的应是一套内存级结构模式。

The Machine项目将彻底颠覆现有访问模式。其内存应该以忆阻器技术为基础,即彻底替代现有服务器中的芯片内置缓存与DRAM,不过忆阻器方案由于DRAM以及2015年4月出现的相变式内存技术而不得不延后发布时间。惠普公司CTO兼The Machine项目之父Marin Fink表示,这套系统将分三个阶段进行交付。

此项目将为内存驱动型系统并采用Linux:

  1. 阶段一(0.9版本):基于DRAM的系统,初始系统将通过机架级规模提供320 TB DRAM资源池,用于模拟持久性内存。
  2. 阶段二,The Machine将利用相变式内存,即非易失性存储级内存。
  3. 阶段三将为基于忆阻器的系统方案。

阶段一可以视为可工作原型设计,阶段二则为过渡性系统,阶段三则为完整的忆阻器系统。

SanDisk公司的ReRAM曾于2015年10月被纳入HPE公司的内存驱动型计算方案。我们认为其ReRAM亦有可能在阶段二方案内取代相变式内存选项。

阶段二中的各服务器节点(包括CPU、DRAM以及光学互连机制)将共享一套速度低于DRAM的中央非易失性内存资源池,其服务器节点(系统芯片)规模上限可达数千台。HPE公司的现有Apollo机架可用于支持这一设计方案。

阶段三随后将采用忆阻器共享式中央资源池。如果各服务器节点仍然保留本地DRAM,那么意味着HPE公司在开发纯忆阻器资源池方面未能成功。不过即使如此,我们仍然可以选择二级内存结构或者NUMA模式。

产品化时间表

The Machine项目的开发进度已经一拖再拖。举例来说,惠普实验室主任Martin Fink曾在HP Discover 2015大会上向与会者们宣布,“The Machine项目的可工作原型将在明年的大会上与大家见面。”结果已经很明显,Fink在2015年Discover大会后发布了一篇博文,题为《加快The Machine开发进度》——换言之,The Machine的进度已经延后。

他当时写道:

我们正在构建硬件以处理目前尚不存在的数据结构与应用程序。同样的,我们还需要编写出目前尚不存在的代码以运行在这套硬件之上。为实现这项目标,我们在目前可用的最佳系统之上进行硬件模拟,例如HPE Superdome X。我们通过该模拟方案总结出的硬件特性将可用于指导软件方案的持续改进。我们将从软件开发工作中总结的经验共享至硬件团队。这是一种良性循环。

我们还看到一套各组件贴有对应标签的节点基板,其基本展示了此硬件的工作原理:

HPE公司The Machine项目深度剖析 

通过上图,可以看到其中包含处理器系统芯片、本地DRAM、由介质控制器访问的非易失性内存以及通过由光纤交换机控制的光学适配器实现的板外通信机制。

那么The Machine项目中共享式内存资源池是否由各节点中持久性内存提供?看起来确实如此。

因此可以基本判断,在这种情况下,对本地板载持久性内存的访问速度要快于通过光纤交换机及光子链接接入的板外持久性内存。这套设计方案与NUMA的情况基本一致。

另外可以看到,各系统芯片包含有一块处理器及其计算核心以及缓存内存; 因此,如果实际情况确实如此,那么CPU可以使用一套由缓存、DRAM、本地NVM以及远程NVM共同构成的四层式内存结构。

另外,如果情况属实,那么The Machine项目应该没必要使用忆阻器全面替代全部内存存储层。不过需要强调的是,这项假设是由HPE公司技术专家Keith Packard所提出。因此最终结论如何目前尚无法确定。

设备硬件

关于The Machine项目的更多硬件信息,Keith Packard已经于2015年8月的一篇文章中进行了说明。其在5U空间的64位ARM处理器节点内提供32 TB内存。全部此类节点皆可实现内存层级互连,意味着每块单一处理器皆可对任意系统上的内存进行访问,从而实现指令加载或者存储。这些节点包含“一块64位ARM系统芯片,配备256 GB纯本地RAM外加一套现场可编程门阵列(简称FPGA),用以实现NGMI(即下一代内存互连)协议。”

存储

NGMI及其它概念亦在Packard于2016年2月发布的以下视频中进行了讨论:

“存储部分将包含四套内存(各自容量为1 TB),且各自拥有独立的NGMI FPGA,”我们了解到。“特定系统芯片可在无需其它节点内系统芯片参与的前提下访问其内存——NGMI桥接FPGA将通过光子接口与其它节点上的FPGA进行通信。在相关bug彻底解决后,这些FPGA最终将被替换为应用指定型集成电路(简称ASIC)。”

每个节点的持久内存都将被聚合至单一中央光纤连接内存(简称FAM)资源池内,其不具备缓存一致性。

“可以将8台这种节点塞进一台5U机柜当中,其处理器总数为8块,且拥有32 TB内存。十台这样的机柜可被纳入一台机架(共包含80块处理器与320 TB内存),且多台机架亦可通过同样的‘结构’进行互连,最终使系统内的各处理器从高达32 ZB的资源空间内进行寻址。”而这也正是我们正在热切期待的首套The Machine实例方案。

Packard在谈到320 TB机架时表示:“我能够支持那些目前甚至完全无法通过单一地址空间实现的任务。”

各计算单元(系统芯片)在理论上能够实现异步运行。其持久内存将成为介于各异步处理器——即大端与小端——之间的通信结构。各处理器能够同时对同一数据进行操作。我们随后可将成百上千套机架加以结合,从而利用其直接接管现有数据中心。

HPE公司The Machine项目深度剖析 

The Machine – Packard在视频中给出的节点设计示意图。

由于各处理器只能实现256 TB空间寻址——除了IBM提供的处理器方案之外——因此320 TB内存访问存储带来的难题需要通过光纤连接内存映射方案加以解决。HPE公司构建起一套75位地址空间,因此其能够最大支持32 ZB容量上限。

而到这里,我们甚至还没有谈到任何软件相关话题。Packard的视频长达45分钟,感兴趣的朋友可以耐心观看以了解相关信息。

评论意见

HPE公司计划于本月28号召开的HPE Discover伦敦大会上公布The Machine当前状态及开发进度的更多细节信息。

另外,感兴趣的朋友也可以点击此处查看HPE Labs系列博文(英文原文),并借此了解The Machine项目的背景信息。

The Machine项目真实存在,而且HPE公司将推出原型方案以供开发者们查看、接触以及试用——具体途径包括设于HPE内部的设备以及面向客户的alpha测试站点。

通过Packard的视频,大家应该能够进一步了解HPE The Machine项目的现状及其驱动因素。开发可以通过利用The Machine开发项目更好地同HPE建立沟通关系。而对于HPE方面来讲,其也肯定会对此表示欢迎,毕竟开发者支持是一个项目获得成功的关键所在。

不过要为这套新系统开发应用,开发者们必须彻底抛弃原有标准化服务器架构系统。The Machine相较于现有方案能够提供量级水平的性能提升,而HPE公司也愿意为此投入大量研发资金。

当然,也希望其不要重蹈Superdome mark 3的覆辙。事实上,英特尔的3D XPoint目前就面临着类似的窘境。

根据我们的估计,首款The Machine原型方案将于未来三到九个月内公布。总之,提前祝HPE好运!



原文发布时间为:2016年11月29日

本文作者:黄雅琦

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34309435/article/details/90351182

智能推荐

FTP命令字和返回码_ftp 登录返回230-程序员宅基地

文章浏览阅读3.5k次,点赞2次,收藏13次。为了从FTP服务器下载文件,需要要实现一个简单的FTP客户端。FTP(文件传输协议) 是 TCP/IP 协议组中的应用层协议。FTP协议使用字符串格式命令字,每条命令都是一行字符串,以“\r\n”结尾。客户端发送格式是:命令+空格+参数+"\r\n"的格式服务器返回格式是以:状态码+空格+提示字符串+"\r\n"的格式,代码只要解析状态码就可以了。读写文件需要登陆服务器,特殊用..._ftp 登录返回230

centos7安装rabbitmq3.6.5_centos7 安装rabbitmq3.6.5-程序员宅基地

文章浏览阅读648次。前提:systemctl stop firewalld 关闭防火墙关闭selinux查看getenforce临时关闭setenforce 0永久关闭sed-i'/SELINUX/s/enforcing/disabled/'/etc/selinux/configselinux的三种模式enforcing:强制模式,SELinux 运作中,且已经正确的开始限制..._centos7 安装rabbitmq3.6.5

idea导入android工程,idea怎样导入Android studio 项目?-程序员宅基地

文章浏览阅读5.8k次。满意答案s55f2avsx2017.09.05采纳率:46%等级:12已帮助:5646人新版Android Studio/IntelliJ IDEA可以直接导入eclipse项目,不再推荐使用eclipse导出gradle的方式2启动Android Studio/IntelliJ IDEA,选择 import project3选择eclipse 项目4选择 create project f..._android studio 项目导入idea 看不懂安卓项目

浅谈AI大模型技术:概念、发展和应用_ai大模型应用开发-程序员宅基地

文章浏览阅读860次,点赞2次,收藏6次。AI大模型技术已经在自然语言处理、计算机视觉、多模态交互等领域取得了显著的进展和成果,同时也引发了一系列新的挑战和问题,如数据质量、计算效率、知识可解释性、安全可靠性等。城市运维涉及到多个方面,如交通管理、环境监测、公共安全、社会治理等,它们需要处理和分析大量的多模态数据,如图像、视频、语音、文本等,并根据不同的场景和需求,提供合适的决策和响应。知识搜索有多种形式,如语义搜索、对话搜索、图像搜索、视频搜索等,它们可以根据用户的输入和意图,从海量的数据源中检索出最相关的信息,并以友好的方式呈现给用户。_ai大模型应用开发

非常详细的阻抗测试基础知识_阻抗实部和虚部-程序员宅基地

文章浏览阅读8.2k次,点赞12次,收藏121次。为什么要测量阻抗呢?阻抗能代表什么?阻抗测量的注意事项... ...很多人可能会带着一系列的问题来阅读本文。不管是数字电路工程师还是射频工程师,都在关注各类器件的阻抗,本文非常值得一读。全文13000多字,认真读完大概需要2小时。一、阻抗测试基本概念阻抗定义:阻抗是元器件或电路对周期的交流信号的总的反作用。AC 交流测试信号 (幅度和频率)。包括实部和虚部。​图1 阻抗的定义阻抗是评测电路、元件以及制作元件材料的重要参数。那么什么是阻抗呢?让我们先来看一下阻抗的定义。首先阻抗是一个矢量。通常,阻抗是_阻抗实部和虚部

小学生python游戏编程arcade----基本知识1_arcade语言 like-程序员宅基地

文章浏览阅读955次。前面章节分享试用了pyzero,pygame但随着想增加更丰富的游戏内容,好多还要进行自己编写类,从今天开始解绍一个新的python游戏库arcade模块。通过此次的《连连看》游戏实现,让我对swing的相关知识有了进一步的了解,对java这门语言也有了比以前更深刻的认识。java的一些基本语法,比如数据类型、运算符、程序流程控制和数组等,理解更加透彻。java最核心的核心就是面向对象思想,对于这一个概念,终于悟到了一些。_arcade语言 like

随便推点

【增强版短视频去水印源码】去水印微信小程序+去水印软件源码_去水印机要增强版-程序员宅基地

文章浏览阅读1.1k次。源码简介与安装说明:2021增强版短视频去水印源码 去水印微信小程序源码网站 去水印软件源码安装环境(需要材料):备案域名–服务器安装宝塔-安装 Nginx 或者 Apachephp5.6 以上-安装 sg11 插件小程序已自带解析接口,支持全网主流短视频平台,搭建好了就能用注:接口是公益的,那么多人用解析慢是肯定的,前段和后端源码已经打包,上传服务器之后在配置文件修改数据库密码。然后输入自己的域名,进入后台,创建小程序,输入自己的小程序配置即可安装说明:上传源码,修改data/_去水印机要增强版

verilog进阶语法-触发器原语_fdre #(.init(1'b0) // initial value of register (1-程序员宅基地

文章浏览阅读557次。1. 触发器是FPGA存储数据的基本单元2. 触发器作为时序逻辑的基本元件,官方提供了丰富的配置方式,以适应各种可能的应用场景。_fdre #(.init(1'b0) // initial value of register (1'b0 or 1'b1) ) fdce_osc (

嵌入式面试/笔试C相关总结_嵌入式面试笔试c语言知识点-程序员宅基地

文章浏览阅读560次。本该是不同编译器结果不同,但是尝试了g++ msvc都是先计算c,再计算b,最后得到a+b+c是经过赋值以后的b和c参与计算而不是6。由上表可知,将q复制到p数组可以表示为:*p++=*q++,*优先级高,先取到对应q数组的值,然后两个++都是在后面,该行运算完后执行++。在电脑端编译完后会分为text data bss三种,其中text为可执行程序,data为初始化过的ro+rw变量,bss为未初始化或初始化为0变量。_嵌入式面试笔试c语言知识点

57 Things I've Learned Founding 3 Tech Companies_mature-程序员宅基地

文章浏览阅读2.3k次。57 Things I've Learned Founding 3 Tech CompaniesJason Goldberg, Betashop | Oct. 29, 2010, 1:29 PMI’ve been founding andhelping run techn_mature

一个脚本搞定文件合并去重,大数据处理,可以合并几个G以上的文件_python 超大文本合并-程序员宅基地

文章浏览阅读1.9k次。问题:先讲下需求,有若干个文本文件(txt或者csv文件等),每行代表一条数据,现在希望能合并成 1 个文本文件,且需要去除重复行。分析:一向奉行简单原则,如无必要,绝不复杂。如果数据量不大,那么如下两条命令就可以搞定合并:cat a.txt >> new.txtcat b.txt >> new.txt……去重:cat new...._python 超大文本合并

支付宝小程序iOS端过渡页DFLoadingPageRootController分析_类似支付宝页面过度加载页-程序员宅基地

文章浏览阅读489次。这个过渡页是第一次打开小程序展示的,点击某个小程序前把手机的开发者->network link conditioner->enable & very bad network 就会在停在此页。比如《支付宝运动》这个小程序先看这个类的.h可以看到它继承于DTViewController点击左上角返回的方法- (void)back;#import "DTViewController.h"#import "APBaseLoadingV..._类似支付宝页面过度加载页

推荐文章

热门文章

相关标签