首页 > 系统相关 >如何利用CXL技术突破内存墙?-1

如何利用CXL技术突破内存墙?-1

时间:2024-06-03 22:32:54浏览次数:27  
标签:AI 处理器 内存 突破 服务器 CXL 延迟

CXL诞生的基础是为了解决CPU内存和附加设备内存的互联,实现资源共享,得到最大的性能提升。随着数据大规模超算、AI、5G、云技术、边缘计算、自动驾驶等蓬勃发展,未来的数据存在指数级的增长且要求实时计算。

图片

从2019年的CXL 1.0,CXL协议目前已经发展了CXL 3.1。服务器目前正面临着内存性能挑战,而CXL部署提供了短期和长期的解决方案。从CXL 1.1开始,AI云服务器可以从内存扩展中受益,CXL 3.0为GPU、DPU、FPGA和ASIC等加速器提供直接访问内存池的权限。云服务提供商和超大规模企业将对由CXL 2.0发起的内存池和可组合服务器表现出浓厚的兴趣。同时,数据库服务器将利用运行更大的内存数据库以加快分析速度的能力。

图片

数据中心工作负载变得越来越复杂,需要越来越多的计算能力和内存来处理不断增长的数据量。内存是一种非常昂贵的资源,2022年占服务器价值的平均比例约为30%,预计到2025年将超过40%。为了解决这些问题,已经提出了新型内存处理器接口,旨在优化资源的使用和加速数据中心工作负载的执行。在这种动态背景下,CXL已经崛起并获得了业界的广泛支持。

图片

扩展阅读:

再回过头看下,为什么说CXL可以解决内存墙的问题?

数据中心在追求更高性能和更低总拥有成本(TCO)的过程中面临三大主要内存挑战。首先,当前服务器内存层次结构存在局限性。直接连接的DRAM与固态硬盘(SSD)存储之间存在三个数量级的延迟差异。当处理器直接连接的内存容量耗尽时,就必须转向SSD,导致处理器处于等待状态。这种等待,即延迟,对计算性能产生重大负面影响。

图片

其次,多核处理器的核心数增长速度远远超过主内存通道的数量。这意味着超过一定数量的处理器核心会因缺乏足够的内存带宽而无法充分发挥效能,从而削弱了额外核心带来的优势,也就是出现了内存墙的问题。

图片

最后,随着加速计算的普及,即加速器配备有自己的直接连接内存,未充分利用或被闲置的内存资源问题日益凸显。

图片

在过去的尝试中,面对内存墙的问题,主要遇到以下四个挑战:

  1. 有限的内存带宽和容量可扩展性:传统内存系统在增加带宽和容量方面面临局限。随着数据密集型应用需求的增长,对内存资源的消耗急剧上升,但内存技术的发展却难以匹配这种快速增长的需求。这导致在处理大规模数据集时,系统因内存不足或数据交换速率慢而受到限制。

  2. 与本地内存显著的延迟差距:当引入外部或扩展内存解决方案时,它们通常具有比直接连接在CPU上的本地内存更高的访问延迟。这种延迟差影响了应用程序的响应时间和整体性能,特别是在那些对延迟敏感的应用场景下,如实时交易处理或高性能计算。

  3. 专有的系统配置和部署:早期尝试通过定制或专有解决方案来克服内存墙,这些方案往往需要特定的硬件和软件配置,导致部署复杂且不灵活。这种专属性意味着升级或维护成本高,且不能轻松地跨不同平台复用。

  4. 与流行应用软件的复杂集成:为了利用新的内存技术,软件需要进行相应的修改或优化,以便能够有效利用扩展的内存资源。然而,这种集成工作不仅技术上复杂,还可能需要大量的开发资源和时间,特别是当涉及到已经广泛使用的流行应用程序时,它们的代码库庞大且改动影响广泛。

以往尝试突破内存墙的努力受限于技术、成本和兼容性等多方面的难题,这些挑战阻碍了内存系统的高效扩展和应用性能的全面提升。

标签:AI,处理器,内存,突破,服务器,CXL,延迟
From: https://blog.csdn.net/zhuzongpeng/article/details/139425980

