UMA和NUMA
1. 什么是UMA
UMA——Uniform Memory Access 一致性内存访问
CPU朝着高频方向发展遇到了天花板,转而向着多核心方向发展,由于在一致性内存访问(UMA——Uniform Memory Access)架构中,所有CPU对内存的访问都要通过总线完成,而总线发展缓慢,导致多核CPU通过一条总线共享内存成为瓶颈(总线带宽、访问同一块内存的冲突问题等)。
2. 什么是NUMA
NUMA全称Non-Uniform Memory Access(非一致性内存访问)。不同的内存器件和CPU核心从属于不同的Node,,每个Node都有自己的集成内存控制器(IMC,Integrated Memory Controller)。
而在Node内部,其架构类似于UMA,几个核心共享该Node的内存,并且通过IMC Bus进行不同核心之间的通信;不同Node之间则通过QPI(Quick Path Interconnect——又名CSI,Common System Interface公共系统接口,是一种可以实现芯片间直接互联的架构)进行通信。
分配内存会优先分配该线程所在CPU的最近内存
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步