您现在的位置是:首页 > 芯片芯片

大禹智芯王昕溥:从DPU看DSA发展 | GAIR 2021

查看 cc博主 的更多文章cc博主2021-12-21【芯片】523人已围观

雷峰网按:2021年12月9日-2021年12月11日,2021第六届全球人工智能大会(GAIR 2021)于深圳正式召开。历经五年,见证数次潮水的转向,成为目前为止粤港澳大湾区人工智能领域规模最大、规格最高的学术、工业和投资领域跨界盛会。

GAIR 2021 “集成电路高峰论坛:国产高端芯片之路”,集聚来自学术界、产业界和投资界的15位大咖,探讨了国产高端芯片的实力以及RISC-V带给中国芯片的机会。

大禹智芯CTO王昕溥带来了《从DPU看DSA发展》主题分享。作为国内首家专注于提供 DPU 产品和服务的公司,大禹智芯团队有着深厚云计算场景的软硬件开发经验。本次演讲,王昕溥从软件人员的角度,分享了当年DSA的经验,以及对DPU发展的思考。

大禹智芯王昕溥:从DPU看DSA发展 | GAIR 2021 第1张

大禹智芯CTO王昕溥↑

以下是王昕溥在GAIR2021上的演讲内容,雷峰网(公众号:雷峰网)对其进行了不改变原意的编辑整理:

与DSA的第一次接触

与DSA的第一次接触可以追溯到大约十年前,某互联网头部企业的底层技术架构刚开始建设就遇到在国内没有先例的情况。当时的互联网还处于较早期,所有的网站还是HTTP的,这导致涉及到交易的业务很容易被攻击,为了提高安全性,全站HTTPS的网站因此而建立。当时在国内这是先例,也因此遇到了别人没有遇到的问题。HTTPS建立连接过程中的非对称加密算法会消耗大量的CPU计算资源,这是我们当时面临的主要挑战。

早期互联网企业数据中心网关用的是国外厂商的专用设备,它们在解决RSA算法方面性能表现优良,但也存在一些缺点:第一个是扩展性很差,远远跟不上互联网业务的发展速度;第二是成本非常高,不利于后续的规模化扩展。

在面对这个问题时,第一步的解决方案是采用标准的方法,即用标准的X86服务器运行软件,通过这种方式替换掉硬件设备。实际效果比较好,可以用四台服务器替换掉一台专用设备,扩展性提高很多。但随着业务规模的不断发展,这样的架构就遇到了性能瓶颈,随之将导致机器规模增长过快,这从成本和运维工作量上都是不可接受的。

所以当时找到头部芯片厂商定义了一个新的芯片,生产了一个新的板卡,这就是后来的QAT。在芯片厂商定制芯片的基础上,我们做了大量的软件开发工作,从最上层用的NGINX到OpenSSL库,把算法函数拆成完全异步化,才能把任务分发到下面的硬件上去。同时OpenSSL库本来是一个单线程的库,但因为硬件是个多核产品,所以需要将其改成并行化的库,才能把整个硬件的性能完全发挥出来。再往下是板卡本身的驱动层,大家一起在这条路径上做了大量的软件开发工作,最终圆满完成任务。

虽然当时我们没有从芯片视角看待这个问题,更多是软件人员的视角、软硬件结合的视角来理解,但从今天的视角看,这个从需求到定义再到上线的完整过程,就是典型的专用领域芯片的案例。

硬件,软件,算法的相互促进

大禹智芯王昕溥:从DPU看DSA发展 | GAIR 2021 第2张

革命性的新硬件对计算机具有带动性发展作用,如CPU、多核、多队列到后来的IOMMU。同时,IDC带宽则从百兆向千兆、万兆到现在的100G发展。这些发展随之而来给软件带来非常大的挑战:如何把硬件的性能发挥到极致就是软件人员要做的事情。

在我们刚工作的时候,网络处理方面有一个很著名的问题——C10K,就是“怎么在一台服务器上处理并发10000个连接”。这在当时带动了软件的一股潮流,主要代表就是用事件驱动模型代替线程池模型。几年后就变成C10M的问题,规模又有了1000倍的增长。而当中最典型的技术如DPDK,使用更多直接操作硬件的资源,软件也在不断地更新。到这个阶段,仅靠纯软件已经没办法完成目标,所以业界陆续出现通过硬件加速实现成熟算法的解决方案,如网卡、硬件加速的芯片,通过硬件化实现加密解密、拆包解包、拆封装、解封装等功能。

但仍然有一些无法实现成功硬件化的例子,比如说TCP/IP协议。其实,有不少人在做TCP/IP协议硬件化方案——TOE方案,但因为方案无法固定下来,一直没有在这方面形成潮流。一方面是因为TCP/IP协议的复杂度,而主因则在于人们还在不停地改善它,甚至想要推翻它。

芯片领域和计算机架构体系有很多定律在说类似的事情。比如说贝尔定律——每隔十年就有一波新技术的创新;牧村定律——每隔十年芯片的研发都会在标准化和定制化之间波动。而我们今天还面临一些更复杂的情况,例如国产化的浪潮,这也是几十年的机遇,在这个过程中,需要我们更多地自主掌握关键技术,共同推进国产化浪潮的前进。

