分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算的计算方法,那么需要耗费相当长的时间来完成。而分布式计算将该应用分解成许多小的部分,然后分配给多台计算机协同进行处理,这样就可以节约整体计算时间,大大提高计算效率。
所谓的“分布式计算”,就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。
分布式计算是利用互联网上的计算机的CPU的空余闲置处理能力,来解决大型计算问题的一种计算科学。分布式计算是计算机科学中的一个研究方向,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。
下面,我们看看分布式计算是怎么工作的:
首先,要发现一个需要非常巨大的计算能力才能解决的问题。这类问题一般是跨学科的、极富挑战性的、人类急待解决的科研课题。例如以下较为著名的课题项目:
1、 解决较为复杂的数学问题,例如:GIMPS(搜索寻找最大的梅森素数)。
2、 研究寻找最为安全的密码系统,例如:RC-72(密码破解)。
3、 生物病理研究,例如:Folding@home(研究蛋白质折叠,误折,聚合及由此引起的相关疾病)。
4、 各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效药物)。
5、信号处理,例如:SETI@Hom(在家寻找地外文明)。
从这些实际的例子可以看出,这些课题项目都很庞大,需要惊人的计算量,因此仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是绝不可能的。在以前,这些问题都应该由超级计算机来解决。但是, 超级计算机的造价和维护非常的昂贵,这不是一个普通的科研组织所能承受的。随着科学的发展,一种廉价的、高效的、维护方便的计算方法应运而生,它就是分布式计算!
分布式计算相比于其它算法,具有以下几个优点:
1、稀有资源可以共享;
2、通过分布式计算,可以在多台计算机上平衡计算负载;
3、可以把程序放在最适合运行它的计算机上。
其中,“共享稀有资源”和“平衡负载”是计算机分布式计算的核心思想之一。实际上,网格计算就是分布式计算的一种。如果说某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个计算机网络。显然这种“蚂蚁搬山”的方式,将具有很强的数据处理能力。网格计算的实质,就是组合与共享资源并确保系统安全。
本篇文章既然谈到了分布式计算,当然也少不了说一说跟它关系紧密的云计算。
云计算是“网格计算、并行计算、分布式计算、分布式网络存储、虚拟化、负载均衡”等多种计算机技术和网络技术发展融合的产物。其基本原理是用户端仅负责数据输入和读取,而复杂的数据运算和处理工作,则交给了云计算系统的“云端”来完成。“云端”是由数以百计、千计的,各种各样的计算机、服务器和数据存储系统等硬件设施和软件工具,所共同组成的。
云服务器,属于云计算“IaaS(基础设施即服务)”层次提供的服务类型。云计算服务提供商,将数据中心所具有的服务器的计算能力、网络带宽资源、存储能力等,整合成一个庞大的“虚拟资源池”,然后按照用户的配置与需求,创建和划分成一个个虚拟的云服务器实例,供用户远程登录并进行操作和使用。
用户租用云服务器,无需购买硬件、无需搭建基础设施,选好相应的配置并付费购买成功后,云服务提供商即可迅速创建或释放任意多台云服务器,令用户能够轻松进行互联网规模计算,快速部署所需要的服务器环境,极大降低了用户的整体IT成本和运维难度,使用户能够更专注于核心业务的创新。