相关文章

  • 如何利用CXL技术突破内存墙?-2
    为了解决这些问题,业界正积极寻求新的技术和标准,比如ComputeExpressLink(CXL),它旨在通过提供标准化的高速互连来提高内存带宽、降低延迟,并简化内存扩展的软件集成,从而有效地打破内存墙的限制。通过使用CXL(ComputeExpressLink)技术来突破内存墙,可以实现以下几项关键改进,比如......
  • c语言中,结构体变量交换改写为堆空间申请内存
            在这里我实现的功能为:输入三个人的信息,每个人的信息分别为姓名和三个成绩,我分别计算三个人的成绩和,并通过经典的三杯水案例完成对三个人的成绩从小到大的排列打印。重点:     我这里使用的为堆空间申请内存的形式 第一步:        定义一个......
  • 突破带宽瓶颈,5SGXEB6R3F43C3G、5SGXEB6R1F43C1G、5SGXEB6R2F43I3G、5SGXEB6R3F43C2G F
    StratixVFPGA的主要性能突破包括:集成66个28Gbps串行收发器(每通道功耗仅200mW)、提供1.6Tbps串行交换能力、提供12.5Gbps背板驱动和28Gbps芯片至芯片驱动能力、提供7组72位1600MbpsDDR3接口、以及提供1840GMACS或1000GFLOPS计算能力、业界第一款精度可变的DSP模块、53Mb嵌入式......
  • 【安全性测试】突破sign签名校验实现请求重放
     对于安全性较高的网站,通常会用到sign签名来实现多重验证,常见的有:sign对加密密钥验证(后面会介绍)通过sign对请求重放验证(该文章重点介绍sign请求重放验证)在渗透测试中,重放数据包是非常重要的测试条件,大多数功能都需要通过重放来测试,像爆破、sql注入、篡改参数实现越权等等;而开发......
  • 【C语言进阶】--- 动态内存管理
    动态内存管理函数1.malloc函数void*malloc(size_tsize);功能:向堆区的空间中申请一块大小为size个字节的空间,返回指向这块空间的指针如果开辟失败会返回一个NULL指针,因此要检查malloc的返回值,避免返回NULL指针后再访问空指针malloc申请的空间,程序退出后会还给操作系统......
  • 《Linux内核完全注释》学习笔记:2.5 Linux内核对内存的使用方法
    在Linux0.11内核中,为了有效地使用机器中的物理内存,内存被划分成几个功能区域,如图2-9所示。图2-9物理内存使用的功能区域分布图Linux内核程序占据在物理内存的开始部分,接下来是用于供硬盘或软盘等块设备使用的高速缓冲区部分。当一个进程需要读取块设备中的数据时,系统会......
  • JVM(Java虚拟机)、JMM(Java内存模型)笔记
    面试常见:请你谈谈你对JVM的理解?java8虚拟机和之前的变化更新?什么是OOM,什么是栈溢出StackOverFlowError?怎么分析?JVM的常用调优参数有哪些?内存快照如何抓取?怎么分析Dump文件?谈谈JVM中,类加载器你的认识?请你谈谈你对JVM的理解?JVM(Java虚拟机)是Java程序的运行环境,它允......
  • ProcDump工具的基本用法和功能,并掌握如何利用它进行进程监视、性能分析和故障排查,从而
    ProcDump初级应用的大纲:1.ProcDump简介与基本用法介绍ProcDump工具的基本作用和功能。演示如何使用ProcDump来监视进程并在满足指定条件时生成转储文件。2.进程监视与性能分析探讨如何使用ProcDump监视进程的CPU利用率、内存占用等性能指标。演示如何利用ProcDump生成......
  • VMMap工具的基本功能和使用方法,包括如何分析内存分配情况、监控内存使用模式等;包括深
    VMMap初级应用的大纲:1.介绍VMMap简要介绍VMMap是什么,以及其在Windows系统中的作用和用途。解释VMMap能够提供的信息类型,如内存分配情况、内存使用模式等。2.VMMap的基本功能演示如何使用VMMap打开目标进程,并查看其内存映射和分配情况。介绍VMMap提供的基本过滤器和查看......
  • 成为MySQL DBA后,再看ORACLE数据库(五、内存管理)
    一、前言在数据库的体系结构中,内存区是非常关键的一部分,一般而言数据库实例也是由内存+后台进程组成。不同于MySQL的单进程多线程架构,ORACLE是多进程架构,所以在内存管理上也更加复杂。ORACLE的内存管理一般分两部分:PGA(ProgramGlobalArea)和SGA(SystemGlobalArea)。翻开当年学习O......