Alibaba Open Channel SSD,阿里巴巴存储架构的重要里程碑

2018-07-24 admin_ykcx 437

阿里巴巴正在其下一代数据中心基础设施中部署Alibaba Open Channel SSD,这是阿里在FAST 2018大会上宣布Open Channel存储架构后的一个重要里程碑。

背景

Alibaba Open Channel SSD(以下简称AOC SSD)是阿里巴巴的第三款自制存储产品,也是业界首款量产的Open Channel SSD。 它的部署不仅标志着阿里巴巴下一代存储架构迈出了关键一步,也为创新的Open Channel态系统奠定了基础。

在今年2月举行的2018年FAST大会上,阿里巴巴介绍了为其下一代数据中心所设计的软件/硬件集成的存储架构。 随着人工智能、云计算和大数据应用的激增,新架构旨在应对数据中心的新挑战。 这些挑战包括:

(1)性能:对软件/硬件协同优化的需求

(2)灵活性:多样化和快速变化的工作负载需要更多的灵活性和自定义设置

(3)持续增长的成本和供应弹性

(4)应用程序需要控制I / O路径以获得确定性的性能。

(5)需要更快地响应在线问题。

传统的标准SSD和专有的基于主机的SSD都无法有效地应对这些挑战。 因此,阿里巴巴为下一代数据中心提出了新的软件/硬件集成的存储架构,其核心是Alibaba Open Channel SSD以及最上层的Fusion Engine存储引擎软件。

作为阿里巴巴新存储架构的核心硬件,AOC SSD不仅提供透明的白盒设计和定制化功能,还提供标准化平台。 定义AOC SSD平台的AOC SSD规范由阿里巴巴根据其业务需求和案例编写,与其他公司的“Open Channel Spec 1.2 / 2.0”无关。

AOC SSD架构的设计理念是开放性和协作性。 阿里巴巴一直在努力与供应商和行业合作伙伴共同建立AOC SSD生态系统。 目标是减少产品认证的时间和复杂性,提高供应弹性,以便所有参与者都能从中受益。

The AOC SSD 硬件

AOC SSD的核心是AliFSC,这是阿里巴巴首款定制的高性能存储控制器。

AliFSC是为阿里巴巴Open Channel SSD定制的高性能控制器。 它有6核、16通道和PCIe G3x8接口,可与所有主流的3D TLC NAND组件配合使用,同时还支持QLC NAND,针对QLC固件的初步开发已经开始。

AliFSC支持AOC SSD规范中指定的所有命令,并提供硬件加速 ,这些命令包括系统元数据(MBR)管理,灵活的奇偶校,XOR引擎,多个写入流,以及开放通道模式下的编程/擦除故障处理。

AOC SSD(AliFlash V3)的外形与标准的2.5英寸U.2 NVMe SSD相同。 因此,它与阿里巴巴数据中心内所有具有NVMe端口的服务器都兼容。 产品开发于2018年3月完成,随后AOC SSD经过多轮软件/固件优化,目前正在阿里巴巴的数据中心进行试运行。

The AOC SSD 软件

AOC SSD与其主机端的软件栈配合使用,以充分发挥其软/硬件集成设计的优势。 在硬件开发的同时,阿里巴巴为不同的应用开发了AOC主机端的软件栈:

  1. 内核态的AOC SSD驱动程序和块设备FTL。 这允许应用程序将AOC SSD用作通用块设备,涵盖大多数传统应用。

  2. 用户态的AOC SSD驱动程序,与阿里巴巴的Fusion Engine(用户态存储引擎)配合使用。 将整个I / O路径移动到用户空间可以显着降低软件开销,这是阿里巴巴软/硬件集成架构的关键优势之一。

  3. 为阿里巴巴的应用(非块解决方案)定制的用户态的FTL解决方案。 这也是业界第一个完整的用户空间开放式通道的软件解决方案。

  4. 全套的管理,包括监控和测试工具,与阿里巴巴的DevOps基础架构集成。

整个AOC SSD主机端的软件栈由阿里巴巴开发,其与开源社区中的lightnvm解决方案不同。 事实上,AOC SSD主机端的软件是迄今为止唯一能够保证质量并且可以部署的开放式通道软件解决方案。 此外,AOC SSD的用户空间软件也是业界首个完整的用户空间开放式通道软件解决方案。

The AOC SSD 软硬件协同设计

AOC SSD与阿里巴巴的Fusion Engine合作,为阿里巴巴的业务部门提供软件/硬件集成解决方案。 已经开发了几种不同的解决方案。

内核态的AOC驱动和块设备FTL

自AOC Block Device FTL开发以来,已经对ACL Block Device FTL进行了重大改进和扩展。 初步测试显示随机读写的IOPS分别达到了,700K和120K,超过了标准NVMe SSD的主要替代品。 除了基本的I / O性能之外,AOC SSD还与Fusion Engine软件一起进一步优化了QoS功能,从而为高优先级应用程序提供了更低的读/写延迟。

高优先级应用程序的读延迟。 平均延迟减少75%,99%延迟减少83%。

高优先级应用程序在混合工作负载中的读/写延迟。 平均读/写延迟分别降低了81%和99%,99%的读延迟降低了49%。

用户态的 AOC SSD软件设计

使用用户态的AOC SSD软件,针对特定应用开发了定制化的FTL,以实现更高级别的软件/硬件协同优化。 例如,阿里巴巴为Key-Value应用开发了“Object SSD FTL”,并在阿里巴巴的业务部门广泛使用。 Object SSD FTL与阿里巴巴的用户态KV引擎配合使用。 将AOC SSD的奇偶校验作为对象暴露给KV引擎,并将内部垃圾回收与应用程序的压缩操作相结合,KV-Object SSD解决方案有望将写入放大系数降低4倍,延迟降低99% 到80%。

AOC SSD和标准NVMe SSD的对比如下:

The AOC SSD 生态

AOC SSD架构被设计为一个平台。 阿里巴巴正在与主要的SSD供应商合作开发兼容的AOC SSD产品。 在这些合作中,SSD供应商负责SSD硬件和固件,而阿里巴巴则负责主机端软件。 双方合作共同开发和调试,以减少产品开发和资格认证的时间。 阿里巴巴正在数据中心部署供应商提供的AOC SSD产品,并逐步将AOC SSD部署到阿里巴巴所有的服务器中。

The AOC SSD 的未来计划

作为阿里巴巴下一代存储架构的核心硬件,阿里巴巴有一个关于AOC SSD的长期计划。

近期:供应商提供的AOC SSD产品的大规模部署。

中期:AOC SSD的QLC版本,AOC SSD的超低延迟版本,基于FPGA / GPU进行加速。

长期:新的非易失性存储介质解决,存储/内存计算解决方案。

总结

阿里巴巴开放通道SSD的部署不仅是阿里巴巴下一代存储架构的关键一步,也标志着阿里巴巴从追随者向存储技术领导者转变。 AOC SSD的大规模部署将使阿里巴巴的基础设施受益,使其在支持阿里巴巴的业务创新和全球化方面更具有效的竞争力。