ODCC 服务器工作组、阿里巴巴基础设施事业群架构师周平:自研存储产品和存储应用优化实践

2017/8/23 11:40:11 来源:DTDATA 作者: 分类:会议活动

大家好,我叫周平,来自阿里巴巴服务器研发事业部,现在主要负责自研存储设备的开发。很高兴和大家分享阿里在自研存储产品和应用优化方面的一些实践。




存储对数据中心来说是核心的功能之一,随着现在新的应用的兴起,像人工智能、大数据、云计算、公有云等,使得数据中心对存储设备的需求也日趋多样化。传统说几个简单的指标已经不足以描述设备的需求。这些新的应用对于我们的存储设备提出了新的挑战,这边有几个例子,一个是灵活性和可定制性。我们现在应用的场景非常多元化,单一的标准存储设备越来越难以满足适配不同应用场景的需求。第二个是应用现在越来越追求挖掘存储设备的性能潜力,对于应用来说,往往希望能够最大限度的把设备的性能发挥出来。第三个是在服务方面的需求,我们的业务希望我们能够及时响应线上的问题以及对新功能的需求。另一方面来说,这些新的应用对存储设备也提供了很多的机遇,尤其是对自研存储设备,对阿里的数据规模来说,往往一个应用场景会有几万片甚至几十万片的规模,这样的应用规模才使自研存储产品成为一种可能。另外由于我们数据中心自己有业务,同时又掌握硬件,同时可以实现软硬件联合优化。


回到传统的存储设备,基本上都是标准的通用产品,它的特点,一个是它试图为所有场景或者很多场景来做优化,最后的结果是所有的场景都不是最优的性能,它是严格按照标准来实现的,难以针对某些应用来做定制,可以定制的空间非常小。包括像很多场景用的功能,因为标准的产品都是要follow某个标准,这些功能对它来说就是冗余的。另外还有很大的问题,对于我们来说,标准的设备都是黑盒产品,性能难以绿色,到底内部有哪些问题,技术上也不可控地还有在服务方面,客户支持响应慢,新功能开发周期长。


我们从2016年开始投入自研设备,主要是SSD,我们采用的是从业务驱动的方法,从业务的应用出发,分析应用场景,把需求提炼出来。在产品的设计阶段一直到后期的测试调优阶段,形成这样一个迭代的过程。


自研SSD主要的技术路线有三种,一种是Device-based,对主机端呈现成标准的NMVe设备,好处是通用性比较强。第二种是Host-based,把大部分的功能都移到主机那边实现,设备那边变得非常轻,好处第一是可以把主机端的CPU资源和C-RAN资源利用起来,可以用相对较少的设备上的应用来实现更强的功能,支持更大的容量。另外是主机端的软件相比设备上的要容易调试得多,开发新功能也更加容易,它和应用的结合也比较容易。Host-based有一个局限性,没有一个共用的标准,对于业务来说,它需要用一个非标准的驱动或者一套非标准的用户态的API来适用。另外它把很多细节呈现给主机端软件,所以当我们替换颗粒或者换设备,主机端的软件要相应的做修改,这是它的一些局限性。第三种路线是OpenChannel,我们称它为开放接口SSD。它跟Host-based比较接近,区别是它在主机端和设备之间定义了一套标准的通信接口,它把两边的职责定义清楚,定义了一个通用标准的命令接口,这样就有了更好的通用性,我换一个设备或者换一个颗粒,主机端那边的软件可以不动。思路基本上还是Host-based,大部分工作还是放在主机端实现。这三种技术路线我们都在关注。


自研SSD设备在阿里,我们现在第一代自研SSD,就是现在我们在展出的这款产品,已经于2016年批量上线,经过了2016年双十一的考验,我们下一代自研SSD也正在开发中。总的思路是,我们通过原料直采,主要是颗粒直采,实现软硬件自主可控,针对业务做定制优化,来解决线上响应的问题,同时可以降低成本。


从我们这一年多开发自研SSD产品的实践来看,我们总结出这样几个经验,首先是整个产品的设计是应用驱动的,根据应用场景来设计产品,而不是根据某个标准或者根据某几个指标来设计产品。第二,从产品的规划一直到最后的开发测试,把业务全程都参与进来,及时得到业务的反馈,这样可以让这个产品在设计阶段就能和业务贴近。第三、第四点一样,设计与应用场景结合,把软件硬件整个栈作为整体来优化。第五,全链路白盒化,做到自主可控。第六,我们要根据业务需求自主开发运维工具,而不是只用厂商提供的或者一些开源的工具。因为我们掌握了整个软硬件,整个链条都自主掌控在我们这边,所以我们可以针对业务应用做一些优化和开发一些新的功能,比如通过调整OP降低成本,有些业务可能对性能要求不太高,可以把OP降低来降低成本,比如优化读写路径,还有I/O优先级,不同的分区有不同的I/O有线级,还有原子写操作优化,等等。


最后分享一下我们对数据中心存储设备的发展趋势的想法。我们看来主要有三个趋势,一个是应用驱动,从应用的需求出发来设计产品,另外是自研和定制化,第三点是软硬件上下打通,一起做联合优化。最终目的是达到性能成本服务最佳的平衡。


谢谢大家!

相关资讯

    暂无相关的资讯...

共有访客发表了评论 网友评论

验证码: 看不清楚?