基础架构研发思路分析

  半年多以前,我曾经撰文一篇《纪录中国企业存储的自主之路》,讨论的是厂商(供应商)自主研发创新方面的话题;今天,我要写的是IT基础设施的用户端,在数据中心方面的投入的研发。前者比较好理解,只有掌握一定的核心技术才能保证产品的持久竞争力和销路;而作为像Google、Facebook、百度、阿里巴巴这样的互联网企业来说,他们的定位是服务提供商,数据中心的研发则是为了降低IT运维的TCO(总体拥有成本)。

  1月11日,微博上的消息使我注意到百度在南京举办的活动。尽管笔者没有亲临现场,但随后也看到了百度云首席架构师林仕鼎的演讲资料《数据中心计算与变革》,以及来自各方面的言论。强烈的好奇心使我联系了百度,提出自己的疑问并于近日获得正式的书面回答。本文就将这些内容分享出来,希望对大家有帮助。

  在去年10月底的“从FB、谷歌到淘宝定制服务器:需求决定采购模式”一文中,我写到:“像Facebook和谷歌,因为服务器采购量比较大,他们自己提出一些设计直接向ODM下单,而不是从惠普、戴尔、IBM这种一线的OEM采购。”近日由Facebook主导的开放计算项目(Open Compute Project)也传来不少新闻,公布了一系列的存储(包括由Fusion-io提供的PCIe闪存加速卡)、主板/服务器、机架和数据中心等方面的参考设计资料。无论是百度还是Facebook,做这些的目的基本相同,但在执行细节、投入产出的形式,以及对整个行业的贡献等方面还是有一定的差别。这也是我们要讨论的一个话题。

  在基础架构的研究方面,无论Facebook和百度做出什么选择,适合的就是最好的。

  本文预计分为上、下两篇,关于ARM服务器云存储、万兆以太网(10GbE)交换机等话题留在后面,请您继续关注。

  百度SSD将开放SPEC,欢迎华为在内的硬件供应商

