2019年6月25日,由浪潮与OCP开放计算社区联合主办的首届OCPChina Day(开放计算中国日)在北京正式开启。本届 OCP China Day聚焦人工智能、边缘计算、OpenRack、OpenRMC、SONiC、OAM等前沿技术话题,来自Facebook、LinkedIn、Intel、微软、百度、腾讯、阿里、诺基亚、中国移动、浪潮等资深技术专家分享了最新技术进展。近千名工程师和数据中心从业者参加了此次大会。

OCP是全球大的开放硬件社区,2011年由Facebook发起成立,其宗旨是以开源开放的方式,重构当前的数据中心硬件,发展面向下一代数据中心的服务器、存储、网络、基础设施等创新硬件。目前,OCP核心会员超过200家。

微软于2014年加入了OCP开放计算项目,是该组织交换抽象接口(SAI)项目的创始成员和贡献者。在本次OCP China Day上,微软亚洲研究院首席研究员张霖涛先生以《The Co-Evolution of Data Center Hardware and Systems Software》为题进行了分享。

7

微软亚洲研究院首席研究员 张霖涛

以下为大会演讲实录:

主持人:下一位嘉宾是来自微软的,微软在OCP的影响举足轻重,我们今天非常荣幸的邀请到微软亚洲研究院首席研究员张霖涛先生。

微软亚洲研究院首席研究员张霖涛张霖涛:今天我跟大家谈一谈系统和硬件,我是在软件方面比较专长,做研究做的比较多,今天是我个人第一次参与到OCP这个大会中,我自己也非常激动。大家都知道我们需要很多系统软件,这样才能更好的应用数据中心里面各种各样的硬件,我们做软件已经做了很长时间了,而且我们有很多非常经典的运行软件,数据中心软件和存储等等相应的软件,很多系统软件都是上世纪70年代做的,所以很多那个时候做软件设计时候的概念和原则性的设想还在影响着当今的软件设计,那个时候他们做了很多假设,比如CPU是中心的处理单元,他们在那个年代做软件时候的设想,他们觉得硬盘比较慢,在内存这边,会把内存做相关的分级,比如缓存、磁盘分验等等。

但是在数据中心这一块,特别是数据中心的硬件,他有很多变革,这些新的技术与之前我们的系统运行软件设计做的假设完全不同了,在现在的数据中心里,这些假设已经不是真的了,比如I/ O,现在I/O很快。

包括400Gb的以太网未来都会很快出来了,还有内存这一块,现在它的变化都非常大。我们现在可以承受几十Gb每秒的处理数据,如果我们现在还遵循原来的假设说I/ O是慢的,就没有办法设计现在数据中心适用的软件了。还有一个趋势,有专用领域的硬件设计,还有一些相关的计算资源,他有一些专用的目的,它的发展非常快,其实大家知道CPU的性能增加现在是比较稳定的,我们CPU的整个增加已经没有以前我们预想的那么快,已经不遵从摩尔定律了,有专用目的的计算资源,他的增长更加符合原来的摩尔定律,现在越来越多工程师的工作经历放在有专用领域的计算资源,CPU和加速器的角色不一样了,我们的原则也有一些改变。

之前百度的发言人也提到,数据中心我们会用智能网卡,为什么大家会用到智能网卡,左边是传统概念,大家觉得CPU在中心,所有计算都要经过CPU,CPU来分配计算资源,现在我们智能网卡也到了整个计算池中的核心,所以我们就变成了智能网卡,上面是FPGA,智能网卡可以做分配和加速器等计算资源。

另外还有一个大家在考虑的事情,要绕过kernel,很多时候我们愿意开发一个OS操作系统,用OS是为了保护硬件的安全,包括绕过硬件相应的短板,往往所有的文件系统访问,和Network的I/ O都是通过运行软件的Kernel内核,他会导致很多资源耗费。

上面是我对现在趋势的一些背景介绍,我也想跟大家分享几个我们现在所做的研究项目,或者是一些例子,因为我是做研发的,所以在接下来的一段时间还会有一些微软的同事介绍生产环境的,我给大家介绍研发的案例,怎么解决硬件软件的问题。

第一,KeyvalueStore,在数据中心里Key valueStore是重要的部分,传统是用云里的缓存,比如把一个网页或者访问结果做缓存,但是现在Key valueStore已经成为数据中心关键的设施了,因为它用来传输不同的图形处理器和其他相关的计算资源之间的沟通,所以现在Key valueStore有一些其他的特性要求,比如我们要求它要有更大的通量。

