企业存储技术 编者按 近年来,因为飞腾、Ampere、Marvell和华为等厂商的投入,Arm服务器芯片的热潮又被再度燃起。但其实这并不是Arm在服务器芯片的第一次尝试,而是一个从2008年就开始的规划。 下面,我们来跟随作者的笔触,来回顾Arm服务器芯片的发展历程。 Arm服务器的第一波浪潮,是一家叫Calexda开始,也是由它结束的。虽然我觉得2011的官宣Armv8架构,就是32bit 服务器的终结。但是第一波的浪潮的起伏,并不仅仅是32bit,64bit 那么简单,还有一个词Microserver,微服务器。也是当时产业界,包括x86阵营的共同探索。技术上,商业逻辑上,都不错的产品,在市场上,没有成功。 我个人得到的一个观察:服务器市场是个求稳的保守的市场,相对于活跃的终端市场。 启程 2008 2008年,Arm内部开始酝酿服务器计划。心动就行动,Arm参与投资了一家当时叫Smooth Stone,后来改名为Calxeda的startup公司。当时的第一轮总投资金额是$48M。 Calxeda的一开始目标就是降低数据中心的耗能,并且提高相同空间的计算力密度。请记住这两个目标,此时此刻,我们的初心依旧。 那一年市面上还是Cortex-A8的产品,而基于第一款多核Ccortex-A9的产品要到3年后才上市。(好怀念那个2,3年才发布一款产品的慢速时代)。 那时Intel的Xeon还是4个核,当然主频已经3.xGhz了,而AMD的45nm Opteron CPU也刚刚上市。 那一年IBM刚刚宣布Power产品线,而且上来就高山仰止的高达64个核。 苹果发布了iPhone 3G,就是iPhone2。(对,那时还是3G时代。) TSMC 的主流工艺是40nm,年收入$10B。 我还在一家叫EZchip的公司做NP3,此处NP不是Neural Processor而是Network Processor。那是一个网络处理器大繁荣的时代,我能说出一长串名字,可惜现在都湮灭了。低调的炫耀一下,其实我最擅长的部分是TM-Traffic Manager 而不仅仅是处理器部分,这也是这家100多人的以色列公司(年营收大约$60M)最突出的特色。此处省略若干文字,真讲起来,我能一个人讲一周的培训,收美金的那种。 Calxeda 2011 2010年Smooth Stone正式改名字为Calxeda,把总部搬到了Austin。 2011年 Calxeda发布它的芯片基于A9的芯片EnergyCore ECX-1000。 图2.1CalexdaEnergyCore架构 这其实是一个值得细看的一款设计,4核cortex-a9组成的处理器模块,比较中规中矩,I/O controllers部分也是常规接口(常规接口并不容易,一个好产品的核心是常规部分做到业界一流)。但是管理引擎(management engine)和交换引擎(Fabric Switch)部分就是技术非常创新之举。 EnergyCore Fabric是一个集成的L2 switch支持mesh, butterfly tree, 2D Torus拓扑,虚拟端口之间的带宽可以按1 Gb/sec, 2.5Gb/sec, 5 Gb/sec, 核10 Gb/sec的不同规格分配。通过它,服务器节点可以自己自主成网,不必通过on top switch,因此Calexda的一块板块上有4个芯片,也就是16个核心。因此才有可以高达480个核的服务器系统。 这个设计理念是合理的,如果你设计一块非常低成本的服务器芯片,但是配套的网络仍然是昂贵的话,高密度的设计,只会增加成本。这个fabric可以将1024个系统板,也就是4096个芯片用10G网络接口,集联为系统。 EnergyCore ManagementEngine是一个集成BMC,支持IMP2.0和DCMI,还支持远程调试SoL协议。管理引擎最强的地方在于功耗管理,Calexda这款服务器芯片的功耗可以从4w到1w动态调整。 每个节点的制造成本大约是$28。 图2.2 4个节点的Calexda系统板 2011年,我加入Arm网络市场部。那时我关注的是还在设计阶段的LSI Axxia AXM5500 16-core ARMCortex-A15, Freescale 的QorIQ Layerscape 系列,TI的KeyStone,还有海思的hixxxx系列,那真是一个Arm在网络市场大爆发的时代。但是很快,一年后,我跟着当时的老板,一位有电影明星气质的印度裔资深美女,从网络市场转为服务器市场,从那时到现在,全心全意的投入服务器市场与生态建设。 Computex 2012 2012年,Ian Ferguson在台北Computex上的公开演讲,大约是Arm第一次向公众介绍服务器方面的努力。和他一起站台的是Ubuntu的Mark(软件生态是个大话题,本文主要集中在芯片方面,系统硬件设计和软件话题另外开文再说)。他引用了Facebook的 Frank说的performance per watt per dollar的价值观。 提到Arm服务器,Ian Ferguson必须有姓名(他教我了一句做市场工作的最基本的一句话,“你是打算report news,还是make news?”,现在我也愿意和小伙伴一起说,来来来,我们一起搞事情。)如他在大会上的发言,从Arm打算考虑服务器市场的第一天起,整个业界都充满了怀疑的论调。不仅仅怀疑是否能成功,甚至从根上,怀疑动机。 这些问题,我并不着急回答,如果你有耐心读到最后,一切都自有答案。 Marvell Armada XP 2013 在第一波服务器浪潮中,Marvell Armada XP 四核系列,也是要提到的。而且这里的core,不是A9,也不是A15,是Marvell的custom Core。 也是因为Armada,我把什么叫架构授权,回答得滚瓜烂熟。 图2.3 MarvellArmada XP 这款集成度很高,功耗低的SoC非常适合存储应用。Dell以此为核心,出了“Copper”的arm服务器系统。百度也曾经使用过。这是Arm服务器在互联网公司的第一个案例。 Calxeda 倒闭 2013 如果Calxeda能筹集的第三轮投资,那么按照下面的路标,有一款A15的芯片马上量产,2款Armv8的芯片在计划中。但是很不幸,募资工作不成功。 Calxeda从2008年成立,到2013,总投资$103M ($48m in 2010 & $55m in 2012 ), 一共130员工。 它的结业邮件中说,因为Arm服务器的出现,“the industry will be transformed forever”。从现在看,是的。 图2.4 Calxeda 路标 Insight 64 的分析师说,他们在32bit Arm服务器上花了太多钱。是的,2011年Arm宣布了64bit的Armv8,Applied Micro公布了X-gene的计划,其实第二轮Armv8 的服务器的浪潮就已经展开。 而Calxeda的倒闭,标志着第一轮的结束。 第二波 Armv8.0 (2011-2018) 虽然顶着编年史这种文艺的名字,我是想把它写成一个技术分析文章,重点在Arm服务器芯片的特点与演进,不是解释为什么这个公司成功,那个公司不成功。其实一个产品分析好做,一个公司的成败,偶然因素真的影响很大。 第二波的三个关键词是自研核心(custom core),主流性能,标准设计。在Arm服务器的初始岁月里,芯片设计公司来自各个不同的领域,带着自己对服务器CPU芯片的理解,各自交出了自己的产品。我把重点放在APM的X-gene,Cavium的ThunderX与高通的Centriq 2400上。同时也努力把所有的其它芯片都给一个线索,供有兴趣的人,自己深入。 我做了一个excel表格,努力的比对所有的服务器SoC,包括公司规模,投资与花费的人力资源。有缘线下做交流。 再说一段,因为在这一段历史中自研核占了多数,而且关于架构,ISA的争论一直不断,我不想展开说,因为会偏题。在一个做私有云的大牛那里学到一个词,“累计优势”,做CPU,做ISA,做芯片,其实也在一个缓慢的累计优势。这些年,我有带着客户的需求,案例,测试数据,信心满满地前往公司总部找架构师或者产品经理,要求改设计,增加指令的时候(是的,我还管这事),结果么?我不能说我一次也没有成功,但是我家架构师和产品经理,都是狠角色,在对拼数据和应用案例方面,鲜有败绩。 另外,Hock Tan一定要提一下,这人简直就是Arm服务器的发展道路和我职业生涯中的荆棘,一个拿了double kill 双杀的男人。他先收购Broadcom,卖掉服务器芯片项目,然后提出收购 Qualcomm,高通的管理层为了自保,提出每年消减1B的开销,因此自我了断所有长期投资项目,运作良好的服务器项目就这样躺枪了。 AppliedMicro – X-gene (2011) 2011年10月,在Arm第一次宣布ARMv8架构的同时,Applied Micro公布了它们的自架构x-gene计划(大新闻都是和关键客户一起发布的)。 如果你在那个时代读新闻,你会留意到SoC这个概念,当然现在,SoC这个概念不用解释了。那个时候,还是需要强调 SoC等于chip + chipset的集成设计。 X-gene的第一代是8个自研核心-Storm,两个核共享256KB的L2 cache,这跟Arm的4个核一个cluster不同。下一章讲的AMD的代号Seattle的Opteron A1100 processor,也没有用4个Cortex-A57的一个cluster,两个cluster的设计,而是2个A57,4个cluster的设计。AMD的A1100的两个A57,共享1MB的L2 cache,比X-gene大4倍。但是X-gene的自研核Storm是4 issue的, A57仍然在3 issue的能效比的甜蜜点上。 图3.1 APM的X-Gene spec 图3.2 APM的X-Gene产品路标 现在,连手机CPU都奔着6 issue去了,从这点上看,自研核,还是展现自己对业界发展洞见的好武器。 X-gene为8个核,配了4个memory通道,这个也是在x86阵营中少见的CPU:memory比例。而且集成了2个10G NIC,支持RoCE,算是SoC的优势。 Applied Micro官方资料给出的能耗参数,满负荷状态,一个核2瓦,idle状态,仅仅0.5w。 图3.2 X-Gene的框架图 图4.13 Fugaku节点(液冷的) A64FX这种强悍的性能,可以不用和GPU组合,因此Cray在和富士通合作,把A64FX做进 CS500 clusters和未来Shasta系统中。 其它的新入者 2019年11月,一家叫Nuvia的创业公司,在SC会议期间,浮出水面。这家公司创始人的背景,苹果的诉讼,立刻登上了头条。没有产品之前,让我们记住他们的口号"deliver industry-leading performance and energyefficiency for the data center" 。 欧洲的欧洲处理器联盟-EPI (https://www.european-processor-initiative.eu/project/epi/)也是一个以设计服务器级的CPU为目标的努力。不多说,看路标。 图4.11 EPI路标图 总结 我在试图回答Arm为什么要做服务器的时候,我能想到的就是“先进生产力”这5个字。什么叫先进生产力, Frank Frankovsky,Facebook VP of Hardware Design and Supply Chain Operations 也是个要有名字的男人。他提出 the most useful work per watt per dollar。真正能用上的算力除以买服务器花费与运营服务器所花的电费就是这个服务器的代表的生产力,这个值标志了先进性。 延伸一下,对产业链上的人就是the total useful work per total investment,提供有用计算力除以总投入的资金(时间,工程师的智慧与心血),这就是这个技术/方案/ISA/产品的生产力是否先进的指标。这也是我写这篇编年史的一条暗线,多少投入,第三波浪潮会带来多少产出。 真正的先进生产力,是属于全世界的,也是全世界共同努力的结果。 先进的产品是一行行的代码,一个个wafer累积出来的。 祝大家2020万事如意。 |