《分布式计算机并行处理技术英文翻译》由会员分享,可在线阅读,更多相关《分布式计算机并行处理技术英文翻译(7页珍藏版)》请在金锄头文库上搜索。
1、A MODERN COURSE ON PARALLEL AND DISTRIBUTEDPROCESSINGLubomir IvanovDepartment of Computer ScienceIona College715 North Avenue New Rochelle NY 10801tel.: 914-633-2342email: livanoviona.edu摘要在发展和并行计算系统的使用LED为训练有素的专业人员提供的硬件和软件方面的并 行和分布式计算的飞速发展,知识的需要。本课程旨在帮助学生准备工作要求的给他们的实 践经验与并行计算机另外,本课程强调软件基本联系计算机科学与其他
2、学科如生物学生物化 学,物理学和天文学,使用并行计算是平凡的。I简介并行计算,多年来被视为一个纯粹的学术努力,逐渐成为现代主流的计算有很多原因的 必要性:目前的微处理器技术似乎是最后到达极限的时钟速度,CPU可以操作与合理的冷 却经典的并行计算技术,如SIMD已重新在上下文中的通用微处理器的另一方面的迅速发 展,生物化学,物理学和天文学的急剧增加,需要更强大的计算平台的建模和模拟复杂的现 实世界的现象和过程的新的领域如生物计算浸没在计算机科学与其他学科之间的界限,要求 更大的广度和深度的知识和这些技能包括技术从业人员深入了解并行计算从硬件和软件的 角度来看D只能通过丰富的实践工作经验的并行系统
3、和项目。准备这样受过高度训练的专业人士能够设计、实施和运行并行系统的软件和硬件水平的 计算机科学课程必须包括一个覆盖面更广的并行计算在他们的课程,传统的课程作为选修课 教并行计算是老年人或研究生课程通常包括典型的并行计算的历史概述主要的建筑方法历 史意义的机加上一个简短的介绍各种不同的并行编程范式在现代并行体系结构和并行编程 需要这样的治疗的主体是不够的同时学习ILLIAC IV和Cray YMP可能是有趣的从研究的角 度设计的多样性决定,在这些早期的体系结构没有准备的学生适应现代的并行处理本文对平行轮廓上级本科课程的结构和内容,分布式计算,重点主要集中在并行和线程 编程得到充分接触到现代的并
4、行体系结构和理论课围绕基于目前感兴趣的问题,科学界的这 些项目都是由使用支持线程的语言学生实施了一些比较大型的项目,现代技术(如Java) 和并行编程库,如消息传递接口(MPI)除了开发并行算法的思想和编程技巧的学生学会估 计他们的软件的预期的性能,通过分析其算法的运行时间的数目作为一个功能各种类型的过 程的物理处理器和互连网络的通信能力,学生熟悉一些关键的现代并行体系结构研究CE某 些方面的分布式操作系统的开发和理解映射虚拟流程,以最大限度地提高性能的机器的底层 物理硬件的问题。在本文余下的部分中,我们列出了需要并行和分布式计算的讨论的一个基本分类的并行 体系结构和软件考虑一些现代的潮流并行
5、计算和提出我们的并行和分布式计算过程的细节。II 一个并行与分布式计算课程的必要性目前的微处理器实现技术水平已达到亚100nm的范围不断增加电路复杂性打包到一个 更小的空间总是会导致如量子力学效应和热,在目前的技术水平是很难或不可能克服的公司 都在积极研究交替实现技术和材料的问题(例如“量子阱”的基础在InSb 1 晶体管)目 前的微处理器实现技术似乎已达到顶峰的时钟速度,传统的冷却仍然可以采用事实上这正式 为什么英特尔最新的pentium-d芯片运行在一个较低的原因(可达3.4GHz)的时钟速度比 他们的前辈(Max 3.8GHz)他们会提供双核心技术,如果使用得当的软件将显着提高性能 的其
6、它传统的并行处理的概念,发现他们的方式进入现代指令集处理器等MMX和SSE (流 SIMD扩展)在英特尔和AMD处理器的指令集的非传统的高度并行的架构,如神经网络和 细胞自动机有助于处理问题的算法是很困难或不可能的设计在软件级别的线程将过程分为 独立的并行任务-已广泛接受和支持线程已经成为最强大的编程语言如C+和Java大多数 现代通用以及嵌入式应用程序是多线程的,有助于他们的效率,另一方面,并行处理库如 PVM (并行虚拟机)和MPI (消息传递接口)已成为骨干开发高度复杂的应用处理各种各 样的计算要求苛刻的问题从天文物理、化学、生物学和经济学的最新进展在生物DNA分析 大气化学大气研究等,
7、主要是由于高性能并行架构的可用性和支持软件一般传统的微处理器技术面临着根本性的局限性和新颖的计算方法(量子计算等)很大 程度上仍在研究的早期阶段的并行处理提供了唯一的机会,继续提高计算系统的性能,计算 机行业软件和硬件已经接受了并行处理,它不再被认为是一个纯粹的学术努力具有讽刺意味 的是,正是在学术界,并行计算仍然被人怀疑大多数工程类大学提供高级选修课,并行处理, 往往不是提供一个广阔的历史概况领域没有强调现代并行处理一些这样的课程,以“硬件” 的方法来并行计算和跟踪的演变并行体系结构,从它的起源在1960年代通过最近通过的机 器数量较典型的建筑方法疼痛如ILLIAC IV为代表的SIMD机器
8、的Cray YPM作为一个典型 的向量处理器架构的Cray T3D作为经典的共享内存MIMD设计等小的代码片段来说明具体 问题的编程机器的问题其他并行处理课程忽略并行处理完全相反而要集中在探讨一些不同 的编程范式的建筑方面的在文理学院的课程通常不提供并行处理的并行计算的唯一方面让学生接触到的是流水 线和超标量处理器分别简要介绍在大多数计算机组织与结构课程的线程的概念通常是在操 作系统课程只提到一些课程为学生提供实践经验的工作线程III并行与分布式计算在本文中,我们将在平行的现状看,分布式计算,勾勒出一个力求平衡理论的硬件和软 件方面的现代的并行和分布式计算我们认为不可能在一个单一的课程建筑和软
9、件的方法以 及广泛的理论已经发展了过去的几十年里,因此我们牺牲一些学科的宽度为一个更详细的治 疗是必要的在今天的并行计算的特定区域的覆盖在众多课程。1/并行和分布式计算的当前状态之前,我们考虑的内容当然需要我们简要地看一看国家 现代的并行和分布式计算的现代并行体系结构,可以大致分为数据并行或并行数据并行结构 是指采用相同的操作多个数据流并行数据并行机器的两个主要类别的向量和SIMD(单指令 /多数据流)结构的另外一些微处理器,如英特尔奔腾和AMD速龙提供所谓的单指令多数据 流扩展(SSE)的红外相应的指令集允许同时操作几个整数或浮点数的计算如神经网络和细 胞自动机的一些非传统的模型也属于这一类
10、代码的并行体系结构的并行执行代码取决于晶粒的并行架构分为以下组指令级并行体系结构:这些执行多个指令同时和/或在一个重叠的方式这一类包括流水 线的超标量和VLIW体系结构。线程/进程级并行执行多个建筑:这些进程/线程con curre ntly and in elude the所谓的分 布式共享存储器和MIMD (多指令/多数据流)的机器。大多数现代建筑往往跨越这些类别的界限,提供组合的方法并行,例如英特尔奔腾处理 器的基本指令级并行架构,采用流水线和超标量体系结构的处理也让SIMD操作的特定的多 媒体数据类型以及双核心能力,允许一个真正的并行线程的执行由操作系统调度近年来的一些重要的硬件和软件
11、的发展已经确立了自己作为采用并行与分布式处理的 主要方式:集群计算:这种方法属于线程/进程级并行体系结构分类(通常是分布式存储MIMD) 最初被称为“穷人的超级计算机”的想法是使用一个相对大量的廉价的现成的微处理器,如 英特尔奔腾或DEC阿尔法和互连使用普通以太网的性能增益是不显着一个真正的超级计算 机,使用专门的处理器和互连网络的路由算法的优化,但是成本的集群是许多倍低于一个典 型的超级计算机在最近几年,集群计算已经成为主要的方式实现高性能的系统大多数计算机 制造商如戴尔惠普IBM和英特尔现在提供相对便宜的集群不等的价格从20000美元到 100000美元到一个更高的水平的想法,集群计算已经
12、成为基础的设计和实施的许多当今最 强大的机器NES如蓝色基因/ L 2 ASC紫色3 和ASCI红色4 消息传递接口(MP) 5 :消息传递是进程/线程交换数据时,合作解决一个大问题, 最有效的方法是MPI消息传递,已成为事实上的标准的并行处理中的一个库规范(特别是 MIMD)社区推开所有的大消息通过方法如PVM MPI规范已经实施到C C+和Fortran库, Java不直接支持但最近开发的mpiJava 6接口提供的能力,接口的Java程序标准的MPI MPI的使用允许创建极其复杂和强大的并行程序的MPI是普遍使用的时写作大规模计算模 拟生物过程,如蛋白质折叠或天体物理过程,如N-体相互作
13、用的其他应用程序,严重依赖 于使用的MPI是天气预报软件的流体动力学计算软件包甚至地震搜索工具。线程:分裂能力的过程分成若干轻量级的独立和并行的子进程的线程具有革命性的软件 开发-在所有平台上开发多线程应用程序需要一套新的技能和一种新的算法思想一方面线程 提供程序员方便集中在执行一项特定的任务而不必担心如何将在更大范围内的应用程序如 果两个任务需要同时执行每个被设计为一个单独的线程并开始独立于其他另一方面线程编 程并不是没有自己的挑战,线程通常需要同步多线程不能同时更新一个对象或者一个线程可 以通过另一个线程以及两者之间的相互作用所需的计算必须精心策划的实时应用程序的线 程在嵌入式系统中增加了
14、一些额外的挑战,如时序约束的死锁避免与通用软件质量控制等等 新的标准和语言的子集,如Java 2微型版是专为嵌入式系统的线程处理的需要。高性能Fortran代码并行体系结构:当我们重新地由线程处理和消息传递的数据并行体 系结构需要不同的套标准和语言,包括方便的原始数据(矢量矩阵为分配等)之间的处理器 so that it can be in the manipulated 并行高性能 Fortran 论坛7 has developed a number of 扩张 Fortran 90 known 统称为有高性能 Fortran (HPF) to help programmers 写数据并 行
15、程序的一些复杂的流体动力和高能天体物理模拟 have been implemented使用HPF considering the overall目的和消息传递 MIMD架构优势的现代 supercomputing the sig nifica nee of HPF is somewhat 减少鉴于这些趋势并行与分布式计算课程集中在集群计算线程处理消息传递我们的目标是 使我们的学生在这些领域的基本概念和挑战的基本认识和从事的项目,使用上述语言库和技 术的学生提供实践经验2.并行与分布式计算过程本课程包括讲座,实验室和工程构件的演讲涵盖的并行计算的基本理论以及具体的建筑 设计决策和权衡的软件范例等
16、实验室让学生细节获得亲身的经验,提出的材料在讲座过程中 应用的上下文中的小案例研究和编程任务课程还包括几个较大规模的项目,学生必须独立完 成或团体:2.1 The Lecture Component前几课集中在性能问题:估计相比,使用amdalh定律用于并行处理的并行复杂性类的 研究探索通信和10并行程序的性能的影响等理念的串行实现并行程序的执行时间的加速比 是给学生尽可能早的程序的性能评价工具,让他们习惯等因素的考虑处理器的数目的10瓶 颈等,当决定如何最好的并行化的程序下一个弗林的分类介绍和平行的主要类别及分布式的架构进行了讨论,这里强调的是理 解的概念上的差异,不同类型的建筑,在这一点上的向量处理和消息传递的概念进行了介绍 和说明的几个简单的HPF和MPI程序的执行跟踪的细节编译器的作用和处理并行操作系统 也讨论了这一自然的线程的讨论线程是指个体在执行顺序控制流分析程序的用户级与内核级线程和