传统SSD与百度SSD的系统架构对比

  林仕鼎在介绍百度的SSD(PCIe闪存卡)时表示:“传统的系统架构中,是由一个总的SSD controller来控制下面的Flash存储单元,这样的好处是黑箱化、层次化。但不利之处是SSD往往读取较快,写入较慢,容易形成瓶颈。在百度自主研发的SSD架构中,取消了写缓冲、擦写平衡等复杂逻辑,大幅简化SSD控制器的设计。通过将一个大的SSD划分为N个单元,每个单元都有独立的控制器和存储单元,这些信息和控制接口暴露给上层存储系统(软件)后,形成了多个管道,并行读取、存储效率可以大幅提升。”

  上图中,左右两边的架构很容易看出差异。左边是一个SSD控制器连接出多个闪存通道,并向应用程序(系统)提供一个像硬盘那样的块存储设备;而右边则是多个SSD控制器,分别拥有各自的闪存通道,它们向上提供的容量空间,就像在一个盘上的sda0~sdaN个分区那样。二者的架构建立在不同的硬件基础上吗?

  这张照片是去年4月,我在IDF2012大会上拍摄的华为PCIe SSD卡,@林仕鼎 曾经在微博上发布的百度SSD图片与它如出一辙,引发了业内人士的广泛猜想。

  上图中我们可以看到主卡上有一颗覆盖黑色散热片的芯片,它的作用应该是PCIe Switch(桥接),另外除了层叠在上面的子卡上有Xilinx(赛灵思)的FPGA和闪存芯片之外,主卡上应该也具备同样的单元。估计一共有4个FPGA作为闪存控制器。

  不过,在这块卡上方的文字介绍中,有“内置RAID 5保护机制,支持ECC纠错... 采用磨损平衡算法...”等字样。也就是说,百度与华为的SSD在软件(Firmware)的编写上是不同的。

  另外,这个在今天已经不是华为最新一代的PCIe闪存卡了。在去年7月举行的华为OceanStor T系列统一存储 & Tecal服务器新品发布会上,我们看到了ES3000 PCIe SSD卡(如下图)。华为ES3000 PCIe SSD卡

  以笔者这些年来的经验来看,ES3000这块卡的PCB空间利用率(容量密度)、整体设计水平比前代产品上了一个台阶。华为表示它同样使用了FPGA方案,另外我也看到了DRAM颗粒和用于缓存保护的电容。

  华为IT产品线总裁郑叶来这样说:“(SSD)软件的关键还是百度自己做的,我觉得华为要向他们学习软件能力,特别是敢于在架构上创新。”

  

  其实这张软件架构对比图才是关键。传统SSD(包括PCIe闪存卡)需要给上层文件系统(存储控制器)提供SCSI块设备,因此中间增加了很多“层”,而百度SSD通过位于硬件之上的PCIe driver直接将kernel space提交给轻量级的文件系统(定制?)。因此号称“对比传统PCIe Flash性能提升2倍,成本降低40%;相对SATA SSD性能提升6倍,成本降低10%”。

  ChinaByte比特网:关于自主研发的SSD,硬件是否来自国内某家厂商?然后重写(定制)了Firmware?

  百度:百度自己开发了对应的FPGA 的逻辑和驱动,与自己的应用相结合。代工做生产。

  国内初创的PCIe闪存卡厂商Memblaze忆恒科技联合创始人路向峰曾在去年10月表示:“看来百度打算自己做PCIe SSD了 百度招聘FPGA工程师 硬件计算小组,从事一些互联网IDC方面的新硬件开发和研究,我们做的事情比较有趣,也比较有挑战性。要求做过大规模的逻辑设计,有实际的开发调试经验。熟悉PCIe,DDR2接口,对互联网行业感兴趣,愿意在互联网IDC领域做探索和尝试。”

  ChinaByte比特网:闪存的冗余管理等高级特性,完全由上层软件实现,应用场景会有局限,或者说通用性差?可以说百度自己研发的实际上是一个闪存优化的(分布式)专用文件系统吗?

  百度:百度对SSD 的软硬件进行了很好的划分,与自己的存储体系是一个优化的协同系统。这个系统虽然面向百度自有的存储特性,但百度的存储特性也代表了很多主流互联网公司的存储特性,具有一定的通用性。

  点评:上面最后这句话有其道理,不过暂时还没看到百度想把自己使用的SSD向外公开销售。如果卖的话,把产品交给华为还是百度自己来卖呢?百度自主研发的那部分价值如何体现也是一个问题。

  华为服务器领域总经理邱隆曾在微博上表达过更多关于百度SSD的观点,我们也就此与百度进行过讨论。得到的回应是:“我们采用了华为的flash卡,华为开放了硬件板卡级别的SPEC,如FPGA的pin(引脚定义)信息,clock(时钟)信息,NAND flash的pin信息等,我们自行根据百度的需求和软硬件架构重新设计了FPGA逻辑、软件驱动和用户态的单机文件系统。”

  “华为的第四代卡在百度还没有应用,对于百度定制flash卡的后续规划,我们会开放详细的SPEC,欢迎包括华为在内的硬件供应商按照我们的SPEC进行硬件板卡的设计。”

  可以说百度的SSD是在华为PCIe闪存硬件基础上,进行“二次开发”之后的产品。记得笔者去年早些时候曾经与Memblaze总经理殷雪冰讨论过PCIe闪存卡可以按FPGA/ASIC控制器、Native(原生)/ Non-native(非原生)、Host-Based(基于主机)/ Device-Based(基于设备)三种标准来划分。目前的百度SSD属于典型的Non-native Host-Based,而其对应的华为原形产品应该是Non-native Device-Based;那么华为新一代的ES3000 PCIe SSD卡,可能与Memblaze的产品同样归类于Native Device-Based。我们接下来要讨论的Fusion-io则属于FPGA Native Host-Based。

  受限于本文篇幅和讨论重点,关于不同类型PCIe闪存卡的优劣,以及更多代表产品先不在这里展开了。有兴趣的朋友可以阅读以下文章:

  Fusion ioScale:Facebook模式的问题?

  在本月16-17日的开放计算峰会上,Fusion-io的最新产品线Fusion ioScale正式登场。之前ioScale仅用于配备数千服务器的Fusion-io客户,现在hyperscale(超大规模计算)和云企业也能够从一百台订购量起步。每个ioScale可提供的Fusion ioMemory容量达3.2TB,每GB售价仅为3.89美元,并且购买的容量越多折扣越高,这使得采用ioScale来搭建全闪存数据中心成为可能。

  上面是Fusion-io的ioScale PCIe闪存卡架构图:主控采用一颗Xilinx Virtex 6 FPGA,不知华为的ES3000和Memblaze的产品是否也使用了同一款?

  Facebook硬件设计和供应链管理副总裁兼开放计算协会主席Frank Frankovsky表示:“我们很高兴看到Fusion-io在开放计算峰会之际推出高性能、低功耗的ioScale。并且,Fusion-io进一步拓展了ioScale技术的应用范围。我们全程参与了该产品的研发,并且我们很高兴看到这项技术有可能帮助业界满足其快速增长的存储需求。”

  Fusion ioScale PCB设计图:右边较大的BGA芯片位置就是留给FPGA的;这块主卡上没有闪存,而是通过上下方(2排)共6块触点来连接NAND闪存模块子卡。

  除了这些来自规格文档中的图片之外,Fusion-io还提供了ioScale CAD模型的下载。也就是说,用户可以依此找人制作PCB,购买闪存颗粒来生产类似的产品。Fusion-io共同创始人兼首席执行官David Flynn称:“超大规模的客户将获得原始闪存,并使用Fusion-io控制器技术来建立他们自己的PCIe闪存卡。”但是谁要使用ioScale设计工具的话,就必须使用Fusion-io的控制器技术(包括闪存算法在内的Firmware软件,应该需要付费)。

  这应该就是Fusion-io将ioScale硬件设计开源并捐献给Facebook的Open Compute Project目的所在。那么Facebook的意图呢?只是“学雷锋做好事”完全不图回报吗?我想不会,如果由于开放计算项目增加ioScale的出货量,从而导致相关的硬件采购成本下降(利润摊薄了),Fusion-io和用量最多的Facebook(短时间不会改变)应该就是最大的受益者。对于其它用户呢,即使同样是在互连网行业与Facebook有竞争关系,也不会因此有明显的不利影响。正如笔者在本文开头所说的,Facebook的主要竞争力不是在这里。

  适合自己的,就是最好的

  一些读者朋友应该看到,Open Compute Project公布了包括Fusion ioScale在内大量、详细的设计资料,正如Howard Marks在“英特尔、Fusion-io拥抱开放计算”一文中所说:“从几年前,美国企业开始购买开放计算式的设备,机架级电源和超高密度的计算(单元)。开放计算项目创造了客户驱动的设计和创新速度,会给我们其他人带来好的东西...”不过参与研发不代表掌握核心技术,ioScale本质上说还是一款Fusion-io为用户定制的产品。

  而百度的情况则有些不同,并未公开其SSD软硬件设计,也没有这样做的义务。首先硬件是华为的,软件部分的自主知识产权也是研发投入换来的。试想一下,假如Fusion-io公开其软件设计后结果会怎样?在国外一些行业成功的玩法,未必适合国内的用户。这里面可能受不同的国情特色,乃至文化差异的影响。

  另一方面,更加通用化的ioScale,其进一步推广的意义显然更大。不过也有业内人士表示:“自己做卡或者找人代工,会遇到供应链、售后服务等方面的问题。即使是直接从Fusion-io(或其经销商)采购ioScale,通常也需要在自己的系统上进行兼容性测试与调优,而不像一些流行的企业级PCIe闪存产品那样在各大OEM的服务器中获得过周期较长的认证。”

  最后,关于百度和Facebook的Open Compute Project的话题,本文中只讨论了SSD。笔者还有很多想要与大家分享的内容,包括ARM服务器、存储单元... 敬请关注。

