导航:首页 > 使用方法 > 分布式计算的常用方法

分布式计算的常用方法

发布时间:2022-09-27 16:40:04

A. 请问如何实现多台计算机同时处理同一个任务,业界称之为分布式计算,求具体实现方式

据我所知,业内为实现多台计算机同时处理同一个任务,是采用分配任务的方式进行,比如A处理1+1=?B处理1+2=?,这样子来进行的。因此只要进行编程,优化算法就能达到。如果你的程序编得不好,那么就达不到最优。

B. 什么是分布式计算

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

C. 20分钟看懂大数据分布式计算

这是一篇科普性质的文章,希望能过用一个通俗易懂的例子给非计算机专业背景的朋友讲清楚大数据分布式计算技术。大数据技术虽然包含存储、计算和分析等一系列庞杂的技术,但分布式计算一直是其核心,想要了解大数据技术,不妨从MapRece分布式计算模型开始。该理论模型并不是什么新理念,早在2004年就被Google发布,经过十多年的发展,俨然已经成为了当前大数据生态的基石,可谓大数据技术之道,在于MapRece。

在进入到分布式计算技术这个概念之前,我们要先回顾一下传统计算技术,为了使计算机领域的相关概念能够生动形象深入浅出,我们要将计算机类比为人:

下面我们要用一个简单的案例,分析“人型计算机”是如何利用传统计算技术解决实际问题的。在开始之前,要增加一些限定,如同正常计算机的内存是有上限的,我们的“人型计算机”也存在记忆力的上限,这里我们假设一个“人型计算机”最多可以同时在“内存”中记住4种信息,例如:苹果、梨等四种水果的个数:

好了,背景知识已经足够了,让我们进入正题

首先,什么是分布式计算?简单点理解就是将大量的数据分割成多个小块,由多台计算机分工计算,然后将结果汇总。这些执行分布式计算的计算机叫做集群,我们仍然延续前文中人和计算机的类比,那么集群就是一个团队,单兵作战的时代已经过去,团队合作才是王道:

为什么需要分布式计算?因为“大数据”来了,单个计算机不够用了,即数据量远远超出单个计算机的处理能力范围:有时候是单位时间内的数据量大,比如在12306网上买票,每秒可能有数以万计的访问;也有可能是数据总量大,比如网络搜索引擎,要在服务器上检索数亿的中文网页信息。

实现分布式计算的方案有很多,在大数据技术出现之前就已经有科研人员在研究,但一直没有被广泛应用。直到2004年Google公布了MapRece之后才大热了起来。大数据技术、分布式计算和MapRece的关系可以用下图来描述,MapRece是分布式计算在大数据领域的应用:

MapRece模型是经过商业实践的成熟的分布式计算框架,与Google的分布式文件系统GFS、分布式数据存储系统BigTable一起,号称Google的大数据“三宝”,为大数据技术的发展提供了坚实的理论基础。但遗憾的是,谷歌并没有向外界公布自己的商业产品,而真正让大数据技术大踏步前进的是按照Google理论实现的开源免费产品Hadoop,目前已经形成了以Hadoop为核心的大数据技术生态圈。

让我们回到数扑克牌这个例子中,大数据时代的扑克牌问题是什么样子的?

我个人在查阅了一些资料、进行了一些实践以后,认为MapRece的技术可以简单地用四字诀来总结:分、变、洗、合,分别代表“切分”、“变换”、“洗牌”、“合并”四个步骤:

下面来看如何用四字诀解决大数据扑克牌问题。

既然单个“人型计算机”无法完全处理完所有的扑克,那么我们就把扑克牌随机分成多份,每份扑克牌由一个“人型计算机”来处理,个数不超过单个计算机的处理上限,而且尽量让每份的数量比较平均。

这里我们要讲一下角色分工的问题,多台计算机合作,肯定要有角色分工,我们把负责数据切分的“人型计算机”可以理解为“指挥官”,“指挥官”一般只有一个(在实际中可能有多个),统筹调度之类的工作都归他管。负责执行具体运算任务的“人型计算机”则是“计算兵”,“计算兵”按照承担的任务不同分为“变计算兵”和“合计算兵”,前者负责第二步“变换“,后者负责最后一步“合并“。

“指挥官”在切分扑克牌之前,会先分配好“变计算兵”和“合计算兵”的数量,然后根据“变计算兵”的数量把扑克拆分成相应的份数,将每份扑克分给一个“变计算兵”,然后进入下一步。

