2. 大科学催生利器

过去的一百年里,电子计算机技术历经多次飞跃。根据计算机采用的物理器件,一般将计算机的发展分成四个阶段:20世纪四五十年代的电子管时代,20世纪中期的晶体管时代,20世纪60年代的集成电路时代,以及20世纪70年代以来的微处理时代。如果以交通工具来类比,这一发展历程相当于从驴车到加长凯迪拉克。

第一代电子管计算机的基本特征是采用电子管作为计算机的逻辑元件,数据表示主要是定点数,用机器语言或汇编语言编写程序。由于当时电子技术的限制,每秒运算速度仅为几千次,内存容量仅几KB。

正当电子管计算机流行世界的时候,伴随“固态革命”而来的晶体管已经在贝尔电话实验室(Bell Telephone Laboratories)悄然诞生,晶体管不仅能替代电子管整流、检波和放大,而且比电子管体积小、寿命长、不发热、耗电小。1955年,贝尔实验室研制出世界上第一台全晶体管计算机TRADIC(TRAnisitor DIgital Computer)。IBM在1960年全面推出晶体管化的7000系列电脑,成为第二代电子计算机的典型代表载入史册。

第二代晶体管电路电子计算机的基本特征是:逻辑元件逐步由电子管改为晶体管,外存储器有了磁盘、磁带,运算速度达每秒几十万次,内存容量扩大到几十KB,应用领域也从计算扩展到了事务处理、工程设计等方面。

1959年2月6日,基尔比(J. S. Kilby, 1923—2005)向美国专利局申报专利“半导体集成电路”,他成功地在不超过4平方毫米的面积上集成了20多个元件。1964年,在IBM成立50周年之际,IBM历史上最为成功的机型——IBM360问世,标志着第三代计算机全面登场。第三代集成电路计算机的逻辑元件采用中小规模集成电路,运算速度每秒可达几十万次到几百万次。

20世纪70年代以后,计算机用集成电路的集成度迅速从中小规模发展到大规模、超大规模水平,微处理器和微型计算机应运而生。1974年底,电脑爱好者爱德华·罗伯茨(E.Roberts, 1942—2010)发布了自己制作的装配有Intel第一款8位微处理芯片的计算机“牛郎星”。这台世界上第一部使用微处理器的计算机,从此掀开了个人电脑的序幕。

计算机世界就这样爆发了一场又一场革命。从第一代到第四代计算机,机器的体积越来越小,计算速度越来越快,价格越来越低,操作系统越来越完善,而应用软件已成为现代工业的一部分。

如果说计算机技术的发展为超级计算机的出现奠定了物质基础,来自大科学的需求则为其提供了现实动力。

20世纪前,科学研究基本上是一个人或几个人进行的“家庭作坊”。随着现代科学的迅猛发展,科学的分工越发细致,到20世纪90年代,现代科学学科已突破6000门。

人类对客观世界认识深化、细化的同时,集合思维的要求也越来越高。第二次世界大战后,科学研究领域开始出现现代综合思潮。1962年,美国普鲁大学科学史教授普赖斯(Derek de Solla Price, 1922—1983)首次提出“大科学”概念。它有三个基本特征:大科学是科技、经济与社会高度协同的科学;大科学是各种学科渗透、综合和汇流的科学;大科学是一个既有机统一而又开放的大系统。

世界历史上著名的“大科学”项目包括:20世纪40年代美国陆军部实施的“曼哈顿”工程(即原子弹计划), 20世纪60年代苏联组织的载人航天工程,20世纪60年代美国宇航局组织的“阿波罗”登月工程,20世纪六七十年代中国实施的“两弹一星”计划,20世纪末美国、英国、法国、德国、中国和日本共同参与的人类基因组计划,21世纪初美国国防部实施的“导弹防御”计划等。

这些工程和计划规模浩大,由大量科技人员参加,投入了大量科研经费,历时长。中国的“两弹一星”计划调动了26个部委、20多个省(区、市)、1000多家单位的精兵强将,历时近10年完成。美国的“阿波罗”登月工程同样前后花了10年时间,参与的大企业达2万多家,大学和科研机构120多个,参研人员多达40万人,花去240亿美元。

自然地,“大科学”项目需要计算性能更强的计算机——高性能计算机(High Performance Computer),又称超级计算机(Super Computer)或巨型计算机。

“超级计算(Supercomputing)”这个词第一次见诸于世,是在《纽约世界报》1929年关于IBM为哥伦比亚大学建造大型报表机(Tabulator)的新闻中。

超级计算机通常是指由数百数千甚至更多的处理器(机)组成的、能计算普通PC机和服务器不能完成的大型复杂课题的计算机。美国能源部劳伦斯·伯克利国家实验室对超级计算机的定义是:由8个或更多的计算节点组成、作为单个高性能机器工作的集群。一些厂家这样定义:超级计算机的运算速度平均每秒1000万次以上,存储容量在1000万位以上。

