科技: 人物 企业 技术 IT业 TMT
科普: 自然 科学 科幻 宇宙 科学家
通信: 历史 技术 手机 词典 3G馆
索引: 分类 推荐 专题 热点 排行榜
互联网: 广告 营销 政务 游戏 google
新媒体: 社交 博客 学者 人物 传播学
新思想: 网站 新书 新知 新词 思想家
图书馆: 文化 商业 管理 经济 期刊
网络文化: 社会 红人 黑客 治理 亚文化
创业百科: VC 词典 指南 案例 创业史
前沿科技: 清洁 绿色 纳米 生物 环保
知识产权: 盗版 共享 学人 法规 著作
用户名: 密码: 注册 忘记密码?
    创建新词条

历史版本2:并行计算 返回词条

并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。此外还包括:利用非本地资源,节约成本 ― 使用多个“廉价”计算资源取代大型计算机,同时克服单个计算机上存在的存储器限制。

传统地,串行计算是指在单个计算机(具有单个中央处理单元)上执行软件写操作。CPU 逐个使用一系列指令解决问题,但其中只有一种指令可提供随时并及时的使用。并行计算是在串行计算的基础上演变而来,它努力仿真自然世界中的事务状态:一个序列中众多同时发生的、复杂且相关的事件。

为利用并行计算,通常计算问题表现为以下特征:
(1)将工作分离成离散部分,有助于同时解决;
(2)随时并及时地执行多个程序指令;
(3)多计算资源下解决问题的耗时要少于单个计算资源下的耗时。 

目录

摩尔定律行将终结?——并行计算异军突起回目录

 

 

    今日视点
    让我们将目光转向1965年,当时,英特尔公司的联合创始人戈登·摩尔预测,在半导体行业内,每18个月芯片上晶体管的数量就会翻番。几乎半个世纪以来,摩尔定律一直有效,它使计算机越来越便宜,运行速度越来越快,同时功能越来越强大。
    然而,一直有专家提出警告称,摩尔定律最终也会遭遇物理法则的阻挠,芯片让人眼花缭乱的高增长势头必将终结。专家们的预测一直未曾发生,但是,这种想法也始终在很多人心中盘绕。

    摩尔定律日薄西山?
    美国《电子工程时报》(EE Times)网站近日刊文指出,今年4月7日,在2009年国际物理设计大会上,IBM的院士卡尔·安德森指出,摩尔定律很快就会成为历史。
    卡尔·安德森是IBM服务器部门负责物理设计和工具的研究人员。他认为,就像之前的火车、汽车和航空工业一样,半导体工业也已经相当成熟,持续创新的速度正在慢慢减缓。随着半导体器件的尺寸和成本呈指数级下降,摩尔定律将会步入历史的故纸堆。
    安德森表示,多核微处理器等最前沿的芯片可能还会出现指数级的增长。但是,更多设计人员都发现,日常应用并不需要最新的物理设计。因此,摩尔定律很快将失去效力。今天,仅仅高端的芯片制造商能够负担下一代芯片的研发和设计所需要的高昂成本,更不用说制造这些芯片了。
    但也有业内巨头持不同看法。据美国媒体报道,今年4月8日,在2009年春季英特尔信息技术峰会(IDF)上,英特尔公司董事长克瑞格·贝瑞特指出:“指导英特尔发展多年的摩尔定律诞生于1968年,其将在未来15年中继续发挥作用。”
    英特尔公司首席技术官兼企业技术事业部总监贾斯汀·瑞特勒在接受美国《商业周刊》采访时也坚持认为,在接下来的10年里,英特尔公司能够让下几代处理器上的芯片翻番。

    并行计算:电脑变人脑
    问题不在于容量,而在于速度。几年前,微处理器的速度就达到了3GHz(吉赫)。此时,处理速度不能再进一步增加,否则,微处理器就会因为过热而融化。2004年,英特尔4GHz处理器计划被迫取消,半导体厂商对晶体管数量和高主频的不断追求从此被画上休止符。
    为了解决这个问题,半导体行业开始让几个芯片同时做一件事情(多线程),而不是让一块芯片以越来越快的速度处理一件事情。于是,出现了双核和四核处理器(基于单个半导体的一个处理器上拥有两个或者四个处理器核心)。瑞特勒说,10年内,我们可能会见证拥有100个甚至更多内核的处理器的诞生。
    但是,这又提出了另外一个新问题:怎样把这些细小的计算机引擎排放得当,使得它们更好地发挥作用?操作系统还没有准备好,编程语言和程序开发工具也一样。
    其实,就连一直编写软件的程序员们自己的内心也忐忑不安。他们过去编写的程序都是在一个处理器引擎上运行的串行软件,而不是并行运行的软件。
    微软首席研究及战略官克瑞格·蒙迪说:“过去50年来,我们一直使用一种方式编写软件,现在,我们要开始朝一个不同的模式转变了。”
    并行计算已经出现一段时间了,但是,仅仅限于高端的超级计算机,为这些超级计算机编写程序相当困难而且也耗费时间。
    对普通的程序员来说,现在面临的挑战是他们能否编写在并行计算机上运行的软件,同时让成本更低。蒙迪预计,微软将找到解决的方式。
    蒙迪说,毕竟人类的大脑本身就是一个相当庞大的并行计算机,编写出能够并行运行的程序是使计算机更像人类一样工作而不仅仅只是个机器的关键。
    世界上没有亘古不变的绝对真理,摩尔定律也有湮没于历史的尘埃中的一天。其实,早在2005年,戈登·摩尔本人就曾表示:“摩尔定律不可能永远持续下去。因为芯片的体积越来越小,并且已经接近原子的体积,这就是一个根本性的障碍,统治半导体业40年的摩尔定律有可能在未来10年至20年内被打破。”
    现在,我们还无法准确断定摩尔定律还能管用多久,所有的预测和猜想都预示着下一次技术的革新和腾飞。以目前的情况来看,虽然多核技术发展迅速,但是,其普及还需要软件的支持以及完整的产业链的建立。