每一个“变计算兵”都要对自己分得的每一张扑克牌按照相同的规则做变换,使得后续的步骤中可以对变换后的结果做处理。这种变换可以是加减乘除等数学运算,也可以是对输入数据的结构的转换。例如对于我们这个扑克牌问题来讲,目的是为了计数,所以可以将扑克牌转换为一种计算机更容易处理的数值结构:将每张扑克牌上贴一张小便签,这条小便签上写明了其个数为1。

我们把这种贴了标签的扑克牌叫做变种扑克牌。当在后续的步骤中统计牌型个数时,只需要把每个标签上的数字加起来就可以。有的朋友肯定会好奇为什么不让每个“计算兵”直接统计各自的所有牌型的扑克的个数,这是因为这种“映射变换”运算的本质在于将每张扑克牌都进行同一种相同规则的变换,统计个数的工作要留在最后一步完成。严格的流水化操作,会让整体的效率更高,而且变换的规则要根据具体问题来制定,更容易适配不同种类的计算。

变换的运算完成之后,每个“变计算兵”要将各自的变种扑克牌按照牌型分成多个小份,每个小份要最终被一个指定的“合计算兵”进行结果合并统计,这个过程就是“洗牌”,是“变计算兵”将变换后的扑克牌按照规则分组并分配给指定的“合计算兵”的过程。

洗牌分两个阶段,第一阶段是每个“变计算兵”将变种扑克牌按照一定的规则分类,分类的规则取决于每个“合计算兵”的统计范围,分类的个数取决于“合计算兵”的个数。如上图所示,假设有3个“合计算兵”分别负责不同范围的牌型的统计,那么“变计算兵”需要根据每个“合计算兵”负责的牌型将自己的变种扑克牌分成3个小份,每份交给对应的“合计算兵”。洗牌的第二阶段,“合计算兵”在指挥官的指挥下,去各个“变计算兵”的手中获取属于他自己的那一份变种扑克牌,从而使得牌型相同的扑克牌只会在一个“合计算兵”的手上。洗牌的意义在于使相同牌型的变种扑克牌汇聚在了一起,以便于统计。

“合计算兵”将手中的变种扑克牌按照相同的计算规则依次进行合并,计算规则也需要根据具体问题来制定,在这里是对扑克牌上标签的数值直接累加,统计出最终的结果。

然后所有的“合计算兵”把自己的计算结果上交给“指挥官”,“指挥官”汇总后公布最终统计的结果。

ok,“分变洗合”四字诀介绍完毕,完整过程如下:

分布式处理技术在逻辑上并不复杂,但在具体的实现过程中会有很多复杂的过程,譬如“指挥官”如何协调调度所有的“运算兵”,“运算兵”之间如何通信等等,但对于使用MapRece来完成计算任务的程序员来讲,这些复杂的过程是透明的,分布式计算框架会自己去处理这些问题,程序员只需要定义两种计算规则:第二步中变换的规则和第四步中合并的规则。

正所谓大道至简,万变不离其宗,理解了MapRece就理解了大数据分布式处理技术,而理解大数据分布式处理技术,也就理解了大数据技术的核心。
如果你还没有理解或者发现了文中的逻辑漏洞,欢迎留言讨论。

D. 如何实现分布式计算家里有三台电脑!本人小白,求简单的方法。或者直接软件。

用一台做负载均衡,其他两台做业务节点。http负载软件采用IIS、apche、nginx等。

E. 如何入门分布式计算

不推荐看理论性很强的书(不意味着不需要掌握)。找个你感兴趣的开源工具,然后看看他的document和论文,读读源码,用一用。不只要知道很多分布式的工具可以做什么,最重要的还是自己要深入一个。有广度有深度,领会某个优秀工具设计上的理念。先看看google的maprece,bigtable那几篇经典的论文。不要太多,要选择经典。因为绝多数都不怎么样。然后选择简单和成熟的分布式系统玩玩,写几个简单的程序。并对他们敢兴趣的地方看看源代码。然后就是想想已有系统有什么不好的地方进行一下修改。所有的系统都是tradeoff的产物,所以你总是可以找到性能提升的地方。中途会遇到很多bug,多问问论坛。也会遇到理论上的不足,这个时候有针对性的看论文或者书籍。大致如此吧!

F. 什么是分布式计算

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

G. 分布式计算的基本信息

