超线程(Hyper-Threading)技术出现的本意,是提升处理器的效能,但近日却有技术专家指出,这种技术反而导致服务器的效能降低。
是危言耸听还是实话实说?
我们在网上查询到的依据显示,已经有专业的技术人员撰文指出,就安装SQL Server与Citrix Terminal Server的系统而言,支持超线程技术的主板在沉重工作负荷下的效能显著降低;但一解除超线程,系统就恢复到预期中的水平。英国一家会计软件公司Lakeview Computers的技术总监Peter Ibbotson说:“客户抱怨,把Citrix Terminal Server搭配我们的软件在同一部机器上执行时,效能比预期差很多。然而当我们解除超线程后,效能就恢复正常。”
超线程技术可以让一颗处理器在同一时间执行多个进程,分享一颗处理器内的资源,从而减少CPU的闲置时间,提高CPU的运行效率。根据英特尔的说法,超线程技术可提升芯片效能,让一颗CPU处理将近两倍的信息量。
但是,现在这种技术却面临重大挑战。微软SQL Server 2005程序开发人员Slava Ocks也撰文指出了类似的问题。Ocks写道:“我们的客户观察到一个有趣的现象,就是高端超线程硬件在某些情况下,也就是SQL Server承受高度负荷之时,CPU使用率会增加许多,但SQL Server的效能却不增反降。”
为了验证这种说法是否符实,Ocks还做了一个测试,让某个清除磁盘缓存记忆区段的系统线程与工作线程同时执行,在使用超线程技术后,他发现逻辑处理器共享L1与L2高速缓存,于是他分析说,当多重线程存取内存的不同部位却同时交由芯片的超线程技术来处理时,共享的高速缓存跟不上各线程轮番上阵的需求,效能便随之降低了。
“这很讽刺,”Ibbotson说:“超线程技术的卖点是号称能提升多线程软件的效能。SQL Server是线程密集的软件,但执行效能却不显著。我们建议客户,在同一部服务器上同时执行Citrix与我们的软件时,最好关闭超线程。”
关于超线程的这些说法令人吃惊,因为这个技术出现已经很长时间了,为何直到现在才有这样的说法?记者试图联系相关人员进行确认未果。英特尔的发言人却很冷静地说,超线程在大多数基准测试中都表现良好,并且“英特尔已表明,超线程什么情况下使用最佳,什么情况下不宜。”记者致电几家国内用户,他们都表示还没有做过对超线程技术比较详细的比较,在这里我们提醒用户对此给予更多关注。
(出处:http://www.sheup.com)