所以我们现在的缓存基本上对于现在的数据架构是需要的,另外我们还需要其他的运营系统,这样可以作为非常好的数据架构使用。传统而言,大家做了存储非常多的架构,比如他做了非常好的优化,人们传统的方式是使用了Kernel TCP的方式,后来他们又做了Kernel ByPass的方式,当然我还需要使用CPU,因为CPU作为计算的主要引擎,内存本来应该有更好的负载,所以它相当于是CPU成为一个瓶颈了。

最后大家觉得我们把CPU直接绕过,最后直接在客户端进行一个运算,很显然我们有各种不同的客户,我们把他们到同样的线上进行协调,我们基本上要使用Smartnet的键,Smartnet把CPU的工作负载放在NIC上面,在微软上面用NIC进行加速,在这样一个方式中可以使用新的硬件,实际上完成的还是老的任务。

我们看一下关于KV-Direct的架构,它不是通过CPU,它是通过CPU绕过的方式实现的,我们所做的是要把整个堆站放在上面,CPU仅仅是用了一个非常小的工作负载,比如存储的一部分,还有垃圾箱等等非常小的负载。

我不打算讲这些细节了,我想说的是他的绩效非常棒,我们可以看到它已经实现了硬件的高值,能到这个图中的基本上间值已经达到最佳,而且可以扩展,它的扩展是线性的,我们可以做非常好的部署。

我们来看一下它和之前方式的对比,如果你看一下绩效,我们可以看到间值存储要比现在的解决方案好的多。我们经常开玩笑说仅仅用了这么小的工作包就可以支持整个网上的浏览,我们对于KV-Direct到底有什么样的好处,他是利用了SmartNIC的硬件执行KV,CPU仅仅是运维控制了,并且硬件的绩效已经到了顶峰,两年之前已经可以做到这样了。很多工作负载可以以这个方式进行改变,比如DIN、媒介、存储、运维等,是经过数据中心的工作负载处理的方式,我们用了SmartNIC作为主要指标。

Socket是一个老概念了,大约50年前就有了,它比较复杂,他要支持安全以及语义等等,所以我们现在看到关注在Socket的麻烦是它在linux上运行,它的绩效比较低,花了特别多CPU的空间,我们能够看到的,对于Socket大约是占了80%到90%的CPU空间,而且他还浪费了很多网络的空间,所以我们把自己的硬件空间也都浪费掉了,我们在这里所要做的一个事情就是能够有一个非常本地的Socket,它和硬件RDMA以及多核有更好的融合,同时我们还能够让Socket是分离的,来保证它的安全性。

我们所做的事情是多核的,我们在用户那里,这个核可以进行协调工作,如果我们两个Kernel之间想进入通话会提出相关要求,这个要求将被发出去,会出现一个事件,最后事件的原数据就拿到了Kernel 2中,听起来非常简单,为什么大家之前没有这么做,因为其中一个主要原因,他在计算机语义学方面,Socket的复杂性,如果对于其他的线程而言比较容易进行分享,但是他可能会危及到安全,所以我们看到Socket能够支持关于数据传输的各样需求,所以我们能够让RDMA的绩效表现的更好,如果在同一个主机中可以分享一个内存,这就和我们现在的数据中心的样子非常切合,因为现在大家有特别多的容器,它们彼此之间需要交流。关于SocketDirect的绩效我不多说了,你可以看到这个图中绩效提升非常大,如同我们看到的,它仅仅受到了硬件的限制,几乎可以将硬件的潜质发挥到大,我们的系统对于硬件能做到的事情非常核心,而且也可以在计算机语义学上得到支持,而且传统的应用都可以在Socket上跑。

还有一个STB的服务器,他也可以支持各种运营的环境,这就是关于SocketDirect能够给我们带来的非常好的表现,绩效的提升,用了RDMA,这样才能更好的使用这些方面的优势。现在的数据中心硬件和50年前非常不一样,比如我们的手机,可能他目前在系统的假设方面还是非常想像的,但是对于我们的数据中心的运营已经有非常不一样的运行了,对于微软而言,尽管我们是软件公司,但是我们在硬件方面也贡献良多,包括在硬件的可行根方面也做了非常多的工作,我们特别希望整个社群一起共同工作,以便对于我们的软件层的设计达成在标准方面的一致。

我想的是硬件和软件系统必须一起演进,才能更好的利用新的硬件方面的科技。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2024-01-09 16:53:00
市场情报 中兴通讯分布式存储+ DPU,加速数据中心转型
存储技术在不断地创新、完善、加速演进,以更好地满足业务的存储需求,但同时也使得存储协议和文件系统越来越繁重。 <详情>
2023-11-17 10:35:56