编者按
今天这篇文章有给Intel做广告嫌疑,但我真的一分钱没收:)。
软硬件融合逐步深化并体系化后,逐渐形成很多观点。比如超异构计算,比如开放生态,比如“软件定义一切,硬件加速一切”,比如完全可编程等等。当这些观点想去寻求共鸣的时候,发现Intel已经在做了很多相关的布局。
看了之后,唯有点赞。
上图节选自软硬件融合幻灯片,文章末尾有下载方式。
2019年3月27日,英特尔中国研究院院长宋继强在2019新智元AI技术峰会上,针对未来多元化的计算需求问题,做了题为《AI计算迈入超异构时代》的精彩演讲。
Intel认为超异构计算拥有三大要素:
Intel进一步提出要用六个不同的技术支柱来应对未来数据的多样化、数据量的爆发式增长,还有处理方式的多样性。这六大技术支柱就是:制程和封装、架构、内存和存储、互连、安全、软件。它们是互相相关、紧密耦合的。Intel认为:这六大技术支柱会带来指数级的创新,也是英特尔未来十年甚至未来五十年的主要驱动力。
数据爆炸时代来临,使用单一架构来处理数据的时代已经过去。爆炸的数据规模:个人互联网用户每天产生约1GB数据,智能汽车每天约50GB,智能医院每天约3TB数据,智慧城市每天约50PB数据。
数据的数量和多样性令人震惊,而且数据处理的地点、时间和方式也在迅速变化。无论工作任务是在边缘还是在云中,不管是人工智能工作任务还是存储工作任务,需要有正确的架构和软件来充分利用这些特点。Intel在努力为开发人员提供硬件架构和软件的正确组合,以便为他们的特定用例构建最佳解决方案:
以最低的功耗处理最多的数据一直是大多数计算架构的目标。近年来,还有一个重要的考虑因素是时间。数据的价值转瞬即逝,如果没有在正确的时间处理这些数据,它就会变得毫无价值。开发人员在硬件中寻找一些关键特性,并且架构师努力提供这些特性。它们具有高性能、低延迟和低功耗。
不幸的是,数据的多样性,使得不再有一种万能的架构。专业架构表明,它们可以根据需要优化性能、功率或延迟,但为游戏GPU获得适当的平衡与电池供电的安全摄像头所需的平衡大不相同。随着数据类型和工作任务的多样化,架构也在不断发展。创建针对更广泛工作负载的广泛架构的能力是英特尔 XPU 战略的精髓。
为正确的应用程序提供正确的架构对于客户的成功至关重要。CPU及其通用计算能力的广泛适用性是XPU战略的核心。Intel还提供已经成功的GPU、FPGA、VPU和其他架构类型阵容,以满足当今和未来存在的大量不同工作负载的处理需求。
不过,拥有多种架构只是其中一部分。更大的挑战是快速确定哪种架构最适合所需的工作负载。评估工作负载的最佳方式是在不同架构上尝试该工作负载并进行比较,但架构之间的迁移过程可能非常耗时且容易出错。oneAPI,是一个跨行业、开放、基于标准的统一编程模型。使用 oneAPI,开发人员可以自由选择最佳架构来满足他们的工作负载/应用程序需求,同时使用跨多个架构的单一代码库。这使开发人员能够最大限度地提高跨架构性能并最大限度地降低开发成本,同时还让他们能够自由地在不同的 XPU 架构中公开和利用尖端功能。
Intel 芯片版本的IPU代号为Mount Evans。关键特征:16核ARM N1,P4可编程网络包处理DSA,RDMA/RoCEv2。
IPDK(Infrastructure Programmer Development kit,基础设施编程开发套件)是一个社区驱动的、目标无关的用于基础设施层的编程框架,IPDK可以运行在CPU、IPU、DPU或交换机。
IPDK的标准接口:
IPDK三个特点:
开放可编程基础设施项目OPI(Open Programmable Infrastructure Project)的目标是为基于 DPU/IPU 类技术的下一代架构和框架培育一个社区驱动的基于标准的开放生态系统。
2022年3月15-16日,由Redhat,Intel和F5发起的Open Programmable Infrastructure Event,邀请了产业界的相关公司共同探讨PU/DPU软件生态建设。大会的主要参与者可以分为几类:芯片厂商Intel, Marvell,服务器厂商Dell,云服务系统软件厂商Red Hat, VMware,网络设备厂商Cisco, F5,混合云厂商IBM,网络服务厂商Meta(Facebook),网络测试仪器厂商Spirent, Keysight(IXIA),通信设备商Ericsson,分布式存储初创公司Lightbits, MLops初创公司Nutanix。
但作为IPU/DPU的主要目标客户,公有云服务厂商没有一家在大会上露面。可能因为公有云厂商在忙着构建自己的软件协议栈,对于构建统一的IPU/DPU软件生态兴趣不大。
NVIDIA应该是想在自家的DPU上推广DOCA软件平台,暂时还没有参与OPI项目。
复杂系统,是由分层分块的一个个工作任务组成的。
系统的工作任务,可以大体上分为三类:
上图是Intel对整个未来网络演进趋势的看法:从云数据中心、核心网、接入网、边缘计算甚至终端设备,都会演化成完全“软件定义的可编程网络”。
当然,只是可编程的网络还不够。对数量众多的计算节点来说,对用户来说,完全可编程的计算(网络、存储等其他各类处理都可以归结到计算)才是更本质的,数据中心逐渐进入完全可编程时代。
CPU、GPU和DPU是一个协同的关系;AI处理器通常归属到应用加速,可以看做是和GPU在同一个位置。但是,这并不是说,一定要三个独立的芯片来协同工作。现在Chiplet技术流行可以做更大的芯片,并且大部分场景还是轻量一些的场景,把CPU、GPU和DPU整合成一颗芯片是必然发生的事情。
CPU、GPU和DPU的整合会是趋势,但如果只是简单的把三者拼到一起,那还不够。还需要一个全新的架构来整合各类处理引擎。使其能够充分协同起来,更加高效的工作。所以,CPU、GPU和DPU未来的界限会模糊,形成新的超异构处理器。
如2,2节的分析,Intel已经实现了各类引擎和对应框架的全覆盖:
或许就在不久的未来,等这些拼图逐渐成熟之后,就会整合到一个平台和生态:统一的超异构处理芯片和统一的超异构开发框架。
各种处理器引擎的金字塔和倒金字塔分层特征:
超异构计算必须要开源开放的生态,原因如下:
学过计算机基础知识的人都知道,系统基本分三层:硬件、系统软件、应用软件。最核心的系统软件必然是操作系统,但涉及到在硬件运行的软件开发,最核心的还是框架。框架包括编译器、各类开发库,参考设计等。可以说,框架是承上启下,连接硬件和最终具体的应用。
一个得到广泛认可的、开源开放的框架,是超异构能否成功的关键。谁主导开源框架,谁就占据主动。Intel从IPU开始,构建了开放的IPDK框架,并发起了OPI联盟。在一点点构建其超异构计算帝国的宏伟大厦。
不谋全局者,不足谋一域;不谋万世者,不足谋一时。Intel的超级战略布局,无出其右。
参考文献:
(正文完)