谁能告诉我集中式计算和分布式计算之间的区别?
9 回答
集中
具有集中式多处理器并行架构的系统。在 1980 年代后期,集中式系统已逐渐被分布式系统所取代。
集中式系统的特点
- 非自治组件
- 通常是同质技术
- 多个用户始终共享相同的资源
- 单点控制
- 单点故障
分散式
在一台或多台计算机上执行的一组紧密耦合的程序,这些计算机通过网络相互连接并协调它们的动作。这些程序相互了解并执行任何人都无法单独执行的任务
分布式系统的特点
- 自主组件
- 主要使用异构技术构建
- 系统组件可以专门使用
- 并发进程可以执行
- 多点故障
分布式系统需求
- 可扩展性 - 添加新主机的可能性
- 开放性——易于扩展和修改
- 异构-支持各种H/WS/w平台
- 资源共享——硬件、软件和数据
- 容错能力——即使发生故障也能正常工作
集中式:所有计算都在一台特定的计算机(系统)上完成。示例:您有一个用于计算数据的专用服务器。
分布式:计算分布到多台计算机。示例:当您有大量数据时,您可以将其划分并将每个部分发送到特定的计算机,这些计算机将为它们的部分进行计算。
集中式系统
“在集中式系统中,在特定的中央处理单元 (CPU) 上完成多项工作”
分布式系统
“在分布式系统中,作业分布在多个处理器之间。处理器通过计算机网络互连”
(谢赫亚尔,NUML)
主要的基本区别是:
- 分布式系统没有全局状态
- 没有共享内存
- 没有共享变量
- 分布式系统没有共享时钟
- 因此事件的顺序是困难的
- 分布式系统可以有竞争条件
所以在分布式环境中“计算”是非常困难的。你有关于编程模型或其他什么的具体问题吗?
简而言之,集中式计算,正如其名称本身所描述的,只涉及单个服务器。特定操作正在此服务器位置进行,其他任何地方都没有。
分布式计算是在系统需求非常大的情况下进行的,并且将工作分配给多个处理器,然后将解决方案组合在一起,记住处理器是通过计算机网络互连的。
集中式系统:是一个使用连接到中央计算机的终端在中央位置完成计算的系统(大型机和转储终端,所有计算都通过终端在大型机上完成)
分布式系统:是独立计算机的集合,在用户看来是一个单一的连贯系统,其中硬件由 n 个处理元件(处理器和内存)组成,软件也分布在没有集中式操作系统的情况下,每个处理元件都有自己的操作系统,物理上没有集中式文件系统和通过消息传递在最低级别进行进程间通信
大注:主要区别是可靠性。在分布式系统中,如果一台机器崩溃,整个系统仍然可以生存
仲裁方法 除最简单的系统外,在所有系统中,可能不止一个模块需要控制总线。
在集中式方案中,称为总线控制器或仲裁器的单个硬件设备负责在总线上分配时间。
在分布式方案中,没有中央控制器。相反,每个模块都包含访问控制逻辑,并且模块共同作用以共享总线。
在集中式系统中,如果服务器发生故障,它会影响整个系统,因为服务器控制着 DS 系统中的整个操作,如果系统发生故障,它不会影响其他计算机的操作,因为它们是独立的并且分布在操作中
让我们尝试通过一个例子来理解这一点。
假设您携带大量金钱。你在拥挤的火车上,你的口袋可能会被掏空,你可能会赔钱。携带资金的理想策略是什么?
把所有的钱放在一个口袋里:在这种情况下,你很容易把钱放在口袋里就完成了。回家后,你可以简单地从口袋里掏出钱来数数。可是等等。如果你的口袋被扒了怎么办?你失去了所有的钱(破产?嗯!)。似乎把所有的钱都放在一个口袋里并不是最好的主意。让我们想想我们还能做什么 分配你的钱:把一些放在左边的口袋里,把一些放在右边的口袋里,也许把一些放在你的包里(容量有限)。你需要制定一个策略来和你分钱。此外,当您回家时,您将不得不花时间从不同的口袋里收集钱并在一个地方收集。但是,我们现在的情况要好一些。如果我们的一个口袋(或袋子)被捡了,我们不会失去所有的钱。你的包,左口袋和右口袋都被捡到的机会相当低。只需一点点分钱的开销,您现在就可以避免损失所有的钱。那不是更好吗?这就是分布式系统的工作方式。他们将信息(在你的情况下是钱)分开并将其保存在不同的机器上(我们的口袋和袋子)。这样,如果其中一台机器出现故障,我们不会有很大的损失。也就是说,我们没有单点故障
分布式系统实现的另一件重要的事情是数据复制。他们将相同信息的副本放在多台机器中。这样,如果其中一台机器出现故障,我们就不会丢失信息。所以,我们现在有一个叫做容错的东西。