多核时代的Windows 7:如何跑得更快

系统
微软Windows 7发布后受到了市场和用户的追捧。虽然Windows 7的内核主要建立在Vista代码的基础上,但其几个主要的进展摆脱Vista给用户带来的烦恼,大大改善了用户体验。
微软Windows 7发布后受到了市场和用户的追捧。虽然Windows 7的内核主要建立在Vista代码的基础上,但其几个主要的进展摆脱Vista给用户带来的烦恼,大大改善了用户体验。在内核中,一项重大的改变就是如何提升多线程应用的运行。该进展带来的好处就是降低了能耗,提升了可扩展性,并在理论上提高了性能。

  为了验证Windows 7对桌面电脑带来的好处,技术人员采用最常用的反映多线程能力的桌面应用程序(即图形导向的软件)进行了测试。例如Adobe Photoshop和其它图形应用软件在启动和功能配置时自我检测桌面系统的负载量。在这种状况下,图形软件一般会使用所有的处理器内核和几乎全部的内存,使得系统能够提供最快的性能。技术人员一般用Viewperf基准测试(一个综合性的图形测试软件,由SPEC标准性能评估公司颁布的)和Cinebench测试(这是一个单纯的图形渲染测试基准工具),这两个软件是免费的,可以从相关的网站下载后使用。

  测试的硬件平台是戴尔Precision T3500工作站。戴尔T3500是一款入门级工作站,一般用于高端图形用户。它有四核心Xeon W3540(Nehalem架构)处理器,2.93GHz的主频,一块Nvidia FX quadro 4800显示卡,4GB的内存。这种配置大约是12至18个月后高端桌面系统的主流水平。

  在此次测试中,技术人员使用了三块相同的硬盘驱动器,戴尔工作站预装了Windows XP专业版、Vista旗舰版和Windows 7旗舰版,都是基于32位的,并且是***版本的驱动程序。然后,技术人员在每个操作系统运行的基准测试。当测试下一个操作系统时,会将前一次测试时用的硬盘换掉,以确保每次测试时不同版本的操作系统运行在系统的硬件上。***的测试结果如下表: 

三个版本Windows的性能基准测试结果

测试基准
(数值大的好)

Windows XP SP3

Windows Vista SP2

Windows 7 Ultimate

SPEC Viewperf 10
(SMT off)

95.84

142.95

139.35

SPEC Viewperf 10
(SMT on)

93.45

145.30

138.80

Cinebench 10
(SMT off)

3.43

3.40

3.48

Cinebench 10
(SMT on)

3.98

4.07

