并行,分布式,集群,网格和云计算

电脑杂谈  发布时间:2020-04-20 23:14:39  来源:网络整理

云计算和分布式_云计算分布式架构_分布式计算和云计算

并行计算或并行计算相对于串行计算. 并行计算是指使用多个计算资源同时解决计算问题的过程. 为了执行并行计算,计算资源应包括配备有多个处理器(并行处理)的计算机,连接到网络的特定于计算机的编号或两者的组合. 并行计算的主要目的是快速解决大型和复杂的计算问题.

并行计算可分为时间并行和空间并行. 时间并行是一种流水线技术. 空间并行使用多个处理器来执行并发计算. 目前的研究主要集中在空间并行性上. 从程序和算法设计者的角度来看,并行计算可分为数据并行性和任务并行性. 数据并行将大型任务分解为几个相同的子任务,比任务并行更易于处理.

空间并行性导致创建两种类型的并行机. 根据Michael Flynn(Ferrin分类),它分为单指令流多数据流(SIMD)和多指令流多数据流(MIMD). 串行机也称为单指令流单数据流(SISD). MIMD机器可以分为五种常见类型: 并行向量处理器(PVP),对称多处理器(SMP),并行处理器(MPP),工作站集群(COW)分布式计算和云计算,分布式共享存储处理器(DSM).

(1)并行计算机. 并行计算机包含至少两个或更多处理器,它们通过Internet相互连接以相互通信.

(2)应用程序问题必须具有并行性. 换句话说,该应用程序可以分解为多个子任务,并且这些子任务可以并行执行. 将应用程序分解为多个子任务的过程称为并行算法设计.

(3)并行编程. 在并行计算机提供的并行编程环境中,具体实现了并行算法,编译了并行程序并运行了程序,以达到并行解决应用程序问题的目的.

分布式计算是一个主要研究分布式系统如何执行计算的研究领域. 分散系统是由一组计算机组成的系统,这些计算机通过计算机网络相互链接和通信. 需要大量计算的工程数据被分成几小部分,由多台计算机分别计算. 上传计算结果后,将结果统一并合并以获得数据的科学结论.

分布式计算和云计算_云计算分布式架构_云计算和分布式

当前的常见分布式计算项目通常使用世界各地数千万志愿者计算机的空闲计算能力来通过Internet传输数据. 例如,Folding @home项目分析和计算蛋白质和相关药物的内部结构,具有巨大的结构,需要惊人的计算量. 用计算机无法完成计算. 即使存在具有超级计算能力的超级计算机,一些科研机构的资金也非常有限.

与其他算法相比,分布式计算具有以下优点:

1. 稀有资源可以共享.

2. 通过分布式计算,可以在多台计算机上平衡计算负载.

3. 您可以将程序放在最适合运行该程序的计算机上. 其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一.

1. 并行计算和分布式计算都使用并行来获得更高的性能,并将大型任务转换为小型任务. 简而言之,如果处理单元共享内存,则称为并行计算,反之亦然是分布式计算. 有人认为分布式计算是并行计算的特例.

2. 并行计算不同于分布式计算. 后者主要是指通过网络相互连接的两个或多个处理器相互协作,并执行相互依赖的不同应用程序,从而达到协调资源访问,提高资源利用效率的目的. 但是,它不能达到加快并行计算所提倡的解决同一应用程序的速度或扩大解决同一应用程序问题的规模的目的. 对于某些复杂的应用程序系统,分布式计算和并行计算通常相互配合,不仅可以通过分布式计算协调不同应用程序之间的关系,而且可以提高通过并行计算解决单个应用程序的能力.

云计算分布式架构_云计算和分布式_分布式计算和云计算

分布式任务包彼此独立. 不会返回前一个任务包的结果或对结果的处理不正确,这对下一个任务包的处理影响很小. 因此,分布式实时要求不高,并且允许计算错误(因为每个计算任务都是为多个参与者计算的,因此必须在将结果上传到服务器后比较结果,然后验证结果之间的差异)

分布式处理的问题通常基于“查找”模式. 所谓的“发现”就等于精疲力尽!为了尝试所有可能的结果,通常逐个进行从0到N(某个值)的测试,直到找到所需的结果为止. 实际上,为了一次轻松地检测到正确的结果,我们假设结果以某种特殊形式开始. 通过这种搜索,我们可能很幸运在开始时找到了答案. 也许我们没有幸运地在最后找到答案,这很公平.

因此,由并行程序并行处理的任务包之间存在很大的关系,并且并行计算的每个任务块都是必需的,没有浪费的划分,也就是说,每个任务包都必须进行处理,并且计算结果相互影响,这要求每个计算结果都绝对正确,并且要尽可能及时地进行同步,而且许多分布式任务块根本无法处理,因此有很多无用的数据块,因此尽管计算速度非常快,真正的“效率”太低. 它可能一直在寻找,但是永远找不到,或者它可能在一开始就被找到;虽然并行处理有所不同,但其任务包的数量相对有限,应该可以在有限的时间内完成.

C ++通常用于分布式编程(Java也很有用,但不是主流),并且基本上不使用MPI接口. 并行计算使用MPI或OpenMP.

下面给出了并行计算和分布式计算的几个示例,以显示差异.

<示例1(并行计算),将N个数分布并存储在P个处理器中,并且P个处理器并行执行N个数的累积和. 首先,每个处理器累加其拥有的本地数据以获得累加和. 然后,P个处理器执行全局通信操作以累加所有部分和,以获得全局累加和.

示例2(分布式计算)按需受众,远程控制可视化,视频会议等.

云计算和分布式_分布式计算和云计算_云计算分布式架构

