数据中心、HPC、AI等应用场景互联协议混战哪家强?

2024-05-28 21:12

本文主要是介绍数据中心、HPC、AI等应用场景互联协议混战哪家强?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

生成式人工智能快速发展对算力与存力呈指数需求增长,进一步加剧了算力与存力之间既有矛盾,时代在呼唤更大的运力(即计算与存储之间的数据传输)--AIGC时代需要更大带宽,更为快速的数据传输路径。

众所周知,PCIE是目前所知最为常见的高性能I/O通信协议,但受限于PCIE总线的树形拓扑以及有限的设备标识ID号码范围,致使其无法形成一个大规模网络。尤其在NVMe大规模使用时占用大量的PCIe线路,使其原本就为紧张的通道更显捉襟见肘,同时也限制了GPU、NIC、FPGA/ASIC卡的接入数量。尽管可以使用PCIe Switch来缓解通道数量不够的问题,对于PCIE总线设备ID号的不足,PCIE Switch并没有可以一劳永逸的解决方案。

图片

除此之外,PCIE的设计还存在两个致命的缺陷:存储器地址空间隔离、不支持Cache Coherency事务。PCIE原本设计初衷是地址空间是私有的,它与原有的CPU地址空间不相融合,需要借助地址翻译寄存器来做基地址翻译。尽管这并不影响CPU与PCIE互相访问地址中的数据,但由于PCIE事务层不支持Cache Cohernecy事务的处理,因此PCIE设备端无法缓存CPU地址域中的数据,这直接导致数据通信时的延迟。

为了解决上述问题,英特尔在2019年联合业界推出了Compute Express Link(CXL技术协议)用以加速CPU与GPU以及FPGA等异构结构之间的互联通信。总的说来,CXL基于PCIE技术,通过将设备挂载到PCIe总线上,实现了设备到CPU之间的互联。CXL可以视为PCIE技术的升级版本,因此它兼容现有PCIe端口的处理器(绝大部分的通用CPU、GPU 和 FPGA)。CXL 通过将计算和存储分离,形成内存池,从而能动态按需配置内存资源,提升数据中心工作效率。CXL作为一种新出现的技术,几乎一年一次更新。

图片

在CXL1.0的技术基础上,CXL2.0增加了一个重要的功能:它成功实现了内存资源的池化。通信瓶颈的问题由来已久,随着NVMe硬盘的推出,迟延得到大幅度降低,但是吞吐依然是很明显的缺陷,因此并不能完全替代内存,随着AI/ML等对高速I/O的需求,因此池化成为了最佳选择。CXL2.0的架构支持Memory sharing技术,而这种技术成功突破了某一个物理内存只能属于某一台服务器的限制,在硬件上实现了多机共同访问同样内存地址的能力,能够跨系统设备实现资源共享。目前CXL已经升级到了3.0版本,带宽提升了两倍,支持更复杂的连接拓扑,如通过它使多个Switch互相连接,可以实现上百个服务器互联并共享内存。

而Gen-Z则是除了CXL互联技术之外,在数据中心、高性能计算领域、AI领域等场景的全新数据设备互联协议的另一统治者。Gen-Z的出现主要是为了弥补CXL在服务器节点外部的机架层级,远距离传输和大规模拓扑互联场景的缺陷。值得一提的是,在2022年Gen-Z 联盟同意接入CXL 技术协议,两个联盟实现了协议兼容。

英伟达也推出了其自主研发的NVLink技术,NVLink同样提供高带宽,适用于连接NVIDIA GPU。NVLink也支持GPU之间的内存共享,优化了大规模并行计算的性能,在GPU之间的通信中具有更低的延迟。NVLink可以支持CPU-GPU间链路也可以支持GPU-GPU间链路。除此之外,英伟达还研发了自己的 NVLink Switch,支持搭载16个GPU+NVLink Switch,不过价格昂贵。

CXL擅长于计算相关的数据处理,如数据中心、人工智能、科学计算等应用领域,具备更高的灵活性与高性能,而NVLink主要用于连接NVIDIA GPU,在图形处理和深度学习等领域表现出色。

其实在最初为了解决 CPU 和设备、设备和设备之间的内存鸿沟,IBM就率先推出了CAPI(Coherent Accelerator Processor Interface)接口,但由于IBM在数据中心设备占比率低与日渐式微的影响力,CAPI并没有得到大规模的使用,而后又演变了逐渐演化成了OpenCAPI。而后ARM又加入另一个开放的访存和I/O网络平台(CCIX)Cache Coherent Interconnect for Accelerators。总而言之,在研发推出的时间上:CAPI->GenZ->CCIX->NVLINK->CXL。

尽管解决处理器与内存之间通讯瓶颈之路永无止境,但我们可以清晰预见在不远的将来,随着CXL技术的发展,内存资源彻底池化,服务器的外观形态将会发生根本的变化,存储和处理器会被分离开来,放在彼此独立的机箱内。

这篇关于数据中心、HPC、AI等应用场景互联协议混战哪家强?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1011704

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi

Spring Security 前后端分离场景下的会话并发管理

《SpringSecurity前后端分离场景下的会话并发管理》本文介绍了在前后端分离架构下实现SpringSecurity会话并发管理的问题,传统Web开发中只需简单配置sessionManage... 目录背景分析传统 web 开发中的 sessionManagement 入口ConcurrentSess

Python多线程应用中的卡死问题优化方案指南

《Python多线程应用中的卡死问题优化方案指南》在利用Python语言开发某查询软件时,遇到了点击搜索按钮后软件卡死的问题,本文将简单分析一下出现的原因以及对应的优化方案,希望对大家有所帮助... 目录问题描述优化方案1. 网络请求优化2. 多线程架构优化3. 全局异常处理4. 配置管理优化优化效果1.