广义定义
所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。
中国科学院的定义
分布式计算是一种新的计算方式。所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点:
1、稀有资源可以共享。
2、通过分布式计算可以在多台计算机上平衡计算负载。
3、可以把程序放在最适合运行它的计算机上。
其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。 分布式计算是利用互联网上的计算机的中央处理器的闲置处理能力来解决大型计算问题的一种计算科学。下面,我们看看它是怎么工作的:
首先, 要发现一个需要非常巨大的计算能力才能解决的问题。这类问题一般是跨学科的、极富挑战性的、人类急待解决的科研课题。其中较为着名的是: 解决较为复杂的数学问题,例如:GIMPS(寻找最大的梅森素数)。 研究寻找最为安全的密码系统,例如:RC-72(密码破解)。 生物病理研究,例如:Folding@home(研究蛋白质折叠,误解,聚合及由此引起的相关疾病)。 各种各样疾病的药物研究,例如:United Devices(寻找对抗癌症的有效的药物)。 信号处理,例如:SETI@Home(在家寻找地外文明)。 在以前,这些问题都应该由超级计算机来解决。但是, 超级计算机的造价和维护非常的昂贵,这不是一个普通的科研组织所能承受的。随着科学的发展,一种廉价的、高效的、维护方便的计算方法应运而生——分布式计算!
随着计算机的普及,个人电脑开始进入千家万户。与之伴随产生的是电脑的利用问题。越来越多的电脑处于闲置状态,即使在开机状态下中央处理器的潜力也远远不能被完全利用。我们可以想象,一台家用的计算机将大多数的时间花费在“等待”上面。即便是使用者实际使用他们的计算机时,处理器依然是寂静的消费,依然是不计其数的等待(等待输入,但实际上并没有做什么)。互联网的出现, 使得连接调用所有这些拥有限制计算资源的计算机系统成为了现实。
那么,一些本身非常复杂的但是却很适合于划分为大量的更小的计算片断的问题被提出来,然后由某个研究机构通过大量艰辛的工作开发出计算用服务端和客户端。服务端负责将计算问题分成许多小的计算部分,然后把这些部分分配给许多联网参与计算的计算机进行并行处理,最后将这些计算结果综合起来得到最终的结果。
当然,这看起来也似乎很原始、很困难,但是随着参与者和参与计算的计算机的数量的不断增加, 计算计划变得非常迅速,而且被实践证明是的确可行的。目前一些较大的分布式计算项目的处理能力已经可以达到甚而超过目前世界上速度最快的巨型计算机。
您也可以选择参加某些项目以捐赠Cpu的内核处理时间,您将发现您所提供的 中央处理器 内核处理时间将出现在项目的贡献统计中。您可以和其他的参与者竞争贡献时间的排名,您也可以加入一个已经存在的计算团体或者自己组建一个计算小组。这种方法很利于调动参与者的热情。
随着民间的组队逐渐增多, 许多大型组织(例如公司、学校和各种各样的网站)也开始了组建自己的战队。同时,也形成了大量的以分布式计算技术和项目讨论为主题的社区,这些社区多数是翻译制作分布式计算项目的使用教程及发布相关技术性文章,并提供必要的技术支持。
那么谁可能加入到这些项目中来呢? 当然是任何人都可以! 如果您已经加入了某个项目,而且曾经考虑加入计算小组, 您将在中国分布式计算总站及论坛里找到您的家。任何人都能加入任何由我站的组建的分布式计算小组。希望您在中国分布式总站及论坛里发现乐趣。
参与分布式计算——一种能充分发挥您的个人电脑的利用价值的最有意义的选择——只需要下载有关程序,然后这个程序会以最低的优先度在计算机上运行,这对平时正常使用计算机几乎没有影响。如果你想利用计算机的空余时间做点有益的事情,还犹豫什么?马上行动起来吧,你的微不足道的付出或许就能使你在人类科学的发展史上留下不小的一笔呢! 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中积分的计算方法进行了说明。 据中国互联网信息中心(CNNIC)的统计信息,中文网民人数占世界的比重已经增长到了12%左右,并且还在快速增长着。这里所说的中文网民是包括大陆、香港、澳门、台湾和海外华人的。
相比于互联网在中国的快速发展,中国的分布式计算却发展缓慢。就我看来,网民数量的统计并不能十分客观地反映一个国家信息化程度的高低,而参与分布式计算网民的数量或比例却可以明显地看出这个国家科学普及化的水平。在这方面,毋庸置疑,欧美国家是十分领先的。在北欧国家,几乎一半的电脑参加了分布式计算项目,这是一个惊人的数字。再让我们来看看我们中国和印度,尽管我们拥有了不少最新科技,且看上去在网络普及化进程中有不错表现,但是在分布式计算方面却很薄弱。让我们来看些例子:
SETI@home是世界上最大的分布式计算项目。从中国的参与人数来看,它在中国也是最着名的项目。它通过使用联网的计算机下载程序分析射电望远镜所收到的讯号,来搜索地球外的生命迹象。
尽管中国在分布式计算中取得了进步,中国的国际排名从29上升到了24,但是我们中国用户却仍然只完成了日本用户完成的工作数的十分之一,而日本,这个高度发达的国家网民人数却少于中国。看来,提高网民素质、提高科学普及化程度也是十分重要的。印度和一些中东国家也有相似的问题,而中欧国家明显在这方面作得比较好,不少独联体国家所完成的数据量已经超过了俄罗斯联邦的总合。
Folding@home是一个研究蛋白质折叠,误解,聚合及由此引起的相关疾病的分布式计算工程。它使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引我们对由折叠引起的疾病的一系列研究。
中国参加这个项目的人数在不断增多,截至2011年3月底,中国3213团队的用户数达到3025人,活跃用户有190人左右。
参与该项目Climateprediction工程是把最新的气候预测模型通过家庭、学校、办公室的计算机来进行计算。这些计算完成的结果将会组成世界最大的气象预测模型。气候改变了,而我们对此的行动已经是全球重要的话题。这将影响到人类的农业生产、水资源量、生态系统、能源需求、保险花费和很多其他与人类息息相关的方面。确凿的科学依据表明,地球在在接下来的几个世纪可能会变得温暖,但是我们无法估计到底变化会有多大。如果您参加,这将能有助与21世纪的气候科学预测。
中国已经有了很多计算机,其中不乏性能极其先进的。而他们中的大多数仅仅是打字、播放幻灯而已。这不能不说是一种资源的浪费。
从另外一个角度看,我们不难发现发达国家和发展中国家的差距。我们把这种现象称为数字鸿沟。另一个现象同样令人痛心疾首,所有的分布式计算项目都是由发达国家,如:美国、德国、英国、日本等发起的,这一方面也加深了科学鸿沟。斯坦福大学化学系的戈尔哈姆·理乍得·切尔曼教授说,分布式计算将加快整个人类的科学进程。科学家们可以完成以前从来想不到要去完成的,或者要花几十年几百年才能完成的计算任务。这是的确是千真万确的,但是这种计算从一定程度上助长了发达国家的科学垄断。
中国有关部门也开始意识到分布式计算的重要性,一些大学教授和科学家也开始钻研分布式计算科学,比如:中科院CAS@HOME和清华大学的“清水计划”。

