【发布时间】:2011-10-02 12:24:25
【问题描述】:
与对称多处理相比,分布式系统是一个完全独立的概念吗(因为在分布式系统中,每个 CPU 都有单独的内存/磁盘存储,而在对称系统中,我们有许多 CPU 使用相同的内存/磁盘存储)?
【问题讨论】:
标签: c operating-system cpu multiprocessing distributed-computing
与对称多处理相比,分布式系统是一个完全独立的概念吗(因为在分布式系统中,每个 CPU 都有单独的内存/磁盘存储,而在对称系统中,我们有许多 CPU 使用相同的内存/磁盘存储)?
【问题讨论】:
标签: c operating-system cpu multiprocessing distributed-computing
我不会说它们是完全不同的概念,因为您可以在分布式系统中获得共享内存(使用Distributed shared memory),并且在同一台机器上运行的多个进程不共享它们的地址空间。因此,两种环境都可以存在于两种架构上,但要付出一定的代价。一般来说,共享内存更容易编程但更难构建(从硬件的角度来看),分布式系统更难编程但更容易构建。
所以,不同的概念实际上是共享内存和非共享内存,至少从编程的角度来看是这样。
【讨论】:
分布式计算和 SMP 不同,尽管 DC 可能使用 SMP。 DC 是一种如何将独立的工作负载数据并行化到异构和松散耦合的不同系统的方法。
SMP 系统是具有紧密耦合的 CPU 和内存的机器,在计算发生时受益于低延迟的内存访问和 CPU 之间的数据共享。
分布式计算示例:
Einstein@Home 是一个试图从大型激光干涉仪收集的实验数据中寻找引力波的项目。要处理的数据是相当独立的,因此将数据分配到几台不同的机器上是没有问题的。
对称多处理示例:
在大型表/矩阵上运行计算需要一定接近计算节点(“CPU”/“DC 节点”)才能完成计算。如果计算结果依赖于“相邻”节点的结果,分布式计算范式对您没有多大帮助。
希望对您有所帮助... 亚历克斯。
【讨论】: