云计算、分布式计算、并行计算、网格计算、集群
转自:http://blog.csdn.net/cuidiwhere/article/details/7884545
并行计算:并行计算是相对于串行计算来说的。可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术。而空间上的并行则是指用多个处理器并发的执行计算。比如基于CUDA编程。
并行计算的目的就是提供单处理器无法提供的性能(处理器能力或存储器)。使用多处理器求解单个问题。
总结:并行的主体 -- 处理器。进程/线程级并行。
分布式计算:分布式计算研究怎样把一个须要非常巨大的计算能力才干解决的问题分成很多小的部分,然后把这些部分分配给很多计算机进行处理,最后把这些计算结果综合起来得到终于的结果。近期的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,能够分析来自外太空的电讯号。寻找隐蔽的黑洞,并探索可能存在的外星智慧生命等。
总结:并行的主体 -- 计算机;各个计算机并行
并行计算与分布式计算的差别:(1)简单的理解,并行计算借助并行算法和并行编程语言能够实现进程级并行(如MPI)和线程级并行(如openMP)。
而分布式计算仅仅是将任务分成小块到各个计算机分别计算各自执行。(2)粒度方面,并行计算中。处理器间的交互一般非常频繁,往往具有细粒度和低开销的特征,而且被觉得是可靠的。而在分布式计算中,处理器间的交互不频繁。交互特征是粗粒度。而且被觉得是不可靠的。并行计算注重短的执行时间,分布式计算则注重长的正常执行时间。(3)联系。并行计算和分布式计算两者是密切相关的。某些特征与程度(处理器间交互频率)有关,而我们还未对这样的交叉点(crossover point)进行解释。还有一些特征则与側重点有关(速度与可靠性),而且我们知道这两个特性对并行和分布两类系统都非常重要。
(4)总之。这两种不同类型的计算在一个多维空间中代表不同但又相邻的点。
集群计算:计算机集群使将一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完毕计算工作。在某种意义上,他们能够被看作是一台计算机。集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其他的可能连接方式。集群计算机通经常使用来改进单个计算机的计算速度和/或可靠性。
普通情况下集群计算机比单个计算机,比方工作站或超级计算机性价比要高得多。
依据组成集群系统的计算机之间体系结构是否同样,集群可分为同构与异构两种。集群计算机按功能和结构能够分为,高可用性集群(High-availability
(HA) clusters)、负载均衡集群(Loadbalancing clusters)、高性能计算集群(High-performance (HPC)clusters)、网格计算(Grid computing)。
- 高可用性集群:通常是指当集群中有某个节点失效的情况下。其上的任务会自己主动转移到其他正常的节点上。还指能够将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的执行。
- 负载均衡集群:负载均衡集群执行时,一般通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组server上,从而达到整个系统的高性能和高可用性。
这样的计算机集群有时也被称为server群(Server Farm)。
一般高可用性集群和负载均衡集群会使用相似的技术,或同一时候具有高可用性与负载均衡的特点。Linux虚拟server(LVS)项目在Linux操作系统上提供了最经常使用的负载均衡软件。
- 高性能计算集群: 高性能计算集群採用将计算任务分配到集群的不同计算节点儿提高计算能力。因而主要应用在科学计算领域。
比較流行的HPC採用Linux操作系统和其他一些免费软件来完毕并行运算。这一集群配置通常被称为Beowulf集群。这类集群通常执行特定的程序以发挥HPC cluster的并行能力。
这类程序一般应用特定的执行库, 比方专为科学计算设计的MPI库。HPC集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业。比方一个节点的中间结果或影响到其他节点计算结果的情况。
网格计算:网格计算是分布式计算的一种,也是一种与集群计算非常相关的技术。
假设我们说某项工作是分布式的,那么。參与这项工作的一定不仅仅是一台计算机,而是一个计算机网络。显然这样的“蚂蚁搬山”的方式将具有非常强的数据处理能力。网格计算的实质就是组合与共享资源并确保系统安全。网格计算通过利用大量异构计算机的未用资源(CPU周 期和磁盘存储),将其作为嵌入在分布式电信基础设施中的一个虚拟的计算机集群,为解决大规模的计算问题提供一个模型。网格计算的焦点放在支持跨管理域计算 的能力。这使它与传统的计算机集群或传统的分布式计算相差别。网格计算的目标是解决对于不论什么单一的超级计算机来说仍然大得难以解决的问题,并同一时候保持解决 多个较小的问题的灵活性。这样。网格计算就提供了一个多用户环境。
集群计算与网格计算的差别:(1)简单地,网格与传统集群的主要差别是网格是连接一组相关并不信任的计算机,它的运作更像一个计算公共设施而不是一个独立的计算机。网格通常比集群支持很多其他不同类型的计算机集合。
(2)网格本质上就是动态的,集群包含的处理器和资源的数量通常都是静态的。在网格上,资源则能够动态出现,资源能够依据须要加入到网格中或从网格中删除。(3) 网格天生就是在本地网、城域网或广域网上进行分布的。网格能够分布在不论什么地方。而集群物理上都包含在一个位置的同样地方,通常仅仅是局域网互连。
集群互连技 术能够产生非常低的网络延时,假设集群距离非常远,这可能会导致产生非常多问题。物理临近和网络延时限制了集群地域分布的能力,而网格由于动态特性。能够提供 非常好的高可扩展性。(4)集群仅仅通过添加server满足增长的需求。
然而,集群的server数量、以及由此导致的集群性能是有限的:互连网络容量。也就是说假设一味地想通过扩大规模来提高集群计算机的性能。它的性价比会对应下降。这意味着我们不可能无限制地扩大集群的规模。 而网格虚拟出空前的超级计算机,不受规模的限制。成为下一代Internet的发展方向。(5)集群和网格计算是相互补充的。非常多网格都在自己管理的资源中採用了集群。实际上,网格用户可能并不清楚他的工作负载是在一个远程的集群上执行的。虽然网格与集群之间存在非常多差别,可是这些差别使它们构成了一个非常重要的关系,由于集群在网格中总有一席之地—— 特定的问题通常都须要一些紧耦合的处理器来解决。然而,随着网络功能和带宽的发展,曾经採用集群计算非常难解决的问题如今能够使用网格计算技术攻克了。
理解网格固有的可扩展性和集群提供的紧耦合互连机制所带来的性能优势之间的平衡是非常重要的。
云计算:云计算是最新開始的新概念。它不仅仅是计算等计算机概念,还有运营服务等概念了。它是分布式计算、并行计算和网格计算的发展,或者说是这些概念的商业实现。云计算不但包含分布式计算还包含分布式存储和分布式缓存。分布式存储又包含分布式文件存储和分布式数据存储。
云计算与并行、分布式、网格和集群计算的差别:云计算是从集群技术发展而来,差别在于集群虽然把多台机器联了起来,但其某项详细任务执行的时候还是会被转发到某台server上,而云能够简单的觉得是任务能够被切割成多个进程在多台server上并行计算,然后得到结果。优点在于大数据量的操作性能非常好。
云能够使用便宜的PCserver ,能够管理大数据量与大集群,关键技术在于能够对云内的基础设施进行动态按需分配与管理。
云计算与并行计算、分布式计算的差别,以计算机用户来说,并行计算是由单个用户完毕的,分布式计算是由多个用户合作完毕的,云计算是没实用户參与。而是交给网络还有一端的server完毕的。