1965年,英特尔(Intel)董事长戈登 ·摩尔在整理一份关于计算机存储器发展趋势的报 告时,发现每个新芯片大体上包含其前任两倍的容量,每个芯片的产生都是在前一个芯片产 生后的18~24个月内。如果这个趋势继续的话,计算能力相对于时间周期将呈指数式的上 升。这就是现在的摩尔定律。但是随着CPU技术的发展,频率的飙升速度远大于了这一 定律。 1982年2月,Intel发布80286处理器。时钟频率提高到20MHz,并增加了保护模式,可 访问16M内存,支持1GB以上的虚拟内存,每秒执行270万条指令,集成了134000个晶体 管。在经历了漫长的18年,2000年3月6日,AMD发布了人类有史以来的第一款1GHz的 CPU——Thunderbird核心的Athlon处理器。仅仅过了1年半, 2001年8月27 日,在IDF会 议上Intel发布了2.0G的CPU。随着频率的急速提升,随之而来又产生了新的问题,例如发 热、功耗等,Intel的CPU最终定格在3.8G之后,再也无力提升频率,CPU的主频速度已经接 近物理极限,很难再提高CPU的主频了。此时的摩尔定律不再灵验,CPU发展走到了命运的十字路口。 当单核的发展已经进入死胡同时,各CPU厂家也开始改变设计典范,未来所有微处理 器皆朝多核心设计发展,传统型单一核心处理器将退居二线。关于双核心,从ALTHON64X2 系列的横空出世,到现在的酷睿傲视群雄,再到双核安腾2的发布,双核心已经是目前市场 的主流产品。在服务器领域,双核心处理器以其卓越的性能,更低的成本也被大多数企业 接受。 在证明了整合更多核心是处理器发展的新方向后,Intel、AMD便在多核心上继续开展竞 争。2006年11月,四核心XEON正式亮相,频率从1.60GHz到2.66GHz,前端总线(FSB)速 度从1066MHz到1333MHz。这也标志多核时代的正式来临。从性能上来看,四核心也不负 众望,在典型的服务器运行环境中,各项测试都创下了有史以来的历史纪录。例如,DELL Pow- erEdge 2950服务器在执行BEA JRockit Java虚拟机器时,写下SPECjbb2005每秒商业营运 2100652次处理的纪录,比次佳纪录的效能提升了61%。在专门测量整数运算的SPECint rate base2000效能量测指标中, Fujisu Siemens 的PRIMERGY TX300 S3创下2003 的高分纪录,效 能比之前的纪录提升了63%。HP ProLiant ML370 G5服务器,在专门评估数据库效能的 TPC-C指针打破了原有的纪录,性价比在$1.85/tmpC状态下创下2407374pmC的纪录。 IBM x3650服务器在测量LS-DYNA3台车辆撞击负荷量测试时,此为重要的高效能运算 (HPC)评测,为单节点效能5写下新的纪录。此外,多家OEM厂商发布破纪录的SAP-SD 2-Tier6 、SPECWeb 20057 、SPECfp rate base20008 、Fluent9 以及SPECapc 3dsmax Rendering10 等效能量测指标的成绩。 再看AMD方面,K10架构已经开始测试,其多核心设计更具有一定的实际意义,不同核 心之间的频率可以异步,这项设计是Intel所不具备的,引用原话就是“比如你拿1个核耍 QQ游戏,可以把频率降低到1G,另外1个核视频解码,全速运行,剩余2个核如果不用,可 以设定关闭”。这样设计的好处也是显而易见的,需要时全速运作达到最大性能,空闲时关 闭内核,节电环保。 光有一个好的CPU架构,没有软件的支持,多核心照样不能发挥其最大的优势。在服 务器领域,很多软件是按照CPU个数来收取相应的授权费用。双核以及多核服务器就带了 这样一个问题,是按照服务器台数还是按照CPU个数来收费。例如,目前的很多软件如SQL 服务器端都是根据处理器的物理构造来设计的,对于企业来说,购买双核或者多核心的服务 器,软件需要花费的预算更要慎重考虑,对于微软的软件来说,无论是否双核/多核,其授权 费用是相同的,并不需要为双核/多核购买新的许可证,而IBM和Oracle等公司的产品则需 要消费者支持额外的收取费用。同样, 一旦使用一台使用双核Opteron的服务器,使用不同 的软件在总体成本上就会有所差异,如果是八核心的服务器,则其总体成本相差会更大。 从软件的设计角度来说,双核/多核也改变了一些就有的思路。nVIDIA首席科学家Da- vid Kirk曾抱怨多核心处理器给游戏开发人员带来了巨大的编程困难。而INTEL在发展硬 件的同时,也在软件上做出了相应的改进。 在近年的多核应用暨Intel服务器平台大会上,英特尔数字企业集团副总裁兼服务器平 台事业部总经理Kirk Skaugem先生表示:“英特尔实际上是全世界最大的软件工具的公司, 我们不仅是一个硬件公司,要想优化你们的多核,不优化就不能实现所有的性能,如果大家 上我们的网站,可以看到我们的未来不仅仅停留于四核,未来会变成几十个核,甚至更多,所 以我们在软件方面会进一步优化。” 多核时代才会真正带来多线程编程技术的流行和实用,以往的多线程编程最多基于OS 层,而向C、C++这些编程语言要想实现多线程还得借助于语言本身的扩展和操作系统底 层API扩展,而Java、C#这些天生具有多线程功能的语言将会成为编程的主流选择。 除过多线程编程的普遍,集群、分布式计算也会迎来真正的春天,以往碰到复杂计算和 需要超负荷运行支撑系统时最简单的解决办法就是提高硬件性能,以后单纯的提高硬件已 经不实际了,只能依靠多核和分布式计算,所以像P2P、网格计算、分布式数据库、集群计算 这些会越来越普及,甚至SOA这种组件复用为主的技术也会沾分布式的光而大放异彩。 在由英特尔网络部主办,CSDN协办的英特尔多核平台编程优化大赛中,涌现出大量优 秀的作品,充分地利用了双核/多核对于多线程和并行计算技术,使得代码运送速度大大提 升。事实证明,最新的多核心、超线程编程工具,可以为开发人员提供丰富的资源以供利用。
|