4.09

    这些结果表明,在考虑是否部署Windows 7时,性能应该被视为是从Windows XP升级到Windows 7的合理理由,但性能的因素不足以让Vista用户转向Windows 7。Windows 7基于Vista内核的因素使得两者的性能比较接近。

  让人惊讶的是,Windows 7的多线程变化并没有提供更多的性能提升。对此的解释是Windows 7如何来管理超线程。Windows 7多线程能力的主要变化包括增加处理器的亲和力和Windows内核调度锁定的变化。这种被称作“玻璃眼”的技术是现代操作系统的核心内容,也即内核如何阻止两个线程在同一时间内访问相同的数据或资源。

  任何时候,一个线程想要访问一个可能另一个线程也需要访问的数据,就必须使用锁定机制,以确保只有一个线程可以修改该数据。在Windows 7之前,当一个线程需要获取或访问一个锁定时,它需要通过一个全球性的锁定机制。这种机制通过内核调度锁来处理提出的要求。但因为它是独特的、全球性的,它处理的需求可能来自数以千计的Windows硬件平台。因此,这个调度锁就成为了一个主要瓶颈。事实上,这也是Windows Server在相当长的一段时间内最多只能在64个处理器上运行的主要原因。

  新的锁定机制

  Windows 7包括一个全新的机制,摆脱了全球锁定的概念,将推锁定管理进入到对资源的锁定。这允许Windows 7扩展到256个处理器而没有性能损失。在只有少数处理器的系统里,由于旧的内核调度锁不是负担过重,所以这个新的机制对于台式机和小型服务器而言性能的提升不是很明显。

  虽然SMT运行时不可见,但可以预料的是,基准测试会利用一切可用的资源。当运行四个线程的带SMT功能的Viewperf基准测试时,结果基本保持不变。

  Cinebench基准测试是一个衡量多个线程运行比单个线程运行时能快多少的工具。无论是否让SMT功能激活,Cinebench在测试三个操作系统的性能时仅有微不足道的差异。但是和Viewperf不同的是,三个Windows系统的结果在SMT开启的情况下得分明显好于不开启的情况。也就是说,无论是哪个版本的Windows,Cinebench渲染运行在8个线程(SMT开启)比4(SMT关闭)个线程性能要高20%。基准测试在这两个方面的差异,使得用户在决定现有应用是否开启SMT功能时,***先进行测试后再决定。

  功耗情况

  Windows 7提供了几个技巧,让线程运行在相同的执行管道里,使底层Nehalem处理器能够关闭那些较少使用或者不工作的晶体管。该功能的主要优点是减少能源消耗。为了量化这一功能的好处,测试人员运行了带SMT功能的4线程版本的Viewperf程序。这种配置意味着大约有一半的管道,将看不到有任何活动。下面表格中的数据,就反应了Windows 7的节能效果。

三个版本Windows的Viewperf基准测试结果

能耗考察项

Windows XP SP3

Vista 旗舰版SP2

Windows 7旗舰版

功耗(三次测试平均值)

247瓦

248瓦

207瓦

  从表中看到,Windows 7的优势确实很大,大约能节省17%的能耗。而且这种测试是运行在同一台工作站上,且硬件配置是完全相同的,只有Windows版本是不同的。这是一个可观的能耗节省,并有充分理由相信其它软件将同样受益于Windows 7的能力,及充分利用英特尔处理器的魔力。

  和Intel处理器联合起来

  微软操作系统和英特尔处理器这些年来几乎成为了桌面系统的标配。虽然不是每一个周期的迭代产品都对最终用户带来大量的利益,但微软和英特尔的紧密关系已被一些业内人士称为良性循环。而这一次,新的产品联动周期确实提供了一些关键的优势:Nehalem处理器的性能远远超过前任,并且已经在市场上供货。新处理器有很多节能技术,可以有效地加以利用。而在微软这边,Windows 7适时推出,在节能方面同样出色。

【编辑推荐】

  1. BIOS优化设置 让Windows7运行更快
  2. 深度:揭开一折正版Windows 7背后的秘密
  3. 微软180度大转弯 否认Windows7借鉴Mac OS
责任编辑:庞桂玉 来源: Zol
相关推荐

2009-12-08 18:34:49

Windows 7 w

2009-06-23 18:00:11

微软Windows 7瘦身

2022-05-05 09:31:58

JOIN数据库

2012-06-13 01:53:23

Java代码

2012-05-17 14:37:33

SAPHANA迈凯轮

2020-10-18 07:21:34

CPU代码执行效率

2010-01-15 09:43:49

Windows 7杀手

2021-08-06 22:51:45

CPU限流容器

2009-03-22 21:12:01

软件应对多核

2009-10-26 09:26:42

Windows7多核评Windows 7多核

2011-07-06 10:27:32

ADSL

2011-07-06 10:48:12

ADSL

2017-04-06 09:00:39

Windows 7Windows磁盘碎片

2019-09-16 12:00:03

constC编程语言

2011-07-06 10:48:42

ADSL

2009-05-08 08:49:17

微软Windows 7操作系统

2009-10-23 08:12:31

Windows 7系统能耗

2014-08-28 09:35:32

Node.js前端开发

2011-10-28 11:15:31

Windows 7Office 2010Windows XP

2009-12-04 10:20:30

点赞
收藏

51CTO技术栈公众号