分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式网络存储技术是将数据分散地存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。
概述当计算机的程序和数据通过网络分布在多于一个的计算机上时,计算就成为“分布式的”。以前的计算通常是由计算中心完成的。尽管仍存在这样的计算中心,大小企业却逐渐将应用程序移至(分布到)企业中能最有效地完成计算的 地点进行,通常是桌面工作站、局域网服务器、部门服务器、Web服务器和其他服务器的混合。比较流行的是客户/服务器模式,客户机只具有一定的功能,其他的功能需要从提供服务的服务器那里获得。HTTP协议就是一个例子。在分布式计算环境中,数据的存储和处理可在本地工作站上进行。
分布式计算分布式计算是近年提出的一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算是一种计算方法,和集中式计算是相对的。随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如采用集中式计算,需要耗费相当长的时间来完成。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率1。
分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享;
2、通过分布式计算可以在多台计算机上平衡计算负载;
3、可以把程序放在最适合运行它的计算机上;
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。
实际上,网格计算就是分布式计算的一种。如果我们说某项工作是分布式的,那么,参与这项工作的一定不只是一台计算机,而是一个计算机网络,显然这种“蚂蚁搬山”的方式将具有很强的数据处理能力。网格计算的实质就是组合与共享资源并确保系统安全。
分布式计算的方法
分布式计算是利用互联网上的计算机的 CPU 的闲置处理能力来解决大型计算问题的一种计算科学。下面,我们看看它是怎么工作的:
首先, 要发现一个需要非常巨大的计算能力才能解决的问题。这类问题一般是跨学科的、极富挑战性的、人类急待解决的科研课题。其中较为著名的是:
1.解决较为复杂的数学问题,例如:GIMPS(寻找最大的梅森素数)。
2.研究寻找最为安全的密码系统,例如:RC-72(密码破解)。
3.生物病理研究,例如:Folding@home(研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。
4.各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。
5.信号处理,例如:SETI@Home(在家寻找地外文明)。
从这些实际的例子可以看出,这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。在以前,这些问题都应该由超级计算机来解决。但是, 超级计算机的造价和维护非常的昂贵,这不是一个普通的科研组织所能承受的。随着科学的发展,一种廉价的、高效的、维护方便的计算方法应运而生——分布式计算!
分布式计算与互联网的普及随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下CPU的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现, 使得连接调用所有这些拥有闲置计算资源的计算机系统成为了现实。
分布式计算项目那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用服务端和客户端。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。
当然,这看起来也似乎很原始、很困难,但是随着参与者和参与计算的计算机的数量的不断增加, 计算计划变得非常迅速,而且被实践证明是的确可行的。一些较大的分布式计算项目的处理能力已经可以达到甚而超过世界上速度最快的巨型计算机。
您也可以选择参加某些项目以捐赠的 Cpu 内核处理时间,您将发现您所提供的 CPU 内核处理时间将出现在项目的贡献统计中。您可以和其他的参与者竞争贡献时间的排名,您也可以加入一个已经存在的计算团体或者自己组建一个计算小组。这种方法很利于调动参与者的热情。
参与计算随着民间的组队逐渐增多, 许多大型组织(例如公司、学校和各种各样的网站)也开始了组建自己的战队。同时,也形成了大量的以分布式计算技术和项目讨论为主题的社区,这些社区多数是翻译制作分布式计算项目的使用教程及发布相关技术性文章,并提供必要的技术支持。
那么谁可能加入到这些项目中来呢? 当然是任何人都可以! 如果您已经加入了某个项目,而且曾经考虑加入计算小组, 您将在中国分布式计算总站及论坛里找到您的家。任何人都能加入任何由我站的组建的分布式计算小组。希望您在中国分布式总站及论坛里发现乐趣。
参与分布式计算——一种能充分发挥您的个人电脑的利用价值的最有意义的选择——只需要下载有关程序,然后这个程序会以最低的优先度在计算机上运行,这对平时正常使用计算机几乎没有影响。如果你想利用计算机的空余时间做点有益的事情,还犹豫什么?马上行动起来吧,你的微不足道的付出或许就能使你在人类科学的发展史上留下不小的一笔呢。
分布式存储系统分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。大数据时代的来临使得对分布式存储系统的研究具有重要的意义:
针对海量数据存储,分布式数据存储以其良好的可扩展性。健壮性和高效性超越了传统的集中式存储技术,但针对其本身的许多性能指标比如数据冗余度、数据存取速度、带宽占用率、存储花费和可靠性等使得不同的系统和不同的个人、企业对存储要求的侧重点不同。数据存储多考虑存取效率、存储花费,对数据抗毁性研究甚少。
针对海量数据的管理和维护,维护数据一致性是分布式存储系统维护数据的一个重点方向,由于互联网环境千变万化,数据更新速度和转换频率不断加快,使得数据一致性维护面临诸多问题,如可靠性问题、数据冗余问题、网络动荡问题和恶意攻击等问题严重影响了一致性维护策略的制定和发展。
P2P 数据存储系统P2P数据存储系统采用 P2P 网络的特点,即每个用户都是数据的获取者和提供者,没有中心节点,所以每个用户都是对等存在的。利用这种特点建立而成的P2P 数据存储系统可以将数据存放于多个对等节点上,当需要数据时,可以利用固定的资源搜索算法寻找数据资源,从而获取想要的数据。
P2P 数据存储系统的这种特点使得它非常适合存储大量数据。首先,由于没有中心服务器的存在,数据被分散存储与各个对等节点上,这样就不会出现某个节点负载过重的问题,可扩展性好;其次,对于网络攻击的抗打击能力强,当存在网络攻击时,受打击的节点损失的数据仅仅是整个数据存储系统的一小部分,大部分资源仍然处于安全状态;最后,得益于P2P网络优良的可扩展性和易维护性,P2P 数据存储系统也有着这些优点。
云存储系统云存储系统是一种网络存储系统,通过将大量的数据存储服务器集合起来,在内部表现为多个存储服务器协同工作,共同承担数据存储的任务,将数据存储任务划分为多个子任务并行存储,从而减小了数据存储的时间,并增加数据安全性。简单来说,云存储就是将数据或者文件存放到云端,数据使用者可以在任意地方通过互联网非常方便的存取数据,并且数据存储在云端有着高安全性、低花费等优点2。
应用所谓分布式就是指数据和程序可以不位于一个服务器上,而是分散到多个服务器,以网络上分散分布的地理信息数据及受其影响的数据库操作为研究对象的一种理论计算模型。分布式有利于任务在整个计算机系统上进行分配与优化,克服了传统集中式系统会导致中心主机资源紧张与响应瓶颈的缺陷,解决了网络GIS 中存在的数据异构、数据共享、运算复杂等问题,是地理信息系统技术的一大进步。
传统的集中式GIS 起码对两大类地理信息系统难以适用,需用分布式计算模型。第一类是大范围的专业地理信息系统、专题地理信息系统或区域地理信息系统。这些信息系统的时空数据来源、类型、结构多种多样,只有靠分布式才能实现数据资源共享和数据处理的分工合作。比如综合市政地下管网系统,自来水、燃气、污水的数据都分布在各自的管理机构,要对这些数据进行采集、编辑、入库、提取、分析等计算处理就必须采用分布式,让这些工作都在各自机构中进行,并建立各自的管理系统作为综合系统的子系统去完成管理工作。而传统的集中式提供不了这种工作上的必要性的分工。第二类是在一个范围内的综合信息管理系统。城市地理信息系统就是这种系统中一个很有代表性的例子。世界各国管理工作城市市政管理占很大比例,城市信息的分布特性及城市信息管理部门在地域上的分散性决定了多层次、多成份、多内容的城市信息必须采用分布式的处理模式。
很明显,传统的集中式地理信息系统不能满足分工明确的现代社会的需求,分布式地理信息系统的进一步发展具有不可阻挡的势头。而且,分布式GIS 与网络GIS 、客户/服务器GIS计算模型、WWW计算模型的关系都很密切。分布式GIS 是实现网络GIS 的途径,是实现NGIS的一种重要计算模型;CIS模型实际上是分布式GIS 可供采用的一种具体化计算模型;WWW模型实际上也是分布式GIS模型可采用的一种具体化模型,而且也是具有相当发展前途的分布式GIS模型。分布式GIS 与当今主导地理信息系统发展方向的技术的紧密联系使分布式GIS相应地成为地理信息系统的主要发展趋势。
本词条内容贡献者为:
徐恒山 - 讲师 - 西北农林科技大学