并行计算的研究历史回目录

1955          ①IBM推出704机,主要设计者为Gene Amdahl(IBM大型机之父,提出Amdahl定律)。这是第一台具有浮点硬件的商用机器,浮点计算能力达到5k FLOPS

1956          ①为Los Alamos国家实验室开发超级计算机,IBM启动7030项目(STRETCH项目),目标是比当时的计算机快100倍。

②为Lawrence Livermore国家实验室设计超级计算机,IBM启动LARC(Livermore Automatic Research Computer)项目。

③英国的Atlas项目,由曼彻斯特大学与Ferranti公司合作,主要设计者为Tom Kilburn。

1957          ①DEC(Digital Equipment Corporation)公司成立。

1958          ①CDC(Control Data Corporation)公司成立。

②法国Compagnie des Machines Bull发布Bull Gamma 60,这是第一台多线程(multithreading)计算机,具有多个功能部件(BCD ALU/binary ALU/通用比较单元/代码转换单元等)。http://www.cs.clemson.edu/~mark/g60.html

③John Cocke 和 Daniel Slotnick在一篇IBM研究备忘录中讨论到如何利用数值计算中的并行性。之后Slotnick提出了SOLOMON ―― 一个具有1024个1-bit自治处理单元(PE)、每个单元具有128 X 32 bit存储的SIMD计算机。虽然并没有被制造出来,但其设计可视作是后来工作的开端。

1959          ①IBM发布第一台STRETCH计算机(见1956年),总共制造了8台,其中的许多技术也应用在同年发布的IBM 7090中。

②第一台LARC计算机(见1956年)发布,虽然它达到了预定的性能要求,但总共只制造了两台。

