分布式计算是一种计算方法,和集中式计算是相对的。
随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。
分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享。
2、通过分布式计算可以在多台计算机上平衡计算负载。
3、可以把程序放在最适合运行它的计算机上。
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。
网格计算
网格计算就是分布式计算的一种。如果某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个计算机网络,这种“蚂蚁搬山”的方式将具有很强的数据处理能力。
网格计算的实质就是组合与共享资源并确保系统安全。

工作原理
分布式计算是利用互联网上的计算机的中央处理器的闲置处理能力来解决大型计算问题的一种计算科学。下面,我们看看它是怎么工作的:
越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现, 使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。
那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用服务端和客户端。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。
目前一些较大的分布式计算项目的处理能力已经可以达到甚而超过目前世界上速度最快的巨型计算机。

BOINC分布式计算平台
BOINC是Berkeley Open Infrastructure for Network Computing的简称,即伯克利开放式网络计算平台。
BOINC是不同分布式计算可以共享的分布式计算平台。不同分布式计算项目可以直接使用BOINC的公用上传下载系统、统计系统等,这样不仅可以发挥各个分布式计算之间的协调性,也能使分布式计算的管理、使用更加方便易用。
BOINC项目由美国加州大学伯克利分校(U.C.Berkeley)主持发起。
BOINC项目由美国国家科学基金会(National Science Foundation)赞助。
BOINC有自己的积分系统,因为在BOINC上可以运行的项目千差万别,比如项目A的任务包(Workunit,简称WU)在某台机器里需要3个小时完成,而项目B的任务包在这台机器里需要30个小时才能完成,显然用WU的数目来衡量工作量是不可行的;类似的,机器性能也有差别,用CPU时间来衡量工作量更是不行的。积分系统只能通过一定的算法得到用户实际完成的计算量,这篇文章对BOINC中积分的计算方法进行了说明。

分布式计算与人类
由于现代人类各个课题学科繁多,涉及面广,而分类又细。而当今的每个学科似乎都需要进行大量的计算。天文学研究组织需要计算机来分析太空脉冲(pulse),星位移动;生物学家需要计算机来模拟蛋白质的折叠(protein folding)过程;药物学家想要研制克服艾滋病(AIDS)或非典(SARS)的药物;数学家想计算最大的质数和圆周率的更精确值;经济学家要用计算机分析计算在几万种因素考虑下某个企业/城市/国家的发展方向从而宏观调控。由此可见,人类未来的科学,时时刻刻离不开计算。而分布式计算(Distributed Computing),以其独特的优点——便宜、高效而越来越受到社会的关注。

分布式计算格局
就目前来看,全球的各种分布式计算已有约百种,这些计算大多互无联系、独立管理、独立使用自己的一套软件。这种分布式计算互相割据的格局很不利于发展的需要。比如,某个生物学研究机构需要利用世界各地志愿者的计算机来模拟蛋白质折叠的过程,那个生物学研究机构没有分布式计算方面的专业人才,而但是社会上也并没有任何公司可以提供这样的服务,他们就不得不自己花费大量精力用于开发分布式计算的服务器、客户端。这样一来,原来可以用于研究生物的时间用在了别的地方。刚才提到的生物学研究机构就是美国斯坦福大学的PANDE小组。

安全性
对用户方来说,加入任何一个项目之前,您必须确保您可以信任项目的研制方,主要涉及两方面:
计算机上的隐私数据
您从项目方下载的计算程序,运行在本机,而且可以访问网络,因此,只有可靠的项目方才能保证您计算机上的隐私数据不会恶意的取走、修改等。
个人计算机的寿命
虽然分布式计算的计算程序一般运行在最低优先级,不会对您的日常使用造成影响,但计算程序全负荷运行时仍会对计算机的各个部件造成一定压力,要了解更多请查看分布式计算对计算机软硬件的影响。
对项目方来说,参加分布式计算的志愿者毕竟不是项目方自己的人员,并不是全体可信任,因此必须引入一定的冗余计算机制,才能防止计算错误、恶意作弊等。