计算机集群将一组松散集成的计算机软件或硬件紧密结合在一起以完成计算. 从某种意义上说,它们可以看作是一台计算机. 群集系统中的一台计算机通常称为节点,通常通过局域网连接,但是还有其他可能的连接方法. 群集计算机通常用于提高单台计算机的计算速度和/或可靠性. 通常,群集计算机比工作站或超级计算机之类的单个计算机更具成本效益.

根据组成集群系统的计算机的体系结构是否相同,集群可以分为两种: 同构和异构. 根据功能和结构,群集计算机可以分为高可用性(HA)群集,负载平衡群集,高性能(HPC)群集和网格计算. 计算).

高可用性集群通常意味着,当集群中的某个节点发生故障时,其上的任务将自动转移到其他普通节点. 这也意味着群集中的节点可以在联机之前保持脱机状态. 此过程不会影响整个集群的运行.

负载均衡集群. 负载平衡群集运行时,通常会通过一个或多个前端负载平衡器将工作负载分配到后端的一组服务器,以实现整个系统的高性能和高可用性. 这样的计算机集群有时称为服务器场. 通常,高可用性群集和负载平衡群集使用类似的技术,或者具有高可用性和负载平衡的特征. Linux虚拟服务器(LVS)项目提供了Linux操作系统上最常用的负载平衡软件.

高性能计算集群. 高性能计算集群使用分布在集群不同计算节点上的计算任务来提高计算能力,因此它们主要用于科学计算领域. 更为流行的HPC使用Linux操作系统和其他免费软件来完成并行操作. 此群集配置通常称为Beowulf群集. 此类群集通常运行特定程序以利用HPC群集的并行功能. 这样的程序通常使用特定的运行时库,例如为科学计算而设计的MPI库. HPC群集特别适用于计算操作中计算节点之间发生大量数据通信的计算操作,例如一个节点的中间结果或影响其他节点的计算结果的情况.

网格计算是一种分布式计算,是与集群计算非常相关的技术. 如果我们说某个作业是分布式的,那么参与该作业的不仅是计算机,还包括计算机网络. 显然,这种“蚂蚁移动山”方法将具有强大的数据处理能力. 网格计算的本质是合并和共享资源并确保系统安全性.

网格计算使用大量异构计算机的未使用资源(CPU周期和磁盘存储)作为嵌入分布式电信基础结构中的虚拟计算机集群,以提供解决计算问题的方法. 一个模型. 网格计算的重点是跨管理域支持计算的能力,这使其与传统计算机集群或传统分布式计算有所不同. 网格计算的目标是解决对于任何一台超级计算机而言仍然太大的问题,同时保持解决多个较小问题的灵活性. 这样分布式计算和云计算,网格计算可提供多用户环境.

分布式计算和云计算_云计算和分布式_云计算分布式架构

(1)简而言之,网格与传统群集之间的主要区别在于,网格连接到一组相关且不受信任的计算机,并且其操作更像是计算机公共设施,而不是独立的计算机. 网格通常比群集支持更多不同的计算机集.

(2)网格本质上是动态的,群集中包含的处理器和资源的数量通常是静态的. 在网格上,资源可以动态显示,并且可以根据需要向网格中添加或删除资源.

(3)网格自然分布在局域网,城域网或广域网上. 网格可以分布在任何地方. 群集实际上包含在同一位置的同一位置,通常仅是LAN互连. 群集互连技术可以产生非常低的网络延迟. 如果群集距离较远,则可能会导致许多问题. 物理邻近性和网络延迟限制了群集在地理上分布的能力,并且网格由于其动态特性而可以提供良好的高可伸缩性.

(4)群集只能通过添加服务器来满足不断增长的需求. 但是,群集中的服务器数量以及所产生的群集性能受到限制: 互连网络的容量. 换句话说,如果您盲目地希望通过扩展规模来提高群集计算机的性能,则其成本性能将相应降低,这意味着我们不能无限制地扩展群集的规模. 前所未有的网格虚拟超级计算机不受规模限制,成为下一代互联网的发展方向.

(5)集群和网格计算是互补的. 许多网格在它们管理的资源中使用群集. 实际上,网格用户可能不知道其工作负载是在远程群集上执行的. 尽管网格和群集之间存在许多差异,但是这些差异使它们成为非常重要的关系,因为群集始终在特定于网格的问题中占有一席之地,通常需要一些紧密耦合的处理器来解决. 但是,随着网络功能和带宽的发展,过去可以使用网格计算技术解决过去使用集群计算难以解决的问题. 重要的是要了解网格固有的可伸缩性与群集提供的紧密耦合的互连机制所带来的性能优势之间的平衡.

云计算是最新的新概念. 它不仅是诸如计算之类的计算机概念,而且还包括运营服务. 它是分布式计算,并行计算和网格计算的发展,或者是这些概念的商业实现. 云计算不仅包括分布式计算,还包括分布式存储和分布式缓存. 分布式存储包括分布式文件存储和分布式数据存储.

云计算是从群集技术开发的. 区别在于,尽管集群连接了多台计算机,但是当执行特定任务时,它仍将转发到服务器,而云可以简单地认为该任务可以分为多个进程并在多个服务器上并行计算,并且然后得到结果. 优点是海量数据的操作性能非常好. 云可以使用廉价的PC服务器,并且可以管理大量数据和大型群集. 关键技术在于能够按需动态分配和管理云中基础架构的能力. 云计算,并行计算和分布式计算之间的区别. 对于计算机用户,并行计算由单个用户执行. 分布式计算是由多个用户合作执行的. 云计算不涉及用户,但已移交给网络另一端的服务器.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-182898-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...