1960          ①CDC公司开始研制CDC 6600(世界第一台巨型机)

②Datamatic Division of Honeywell公司发布Honeywell 800,用硬件实现了8个程序之间的分时运行。

③E.V.Yevreinov 在俄国新西伯利亚数学学院(IMN)开始了关于具备可编程互连节点的紧藕合、粗粒度并行体系结构的研究。

1961          无

1962          ①CDC公司发布了CDC 1604机,类似于IBM 7090机,特点是字长48位,访存周期6微秒。

②Atlas计算机投入运行。这是第一台使用虚拟内存及分页技术的计算机,具有指令流水线,配备了单独的定点和浮点算术单元,速度达到约200K FLOPS。

③C.A.Petri提出了Petri Nets模型,一个用于描述和分析并发系统的理论框架。

④Burroughs公司推出的D825型对称多处理器MIMD计算机,利用交叉开关(crossbar switch)来支持1~4个CPU对1~16个内存模块的访问。所使用的CPU类似于较晚的B5000,采用了对称(SMP)的操作系统,并共用一个等待执行队列。

(请查阅http://ed-thelen.org/comp-hist/BRL64-b.html)

1963          无

1964          ①CDC公司推出CDC6600,这是第一台在技术和市场上同时获得成功的巨型机。每台机器配备了一个60位CPU及10个外围处理单元(ppu);CPU设计中采用了记分板技术(scoreboard)来处理指令相关。(查阅CAAQA /appendix A/A.8)

②IBM公司开始高级计算机系统(Advanced Computer System)的设计,预计最高每周期可发射7条指令。工程在1969年被搁置,但许多技术应用于IBM后来的机型中。

③Daniel Slotnick提议为Lawrence Livermore国家实验室开发一种大规模并行计算机,然而美国原子能委员会却把这个合同给了CDC公司(后来制造出了STAR-100机)。而Slotnick的设计得到了美国空军的资金支持,演化为后来的ILLAC-IV,并在Illinois大学制造,主要承造商为Burroughs和德州仪器(TI)公司。德州仪器公司后来开发的高级科学计算机(Advanced Scientific Computer)是这型机器的延续。

1965          ①通用、MIT、贝尔实验室开始开发Multics,这个工程的目标是开发一种通用的、共享存储的、可多重处理的分时操作系统。

②Edsger Dijkstra提出并描述了临界区问题,之后,许多关于并行系统的研究工作围绕临界区管理展开,试图找到一种既安全又有效的管理方法。

③James W. Cooley和John W. Tukey提出了快速傅里叶变换算法(FFT),它成为后来的浮点运算器最主要的运算任务之一。

1966          ①Arthur Bernstein提出针对声明相关的Bernstein条件 (简单讲,就是不独立的两条指令不可以并行执行),这是后来人们研究数据相关的基础。

②CDC公司推出CDC 6500,配备了两个CDC6400处理器,主要设计师为Jim Thornton。

③Sperry Rand公司UNIVAC分部发布了第一台多处理器计算机UNIVAC 1108,每台配备了最多3个CPU及2个I/O控制器,其专用的EXEC 8 操作系统支持多线程程序的运行。

注:

1950年Remington Rand公司收购了Eckert-Mauchly公司(ENIAC);

1955年Sperry公司与Remington Rand公司合并组成Sperry Rand公司;

1986年Sperry Rand公司与Burroughs公司合并组成Unisys公司;

④Michael Flynn发表了对计算机体系结构进行分类的论文,提出了具有较大影响的Flynn分类法。

⑤(原苏联)E.V.Yevreinov在新西伯利亚数学学院完成了Minsk-222计算机。

参考文献回目录

http://sci.ce.cn/fxqy/200909/03/t20090903_19928976.shtmlhttp://blog.csdn.net/mmpire/archive/2006/03/19/628993.aspx

→如果您认为本词条还有待完善,请 编辑词条

标签: 并行计算