Solaris 10 新增功能

系统性能增强功能

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

SPARC: UltraSPARC T2 PCI Express 接口单元性能计数器数据

UltraSPARC T2 系统 PCI Express 接口单元 (PCI Express Interface Unit, PIU) 具有内置的性能计数器,可以使用 busstat 转储这些性能计数器。busstat -l 命令的输出显示此类系统的以下设备:

其中,# 为实例编号。

此内置性能计数器主要是供 Sun 现场服务人员使用。

散列缓存索引模式支持

散列缓存索引模式是 UltraSPARC T2 处理器中提供的新硬件功能。硬件使用许多地址位来计算 L2 缓存索引。因此,大页面有多种页面颜色。

为达到最佳性能,Solaris 内核必须最大程度地提高所有共享缓存的线程所使用的页面颜色数。Solaris 虚拟内存子系统已扩展为支持这一新硬件功能。正确的颜色计算可提高 UltraSPARC T2 系统上应用程序的性能和总处理能力一致性。

多级别 CMT 调度优化

多级别芯片多线程 (Chip Multi-Threaded, CMT) 调度优化功能为 Solaris 内核提供了独立于平台的机制。借助此机制,可以搜索和优化当前和新兴 CMT 处理器体系结构(包括 Niagara II)中 CPU 间存在的多种与性能相关的硬件共享关系。

此功能还利用多级别 CMT 负载平衡策略增强了内核的线程调度程序或分发程序,该策略使得多种基于多线程、多核和多套接字处理器的系统的系统性能得以提高。

有关此功能的更多信息,请参见 OpenSolaris 性能社区 Web 站点 http://www.opensolaris.org/os/community/performance

进程计数可伸缩性

进程计数可伸缩性功能改进了 Solaris OS 的进程计数可伸缩性。当前,所有 UltraSPARC 系统最多支持 8192 个上下文。如果进程数超过 8192 个,则内核会窃取上下文以保持进程运行。从进程窃取上下文涉及执行以下任务:

此过程的开销非常大,如果进程数超过 8K,情况会变得更加糟糕。进程计数可伸缩性功能完全重新设计了上下文管理。上下文的管理是基于每个 MMU 而不是基于全局的,这样,可以实现有效的 TLB 刷新,并极大地提高了上下文管理的可伸缩性。

进程计数可伸缩性功能还提高了工作负荷(由多于 8K 的活动进程组成,或高速创建和销毁进程)的吞吐量,此功能在具有许多 CPU 的系统上最有用。

MPSS 已扩展到共享内存

共享内存的多页面大小支持 (multiple page size support, MPSS) 功能添加了用于映射共享内存的大页面支持,并针对共享内存使用大页面提供了现成可用 (out-of-box, OOB) 策略。 MPSS 支持适用于由 /dev/zerommap(1) 创建或使用 MAP_ANON 标志创建的共享内存,以及 System V 共享内存。此功能还添加了对 memcntl(2) 更改这些共享内存段的页面大小的支持。

MPSS 支持还扩展到适用于由 /dev/zerommap(1)、mmap(MAP_PRIVATE) 创建的内存使用大页面。