时间: 2024-09-24 18:47:56

基础架构研发思路分析的相关文章

共享基础架构平台优势分析

  中小企业最初都是从部署一台服务器开始,之后再慢慢扩展至三台或者四台不同型号不同代别,甚至不同品牌的服务器.在这个过程中,他们还会安装网络交换机以连接这些服务器,以及不同的存储平台以保留其不断增长的数据.最终,出现了互操作问题,以及占用大量空间的各种设备,这些设备不仅连接杂乱,而且极难维护.如此混乱无绪的IT环境,导致企业很难推动业务增长.提升工作效率提升. 近几年,随着大数据和云计算带来融合趋势,各个厂商纷纷推出一体化整合产品方案.这种方案的含义是将多个信息技术(IT)组件进行融合,组成一个

espresso基础架构与API分析

Espresso测试框架提供了一组API来构建UI测试,以测试应用程序内的用户流. 这些API让您能够编写简洁,运行可靠的自动化UI测试. Espresso非常适合编写白盒式自动化测试,其中测试代码使用来自所测试的应用程序的实现代码细节. Espresso测试框架的主要功能包括: 用于在目标应用程序中查看和适配器匹配的灵活API. 有关详细信息,请参阅View matching. 一组广泛的操作API,用于自动化UI交互. 有关更多信息,请参阅 Action APIs. UI线程同步提高测试的可

拍拍贷基础框架研发实战:构建闭环反馈架构

