首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >并行与分布式计算-分界线

并行与分布式计算-分界线
EN

Stack Overflow用户
提问于 2014-03-01 14:55:14
回答 2查看 423关注 0票数 1

我正在研究b/w并行和分布式系统的区别。有人告诉我,这一界限正在变得模糊。此外,集群既可以看作是并行系统,也可以是分布式系统(取决于上下文--无论这意味着什么)。

这怎麽可能?集群不应该只是分布式系统吗?

EN

回答 2

Stack Overflow用户

发布于 2021-07-21 22:04:10

并行计算:

  • 相同的应用程序/进程应在多个内核/GPU上同时拆分、执行/运行,以并行处理任务(可以是位级、指令级、数据或任务synchronization).
  • Usage紧密耦合-内存应在系统内的所有内核/GPU之间共享,这些内核/GPU依次用于信息交换)(只需最少的通信即可提高系统性能,因为主要关注的是并行使用多个内核/GPU的处理能力。

有各种各样的并行系统。

多处理机并行系统处理机可以直接访问共享存储器(UMA型)。处理器紧密放置,通过互连网络连接,进程间通信应通过对共享内存和MPI提供的消息传递原语的读写操作来完成。在这里,处理器通常是相同类型的(也运行相同的操作系统),并且应该在具有共享存储器的相同计算机/设备中。硬件和软件的耦合非常紧密

NUMA多计算机并行系统:在这里,处理器不能直接访问共享内存,多个处理器的内存可能形成也可能不形成公共地址空间()。处理器应紧密放置(不具有公共时钟),并通过公共地址空间通信或消息传递的互连网络进行连接。

分布式计算:

  • Program/problem被划分并且较大程序的组件被分布,使得这些任务应当在通常分离但连接在network.
  • Resources中的多个计算机(计算设备)上执行/运行-存储器应当是分布式的(或者是计算机专用的),并且消息传递机制应当在多个计算机之间使用,因为这些任务可以具有不同的性质并且在执行期间需要进程间通信。它可以使用不同的处理器/不同的操作系统,并相互协作。通常,它们不会有共同的时钟或共享的共同内存。(处理器通常应通过网络进行通信-处理器可以在地理上相距很远,或者驻留在广域网或局域网上)
  • 的使用提高了系统的可扩展性、可靠性/可用性、heterogeneity.

集群不应该只是分布式系统吗?

通常,一个集群由许多分布式/独立的系统组成,这些系统不共享内存,而是统一联网。然而,在一个典型的集群中,应该存在应用程序的并行性,以提高集群的性能。还应该注意的是,并行计算算法可以使用基于共享内存的系统或在分布式系统中完成(使用消息传递)。

另外,应该注意的是,分布式计算也可以使用“以数据库为中心”的体系结构方法来执行,该体系结构方法通过利用共享数据库来避免消息传递机制(进程间通信)。

票数 2
EN

Stack Overflow用户

发布于 2014-03-01 15:47:25

正如您所提到的,这取决于上下文。有两个主要的上下文:

  • 群集如何在内部处理其任务(例如,维护一致的群集状态)
  • 应用程序如何使用群集。

内部算法本质上是分布式的。以主选举和成员算法为例(当然,集群有相当多的任务;这并不意味着没有并行的任务)。另一方面,应用程序经常将其工作负载并行化以在集群上运行。集群通常提供apis或组件(如调度器)来启用该功能。另一个例子是hadoop类型的工作负载及其apis。使用并行查询在多个节点上并发执行复杂查询的数据库也使用并行性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22111217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档