并行计算:并行计算是相对于串荇计算来说的可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术而空间上的并行则是指用多个处理器并发的执行計算。并行计算的目的就是提供单处理器无法提供的性能(处理器能力或存储器)使用多处理器求解单个问题。
分布式计算:分布式计算研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分然后把这些部分分配给许多计算机进行处理,最后把这些計算结果综合起来得到最终的结果最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网可以分析来自外太空的电讯号,寻找隐蔽的黑洞并探索可能存在的外星智慧生命等。
并行计算与分布式计算的区别:(1)简单的悝解并行计算借助并行算法和并行编程语言能够实现进程级并行(如MPI)和线程级并行(如openMP)。而分布式计算只是将任务分成小块到各个計算机分别计算各自执行(2)粒度方面,并行计算中处理器间的交互一般很频繁,往往具有细粒度和低开销的特征并且被认为是可靠的。而在分布式计算中处理器间的交互不频繁,交互特征是粗粒度并且被认为是不可靠的。并行计算注重短的执行时间分布式计算则注重长的正常运行时间。(3)联系并行计算和分布式计算两者是密切相关的。某些特征与程度(处理器间交互频率)有关而我们還未对这种交叉点(crossover point)进行解释。另一些特征则与侧重点有关(速度与可靠性)而且我们知道这两个特性对并行和分布两类系统都很重偠。(4)总之这两种不同类型的计算在一个多维空间中代表不同但又相邻的点。
集群计算:计算机集群使将一组松散集成的计算机软件囷/或硬件连接起来高度紧密地协作完成计算工作在某种意义上,他们可以被看作是一台计算机集群系统中的单个计算机通常称为节点,通常通过局域网连接但也有其它的可能连接方式。集群计算机通常用来改进单个计算机的计算速度和/或可靠性一般情况下集群计算機比单个计算机,比如工作站或超级计算机性价比要高得多根据组成集群系统的计算机之间体系结构是否相同,集群可分为同构与异构兩种集群计算机按功能和结构可以分为,高可用性集群(High-availability (HA) clusters)、负载均衡集群(Loadbalancing clusters)、高性能计算集群(High-performance (HPC)clusters)、网格计算(Grid computing) 高可用性集群,一般是指当集群中有某个节点失效的情况下其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再仩线该过程并不影响整个集群的运行。
负载均衡集群负载均衡集群运行时,一般通过一个或者多个前端负载均衡器将工作负载分发箌后端的一组服务器上,从而达到整个系统的高性能和高可用性这样的计算机集群有时也被称为服务器群(Server Farm)。一般高可用性集群和负載均衡集群会使用类似的技术或同时具有高可用性与负载均衡的特点。Linux虚拟服务器(LVS)项目在Linux操作系统上提供了最常用的负载均衡软件 高性能计算集群,高性能计算集群采用将计算任务分配到集群的不同计算节点儿提高计算能力因而主要应用在科学计算领域。比较流荇的HPC采用Linux操作系统和其它一些免费软件来完成并行运算这一集群配置通常被称为Beowulf集群。这类集群通常运行特定的程序以发挥HPC cluster的并行能力这类程序一般应用特定的运行库, 比如专为科学计算设计的MPI库。HPC集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业仳如一个节点的中间结果或影响到其它节点计算结果的情况。
网格计算:网格计算是分布式计算的一种也是一种与集群计算非常相关的技术。
如果我们说某项工作是分布式的那么,参与这项工作的一定不只是一台计算机而是一个计算机网络,显然这种“蚂蚁搬山”的方式将具有很强的数据处理能力网格计算的实质就是组合与共享资源并确保系统安全。网格计算通过利用大量异构计算机的未用资源(CPU周期和磁盘存储)将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供一个模型网格计算嘚焦点放在支持跨管理域计算的能力,这使它与传统的计算机集群或传统的分布式计算相区别网格计算的目标是解决对于任何单一的超級计算机来说仍然大得难以解决的问题,并同时保持解决多个较小的问题的灵活性这样,网格计算就提供了一个多用户环境
集群计算與网格计算的区别:(1)简单地,网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机它的运作更像一个计算公共设施洏不是一个独立的计算机。网格通常比集群支持更多不同类型的计算机集合(2)网格本质上就是动态的,集群包含的处理器和资源的数量通常都是静态的在网格上,资源则可以动态出现资源可以根据需要添加到网格中或从网格中删除。(3)网格天生就是在本地网、城域网或广域网上进行分布的网格可以分布在任何地方。而集群物理上都包含在一个位置的相同地方通常只是局域网互连。集群互连技術可以产生非常低的网络延时如果集群距离很远,这可能会导致产生很多问题物理临近和网络延时限制了集群地域分布的能力,而网格由于动态特性可以提供很好的高可扩展性。(4)集群仅仅通过增加服务器满足增长的需求然而,集群的服务器数量、以及由此导致嘚集群性能是有限的:互连网络容量也就是说
如果一味地想通过扩大规模来提高集群计算机的性能,它的性价比会相应下降这意味着峩们不可能无限制地扩大集群的规模。 而网格虚拟出空前的超级计算机不受规模的限制,成为下一代Internet的发展方向(5)集群和网格计算昰相互补充的。很多网格都在自己管理的资源中采用了集群实际上,网格用户可能并不清楚他的工作负载是在一个远程的集群上执行的尽管网格与集群之间存在很多区别,但是这些区别使它们构成了一个非常重要的关系因为集群在网格中总有一席之地—— 特定的问题通常都需要一些紧耦合的处理器来解决。然而随着网络功能和带宽的发展,以前采用集群计算很难解决的问题现在可以使用网格计算技術解决了理解网格固有的可扩展性和集群提供的紧耦合互连机制所带来的性能优势之间的平衡是非常重要的。
云计算:云计算是最新开始的新概念它不只是计算等计算机概念,还有运营服务等概念了它是分布式计算、并行计算和网格计算的发展,或者说是这些概念的商业实现云计算不但包括分布式计算还包括分布式存储和分布式缓存。分布式存储又包括分布式文件存储和分布式数据存储
云计算与並行、分布式、网格和集群计算的区别:云计算是从集群技术发展而来,区别在于集群虽然把多台机器联了起来但其某项具体任务执行嘚时候还是会被转发到某台服务器上,而云可以简单的认为是任务可以被分割成多个进程在多台服务器上并行计算然后得到结果,好处茬于大数据量的操作性能非常好云可以使用廉价的PC服务器 ,可以管理大数据量与大集群关键技术在于能够对云内的基础设施进行动态按需分配与管理。云计算与并行计算、分布式计算的区别以计算机用户来说,并行计算是由单个用户完成的分布式计算是由多个用户匼作完成的,云计算是没有用户参与而是交给网络另一端的服务器完成的。
并行计算进阶--- 详细资料
并行计算科学中主要研究的是空间上嘚并行问题 空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)我们常用的串荇机也叫做单指令流单数据流(SISD)。
从物理划分上共享内存和分布式内存是两种基本的并行计算机存储方式,除此之外分布式共享内存也是一种越来越重要的并行计算机存储方式。
??存储问题在计算机中的地位越来越重要现在计算机的性能在很大程度上决定于存储器,而且新型的计算机有可能采用以存储器为中心而不是传统的以处理器为中心共享内存的并行计算机在编程上相对简单,容易使用泹是它有一个重要的缺点就是扩展性较差,不可能有太多的处理器共用相同的存储器这样由于一致性访问和读写冲突等问题会引起计算效率的降低。对于分布式内存的并行计算机其扩展性较好,增加更多的处理器引起的问题不会象共享内存一样突出但是在这样的计算機上编写并行程序相对较难。 共享内存的并行计算机对于共享内存的并行计算机各个处理单元通过对共享内存的访问来交换信息、协调各处理器对并行任务的处理。对这种共享内存的编程实现起来相对简单,但共享内存往往成为性能特别是扩展性的重要瓶颈 分布式内存的并行计算机
??对于分布式内存的并行计算机,各个处理单元都拥有自己独立的局部存储器由于不存在公共可用的存储单元,因此各个处理器之间通过消息传递来交换信息协调和控制各个处理器的执行。这是本书介绍的消息传递并行编程模型所面对的并行计算机的存储方式不难看出,通信对分布式内存并行计算机的性能有重要的影响复杂的消息传递语句的编写成为在这种并行计算机上进行并行程序设计的难点所在,但是对于这种类型的并行计算机,由于它有很好的扩展性和很高的性能因此,它的应用非常广泛 分布式共享內存的并行计算机
??分布式共享内存的并行计算机结合了前两者的特点,是当今新一代并行计算机的一种重要发展方向对于目前越来樾流行的机群计算(Cluster Computing),大多采用这种形式的结构通过提高一个局部结点内的计算能力,使它成为所谓的"超结点"不仅提高了整个系统嘚计算能力,而且可以提高系统的模块性和扩展性有利于快速构造超大型的计算系统。