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

大禹智芯王昕溥:从DPU看DSA发展 | GAIR 2021】雷峰网按:2021年12月9日-2021年12月11日 , 2021第六届全球人工智能大会(GAIR2021)于深圳正式召开 。 历经五年 , 见证数次潮水的转向 , 成为目前为止粤港澳大湾区人工智能领域规模最大、规格最高的学术、工业和投资领域跨界盛会 。
GAIR2021“集成电路高峰论坛:国产高端芯片之路” , 集聚来自学术界、产业界和投资界的15位大咖 , 探讨了国产高端芯片的实力以及RISC-V带给中国芯片的机会 。
大禹智芯CTO王昕溥带来了《从DPU看DSA发展》主题分享 。 作为国内首家专注于提供DPU产品和服务的公司 , 大禹智芯团队有着深厚云计算场景的软硬件开发经验 。 本次演讲 , 王昕溥从软件人员的角度 , 分享了当年DSA的经验 , 以及对DPU发展的思考 。
大禹智芯王昕溥:从DPU看DSA发展 | GAIR 2021
文章图片
大禹智芯CTO王昕溥↑
以下是王昕溥在GAIR2021上的演讲内容 , 雷峰网对其进行了不改变原意的编辑整理:
与DSA的第一次接触
与DSA的第一次接触可以追溯到大约十年前 , 某互联网头部企业的底层技术架构刚开始建设就遇到在国内没有先例的情况 。 当时的互联网还处于较早期 , 所有的网站还是HTTP的 , 这导致涉及到交易的业务很容易被攻击 , 为了提高安全性 , 全站HTTPS的网站因此而建立 。 当时在国内这是先例 , 也因此遇到了别人没有遇到的问题 。 HTTPS建立连接过程中的非对称加密算法会消耗大量的CPU计算资源 , 这是我们当时面临的主要挑战 。
早期互联网企业数据中心网关用的是国外厂商的专用设备 , 它们在解决RSA算法方面性能表现优良 , 但也存在一些缺点:第一个是扩展性很差 , 远远跟不上互联网业务的发展速度;第二是成本非常高 , 不利于后续的规模化扩展 。
在面对这个问题时 , 第一步的解决方案是采用标准的方法 , 即用标准的X86服务器运行软件 , 通过这种方式替换掉硬件设备 。 实际效果比较好 , 可以用四台服务器替换掉一台专用设备 , 扩展性提高很多 。 但随着业务规模的不断发展 , 这样的架构就遇到了性能瓶颈 , 随之将导致机器规模增长过快 , 这从成本和运维工作量上都是不可接受的 。
所以当时找到头部芯片厂商定义了一个新的芯片 , 生产了一个新的板卡 , 这就是后来的QAT 。 在芯片厂商定制芯片的基础上 , 我们做了大量的软件开发工作 , 从最上层用的NGINX到OpenSSL库 , 把算法函数拆成完全异步化 , 才能把任务分发到下面的硬件上去 。 同时OpenSSL库本来是一个单线程的库 , 但因为硬件是个多核产品 , 所以需要将其改成并行化的库 , 才能把整个硬件的性能完全发挥出来 。 再往下是板卡本身的驱动层 , 大家一起在这条路径上做了大量的软件开发工作 , 最终圆满完成任务 。
虽然当时我们没有从芯片视角看待这个问题 , 更多是软件人员的视角、软硬件结合的视角来理解 , 但从今天的视角看 , 这个从需求到定义再到上线的完整过程 , 就是典型的专用领域芯片的案例 。
硬件 , 软件 , 算法的相互促进
大禹智芯王昕溥:从DPU看DSA发展 | GAIR 2021
文章图片
革命性的新硬件对计算机具有带动性发展作用 , 如CPU、多核、多队列到后来的IOMMU 。 同时 , IDC带宽则从百兆向千兆、万兆到现在的100G发展 。 这些发展随之而来给软件带来非常大的挑战:如何把硬件的性能发挥到极致就是软件人员要做的事情 。
在我们刚工作的时候 , 网络处理方面有一个很著名的问题——C10K , 就是“怎么在一台服务器上处理并发10000个连接” 。 这在当时带动了软件的一股潮流 , 主要代表就是用事件驱动模型代替线程池模型 。 几年后就变成C10M的问题 , 规模又有了1000倍的增长 。 而当中最典型的技术如DPDK , 使用更多直接操作硬件的资源 , 软件也在不断地更新 。 到这个阶段 , 仅靠纯软件已经没办法完成目标 , 所以业界陆续出现通过硬件加速实现成熟算法的解决方案 , 如网卡、硬件加速的芯片 , 通过硬件化实现加密解密、拆包解包、拆封装、解封装等功能 。