第 1 章 RHEL for Real Time 的硬件平台
在设置实时环境时,正确配置硬件会扮演重要角色,因为硬件会影响您的系统运行方式。并非所有硬件平台都能够实时启用调优。在进行调优前,您必须确保潜在的硬件平台具有实时功能。
硬件平台因供应商而异。您可以使用硬件延迟检测器(hwlatdetect)程序测试和验证硬件是否适合性。程序控制延迟 detector 内核模块,并有助于检测底层硬件或固件行为造成的延迟。
完成低延迟操作所需的任何调整步骤。有关降低低延迟问题并改进调整的说明,请参阅厂商文档。
先决条件
- 已安装 RHEL-RT 软件包。
完成低延迟操作所需的任何调整步骤。有关减少或删除任何系统管理中断(SMI)的说明,请参阅厂商文档,使系统移至系统管理模式(SMM)。
警告您必须完全禁用系统管理中断(SMI),因为它可能会导致严重的硬件故障。
1.1. 处理器内核 复制链接链接已复制到粘贴板!
实时处理器内核是物理中央处理单元(CPU),它执行机器代码。套接字是处理器和计算机的主板之间的连接。套接字是处理器要放入的主板上的位置。有两组处理器:
- 使用一个可用内核占用一个插槽的单一核心处理器。
- 四核处理器会占用有四个可用内核的一个插槽。
在设计实时环境时,请注意可用内核的数量、核心中的缓存布局以及内核物理连接的方式。
当有多个内核可用时,请使用线程或进程。程序在没有使用这些构造的情况下编写,一次在一个处理器上运行。多核平台通过使用不同内核进行不同类型的操作提供优势。
缓存
缓存对整个处理时间和确定性造成显著影响。通常,应用的线程需要同步对共享资源的访问,如数据结构。
使用 tuna 命令行工具(CLI),您可以确定缓存布局并将交互线程绑定到内核,以便它们共享缓存。缓存共享通过确保 mutual 排除原语(mutex、条件变量或类似)和数据结构使用相同的缓存来减少内存错误。
互连
增加系统上的内核数可能会导致互连上的冲突需求。这样就可以确定互连拓扑,以帮助检测实时系统中内核之间发生冲突。
现在,许多硬件供应商提供内核与内存之间的透明互连网络,称为非统一内存访问(NUMA)架构。
NUMA 是多处理中使用的系统内存设计,内存访问时间取决于处理器的内存位置。使用 NUMA 时,处理器可以比非本地内存更快地访问自己的本地内存,如处理器之间共享的其他处理器或内存的内存。在 NUMA 系统上,了解互连拓扑有助于将经常在相邻内核中通信的线程放置。
taskset 和 numactl 实用程序决定了 CPU 拓扑。taskset 定义没有 NUMA 资源的 CPU 关联性,如内存节点和 numactl 控制进程和共享内存的 NUMA 策略。