科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道剖析Linux系统下基于NUMA构建的服务器 (1)

剖析Linux系统下基于NUMA构建的服务器 (1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

NUMA(Non-Uniform Memory Access Architecture)系统在市场上的应用越来越广泛,许多厂商都成功推出了基于 NUMA 架构的服务器,本文重点讨论了当前 Linux 的 NUMA 技术

作者:huanyuang 来源:赛迪网 2007年9月7日

关键字: 服务器 NUMA 操作系统 Linux

  • 评论
  • 分享微博
  • 分享邮件
 

NUMA(Non-Uniform Memory Access Architecture)系统在市场上的应用越来越广泛,许多厂商都成功推出了基于 NUMA 架构的服务器,本文重点讨论了当前 Linux 的 NUMA 技术,主要包括:存储管理、NUMA 调度和用户层的 API,并在 SGI 的 Altix 350 系统上进行了 NUMA 基本测试,对进行 Linux NUMA 技术的研究具有参考价值。

一、引言

随着科学计算、事务处理对计算机性能要求的不断提高,SMP(对称多处理器)系统的应用越来越广泛,规模也越来越大,但由于传统的 SMP 系统中,所有处理器都共享系统总线,因此当处理器的数目增大时,系统总线的竞争冲突加大,系统总线将成为瓶颈,所以目前 SMP 系统的 CPU 数目一般只有数十个,可扩展能力受到极大限制。NUMA 技术有效结合了 SMP 系统易编程性和 MPP(大规模并行)系统易扩展性的特点,较好解决了 SMP 系统的可扩展性问题,已成为当今高性能服务器的主流体系结构之一。目前国外著名的服务器厂商都先后推出了基于 NUMA 架构的高性能服务器,如 HP 的 Superdome、SGI 的 Altix 3000、IBM 的 x440、NEC 的 TX7、AMD 的Opteron 等。随着 Linux 在服务器平台上的表现越来越成熟,Linux 内核对 NUMA 架构的支持也越来越完善,特别是从 2.5 开始,Linux 在调度器、存储管理、用户级 API 等方面进行了大量的 NUMA 优化工作,目前这部分工作还在不断地改进,如新近推出的 2.6.7-RC1 内核中增加了 NUMA 调度器。本文主要从存储管理、调度器和 CpuMemSets 三个方面展开讨论。

二、NUMA 存储管理

NUMA 系统是由多个结点通过高速互连网络连接而成的,如图 1 是 SGI Altix 3000 ccNUMA 系统中的两个结点。

图 1 SGI Altix3000 系统的两个结点

NUMA 系统的结点通常是由一组 CPU(如,SGI Altix 3000 是 2 个Itanium2 CPU)和本地内存组成,有的结点可能还有I/O子系统。由于每个结点都有自己的本地内存,因此全系统的内存在物理上是分布的,每个结点访问本地内存和访问其它结点的远地内存的延迟是不同的,为了减少非一致性访存对系统的影响,在硬件设计时应尽量降低远地内存访存延迟(如通过 Cache 一致性设计等),而操作系统也必须能感知硬件的拓扑结构,优化系统的访存。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章