天河二号工程副总指挥、新闻发言人李楠则将超级计算机定义为“同时代里运算速度达到最高级别的大容量巨型计算机”。他用5个“超级”来描述超级计算机。速度超级快——天河二号超级计算机运算1小时,相当于13亿人同时用计算器计算1000年;容量超级大——天河二号可存储12Pbyte的信息,相当于600亿册10万字的图书;体积超级大——日本“京”有864个机柜,美国“红杉”96个机柜、“泰坦”200个机柜;耗电超级多——Google的数据中心不得不建在水电站旁边;造价超级贵——各国的投入不遗余力。

谁最早提出超级计算机的概念,很难考证了。第一个研发出符合超级计算机定义产品的人是西蒙·克雷(Seymour Cray, 1925—1996),他日后被人们称为“巨型机之父”。

克雷出生于美国威斯康星州的一个工程师世家。1960年,刚成立三年的控制数据公司(Control Data Corporation, CDC)接受美国原子能委员会的委托开始研制巨型机,公司的电脑总设计师就是年仅31岁的克雷。

根据克雷的要求,CDC在密林深处为他建立了一个实验室,配备了一个34人组成的研究小组。这位骨子里的工程师谢绝一切社交活动,以“丛林隐士”的姿态埋头研制。1963年8月,被克雷称作“简单的蠢东西”CDC6600超级计算机问世。

CDC6600仍属于第二代电脑,共安装了35万个晶体管。作为第一台真正意义上的超级计算机,它的运算速度达到1Mflops。CDC6600和升级产品CDC7600统治了世界高性能计算10年之久。

接下来的20世纪70年代中后期,以向量超级计算为主的超级计算机陆续出现,如CDCCyber205和克雷1号。值得一提的是1975年诞生的“克雷1号”,实现了当时绝无仅有的超高速——每秒1亿次运算。这台超级计算机的体积却并不巨大,占地不到7平方米,质量不超过5吨,共安装了约35万块集成电路。它同时标志着巨型机加入了第三代电脑的行列。

在20世纪70年代和80年代初期,向量计算处理对提高计算机运算速度十分有利,却已经接近物理极限,要想继续提高性能意味着必须投入多个CPU同时为一个程序工作。于是,一个全新的概念——大规模并行处理(MPP)被提出来了,超级计算机开始走上真正的商用化道路。

一般认为,超级计算机的发展经历了5个阶段:早期的单处理器巨型机、向量处理系统、大规模并行处理系统、共享内存处理系统和集群系统。目前各国研制的超级计算机大都使用集群式结构,只不过在具体采用的节点机型、互连拓扑结构及互连技术上会有所不同。与当年的向量式计算机不同的是,集群式超级计算机系统具有结构灵活、通用性强、安全性高、易于扩展、高可用性和高性价比等诸多优点。

自1976年美国克雷公司推出世界上首台运算速度达每秒2.5亿次的超级计算机以来,超级计算机堪称集万千宠爱于一身的高科技宠儿,在天气预报、生命科学、地球资源勘探、航空航天等高科技领域大展身手。

数千年来,人类主要通过理论和实验两种手段从事科学探索。16世纪后,以伽利略(Galileo Galilei, 1564—1642)和牛顿(Sir Isaac Newton FRS, 1642—1727)为代表的科学家对科学方法论进行了重大变革,使这两种手段更加完备。但对于许多复杂的科学问题,理论研究与实验方法都有很大局限性。电子计算机的发明则大大提升了人的计算能力,计算已经成为除实验、理论之外第三种科学活动的主要方式。

科学计算的能力异常强大。哈勃望远镜看不到亿万年前的太空,计算机能算出来。实验无法预知未来气候,计算机能算出来。海啸来袭速度极快,但美国科学家最近在超级计算机上发现了海啸和地震声波的关系,可以通过探测声波提前预警。这些关系人类未来生存和发展的大科学问题,是超算发展的根本驱动力。

进入21世纪后,竞争日渐激烈,高性能计算越发成为一个国家综合国力的体现和支撑国家实力持续发展的关键技术之一。鉴于超级计算机在解决诸如国防、能源、金融和材料等领域关乎国家利益问题上的能力,发展超算具有重要价值。竞相研制最快的超级计算机已成为国家自豪感的来源,新世纪科学最重要和经济上最有前途的研究前沿,最有可能通过先进的计算技术和运用计算科学得到解决。超级计算技术还开始运用到许多主要的经济活动中:石油和天然气公司利用超级计算机来寻找储藏,华尔街交易人利用超级计算机进行超快速的自动交易,宝洁公司甚至利用超级计算机来确保薯片在装罐时不会破碎。同时,拥有大型超级计算机的研究中心对顶级科学人才极具吸引力,因此超级计算机的意义超出了简单的计算。

当然,是否把发展超算纳入国家战略,取决于一国的发展状态、技术和人才实力以及经济基础。作为近年来国家实力大大增强的世界第二大经济体,在建设创新型国家的巨大驱动下,中国迎来了一个需要大力发展超级计算机的时期。

数千年来,人类主要通过理论和实验两种手段从事科学探索。今天,计算已经成为除实验、理论之外第三种科学活动的主要方式。