分布式计算概述

分布式计算定义

分布式计算是一门计算机科学,主要研究对象是分布式系统。
分布式系统是由若干通过网络互联的计算机组成的软硬件系统,且这些计算机互相配合以完成一个共同的目标。
分布式计算指在分布式系统上执行的计算。分布式计算是将一个大型计算任务分成很多部分分别交给其他的计算机处 理,并将所有的计算结果合并为原问题的解决方案。

分布式计算的优缺点

优点:超大规模 ,虚拟化,高可靠性 ,按需服务,极其廉价,
通用性(现今的个人计算机拥有远超以往大型计算机的计算能力,同时体积和价格不断下降。再加上Internet连接了全世界,大量的互连计算机为分布式计算创造了理想环境。)

高可伸缩性(在单机计算中可用资源受限于单台计算机的能力,但分布式计算可以在多台计算机上平衡计算负载,增加资源需求可通过提供额外资源来有效解决。同时可以把程序放在最适合运行它的计算机上。)

容错性(与单机计算相比,分布式计算提供了容错功能。可以通过资源复制维持系统故障的情形下的资源可用性。)。

缺点:多点故障(一台或多台计算机的故障,或一条或多条网络链路的故障,都会导致分布式系统出现问题);
安全性(分布式系统为非授权用户的攻击提供了更多机会)。

分布式计算的相关计算形式

与分布式计算类似的计算形式有很多,例如单机计算、并行计算、网络计算、网格计算和云计算等。

单机计算是最简单的计算形式,即利用澹台计算机不与任何网络互连,只能使用本计算机系统内的的所有资源。一台计算机在任何时刻只能被一个用户使用。用户在该系统上执行应用程序,不能访问其他计算机上的任何资源。

并行计算是指在并行计算机上所做的计算,即采用多个处理器来执行单个指令。

网络计算是把网络连接起来的个各种自治资源和系统组合起来,以实现资源共享、协同工作和联合计算。

网格计算是指利用互联网把地理上广泛分布的各种资源(计算、存储、带宽、软件、数据、信息、知识等)连成一个逻辑整体,就像一台超级计算机一样,为用户提供一体化信息和应用服务(计算、存储、访问等)。

云计算是分布式计算、并行计算、效用计算、 网络存储、虚拟化、负载均衡、热备冗余等传统计算机和网络技术发展融合的产物。

分布式计算系统与项目

1.资源共享,例如:WWW是目前为止最大的分布式系统
2.信号处理,例如:[email protected](寻找外星人)。
3.科学项目,例如:BOINC(伯克利开放式网格计算平台)。
4.解决较为复杂的数学问题,例如:GIMPS(寻找最大的梅森素数)。
5.研究寻找最为安全的密码系统,例如:RC-72(密码**)。
6.生物病理研究,例如:[email protected](研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。
7.各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。

分布式系统的特征

可靠性、可扩展性、可用性、高效性、CAP理论。

CAP理论

CAP理论是源于伯克利加州大学的计算机科学家Eric Brewer在2000年的分布式计算原则研讨会(Symposium on Principles of Distributed Computing,PODC)上提出的一个猜想。

CAP理论指出对一个分布式计算系统来说,不可能同时满足以下3点:

1.选择分区容忍性和一致性(CP)
即使结点故障,操作也必须一致,并能顺利完成。最好的方法就是将所有数据放到同一个结点中。但这种方式显然不满足可用性。如:BigTable、HBase

2.选择分区容忍性和可用性(AP)
满足可用,就说明数据必须要在不同结点中有副本。如果还必须保证在产生分区的时候仍然可以完成操作,那么操作就无法保证一致性。如:Dynamo、SimpleDB

3.选择可用性和一致性(CA)
有一致性和可用性的系统通常可扩展性能不高,不具有分区容错性,如传统的关系型数据库。分布式计算概述