首先申明下,今天的主题虽然叫"构建闭环反馈架构",但主要是面向技术管理的主题,可能会让一些技术和业务视角的同学有一点点失望. 本分享总结软件研发型组织在产品.组织.流程和架构方面经常需要关注的一些反馈环(feedback loop),以及强化这些反馈环需要哪些支撑性的技术和架构手段,希望对组织在这些方面改进提升有一定的指导价值.另外,本分享希望对研发工程师和架构师建立闭环反馈和DevOps意识有一定的指导意义. 本分享主要基于之前工作总结和近期的学习思考,分享目的一方面是梳理自己思路并

整个MBA,EMBA的基础架构就是各类案例分析

最近一段时间没有怎么写案例类的文章了,今天开始会多写写案例类的文章. 因为这几天我突然想明白一个事情,就是整个MBA,EMBA的基础架构就是各类案例分析,案例对创业者的启发是非常大的,所以多写各类互联网的最新案例会很有意义. 转到正题,今天给大家带来一个日本的最新案例. 我们都知道一般电商平台大概有这3类: 1.类似淘宝,京东这样的销售实物和虚拟物品类的电商平台. 2.类似美团网这样的O2O电商平台,销售的主要是线下的服务体验类产品. 3.类似YY教育这样的网校教育电商平台. 而今天给大家带来的

【阿里在线技术峰会】李金波:企业大数据平台仓库架构建设思路

本文根据阿里云高级技术专家李金波在首届阿里巴巴在线峰会的<企业大数据平台仓库架构建设思路>的分享整理而成.随着互联网规模不断的扩大,数据也在爆炸式地增长,各种结构化.半结构化.非结构化数据的产生,越来越多的企业开始在大数据平台下进行数据处理.分享中,李金波主要从总体思路.模型设计.数加架构.数据治理四个方面介绍了如何利用大数据平台的特性,构建更贴合大数据应用的数据仓库. 直播视频: (点击图片查看视频) 幻灯片下载:点此进入 以下为整理内容. 总体思路 随着互联网规模不断的扩大,数据也在爆炸式

电商基础架构建设之路

在2016年的最后一天,奉上本年度最后一篇文章,也是为自己在当当的工作画上句号. 本人已经离开当当(可称为猴厂),加入饿了么(人称饿厂),负责北京研发中心.以前是输送精神食粮,现在是物质食粮,都是为人民服务,而且人可以不读书,但是不能不吃饭,所以跟生活更息息相关. 在此感谢多年来给我帮助和支持的当当领导和同事,在当当的这几年,经历了很多,结识了很多好朋友,也收获了许多成长,相信当当会越来越好,架构部做出更多的成绩,引领当当技术体系更进一步,小伙伴们事业蒸蒸日上. 今天分享的内容是"电商基础架构建

基于成熟基础架构云平台的服务云建设

[硅谷网12月12日文]据<硅谷>杂志2012年第18期刊文,在分析当前云服务建设产业发展机遇的基础上,分析了传统云平台服务建设存在的主要问题.最后,基于成熟的基础架构云(IAAS)平台产品完成基础设施的整合和基础架构云的基础环境部署,验证基础架构云的相关技术能力.成熟度.安全性.可扩展性符合云计算云平台的要求. 0引言 近年来,全球云计算产业蓬勃发展.我国云计算产业兴起于20世纪90年代,云计算产业已经形成了竞争性的产业发展态势,以展览展示.网络游戏.远程教育.数字电视内容制作以及各种影视动

手机淘宝移动端接入网关基础架构演进之路

移动网络优化是超级App永恒的话题,对于无线电商来说更为重要,网络请求体验跟用户的购买行为息息相关,手机淘宝从过去的HTTP API网关,到2014年升级支持SPDY,2015年双十一自研高性能.全双工.安全的ACCS(阿里云通道服务)扛住双十一战场主要流量,无论是基础架构的演进.网络调优.协议的优化.异地多活.网络调度上都有不少宝贵的经验与大家分享. ACCS基于无线场景精心设计的双工 .安全.低时延.开放的移动统一接入层服务,在双十一当天稳定高效地服务了近2亿的在线用户,支持了峰值4500万

基于阿里云数加MaxCompute的企业大数据仓库架构建设思路

  数加大数据直播系列课程,主要以基于阿里云数加MaxCompute的企业大数据仓库架构建设思路为主题,分享阿里巴巴的大数据是怎么演变以及怎样利用大数据技术构建企业级大数据平台.   本次分享嘉宾是来自阿里云大数据的技术专家祎休!   背景与总体思路   数据仓库是一个面向主题的.集成的.非易失的.反映历史变化的数据集合,用于支持管理决策.其结构图如下所示:     随着大数据.云计算等技术的应用和普及,互联网环境下数据处理呈现出新的特征:业务变化快:数据来源多:系统耦合多:应用深度深.业务变化