H. 大数据所谓的分布式运算是指什么

分布式计算是一种计算方法,和集中式计算是相对的。分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

分布式计算可以分为以下几类:

传统的C/S模型。如HTTP/FTP/SMTP/POP/DBMS等服务器。客户端向服务器发送请求,服务器处理请求,并把结果返回给客户端。客户端处于主动,服务器处于被动。

集群技术。一种称集群的技术出现了,它把多台服务器连接起来,当成一台服务器来用。这种技术的好处就是,不但对客户来说是透明的,对服务器软件来说也是透明的,软件不用做任何修改就可以在集群上运行。

通用型分布式计算环境。如CORBA/DCOM/ RMI/ DBUS等,这些技术(规范)差不多都有具有网络透明性,被调用的方法可能在另外一个进程中,也可能在另外一台机器上。调用者基本上不用关心是本地调用还是远程调用。

I. 分布式常用技术有哪些

这个太多了,大数据方面常用的分布式存储技术为HDFS、HBase,分布式计算技术有MapRece、Spark等等。

阅读全文

与分布式计算的常用方法相关的资料

热点内容
水彩纸投大稿有什么方法 浏览:15
缺衣少食的人用什么方法惩罚仇人 浏览:181
甘庶枯萎病的治疗方法 浏览:959
如何管理甲方施工方法 浏览:586
中度失眠好的治疗方法 浏览:44
银河t8换底训练方法 浏览:870
羊颈骨作用及食用方法 浏览:781
贫血头晕最快治疗方法 浏览:571
能通过什么方法使喉结变小吗 浏览:858
孕妇眼睛发炎了怎么处理方法 浏览:145
ps路径工具使用方法 浏览:713
哪里可以找到软糖配料方法 浏览:83
大科学研究方法 浏览:609
脖子黑了怎么快速变白简单方法 浏览:598
企业内训师讲解课程都用什么方法 浏览:21
快速结鞋带的方法 浏览:198
拔草拔灌木方法视频 浏览:257
盐酸左西替利嗪口服液食用方法 浏览:993
ginza卸妆油使用方法 浏览:213
快速解冻很多肉的方法 浏览:952