分布式计算入门学识

分布式计算入门知识

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

 

定义

广义定义

所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。

中国科学院的定义

分布式计算是一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:

1、稀有资源可以共享。

2、通过分布式计算可以在多台计算机上平衡计算负载。

3、可以把程序放在最适合运行它的计算机上。

其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。

 

意义格局

 

分布式计算与人类

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

 

分布式计算格局

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

 

BOINC一统大局

为了改变这种杂乱无章的割据,美国加州大学伯克利分校(UC Berkeley)首先提出了建立BOINC的想法。BOINC的中文全称是伯克利开放式网络计算平台(Berkeley Open Infrastructure for Network Computing),他能够把许多不同的分布式计算项目联系起来统一管理。并对计算机资源进行统一分配(比方您对研究艾滋病药物和探索地外文明同时感兴趣,您就可以同时选择两个运行,并设置优先级)。对统计评分系统进行统一管理(无论你在为哪个项目工作,只要你奉献CPU时间长,就积分高)。有了这样的统一管理,的确给PANDE小组这样的科学研究机构提供了便利!

BOINC已经成熟,多个项目已经成功运行于BOINC平台之上,如SETI@home,LHC@home等。

 

安全性

对用户方来说,加入任何一个项目之前,您必须确保您可以信任项目的研制方,主要涉及两方面:

 

计算机上的隐私数据

您从项目方下载的计算程序,运行在本机,而且可以访问网络,因此,只有可靠的项目方才能保证您计算机上的隐私数据不会恶意的取走、修改等。

 

个人计算机的寿命

虽然分布式计算的计算程序一般运行在最低优先级,不会对您的日常使用造成影响,但计算程序全负荷运行时仍会对计算机的各个部件造成一定压力,要了解更多请查看分布式计算对计算机软硬件的影响。

对项目方来说,参加分布式计算的志愿者毕竟不是项目方自己的人员,并不是全体可信任,因此必须引入一定的冗余计算机制,才能防止计算错误、恶意作B等。

 

 

下面附带分布式计算入门教程

教学课程:分布式计算入门

(课程针对大数据分步式计算中的相关技术进行讲解,核心讲解流式计算和内存计算技术,阐述阿里云在处理这些功能时所使用的技术,并对阿里在这里的技术优化方式进行了详细的讲解。)

 

教程资料

教程课时

课时1:流式计算概述 27:45

课时2:流计算与批量计算的区别 07:16

课时3:流式计算典型系统技术分析 19:09

课时4:阿里计算核心技术概述 25:49

课时5:有状态计算实现方式 17:35

课时6:StreamSQL 14:11

课时7:大数据和数据库的结合 33:12

课时8:分析型数据库服务ADS 05:55

课时9:统一计算框架 16:01

 

课程目标

  • 学习分步式计算相关技术

 

适合人群

  • 大数据开发者、爱好者

 

 

阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场)