Solaris 10 新增功能

系统性能增强功能

Solaris 10 5/08 发行版中添加了以下系统性能功能和增强功能。

64 位 SPARC: 针对 sun4v 平台的内存位置优化支持

内存位置优化 (Memory Placement Optimization, MPO) 使操作系统可以分配正在执行线程或进程的核心本地的内存。sun4v 体系结构在虚拟化硬件环境中运行。用于 sun4v 平台的 MPO 功能在 sun4v 层中提供标准存取程序,它们是为通用 MPO 框架提供地址信息所必需的。在具有多个套接字并且这些套接字的内存访问时延存在差异的平台上,此功能是有效的。MPO 功能允许 OS 分配节点本地的内存,从而增强了各个应用程序的性能。

SPARC: 共享上下文支持

内存管理单元 (Memory Management Unit, MMU) 硬件使用上下文机制在不同进程地址空间中区分对同一个虚拟地址的使用。使用共享内存时,上下文机制引入了一些低效行为。共享内存之所以低效,是因为特定共享内存中的数据以及不同进程中的地址可能实际上是相同的,而与每个进程关联的上下文编号不同。因此,MMU 硬件无法识别匹配。无法识别匹配将导致不必要地从 MMU 转换缓存和转换后备缓冲器 (Translation Lookaside Buffer, TLB) 中逐出映射,而取而代之的是具有不同上下文编号的相同映射。

Niagara 2 系统有一个附加的共享上下文,它是一种硬件功能,可用于防止在共享内存处理过程中出现低效行为。如果搜索 TLB 以便进行映射,则专用或共享上下文中的匹配项会导致 TLB 命中。当前软件对共享上下文的支持将为使用动态锁定共享内存 (Dynamic Intimate Shared Memory, DISM) 的进程激活此功能。这种情况下,每个进程映射到相同虚拟地址处且具有相同权限的进程文本段以及 DISM 段将使用共享上下文。

x86: 基于 CPUID 的缓存分层结构识别

现代的 Intel 处理器会提供一个接口,用于通过 CPUID 指令搜索有关处理器的缓存分层结构的信息。