SoC ( System on Chip) 之四 — 番外篇 FAQ

原创内容,转载请注明:  [http://www.ssdfans.com]  谢谢!

FAQ,这里不解释,如果大家不知道,建议绕行。为什么来一个番外的FAQ,原因是AWS在讲他们的产品定义过程的时候,讲过一个 “working backwards”[1], 就是先发布产品的product release,然后FAQ,之后才会有原型。这个把早在90年代流行于硅谷的“雾件”文化发挥到了极致,反正历史都是成功者书写的。俺这种写过传统的MRD的人,需要搞搞新意思。[2]

Q: 基于Nitro系统的EBS的性能如何,和Instance storage的性能对比是怎么样?

A: 这个问题,AWS没有官方的回答,AWS的EBS介绍的如下:[3]

80K IOPS 和 1750MB/S,比较一般吧?

具体性能看一下[4]:4K的随机读

4K的随机写

可以看到:

1:写的延时比读好,说明后台的存储肯定是有大量的缓存的,反正整体的性能不需要太高,因此缓存的出现为额外的快照功能提供更大的空间。

2. 基本上是到了64K 的IOPS之后,性能的限制出现,之前的延时堪称经典, 大部分对于IOPS敏感的应用都希望可以得到一个可以预期的延时。

3. EBS的延时还是很大的提升空间,毕竟写的peak latency 28ms, 读是60ms。要知道,现在的SCM都是<10us 的产品。

64K的顺序读:

64K的顺序写:

基本上I/O的控制能力不错,基于IOPS和带宽的限制都做到位了。

Instance Storage的性能:是基于高配的8个NVMe SSD:

这里的感觉和之前用硬盘堆IOPS类似,土豪客户想要高性能,3M的IOPS也可以提供。当然,这个性能和现在的SDS的startup动辄10M的IOPS还是有差距,但是要知道Dell EMC从来都是性能最低的,好不容易收了一个DSSD,(对,就是用了Annapurna lab芯片的那个Startup)还被放弃了。[5]

Q: 什么是Nitro Hypervisor,他和AWS之前使用的Xen 有区别吗?

A: The new hypervisor for Amazon EC2, introduced with the launch of C5 instances, is a component that primarily provides CPU and memory isolation for C5 instances. VPC networking and EBS storage resources are implemented by dedicated hardware components that are part of all current generation EC2 instance families. It is built on core Linux Kernel-based Virtual Machine (KVM) technology, but does not include general purpose operating system components.[6]

一句话,就是轻量级的Hypervisor, 基于KVM,但是没有QEMU那些设备仿真模块,因为Ntrio Card都是实打实的硬件。

如果你使用AWS提供的AMI。比如Windows,Ubuntu, Debian, Red Hat Enterprise Linux, SUSE Enterprise Linux, CentOS, and FreeBSD,使用习惯和Xen 没有差别。

但是你可以感知到两者的不同, Nitro Hypervisor 提供了Boot fromEBS的功能,这个是基于NVMe接口的,Xen则需要先从一个仿真的IDE的设备上启动,然后转换到一个Xen的paravirtualized的块设备上。

OS基于设备的类型可以感知两者的不同,但是I/O设备因为都是基于ENA和EBS,因此如果使用AWS的AMI话,上层的功能不感知。

Q: ENA和EBS这么好,我可以在一个Nitro Hypervisor上堆几个?

A: 在Nitro Hypervisor上运行的VM 实例可以27个ENA或者EBS Volume,每个ENA和EBS Volume都占有一个PCIE设备的名额。如果你安装了3个ENA,就剩下24个EBS的volume。

Q: Nitro Hypervisor 没有使用QEMU来模拟设备,它如何相应硬件的中断?

A:  使用Intel 的设备虚拟化技术中的Posted interrupt, 这个技术可以支持把中断直接上报给虚拟机,只要有对于的PCIE设备分配给了虚拟机。在和Nitro Hpervisor 配套的裸金属虚拟机中,不需要X86的主机来处理这部分中断,因此需要预留任何X86 CPU。

Q:Nitro Hypervisor 到底运行在哪里?VM over VM的性能如何保证?

A: 上面讲了不需要CPU资源,但是大家都是冯氏架构,没有CPU资源是你有自己的ARM Core,但是Nitro Hypervisor 毕竟是一个Fimrware,需要和上下通讯的。这里使用了Intel的VMCS[8]

Q: 这个系列还有什么内容:

A: 目前还有 Ntrio Hypervisor的Deep Dive,Nitro Security Chip,Nitro Management Chip,以及AWS的A1, Apple准备取代Intel的A12x 的SoC[9], ARM的N1和E1 平台[10],Xilinx的ACAP平台[11],还有两个网络SoC。

Q: 如何能够比较游刃有余地跟上作者的思路?

A:建议和那些了解i960 (Storage ),IXP1200/2400(Network) 系列的人一起吃吃饭,了解一下整个行业的历史。当然,你可以赞助我,我可以请他们吃饭。

周末愉快!

[1]https://www.forbes.com/sites/innovatorsdna/2017/08/08/how-does-amazon-stay-at-day-one

[2]https://music.douban.com/review/4917170/

[3]https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

[4]https://www.storagereview.com/amazon_ec2_i3metal_review

[5]https://www.storagereview.com/dell_emc_stops_production_on_dssd

[6]http://aws-de-media.s3.amazonaws.com/images/AWS_Summit_2018/June7/Alexandria/Introducing-Nitro.pdf

[7]https://kernelgo.org/posted-interrupt.html

[8]https://software.intel.com/en-us/blogs/2014/12/12/enabling-virtual-machine-control-structure-shadowing-on-a-nested-virtual-machine

[9]https://www.extremetech.com/mobile/279988-apples-ipad-pro-a12x-nearly-matches-top-end-x86-cpus-in-geekbench

[10]https://community.arm.com/processors/b/blog/posts/arm-neoverse-n1-platform-accelerating-the-transformation-to-a-scalable-cloud-to-edge-infrastructure

[11]https://www.xilinx.com/support/documentation/white_papers/wp505-versal-acap.pdf

分类目录 产品评测, 存储, 技术文章.
扫一扫二维码或者微信搜索公众号ssdfans关注(添加朋友->点最下面的公众号->搜索ssdfans),可以经常看到SSD技术和产业的文章(SSD Fans只推送干货)。
ssdfans微信群介绍
技术讨论群 覆盖2000多位中国和世界华人圈SSD以及存储技术精英
固件、软件、测试群 固件、软件和测试技术讨论
异构计算群 讨论人工智能和GPU、FPGA、CPU异构计算
ASIC-FPGA群 芯片和FPGA硬件技术讨论群
闪存器件群 NAND、3D XPoint等固态存储介质技术讨论
企业级 企业级SSD、企业级存储
销售群 全国SSD供应商都在这里,砍砍价,会比某东便宜20%
工作求职群 存储行业换工作,发招聘,要关注各大公司招聘信息,赶快来
高管群 各大SSD相关存储公司高管和创始人、投资人

想加入这些群,请微信扫描下面二维码,或搜索nanoarchplus,加阿呆为微信好友,介绍你的昵称-单位-职务,注明群名,拉你进群。SSD业界需要什么帮助,也可以找阿呆聊。