【51CTO.com独家快译自10月26日外电头条】Windows 7在发布前接受过各式各样的测试。虽然它的核心还是建立在Vista的代码基础上,但微软在几个关键方面都做出了改善,摆脱掉Vista的烦恼而大大改善了用户体验。内核中的一个重要转变就是运行多线程应用的能力。线程处理能力的进步带来了能耗减少、可扩展性提高,而且在理论上,毫无疑问也会带来性能提高,而根据51CTO.com之前的报道,Windows7多核评测成绩非常良好,我们不妨回顾一下之前的评测《64位Windows7 RTM/Vista/XP性能评测对比》。
为了明明白白的了解一下究竟提高了多少,我们特别挑选了最能反映桌面应用多线程能力的图形软件来进行评测。例如Adobe Photoshop和其他图形应用软件等在启动和自我配置时尤其考验系统的多线程能力,它们通常会垄断性的占用所有的处理器内核和内存,因为这样能让它们运行起来最快。我使用的是Viewperf基准(SPEC使用的综合性图形评测基准)和Cinebench基准这两个业内主流的评测基准,这两个基准都是免费提供的,你可以下载并在自己的系统上运行看看有多少差别。
测试用的机器是戴尔Precision T3500工作站,这种型号是今年各项性价比大奖的常客。作为一款入门级工作站,T3500的配置可以为高端图形用户运行大幅图像或复杂工程。它拥有四核Xeon W3540(Nehalem)处理器,2.93GHz的主频,Nvidia FX Quadro 4800显卡和4GB的RAM内存。我预计在12到18个月后,T3500将成为桌面高端(即subworkstation)市场的代表产品。
在这次评测中我们使用了三块完全相同的硬盘驱动器,分别预装了戴尔的Windows XP Professional、Vista旗舰版和Windows 7旗舰版,都是32位操作系统,并且驱动也都是***版本。我们在每个操作系统上运行评测基准,然后换为新的硬盘。这种方法能让我们对完全相同的硬件上每个Windows版本的优缺点一目了然,性能评测的结果显示如下:
Viewperf基准的结果表明,Windows 7的性能表现完全超越了Windows XP,但却并不能成为从Vista升级的良好理由。Windows 7和Vista的表现实际上没什么差别,这个结果是合理的,正如我们前面提到的,Windows 7是基于Vista内核上的。
让人惊讶的是Windows 7的多线程能力也没有在性能上给出一记重拳(当启用同步多线程SMT时),对此的解释是Windows 7对线程管理方式的改变。因为Windows 7中主要的变化来自于增强的处理器亲和度以及Windows内核调度锁(Windows kernel dispatcher lock),这个让人眼晕的术语实际引出了现代操作系统的核心内容:操作系统的内核是怎样阻止两个线程在同一时间访问相同的数据或资源。
任何时间,某一个线程想要访问可能由另一个线程占用的项目时,必须使用锁定来确保在同一时间只有一个线程可以修改该项目。在Windows 7之前,当一个线程需要获取或访问锁定时,它的请求必须要通过一个全局锁定机制,这就是内核调度锁,它负责处理线程的请求。由于它是唯一的,全局的,可能要应对来自所有的处理器上运行的数以千计的请求,因此这个调度锁正在成为一个主要的瓶颈。事实上,它正是阻止Windows Server在超过64个处理器的系统上运行的一个主要因素。有兴趣的51CTO.com读者可以参看另一篇文章《Windows 7将在多线程等三个方面增强硬件性能》,也许会给你更好的解释。
新的锁定机制
Windows 7提供了一个全新的机制,摆脱了全局锁定的概念,把锁定管理的任务推给被锁定的资源。这允许Windows 7扩展到256个处理器而没有性能损失。当然在绝大多数台式机和小型服务器等只有少数几个处理器的系统中,由于旧的内核调度锁并没有负担过重,所以这个新的机制在线程处理上并不会体现出显著的提高。
新改进后的处理器亲和度的性能优势也没有体现出来。在关闭SMT的评测中是预料之中的,因为基准可以使用一切可用资源,而且Nehalem的Turbo 模式也不可用。而当我们启用SMT之后运行四线程的Viewperf基准时,结果也基本保持不变。也就是说,差异并不明显,这表明Turbo模式仅会在设置受到严格限制时才能发挥,而在我们使用的主流测试线程应用中几乎无效。关于此事我们询问了微软的相关人员,但还没有得到回复。
Cinebench基准通过渲染处理来测量多线程比单线程要快上多少。三个操作系统的Cinebench基准显出微不足道的差异,无论启用SMT与否。然而,与Viewperf不同,在启用SMT之后,所有三个Windows的结果都明显变好,例如启用SMT的8线程比不启用SMT的4线程Cinebench渲染运行快了将近20%。Viewperf和Cinebench这两种基准在SMT方面的差异相当大,这要求你在决定是否更换操作系统之前要进行充分的测试。
能耗测试
Windows 7使用了一些技巧,让多线程运行在相同的执行管道,从而使底层的Nehalem处理器能够关闭使用较少或不运转的管道,这项功能的主要优点是直接减少了能耗。为了量化这一优势,我运行了启用SMT 的4线程Viewperf,这样的配置意味着有大约一半的管道将很少或没有运转。我预计能看到一些Windows 7的节能表现,结果不出所料:
Windows 7的优势确实很大。请注意,这是在同一台机器,完全相同的软硬件情况下,Windows 7的能耗减少了17%。这是巨大的节约,并且我们有充分理由相信系统中安装的其他软件也将同样受益于Windows 7充分利用英特尔处理器的神奇魔力。
总结
英特尔处理器与微软操作系统的紧密整合在PC的发展历史中从未断线。它们的这种关系基本上进入了良性循环,虽然并不是每次都会让最终用户获得***的利益。在这一次的升级周期中双方各自展露了看家本领:Nehalems提供了远远超过前任的强大性能,并且我们已经看到,联同Windows 7操作系统,Nehalems有效的带来了巨大的能耗节省,而Windows 7也是微软操作系统的大家庭中在这方面表现***的一个。
【编辑推荐】
- Linux之父Linus向Windows 7竖起大拇指
- 微软发布Windows 7操作系统 苹果趁机“搞破坏”
- 测试显示微软Windows 7仍存在软件兼容性问题
- 10大***游戏入住 Windows 7兼容性测试(图)
【51CTO.com译稿,非经授权请勿转载。合作站点转载请注明原文译者和出处为51CTO.com,且不得修改原文内容。】
原文:Windows 7 on multicore: How much faster? 作者:Andrew Binstock