我正在研究b/w并行和分布式系统的区别。有人告诉我,这一界限正在变得模糊。此外,集群既可以看作是并行系统,也可以是分布式系统(取决于上下文--无论这意味着什么)。
这怎麽可能?集群不应该只是分布式系统吗?
发布于 2021-07-21 22:04:10
并行计算:
有各种各样的并行系统。
多处理机并行系统处理机可以直接访问共享存储器(UMA型)。处理器紧密放置,通过互连网络连接,进程间通信应通过对共享内存和MPI提供的消息传递原语的读写操作来完成。在这里,处理器通常是相同类型的(也运行相同的操作系统),并且应该在具有共享存储器的相同计算机/设备中。硬件和软件的耦合非常紧密
NUMA多计算机并行系统:在这里,处理器不能直接访问共享内存,多个处理器的内存可能形成也可能不形成公共地址空间()。处理器应紧密放置(不具有公共时钟),并通过公共地址空间通信或消息传递的互连网络进行连接。
分布式计算:
集群不应该只是分布式系统吗?
通常,一个集群由许多分布式/独立的系统组成,这些系统不共享内存,而是统一联网。然而,在一个典型的集群中,应该存在应用程序的并行性,以提高集群的性能。还应该注意的是,并行计算算法可以使用基于共享内存的系统或在分布式系统中完成(使用消息传递)。
另外,应该注意的是,分布式计算也可以使用“以数据库为中心”的体系结构方法来执行,该体系结构方法通过利用共享数据库来避免消息传递机制(进程间通信)。
发布于 2014-03-01 15:47:25
正如您所提到的,这取决于上下文。有两个主要的上下文:
内部算法本质上是分布式的。以主选举和成员算法为例(当然,集群有相当多的任务;这并不意味着没有并行的任务)。另一方面,应用程序经常将其工作负载并行化以在集群上运行。集群通常提供apis或组件(如调度器)来启用该功能。另一个例子是hadoop类型的工作负载及其apis。使用并行查询在多个节点上并发执行复杂查询的数据库也使用并行性。
https://stackoverflow.com/questions/22111217
复制相似问题