云计算与⼤数据——分布式计算 分布式计算是⼀种计算⽅法,和集中式计算是相对的。 随着计算技术的发展,有些应⽤需要⾮常巨⼤的计算能⼒才能完成,如果采⽤集中式计算,需要耗费相当长的时间来完成。 分布式计算将该应⽤分解成许多⼩的部分,分配给多台计算机进⾏处理。这样可以节约整体计算时间,⼤⼤提⾼计算效率。 分布式计算⽐起其它算法具有以下⼏个优点: 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⼩组。 安全性 对⽤户⽅来说,加⼊任何⼀个项⽬之前,您必须确保您可以信任项⽬的研制⽅,主要涉及两⽅⾯: 计算机上的隐私数据 您从项⽬⽅下载的计算程序,运⾏在本机,⽽且可以访问⽹络,因此,只有可靠的项⽬⽅才能保证您计算机上的隐私数据不会恶意的取⾛、 修改等。 个⼈计算机的寿命 虽 分布式计算是一种计算方法,与传统的集中式计算形成对比。随着技术的进步,许多应用程序需要极高的计算能力才能处理,而分布式计算则通过将大型任务分解成多个小部分,分配到多台计算机上并行处理,从而大大缩短计算时间,提高效率。这种计算方式有几个显著优势:它能够共享稀有的计算资源,可以平衡多台计算机的负载,避免单点过载,再者,分布式计算允许将程序部署在最适合运行它的硬件上。 网格计算是分布式计算的一个实例,它利用网络中的多台计算机联合处理任务,形似“蚂蚁搬山”,拥有强大的数据处理能力。网格计算的核心是整合与共享资源,并确保系统的安全性。工作原理上,分布式计算利用互联网上闲置的CPU处理能力来解决大规模的计算问题。当大量计算机处于空闲状态时,它们的计算潜力并未得到充分利用。分布式计算项目将复杂问题细分,通过服务端将任务分配给联网的客户端进行并行处理,最后汇总计算结果,得到最终答案。目前,一些大型的分布式计算项目已经具备甚至超越超级计算机的处理能力。 BOINC(Berkeley Open Infrastructure for Network Computing)是分布式计算的一个重要平台,由加州大学伯克利分校发起并由美国国家科学基金会资助。BOINC为不同的分布式计算项目提供了共享的基础设施,如上传下载系统和统计系统,增强了各项目的协同性和用户友好性。BOINC还拥有自己的积分系统,以适应不同项目和机器性能的差异,通过特定算法来量化用户的计算贡献。 分布式计算在人类各个学科中扮演着关键角色,从天文学的太空脉冲分析到生物学的蛋白质折叠模拟,再到药物研发和经济预测,都需要大量的计算。随着需求的增长,分布式计算因其成本效益和高效性逐渐受到重视。然而,当前全球的分布式计算项目大多独立发展,缺乏统一管理和协调,这限制了其潜力的发挥。例如,生物研究机构可能需要自行开发分布式计算系统,而这些时间和精力原本可以用于科学研究本身。 参与分布式计算项目时,用户需要注意两个主要的安全问题:一是确保项目的开发者值得信赖,防止个人隐私数据被不当访问或篡改;二是要关注计算程序对个人计算机寿命的影响,虽然通常它们会在后台低优先级运行,但长时间高负荷运作可能会对硬件产生影响。 分布式计算和网格计算是应对大数据和云计算时代挑战的重要工具,它们通过整合网络中的计算资源,提高了处理复杂问题的能力,同时也为各种科学研究和商业应用提供了新的可能性。随着技术的不断进步,分布式计算将在未来的计算领域扮演越来越重要的角色。
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助