第一页
更快、更高、更强是奥运精神的体现,同样也是IT行业孜孜不倦的追求。从 8086 开始,一代代的工程师向着更快的速度,更高的主频,更强的性能这一方向不断的努力。
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厂家也开始改变设计典范,未来所有微处理器皆朝多核心设计发展为主流,传统型单一核心处理器将退居二线。关于
双核心,我想不必再解释了,大家耳熟能详,从ALTHON 64 X2 系列的横空出世,到现在的酷睿傲视群雄,再到双核安腾2的发布,双核心已经是目前市场的主流产品。在服务器领域,双核心处理器以其卓越的性能,更低的成本也被大多数企业接受。
在证明了整合更多核心是处理器发展的新方向后,INTEL AMD便在多核心上继续开展竞争。2006年11月,四核心XEON正式亮相,频率从1.60GHz到2.66GHz,前端总线(FSB)速度从1066MHz到1333MHz。这也标志之多核时代的正式来临。从性能上来看,四核心也不负众望,在典型的服务器运行环境中,各项测试都创下了有史以来的历史纪录。例如DELL PowerEdge 2950 服务器在执行BEA JRockit Java虚拟机器时,写下SPECjbb2005每秒商业营运210,0652次处理的纪录,比次佳纪录的效能提升多了61%。在专门测量整数运算的SPECint_rate_base2000效能量测指标中,Fujisu Siemens的PRIMERGY TX300 S3创下2003的高分纪录 ,效能比之前的纪录提升了63%。HP ProLiant ML370 G5服务器,在专门评估数据库效能的TPC-C指针打破了原有的纪录,以每.85/tmpC创下240,7374 tpmC的纪录。 IBM x3650服务器在测量LS-DYNA 3台车辆撞击负荷量测试,此为重要的高效能运算( 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的服务器,使用不同的软件在总体成本上就会有所差异, 如果是8核心的服务器,则其总体成本相差会更大。
从软件的设计角度来说,双核/多核也改变了一些就有的思路。nVIDIA首席科学家David Kirk曾抱怨多核心处理器给游戏开发人员带来了巨大的编程困难。而INTEL 在发展硬件的同时,也在软件上做出了相应的改进。
在今年的多核应用暨Intel服务器平台大会上,英特尔数字企业集团副总裁兼服务器平台事业部总经理Kirk Skaugem先生表示:“英特尔实际上是全世界最大的软件工具的公司,我们不仅是一个硬件公司,要想优化你们的多核,不优化就不能实现所有的性能,如果大家上我们的网站可以看到,我们的未来不仅仅停留于四核,未来会变成几十个核,甚至更多,所以我们在软件方面会进一步优化。”
多核时代才会真正的带来多线程编程技术的流行和实用,以往的多线程编程最多基于OS层,而向C、C++这些编程语言要想实现多线程还得借助于语言本身的扩展和操作系统底层API扩展,而Java、C#这些天生具有多线程功能的语言将会成为编程的主流选择。
除过多线程编程的普遍,集群、分布式计算也会迎来真正的春天,以往碰到复杂计算和需要超负荷运行支撑系统时最简单的解决办法就是提高硬件性能,以后单纯的提高硬件已经不实际了,只能依靠多核和分布式计算,所以像P2P、网格计算、分布式数据库、集群计算这些东西会越来越普及,甚至SOA这种组件复用为主的技术也会沾分布式的光而大放异彩。
今年初,在由英特尔网络部主办,CSDN协办的英特尔多核平台编程优化大赛中,涌现出大量优秀的作品,充分的利用了双核/多核对于多线程和并行计算技术,使得代码运送速度大大提升。
事实证明,最新的多核心、超线程编程工具,可以为开发人员提供丰富的资源以供利用,只有摒弃守旧的工作习惯,尽快改变观念,跟上时代的进步,多核心、超线程编程并不会成为不可逾越的障碍。
网友评论