之前我分享的例子,在当时对业界产生了一定的影响。最直接的影响是专用设备开始退出互联网公司的IDC市场,转向专注于服务银行和企事业单位,并且在2019年进行软件服务转型。OpenSSL库的patch被社区所接受,变成专用的加密算法offload接口,芯片厂商也继续丰富和增加它的性能,现在已经不是专门的芯片和板卡,而是被集成在CPU里面,逐渐变得通用化。

为此,对于专用领域芯片,我们认为有几个未来的发展方向:

  • 一是从实际需求出发,由场景使用方的客户提出定制需求,芯片等硬件厂商按照客户需求定义、设计和生产芯片,加快芯片商业化落地的速度;作为客户来说,只要能够符合需求,就一定会投入使用,这对硬件研发来讲是一个很大的保证。

  • 二是重视软件,发展生态。从正面说,因为我们进行了大量的软件开发工作,才能够将硬件使用起来。从反面来讲,没有软件研发能力,即使已经有了成功案例,仍然可能没办法使用一些专用的芯片或者硬件。

  • 三是现在做专用领域芯片都会面临的问题,是适用面定义宽窄之间的选择。以FPGA为例,互联网公司曾经设有大规模团队做FPGA优化AI算法,但市面推出新的GPU后,团队就被解散了,这也是专用领域芯片面临的一个典型问题:因为应用领域比较窄,可能技术红利期短,可能整体的效益少,也可能还赶不上研发投入,最后没有实现大规模应用。

对DPU的一些思考

大禹智芯王昕溥:从DPU看DSA发展 | GAIR 2021 第3张

而说了以上几点后,接下来我讲一下大禹智芯为什么要做DPU。DPU是非常新的东西, 它是专注于对流动数据进行处理的芯片。大禹智芯成立于去年6月份,当初下决心做DPU的时候,听说和了解DPU的人还很少。作为云计算出身的团队,我们是国内最早尝试DPU产品的一批人,DPU厂商定义芯片的时候都跟我们进行了很多的探讨。但当我们拿到产品后发现使用效果远未达到预期甚至不可用,主要原因就是上面定义的软件架构是硬件公司想象出来的客户需求,不是我们想要的。

鉴于上述过往的经历,大禹智芯选择从使用者的角度,从上到下定义DPU产品,缺少什么环节就补足什么环节,缺少软件就做软件,缺少硬件就做板卡,如果没有合适的芯片就定义合适的芯片。因此,在我们自研芯片还没有出来之前就推出了两代的自研DPU产品,通过这两代产品为芯片定义积累场景和经验,同时为不同场景用户的使用创造和提供价值。

另外,DPU的关键还在于软件。作为硬件,它对软件的依赖要超过很多硬件产品。DPU不同于如网卡的硬件,后者驱动对上就能用,上层的事情都被驱动和协议栈操作系统屏蔽掉。而DPU会承载用户大量的业务需求,如云计算方面的网络虚拟化、存储虚拟化、对服务器的管理和安全管控等任务,所以DPU对软件要求很高。

另外,得益于芯片产业上下游的发展和提升,DSA芯片的门槛在降低,专用领域的芯片设计难度相比通用芯片较低。把芯片定义准确,再依靠上下游力量,相关技术公司是完全有能力研发出一款成功的专用领域芯片。

从市场需求来看,互联网上的带宽每六个月翻一番,远远快于摩尔定律CPU每18个月翻一番的速度,而且现在摩尔定律也不能跟上这个速度,市场亟需DPU这种负责处理流动的数据让网络加速的产品,DPU也可以理解为应时代所需而出现的创新型硬件。

我们认为,DPU将会扮演更重要的角色,像CPU和GPU一样是开创时代的创新型硬件,并长久地发展下去。DPU不仅局限在大规模云计算和数据中心,云计算也不是DPU唯一的场景,未来的5G和边缘计算领域也同样重要,和云计算一起并列的三大场景,DPU一定会有更多的市场机会。

在最后,针对于十年前的案例,我做一些补充。当年在找芯片硬件厂商合作前,市面上有一款专用的现成产品可以满足业务场景的需求。但是因为价格太高,无法大规模采购,才选择了合作定义新的芯片。这是一个产品满足需求,但最终却没有进入市场的例子。

而之前跟芯片厂商合作的QAT在这两年也不再被互联网大厂所使用,不是因为QAT性能满足不了需求,而是因为需求已经消失。在过去的Web端时代,浏览器产生很多新建请求,尤其是新建请求握手时会有大量算法需求。但在如今的移动端时代,手机APP仅需维持一两个长连接,无需太多新建请求。而新版的SSL协议,算法要求也有很大变化,对RSA非对称加密没那么多需求, CPU就可以满足对应需求。这时候QAT发挥的作用就大大降低。

当下是一个非常好的时代。从牧村定律来看,专用芯片都开始蓬勃发展;大家希望能够出现一款贝尔定律中开启下一个时代的硬件产品,这可能是5G,或是别的产品,我们也坚信会出现这样的硬件。在如今大的产业背景之下,国产化也迎来了新开端,在结合各种定律和周期,让做软件、做应用的人也积极加入芯片行业的队伍中,一起为国产芯片的发展做一些自己的贡献,这也必将助力国产化之路新浪潮的形成。

Tags:

文章评论

加入组织
广告

   有免费节点资源,我们会通知你!  加入纸飞机订阅群  

×
天气预报查看日历分享网页电报扫码留言评论Telegram