摘要:在当今的技术领域中,我们面对着众多挑战和机遇。从LLAMA、LM、AIGC、CHATGLM到LLVM、LLM、LLMs、GLM,我们见证了语言模型的快速发展。NLP和ChatGPT等技术正在推动自然语言处理的进步。而A100、H100、H800、A800等GPU显卡则为大规模模型训练提供了强大的算力支持。AGI的实现成为我们追求的目标,而HPC、GPU、CPU、CPU+GPU等多元异构算力则成为实现这一目标的关键。蓝海大脑超级大模型训练GPU集群为通用人工智能新纪元带来了新的可能性,使得大型语言模型的训练变得更加高效和可行。在这个充满挑战和机遇的领域中,我们不断探索和创新,为通用人工智能的实现努力着。
2023年科创圈的顶尖技术无疑是大模型,据科技部新一代人工智能发展研究中心发布的《中国人工智能大模型地图研究报告》显示,我国已发布79个参数规模超过10亿的大模型,几乎形成了百模大战的局面。在大模型研发方面,中国14个省区市都在积极开展工作,其中北京拥有38个项目,广东拥有20个项目。
目前,自然语言处理是大模型研发最活跃的领域,其次是多模态领域,而在计算机视觉和智能语音等领域大模型相对较少。大学、科研机构和企业等不同创新主体都参与了大模型的研发,但学术界和产业界之间的合作研发仍有待加强。
随着人工智能大模型参数量从亿级增长到万亿级,人们对支撑大模型训练所需的超大规模算力和网络连接的重要性越来越关注。大模型的训练任务需要庞大的GPU服务器集群提供计算能力,并通过网络进行海量数据交换。然而,即使单个GPU性能强大,如果网络性能跟不上,整个算力集群的计算能力也会大幅下降。
一般认为HPC 系统的运行速度通常要比商用台式机、笔记本电脑或服务器系统快一百万倍以上。当我们谈论高性能计算时,性能一般是指计算系统及时处理大量数据或进行复杂计算的能力。 HPC 系统通常设计用于处理极大的工作负载并高速执行计算,非常适合科学研究、金融建模和其他计算密集型任务等应用程序。在衡量 HPC 系统的性能时,通常会考虑处理器性能、内存性能、I/O性能及网络性能等因素。
多元算力:CPU+GPU
ChatGPT广受欢迎使得智算中心的关注度再次上升,GPU同时也成为各大公司争相争夺的对象。GPU不仅是智算中心的核心,也在超算领域得到广泛的应用。根据最新一届TOP500榜单(于2023年5月下旬公布)显示:
使用加速器或协处理器的系统从上一届的179个增加到185个,其中150个系统采用英伟达(NVIDIA)的Volta(如V100)或Ampere(如A100)GPU
在榜单的前10名中,有7个系统使用GPU,在前5名中,只有第二名没有使用GPU。
当然,CPU仍然是不可或缺的。以榜单前10名为例,AMC EPYC家族处理器占据4个位置,英特尔至强家族处理器和IBM的POWER9各占据2个位置,而ARM也有1个位置(富士通A64FX)位居第二位。
通用算力和智能算力相辅相成,可以满足多样化的计算需求。以欧洲高性能计算联合事业(EuroHPC JU)正在部署的MareNostrum 5为例:基于第四代英特尔至强可扩展处理器的通用算力计划将于2023年6月开放服务,而基于NVIDIA Grace CPU的"下一代"通用算力以及由第四代英特尔至强可扩展处理器和NVIDIA Hopper GPU(如H100)组成的加速算力,则计划于2023年下半年投入使用。
一、GPU:大芯片与小芯片
尽管英伟达在GPU市场上占据着统治地位,但AMD和英特尔并未放弃竞争。以最新的TOP500榜单前10名为例,其中4个基于AMC EPYC家族处理器的系统中,有2个搭配AMD Instinct MI250X和NVIDIA A100,前者排名较高,分别位居第一和第三位。
然而,在人工智能应用方面,英伟达GPU的优势显著。在GTC 2022上发布的NVIDIA H100 Tensor Core GPU进一步巩固其领先地位。H100 GPU基于英伟达Hopper架构,采用台积电(TSMC)N4制程,拥有高达800亿个晶体管,并在计算、存储和连接方面全面提升:
132个SM(流式多处理器)和第四代Tensor Core使性能翻倍;
比前一代更大的50MB L2缓存和升级到HBM3的显存构成新的内存子系统;
第四代NVLink总带宽达到900GB/s,支持NVLink网络,PCIe也升级到5.0。
在2023年1月,英特尔也推出代号为Ponte Vecchio的英特尔数据中心GPU Max系列,与第四代英特尔至强可扩展处理器和英特尔至强CPU Max系列一起发布。英特尔数据中心GPU Max系列利用英特尔的Foveros和EMIB技术,在单个产品上整合47个小芯片,集成超过1000亿个晶体管,拥有高达408MB的L2缓存和128GB的HBM2e显存,充分体现芯片模块化的理念。
二、CPU:性能核与能效核
通用算力的发展趋势是多元化的,以满足不同应用场景的需求。在手机、PC和其他终端产品中,经过验证的"大小核"架构逐渐成为主流,而在服务器CPU市场也开始流行起来。然而,服务器的特点是集群作战,并不迫切需要在同一款CPU内部实现大小核的组合。主流厂商正通过提供全是大核或全是小核的CPU来满足不同客户的需求,其中大核注重单核性能,适合纵向扩展,而小核注重核数密度,适合横向扩展。
作为big.LITTLE技术的发明者,ARM将异构核的理念引入服务器CPU市场,并已经有一段时间。ARM的Neoverse平台分为三个系列:
Neoverse V系列用于构建高性能CPU,提高每核心性能,适用于高性能计算、人工智能机器学习加速等工作负载;
Neoverse N系列注重横向扩展性能,提供经过优化的平衡CPU设计,以提供理想的每瓦性能,适用于横向扩展云、企业网络、智能网卡DPU、定制ASIC加速器、5G基础设施以及电源和空间受限的边缘场景;
Neoverse E系列旨在以最小的功耗支持高数据吞吐量,面向网络数据平面处理器、低功耗网关的5G部署。
这些系列的设计旨在满足不同领域和应用的需求。
在规模较大的云计算中心、智算中心和超级计算中心等应用场景中,可以将大小核架构在数据中心市场上的实践归纳为两个系列:V系列侧重单核性能的纵向扩展(Scale-up)而N系列侧重多核性能的横向扩展(Scale-out)。
在这些应用场景中,V系列产品的代表包括64核的AWS Graviton3(推测为V1)和72核的NVIDIA Grace CPU(V2)而N系列产品除阿里云的128核倚天710(推测为N2)外,还在DPU领域得到广泛应用。最近发布的AmpereOne采用Ampere Computing公司自研的A1核,最多拥有192个核心,更接近Neoverse N系列的设计风格。
英特尔在面向投资者的会议上也公布类似的规划:
2023年第四季度推出第五代英特尔至强可扩展处理器(代号Emerald Rapids)
2024年推出的代号为Granite Rapids的下一代产品。这些处理器将延续目前的性能核(P-Core)路线。另外,2024年上半年推出的代号为Sierra Forest的CPU将是第一代能效核(E-Core)至强处理器,拥有144个核心。
第五代英特尔至强可扩展处理器与第四代共享平台易于迁移,而Granite Rapids和Sierra Forest将采用英特尔的3纳米制程。P-Core和E-Core的组合已经在英特尔的客户端CPU上得到验证,两者之间的一个重要区别是否支持超线程。E-Core每个核心只有一个线程注重能效,适用于追求更高物理核密度的云原生应用。
AMD 的策略大同小异:
2022年11月发布代号为Genoa的第四代EPYC处理器,采用5纳米的Zen 4核心,最高可达96个核心。
2023年6月AMD推出代号为Bergamo的“云原生”处理器,据传拥有多达128个核心,通过缩小核心和缓存来提供更高的核心密度。
虽然性能核和能效核这两条路线之间存在着核心数量的差异,但增加核心数是共识。随着CPU核心数量的持续增长,对内存带宽的要求也越来越高,仅仅升级到DDR5内存是不够的。AMD的第四代EPYC处理器(Genoa)已将每个CPU的DDR通道数量从8条扩展到12条,Ampere Computing也有类似的规划。
然而,拥有超过100个核心的CPU已经超出了一些企业用户的实际需求,而每个CPU的12条内存通道在双路配置下也给服务器主板设计带来新的挑战。在多种因素的影响下,单路服务器在数据中心市场的份额是否会有显著增长,这仍然需要拭目以待。
AMD 第四代 EPYC 处理器拥有 12 个 DDR5 内存通道,但单路(2DPC)和双路(1DPC)配置都不超过24个内存槽,比 8 内存通道 CPU 的双路配置(32 个内存槽)还要少。换言之,单 CPU 的内存通道数增加了,双路配置的内存槽数反而减少
三、GPU和CPU芯片相比谁更复杂
在大规模并行计算方面,高端GPU(如NVIDIA的A100或AMD的Radeon Instinct MI100)和高端CPU(如Intel的Xeon系列或AMD的EPYC系列)都具有各自的复杂性。GPU拥有大量的CUDA核心或流处理器,专注于并行计算,以支持高性能的并行任务。而高端CPU则具有更多的核心、更高的频率和复杂的超线程技术,以提供强大的通用计算能力。下面从应用场景、晶体管数量、架构设计几个维度来分析。
1、应用场景
GPU拥有大量的计算核心、专用存储器和高速数据传输通道,其设计注重于满足图形渲染和计算密集型应用的需求,强调大规模并行计算、内存访问和图形数据流处理。GPU的核心理念是并行处理,通过拥有更多的处理单元,能够同时执行大量并行任务。这使得GPU在处理可并行化的工作负载(如图形渲染、科学计算和深度学习)时表现出色。相比之下,CPU专注于通用计算和广泛的应用领域,通常具有多个处理核心、高速缓存层次和复杂的指令集体系结构。
2、晶体管数量
顶级的GPU通常拥有更多的晶体管,这是因为它们需要大量的并行处理单元来支持高性能计算。举例来说,NVIDIA的A100 GPU拥有约540亿个晶体管,而AMD的EPYC 7742 CPU则包含约390亿个晶体管。晶体管数量的差异反映了GPU在并行计算方面的重要性和专注度。
3、架构设计
从架构和设计的角度来看,CPU通常被认为更复杂。CPU需要处理各种不同类型的任务,并且需要优化以尽可能快地执行这些任务。为了实现这一目标,CPU采用了许多复杂的技术,如流水线、乱序执行、分支预测和超线程等。这些技术旨在提高CPU的性能和效率。
相比之下,顶级的GPU可能在硬件规模(如晶体管数量)上更大,但在架构和设计上相对简化。GPU的设计注重于大规模并行计算和图形数据流处理,其架构更加专注和优化于这些特定的任务。
GPU架构
GPU具有一些关键的架构特性。
首先,它拥有大量的并行处理单元(核心),每个处理单元可以同时执行指令。如NVIDIA的Turing架构具有数千个并行处理单元,也称为CUDA核心。其次,GPU采用分层的内存架构,包括全局内存、共享内存、本地内存和常量内存等。这些内存类型用于缓存数据,以减少对全局内存的访问延迟。另外,GPU利用硬件进行线程调度和执行,保持高效率。在NVIDIA的GPU中,线程以warp(32个线程)的形式进行调度和执行。此外,还拥有一些特殊的功能单元,如纹理单元和光栅化单元,这些单元专为图形渲染而设计。最新的GPU还具有为深度学习和人工智能设计的特殊单元,如张量核心和RT核心。此外,GPU采用了流多处理器和SIMD(单指令多数据流)架构,使得一条指令可以在多个数据上并行执行。
具体的GPU架构设计因制造商和产品线而异,例如NVIDIA的Turing和Ampere架构与AMD的RDNA架构存在一些关键差异。然而,所有的GPU架构都遵循并行处理的基本理念。
CPU架构
CPU(中央处理单元)的架构设计涉及多个领域,包括硬件设计、微体系结构和指令集设计等。
指令集架构(ISA)是CPU的基础,它定义了CPU可以执行的操作以及如何编码这些操作。常见的ISA包括x86(Intel和AMD)、ARM和RISC-V。现代CPU采用流水线技术,将指令分解为多个阶段,以提高指令的吞吐量。CPU还包含缓存和内存层次结构,以减少访问内存的延迟。乱序执行和寄存器重命名是现代CPU的关键优化手段,可以提高指令的并行执行能力和解决数据冒险问题。分支预测是一种优化技术,用于预测条件跳转指令的结果,以避免因等待跳转结果而产生的停顿。现代CPU通常具有多个处理核心,每个核心可以独立执行指令,并且一些CPU还支持多线程技术,可以提高核心的利用率。
算存互连:Chiplet与 CXL
2022年3月,通用处理器市场的核心参与者,包括Intel、AMD、ARM等,共同发布新的互联标准UCIe(Universal Chiplet Interconnect Express通用小芯片互连通道),旨在解决Chiplet的行业标准化问题。这一标准的推出将有助于推动Chiplet技术的发展和应用。
由于标准的主导者与PCIe和CXL(Compute Express Link)已经有密切的关系,因此UCIe非常强调与PCIe/CXL的协同,提供在协议层本地端进行PCIe和CXL协议映射的功能。与CXL的协同说明UCIe的目标不仅仅是解决芯片制造中的互联互通问题,而是希望芯片与设备、设备与设备之间的交互是无缝的。
在UCIe 1.0标准中展现两种层面的应用:Chiplet(封装内)和Rack space(封装外)。这意味着UCIe可以在芯片内部实现Chiplet之间的互联,同时也可以在封装外部实现芯片与设备之间的互联。这种灵活性使得UCIe能够适应不同的应用场景。
UCIe 规划的机架连接交给CXL
一、CXL:内存的解耦与扩展
相对于PCIe,CXL最重要的价值在于减少各子系统内存的访问延迟(理论上PCIe的延迟为100纳秒级别而CXL为10纳秒级别)。例如GPU访问系统内存时,这对于设备之间的大容量数据交换至关重要。这种改进主要源于两个方面:
首先,PCIe在设计之初并没有考虑缓存一致性问题。当通过PCIe进行跨设备的DMA读写数据时,在操作延迟期间,内存数据可能已经发生变化,因此需要额外的验证过程,这增加了指令复杂度和延迟。而CXL通过CXL.cache和CXL.memory协议解决缓存一致性问题,简化操作也减少延迟。
其次,PCIe的初衷是针对大流量进行优化,针对大数据块(512字节、1KB、2KB、4KB)进行优化,希望减少指令开销。而CXL则针对64字节传输进行优化,对于固定大小的数据块而言操作延迟较低。换句话说,PCIe的协议特点更适合用于以NVMe SSD为代表的块存储设备,而对于注重字节级寻址能力的计算型设备CXL更为适合。
除充分释放异构计算的算力,CXL还让内存池化的愿景看到了标准化的希望。CXL Type 3设备的用途是内存缓冲,利用CXL.io和CXL.memory的协议实现扩展远端内存。在扩展后,系统内存的带宽和容量即为本地内存和CXL内存模块的叠加。
在新一代CPU普遍支持的CXL 1.0/1.1中,CXL内存模块首先实现主机级的内存扩展,试图突破传统CPU内存控制器的发展瓶颈。CPU核心数量增长的速度远远快于内存通道的增加速度是其中的原因。
在过去的十年间CPU的核心数量从8到12个增长到了60甚至96个核心,而每个插槽CPU的内存通道数仅从4通道增加到8或12通道。每个通道的内存在此期间也经历三次大的迭代,带宽大约增加1.5到2倍,存储密度大约增加4倍。从发展趋势来看,每个CPU核心所能分配到的内存通道数量在明显下降,每个核心可以分配的内存容量和内存带宽也有所下降。这是内存墙的一种表现形式,导致CPU核心无法充分获取数据以处于满负荷的运行状态,从而导致整体计算效率下降。
二、UCIe 与异构算力
随着人工智能时代的到来,异构计算已经成为常态。原则上只要功率密度允许,这些异构计算单元的高密度集成可以由UCIe完成。除集成度的考虑,标准化的Chiplet还带来功能和成本的灵活性。对于不需要的单元,在制造时可以不参与封装,而对于传统处理器而言,无用的单元常常成为无用的"暗硅",意味着成本的浪费。一个典型的例子是DSA,如英特尔第四代可扩展至强处理器中的若干加速器,用户可以付费开启,但是如果用户不付费,这些DSA其实已经制造出来。
UCle 的 In package 本质就是将整个芯片封装视作主板
UCIe包括协议层(Protocol Layer)、适配层(Adapter Layer)和物理层(Physical Layer)。协议层支持PCIe 6.0、CXL 2.0和CXL 3.0同时也支持用户自定义的协议。根据不同的封装等级,UCIe还提供不同的Package模块。通过使用UCIe的适配层和PHY替换PCIe/CXL的PHY和数据包可以实现更低功耗和性能更优的Die-to-Die互连接口。
UCIe考虑了两种不同等级的封装:标准封装(Standard Package)和先进封装(Advanced Package)。这两种封装在凸块间距、传输距离和能耗方面存在数量级的差异。例如,对于先进封装,凸块间距(Bump Pitch)为25~55μm,代表采用硅中介层的2.5D封装技术特点。以英特尔的EMIB为例,当前的凸块间距约为50μm,未来将演进至25μm甚至10μm。台积电的InFO、CoWoS等也具有类似的规格和演进趋势。而标准封装(2D)的规格则对应目前应用最广泛的有机载板。
不同封装的信号密度也存在本质差异。标准封装模块对应的是16对数据线(TX、RX),而高级封装模块则包含64对数据线。每32个数据管脚还额外提供2个用于Lane修复的管脚。如果需要更大的带宽,可以扩展更多的模块并且这些模块的频率是可以独立设置的。
需要特别提到的是,UCIe与高速PCIe的深度集成使其更适合高性能应用。实际上,SoC(片上系统)是一个广义的概念而UCIe面向的是宏观系统级的集成。传统观念中适合低成本、高密度的SoC可能需要集成大量的收发器、传感器、块存储设备等。例如,一些面向边缘场景的推理应用和视频流处理的IP设计企业非常活跃,这些IP可能需要更灵活的商品化落地方式。由于UCIe不考虑相对低速设备的集成,低速、低成本接口的标准化仍然有空间。
如何对I/O进行性能调优
在日常Linux维护中,大家深知I/O性能对系统的重要影响。经过多项优化后,系统的瓶颈通常会出现在数据库上;而即使对数据库进行了多种优化,最终的瓶颈仍然会落在I/O操作上。然而,与CPU的发展相比,I/O性能的进展明显滞后。流行技术如Memcached和NoSQL等,都以直接或间接方式规避I/O瓶颈,从而提高系统性能。这些技术通过优化数据访问,致力于提升I/O效率。
一、I/O 到底是什么?
比如在编写代码时使用键盘输入,而显示器则用于输出图案,这就是典型的I/O操作。我们常关注的磁盘I/O指的是硬盘和内存之间的数据输入输出。当我们读取本地文件时,需要将磁盘中的数据拷贝到内存中;而修改本地文件时,需要将修改后的数据拷贝回磁盘。网络I/O则指的是网卡与内存之间的数据输入输出。当网络上的数据到达时,网卡需要将数据拷贝到内存中;而当我们要发送数据给网络上的其他人时,需要将数据从内存拷贝到网卡中。
最终,我们的指令是由CPU执行的,这是因为CPU与内存之间的交互速度远高于CPU与外部设备直接交互的速度。因此,所有I/O操作都涉及与内存的交互。即使假设没有内存,让CPU直接与外部设备交互,这仍然可以视为I/O操作。总结来说,I/O指的是内存与外部设备之间的数据交互,即数据的拷贝过程。
二、创建 socket
在Linux中,服务端首先需要创建一个套接字(socket)。在Linux中,一切皆文件,因此创建的套接字也是一个文件,并且每个文件都有一个整数型的文件描述符(fd)来唯一标识该文件。通过调用socket(int domain, int type, int protocol)函数来创建套接字。
参数domain用于选择通信的协议族,例如选择IPv4通信还是IPv6通信等。参数type用于选择套接字的类型,可以是字节流套接字、数据报套接字等。参数protocol用于指定使用的协议。通常情况下,可以将protocol设为0,因为通过前面两个参数可以推断出所要使用的协议。
例如,调用socket(AF_INET, SOCK_STREAM, 0)表示使用IPv4通信,并使用字节流套接字,可以推断出所使用的协议为TCP协议。该函数的返回值为一个整数类型,实际上就是所创建套接字的文件描述符(fd)。
三、bind
在创建了一个socket之后,我们需要为它指定一个地址和端口,这样其他应用程序才能找到它并与其进行通信。为此,我们可以使用bind函数来将地址和端口与socket进行绑定。
bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen)函数的参数中,sockfd表示我们创建的socket的文件描述符。执行了bind操作之后,我们的socket就可以被其他应用程序访问了,因为它已经与指定的地址和端口进行了绑定。
简而言之,通过调用bind函数,我们可以为socket指定一个地址和端口,从而使其可以被其他应用程序找到并进行通信。
四、listen
在执行了socket和bind之后,创建的socket处于closed状态,即不对外监听。为了让socket能够监听客户端的连接请求,我们需要调用listen方法。
int listen(int sockfd, int backlog)函数用于将socket置于被动监听状态。我们需要传入创建的socket的文件描述符(sockfd),并指定一个backlog参数来表示监听队列的大小。关于backlog的解释有三种:
1、socket有一个队列,用于存放已完成的连接和半连接。backlog表示这个队列的大小。
2、socket有两个队列,分别为已完成的连接队列和半连接队列。backlog表示这两个队列大小之和。
3、socket有两个队列,分别为已完成的连接队列和半连接队列。backlog仅表示已完成的连接队列的大小。
五、accept
现在,我们已经初始化好了监听套接字。在这个状态下,当客户端连接到服务器时,我们需要处理这些已经完成建立连接的请求。
根据之前的分析,一旦三次握手完成,建立的连接会被加入到已完成连接队列中。
在这种情况下,我们需要使用accept方法从已完成连接队列中获取连接并进行处理。
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen)函数的返回值是已完成连接的socket的文件描述符。通过这个文件描述符,我们可以对该连接进行通信操作。如果已完成连接队列中没有可用的连接,调用accept的线程将会被阻塞,等待连接的到来。
使用accept方法可以从已完成连接队列中获取连接,并返回连接的socket文件描述符。通过这个文件描述符,我们可以进行通信操作。如果没有可用的连接,调用accept的线程将会被阻塞。至此,服务端的通信流程基本完成,接下来我们可以看一下客户端的操作。
六、Connect
客户端在建立连接时也需要创建一个socket,并调用connect方法进行连接操作。在TCP协议下,经典的三次握手操作开始进行。当客户端创建完socket并调用connect之后,连接进入了SYN_SEND状态。一旦收到服务端的SYN+ACK响应,连接状态就变为ESTABLISHED,这表示三次握手已经完成。
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)函数用于在客户端与服务端建立连接时,需要指定远程的地址和端口。一旦三次握手完成,就可以开始进行通信了。在客户端这边,不需要调用bind操作,系统会自动选择源IP和随机端口。
通过一幅图来总结建立连接的操作,我们可以看到两个阻塞点:
1、connect:需要阻塞等待三次握手的完成。
2、accept:需要等待可用的已完成连接,如果已完成连接队列为空,则被阻塞。
七、read、write
一旦连接建立成功,我们就可以开始发送和接收消息了。让我们来看一下:
1、read函数用于读取数据,从服务端的角度来看,它等待客户端的请求。如果客户端没有发送请求,调用read会进入阻塞等待状态,因为没有数据可读取,这是很容易理解的。
2、write函数用于写入数据。通常情况下,服务端在接收到客户端的请求后,会进行一些逻辑处理,然后将结果返回给客户端。这个写入操作也可能会被阻塞。
有人可能会问,为什么read在读取不到数据时会阻塞等待,而write也会阻塞呢?因为我们使用的是TCP协议,TCP协议需要确保数据的可靠、有序传输,并提供端到端的流量控制。因此,发送并不是直接将数据发送出去,而是先将数据拷贝到TCP的发送缓冲区中,由TCP自行控制发送的时间和逻辑,可能还包括重传等操作。
如果我们发送数据的速度过快,导致接收方无法及时处理,接收方会通过TCP协议告知发送方:“别发了!我忙不过来了。”发送缓冲区是有大小限制的,如果发送缓冲区已满,继续调用write函数写入数据将会被阻塞。换句话说,当缓冲区满了,就不能再写入数据了。
综上所述,无论是read还是write都有可能发生阻塞。read阻塞等待数据可读,write阻塞等待发送缓冲区有空间可写入。
小结一下,在 HPC 中性能是一个多方面的概念,涵盖了很多因素,包括处理器、内存、I/O 和网络性能。HPC 系统的目标是优化所有这些因素,为需要执行的特定任务或应用程序提供最高级别的性能。
蓝海大脑高性能大模型训练平台
蓝海大脑高性能大模型训练平台利用工作流体作为中间热量传输的媒介,将热量由热区传递到远处再进行冷却。支持多种硬件加速器,包括CPU、GPU、FPGA和AI等,能够满足大规模数据处理和复杂计算任务的需求。采用分布式计算架构,高效地处理大规模数据和复杂计算任务,为深度学习、高性能计算、大模型训练、大型语言模型(LLM)算法的研究和开发提供强大的算力支持。具有高度的灵活性和可扩展性,能够根据不同的应用场景和需求进行定制化配置。可以快速部署和管理各种计算任务,提高了计算资源的利用率和效率。
一、为什么需要大模型?
1、模型效果更优
大模型在各场景上的效果均优于普通模型
2、创造能力更强
大模型能够进行内容生成(AIGC),助力内容规模化生产
3、灵活定制场景
通过举例子的方式,定制大模型海量的应用场景
4、标注数据更少
通过学习少量行业数据,大模型就能够应对特定业务场景的需求
二、平台特点
1、异构计算资源调度
一种基于通用服务器和专用硬件的综合解决方案,用于调度和管理多种异构计算资源,包括CPU、GPU等。通过强大的虚拟化管理功能,能够轻松部署底层计算资源,并高效运行各种模型。同时充分发挥不同异构资源的硬件加速能力,以加快模型的运行速度和生成速度。
2、稳定可靠的数据存储
支持多存储类型协议,包括块、文件和对象存储服务。将存储资源池化实现模型和生成数据的自由流通,提高数据的利用率。同时采用多副本、多级故障域和故障自恢复等数据保护机制,确保模型和数据的安全稳定运行。
3、高性能分布式网络
提供算力资源的网络和存储,并通过分布式网络机制进行转发,透传物理网络性能,显著提高模型算力的效率和性能。
4、全方位安全保障
在模型托管方面,采用严格的权限管理机制,确保模型仓库的安全性。在数据存储方面,提供私有化部署和数据磁盘加密等措施,保证数据的安全可控性。同时,在模型分发和运行过程中,提供全面的账号认证和日志审计功能,全方位保障模型和数据的安全性。
三、常用配置
1、A800工作站常用配置
CPU:Intel 8358P 2.6G 11.2UFI 48M 32C 240W *2
内存:DDR4 3200 64G *32
数据盘:960G 2.5 SATA 6Gb R SSD *2
硬盘:3.84T 2.5-E4x4R SSD *2
网络:双口10G光纤网卡(含模块)*1
双口25G SFP28无模块光纤网卡(MCX512A-ADAT )*1
GPU:HV HGX A800 8-GPU 8OGB *1
电源:3500W电源模块*4
其他:25G SFP28多模光模块 *2
单端口200G HDR HCA卡(型号:MCX653105A-HDAT) *4
2GB SAS 12Gb 8口 RAID卡 *1
16A电源线缆国标1.8m *4
托轨 *1
主板预留PCIE4.0x16接口 *4
支持2个M.2 *1
原厂质保3年 *1
2、A100工作站常用配置
CPU:Intel Xeon Platinum 8358P_2.60 GHz_32C 64T_230W *2
RAM:64GB DDR4 RDIMM服务器内存 *16
SSD1:480GB 2.5英寸SATA固态硬盘 *1
SSD2:3.84TB 2.5英寸NVMe固态硬盘 *2
GPU:NVIDIA TESLA A100 80G SXM *8
网卡1:100G 双口网卡IB 迈络思 *2
网卡2:25G CX5双口网卡 *1
3、H100工作站常用配置
CPU:英特尔至强Platinum 8468 48C 96T 3.80GHz 105MB 350W *2
内存:动态随机存取存储器64GB DDR5 4800兆赫 *24
存储:固态硬盘3.2TB U.2 PCIe第4代 *4
GPU :Nvidia Vulcan PCIe H100 80GB *8
平台 :HD210 *1
散热 :CPU+GPU液冷一体散热系统 *1
网络 :英伟达IB 400Gb/s单端口适配器 *8
电源:2000W(2+2)冗余高效电源 *1
4、H800工作站常用配置
CPU:Intel Xeon Platinum 8468 Processor,48C64T,105M Cache 2.1GHz,350W *2
内存 :64GB 3200MHz RECC DDR4 DIMM *32
系统硬盘: intel D7-P5620 3.2T NVMe PCle4.0x4 3DTLCU.2 15mm 3DWPD *4
GPU: NVIDIA Tesla H800 -80GB HBM2 *8
GPU网络: NVIDIA 900-9×766-003-SQO PCle 1-Port IB 400 OSFP Gen5 *8
存储网络 :双端口 200GbE IB *1
网卡 :25G网络接口卡 双端口 *1
(本内容属于网络转载,文中涉及图片等内容如有侵权,请联系编辑删除。市场有风险,选择需谨慎!此文仅供参考,不作买卖及投资依据。)
原创文章,作者:陈晨,如若转载,请注明出处:https://www.kejixun.com/article/573296.html