性能爆表!Intel全新处理器可以131072颗互连
扫描二维码
随时随地手机看文章
近日,在美国加利福尼亚举行的Hot CHIPS会议上,Intel展示了一款代号为“Piuma”的具有1TB/s硅光子互连的8核528线程处理器,旨在用于处理最大的分析工作负载。
7nm工艺8核心528线程
据介绍,Piuma芯片基于台积电7nm FinFET工艺制造(如果你不知道的话,Intel在台积电制造了很多非CPU产品,而且已经有很多年了),它有八个核,每个核具有66个线程,总共528线程,晶体管数量超过276亿个。
△芯片中心的一个重要部分专门用于路由器,这些路由器控制从共封装光学器件流入的数据流
需要指出的是,该芯片并不是基于x86架构的,它是专门为DARPA(美国国防高级研究计划局的分层身份验证漏洞(HIVE)程序使用自定义RISC架构构建的。
美国的这项军事举措旨在开发一种图形分析处理器,该处理器能够以比传统计算架构快100倍的速度处理流式数据,同时功耗更低。
虽然这对DARPA来说可能是一件奇怪的事情,但该政府机构认为大规模图形分析在基础设施监控和网络安全方面有应用。
Intel首席工程师Jason Howard在他的Hot Chips演示中指出的应用例子是社交网络,它可以运行图形分析工作负载来了解成员之间的联系。
这项创建大规模并行图形处理和互连芯片项目时间起源于2017年,Intel被选为制造 HIVE 处理器的供应商,麻省理工学院的林肯实验室和亚马逊网络服务被选为基于此类处理器的系统创建和托管万亿边图形数据集以供分析。
虽然Intel曾在2019和2022年对于“Piuma”处理器进行过一些介绍,但是在本周的Hot CHIPS大会上,Intel首席工程师Jason Howard进一步详解了Piuma处理器和系统,其中包括Intel与 Ayar Labs 合作创建的光子互连技术,用于将大量处理器连接在一起。
在2012年,超级计算机制造商Cary推出的XMT系列就是一个巨大的共享内存线程的怪物,非常适合图形分析。
它拥有多达 8,192 个处理器,每个处理器有 128 个以 500 MHz 运行的线程,插入 Opteron 8000 使用的 AMD Rev F 插槽系列 X86 CPU 全部与定制的“SeaStar2+”环面互连捆绑在一起,该互连提供 105 万个线程和 512 TB 共享主内存,供图形发挥作用。
就 Linux 系统而言,这看起来就像一个单一的 CPU。
The nextplatform认为,“Piuma”处理器就像是再次将旧的东西变成新的,虽然处理器本身比较普通,但其使用的硅光子互连技术更好,想必性价比也是如此。
也许Intel会将这个Piuma系统商业化,并真正改变一切。
全新的内存架构设计Jason Howard表示,当Intel开始设计“Piuma”处理器时,从事 HIVE 项目的研究人员意识到图形处理不仅是大规模并行,这意味着可能有一些方法可以利用这种并行性来提高图形分析的性能。
当在标准 X86 处理器上运行时,图形数据库的缓存行利用率非常低,在图形数据库运行的 80% 以上的时间里,72 字节缓存行中只有 8 字节或更少被使用。指令流中的大量分支给 CPU 管道带来了压力,而内存子系统也因依赖负载的长链而承受了很大的压力,这对 CPU 上的缓存造成了很大的影响。
Piuma芯片有四个管道,每个管道有 16 个线程(称为 MTP),还有两个管道,每个管道有一个线程(称为 STP),其性能是MTP中一个线程的8倍。处理核心基于定制的RISC指令集,但是并未明确具体情况。
Jason Howard在他的Hot Chips演示中解释道:“所有的管道都使用自定义ISA,它类似于RISC,是一个固定的长度。” “每个管道都有32个可用的物理寄存器。我们这样做是为了方便您在任何管道之间迁移计算线程。因此,也许我开始在一个多线程管道上执行,如果我发现它花费了太长时间,或者可能是最后一个可用的线程,我可以快速迁移到我的单线程管道上,以获得更好的性能。
STP 和 MTP 单元通过交叉开关连接,并具有组合的 192 KB L1 指令和 L1 数据缓存,并且它们链接到比 L2 缓存更简单的共享 4 MB 暂存器 SRAM 存储器。
每个Piuma芯片都有 8 个活动核心,每个核心都有自己定制的 DDR5 内存控制器,该控制器具有 8 字节访问粒度,而不是像普通 DDR5 内存控制器那样具有 72 字节访问粒度。每个插槽都有 32 GB 的定制 DDR5-4400 内存。
Jason Howard解释说,Piuma芯片所采用的新颖的内存架构,这是优化图形分析工作负载的一个重要内容。这些芯片与32GB DDR5-4400内存配对,通过允许8字节访问粒度的自定义内存控制器进行访问。
根据Jason Howard的说法,这是有利的,因为“每当我们从内存中取出一条数据线时,我们都会尝试利用所有的数据线,而不是扔掉7/8的数据线。”