新型I/O架构引领存储之变(二)

作者:廖恒

众所周知,支持存储及网络I/O服务的接口协议有很多种。比方,以太网及Infiniband接口都支持採用iSCSI协议来实现存储业务,它们也因而成为了server应用中高带宽TCP/IP网络业务的缺省选择。iSCSI也已成为连接server节点与外部块存储设备的成熟选择。

因此。作为I/O扇出架构的候选,我们须要对这些传统的协议及接口进行研究。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG1j/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

图2  PCIe与其它总线协议对照

为了更全面的考量,根据Chelsio(一家最先进的iSCSI加速NIC供应商)于2013年四月发布的数据。利用ChelsioT5
NIC (http://www.chelsio.com/wp-content/uploads/2011/05/T5_iSCSI_Brief_Multiple_Initiators-040313.pdf),我们将比較採用PCIe来连接单个高性能NVMe
SSD和server级CPU,以及採用以太网来作连接的开销作对照。

因为PCIe是serverCPU及NVMe SSD上的原生接口。将SSD与CPU相连仅仅须要一个无源PCIex4
Gen3 线缆就可以;而用以太网连接则须要在CPU节点上增加须要一个iSCSI加速40GENIC以iSCSI启动模式执行,并且在目标iSCSI桥上还须要还有一个40GENIC来提供以太网I/F,同一时候。还须要一个目标CPU来执行iSCSI目标堆栈以及在连接到SSD的以太网与NVMeport之间适配I/O与数据流量。

图3 对照单个NVMe SSD与採用40G NIC iSCSI连接的各项指标

上图中展示了Chelsio报告中描写叙述的測试系统,提供了2013年4月公布的带有全面加速能力的用于40G以太网NIC的T5ASIC的性能指标。该报告显示。ChelsioT5
ASIC (以及基于T5的网络转接卡)能够提供约40Gbps的顺序訪问的吞吐量。与单个PMC NVMe SSD的吞吐量能力相当,然而,NVMe设备的IOPS能力(大约780KIOPS)远远超出了Chelsio在试验測量中提供的IOPS数据(64KB的块大小实现约66K的顺序读IOPS)。即便将iSCSI的性能缺点忽略不计。此图中的凝视也标注出了採用以太网之上iSCSI来处理存储数据所需的成本及功耗(系统成本>$6000。系统功耗>1000W)。

相比之下,若採用原生PCIe接口,则SSD连接无需额外成本,而主机及目标设备上PCIe接口也仅仅须要2W功耗。

量化分析得出的结论很有说服力,基本上排除了在CPU与SSD之间的I/O矩阵上採用以太网的不论什么可能。而针对除原生PCIe及原生SAS/SATA接口的其它接口协议作出的分析都会得出类似成本/功耗上的劣势。因此。我们的结论是下一代I/O架构必须是基于PCIe、SAS/SATA,或是某种融合型的能提供PCIe、SATA支持(假设应用须要SASHDD/SSD支持的话或许还包含SAS)的原生接口的架构。

此外。在过去十余年间,SASI/O矩阵已经承继了很多对于实现高可靠性/可用性/易于管理的系统至关重要的概念/能力。并对此进行了持续的演进。server/存储阵列/数据中心的系统架构自然而然会期望,在未来的I/O架构中。这些能力都会继续存在。主要包含:

·        热插拔/动态拓扑支持——系统同意主机、存储及矩阵设备动态地彼此相连或者断开连接(动态拓扑改变)。与此同一时候,还能维持硬件部件、主机物理机、操作系统、虚拟机、客户操作系统以及应用级和全部可用系统资源的正常运作。

·        故障隔离——局部出错、动作失当、硬件/固件及软件层面的故障可以得到控制及隔离。从而缩小其影响范围,确保系统层级的稳健。

·        设备功耗管理—— 监控各项活动并控制及管理系统部件的能耗状态,在软件控制下实现节能。

·        机箱管理(SES及/或BMC)——监控物理操作状态及物理包装边沿(可能是机箱、机架、板、托盘、滑板或驱动器槽等等)、控制风扇、电源并提供指示以辅助人工干预(比方,使用闪烁的LED来帮助修理工找到须要替换的故障单元)。

·        矩阵可扩展性——利用可扩展的物理拓扑如Clos或胖树来扩展系统域的大小(如主机节点、目标节点及交换节点的数目)。从而实现所需的连接与性能要求(如跨段带宽)。

·        矩阵发现及虚拟化——可跨越分布的交换机历数物理网络中的设备数目,管理地址空间、转发信息基地,提供訪问控制功能,以及在软件定义的策略控制下呈现与全局矩阵相连的资源的虚拟化视图及訪问。

·        支持传统遗留及新型的存储与网络服务——可支持传统遗留的数据平面和控制业务如SCSI服务等,以便主机訪问SASHDD/磁盘驱动/CD-ROM目标。提供訪问SATA
HDD和SSD设备的种种方式。支持用于机箱管理的SCSI机箱服务(SES),支持用于SSD訪问的NVMe和SCSIe以及用于网络连接的Socket/TCP/IP服务和相关的控制平面服务如DHCP/ARP等。

·        支持云资源调配——能够让系统控制平面整合到云平台(即云OS如OpenStack,VMWare
vSphere,Amazon AWS平台等)的调配层,包含网络控制器、存储资源控制器等等。

·        多主机共存与设备共享——此系统须要支持多台主机设备、多台目标设备(SSD/HDD)以及设备共享功能。设备共享能够在几个层次实现:

o  不论什么时刻,随意目标设备能够动态地、唯一地与随意给定主机在软件控制下进行捆绑。可是。该捆绑关系能够在软件控制下动态变更。

o  一台目标设备能够同一时候由多台主机共享,但该目标设备被分成了物理分区、逻辑单元(LUN)、命名空间等,随意时刻都仅仅能与唯一一台主机动态捆绑。

o  目标捆绑能够在逻辑对象层进行(比如。随意给定时间,一个文件与唯一一台物理主机或虚拟主机进行动态捆绑。)

o  共享资源(在设备、逻辑单元、对象层)仅仅能由唯一一个给定主机进行写操作,但与此同一时候,多台次级主机能够对之进行读取。

o  共享资源(在设备、逻辑单元、对象层)能够同一时候由多台主机进行读写,但该矩阵系统并不能防止多台主机造成数据损坏。

在多台主机之间进行协调、确保共享系统中的一致性、相容性以及数据完整的功能属于分布式应用软件的范畴。超出了I/O平台架构的讨论范围。

研究显示,理想中的下一代I/O架构必须基于PCIe、SAS/SATA或是某种兼容并蓄的融合型架构。与此同一时候,新的I/O架构承担着继往开来的使命,使之责无旁贷将沿袭以往多年研发的SASI/O架构的种种性能与长处,从而确保下一代存储系统的兼容、可靠及管理的便利。

新型I/O架构引领存储之变(二)的更多相关文章

  1. 新型I/O架构引领存储之变(四)

    新型I/O架构引领存储之变(四) 作者:廖恒 应对挑战--商务及技术考量 本文前面的部分分析了砖块模式与生俱来的总拥有成本(TCO)过高的问题.为了战胜这一挑战,超大规模数据中心的运营者须要从两个不同 ...

  2. SequoiaDB x Spark 新主流架构引领企业级应用

    6月,汇集当今大数据界精英的Spark Summit 2017盛大召开,Spark作为当今最炙手可热的大数据技术框架,向全世界展示了最新的技术成果.生态体系及未来发展规划. 巨杉作为业内领先的分布式数 ...

  3. (转) 干货 | 图解LSTM神经网络架构及其11种变体(附论文)

    干货 | 图解LSTM神经网络架构及其11种变体(附论文) 2016-10-02 机器之心 选自FastML 作者:Zygmunt Z. 机器之心编译  参与:老红.李亚洲 就像雨季后非洲大草原许多野 ...

  4. 微软&中科大提出新型自动神经架构设计方法NAO

    近期,来自微软和中国科学技术大学的刘铁岩等人发表论文,介绍了一种新型自动神经架构设计方法 NAO,该方法由三个部分组成:编码器.预测器和解码器.实验证明,该方法所发现的架构在 CIFAR-10 上的图 ...

  5. ARM架构与体系学习(二)——3级流水线

    ARM架构与体系学习(二)——3级流水线 标签: 存储嵌入式汇编c 2012-04-18 00:44 5414人阅读 评论(4) 收藏 举报  分类: ARM7(16)  版权声明:本文为博主原创文章 ...

  6. MySQL技术内幕InnoDB存储引擎(二)——InnoDB存储引擎

    1.概述 是一个高性能.高可用.高扩展的存储引擎. 2.InnoDB体系架构 InnoDB存储引擎主要由内存池和后台线程构成. 其中,内存池由许多个内存块组成,作用如下: 维护所有进程和线程需要访问的 ...

  7. spring cloud+dotnet core搭建微服务架构:服务发现(二)

    前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...

  8. JHipster生成微服务架构的应用栈(二)- 认证微服务示例

    本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...

  9. spring cloud+.net core搭建微服务架构:服务发现(二)

    前言 上篇文章实际上只讲了服务治理中的服务注册,服务与服务之间如何调用呢?传统的方式,服务A调用服务B,那么服务A访问的是服务B的负载均衡地址,通过负载均衡来指向到服务B的真实地址,上篇文章已经说了这 ...

随机推荐

  1. js中setinterval 的相关使用

    1.setinterval 方法 setinterval()是定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式. 2.创建一个setinterval 方法 setInterval(s ...

  2. OCP升级(3.6->3.7)

    有个好文档还是靠普很多,感谢同事的文档.升级步骤记录如下 1.检查现有环境 [root@master ~]# etcd --version etcd Version: Git SHA: 1674e68 ...

  3. Foreach控件使用

    在SSIS中,Foreach控件可以循环处理选中的文件中的文件,例如sql文件,Excel文件等.下面就介绍一个比较经典的案例,将一个文件夹中包含的多个Excel文件循环导入至数据库中. 第一步:在数 ...

  4. EPF与Myeclipse 增强代码自动智能提示

    摘自: http://blog.csdn.net/ylchou/article/details/7639467 数字证书文件,导入用. EPF文件是著名的软件开发工具——Eclipse(IDE)的配置 ...

  5. powerdesigner里建物理模型图时choose DBMS为空怎么办?

    RT 出现如下对话框,是因为需要“DBMS”的规则文件夹 点击下图文件图标,浏览,找到安装目录里面PowerDesigner 15\Resource Files\DBMS,就可以了. 在此记录一下,希 ...

  6. 代码可读性艺术在Andorid中的体现

    前言 最近接手的一些项目,不同的人编码风格迥异,类里的变量.方法的定义穿插,注释极为稀少,更有一些变量和方法的命名非常近似,例如表示播放队列的"playQueue"和表示歌单的&q ...

  7. NoSQL数据库介绍(2)

    2 NoSQL潮流      在这一章中,将一起讨论NoSQL潮流的动机和主要驱动力.以及NoSQL主张的批评和反馈.本章将通过不同的尝试得出结论来分类和描写叙述NoSQL数据库.当中一个分类法将在随 ...

  8. EditText输入为空button不可点击搜索

    一丶任务详情 二丶改动后演示效果 三丶改动过程 分析:非常明显这里是须要监听EditText,推断输入字符串长度是否不为0来改变Button样式 首先的屡清楚代码逻辑在适当的位子加监听推断是最好的处理 ...

  9. 算法笔记_158:算法提高 逆序排列(Java)

    目录 1 问题描述 2 解决方案 1 问题描述 问题描述 编写一个程序,读入一组整数(不超过20个),并把它们保存在一个整型数组中.当用户输入0时,表示输入结束.然后程序将把这个数组中的值按逆序重新存 ...

  10. JavaScript | JSON基本格式

    ————————————————————————————————————————————————————————— JSON 语法 "use strict"; // 简单值 &qu ...