当前位置:首页 » 算力简介 » 分布式计算算力出租

分布式计算算力出租

发布时间: 2021-05-17 12:48:16

『壹』 分布式计算怎么出现的

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

传统的C/S模型。如HTTP/FTP/SMTP/POP/DBMS等服务器。客户端向服务器发送请求,服务器处理请求,并把结果返回给客户端。客户端处于主动,服务器处于被动。这种调用是显式的,远程调用就是远程调用,本地调用就是本地调用,每个细节你都要清楚,一点都含糊不得。

集群技术。近年来PC机的计算能力飞速发展,而服务器的计算能力,远远跟不上客户端的要求。这种多对一的关系本来就不公平,人们已经认识到靠提高单台服务器的计算能力,永远满足性能上的要求。一种称集群的技术出现了,它把多台服务器连接起来,当成一台服务器来用。这种技术的好处就是,不但对客户来说是透明的,对服务器软件来说也是透明的,软件不用做任何修改就可以在集群上运行。集群技术的应用范围也仅限于此,只能提高同一个软件的计算能力,而对于多个不同的软件协同工作无能为力。

通用型分布式计算环境。如CORBA/DCOM/ RMI/ DBUS等,这些技术(规范)差不多都有具有网络透明性,被调用的方法可能在另外一个进程中,也可能在另外一台机器上。调用者基本上不用关心是本地调用还是远程调用。当然正是这种透明性,造成了分布式计算的滥用,分布式计算用起来方便,大家以为它免费的。实际上,分布式计算的代价是可观的,据说跨进程的调用,速度可能会降低一个数量级,跨机器的调用,速度可能降低两个数量级。一些专家都建议减少使用分布式计算,即使要使用,也要使用粗粒度的调用,以减少调用的次数。

还其一些混合形式(SOAP?),这里不再多说。我们主要介绍第三种分布式模型,这类分布式模型即适用于企业级应用,也适用于桌面应用。有的专注于企业级应用(如CORBA),有的专注于桌面环境(如DBUS)。它们的实现原理都差不多,基本上都基于传统的RPC或者仿RPC实现的,下面介绍一下它们的基本原理。

我们先看一下分布式的最简模型:

在传统的方法中,调用一个对象的函数很简单:创建这个对象,然后调用它的函数就行了。而在分布式的环境中,对象在另外一个进程中,完全在不同的地址空间里,要调用它的函数可能有点困难了。

看看传统的C/S模型的请求方式,客户端把参数通过网络发给服务器,服务器根据参数要求完成相应的服务,然后把结果返回给客户端,客户端拿到结果了,一次请求算完成。由此看来,调用远程对象似乎并不难,问题在于这种方式不是网络透明的,每一个细节你都要自己处理,非常复杂。

要简化软件的设计,当然是网络操作透明化,调用者和实现者都无需关心网络操作。要做到这一点,我们可以按下列方法:

在客户端要引入一个代理(Proxy)对象。它全权代理实际对象,调用者甚至都不知道它是一个代理,可以像调用本地对象一样调用这个对象。当调用者调用Proxy的函数时,Proxy并不做实际的操作,而是把这些参数打包成一个网络数据包,并把这个数据包通过网络发送给服务器。

在服务器引入一个桩(Stub)对象,Stub收到Proxy发送的数据包之后,把数据包解开,重新组织为参数列表,并用这些参数就调用实际对象的函数。实际对象执行相关操作,把结果返回给Stub,Stub再把结果打包成一个网络数据包,并把这个数据包通过网络发送给客户端的Proxy。

Proxy收到结果数据包后,把数据包解开为返回值,返回给调用者。至此,整个操作完成了。怎么样,简化吧。

Proxy隐藏了客户端的网络操作,Stub隐藏了服务器端的网络操作,这就实现了网络透明化。你也许会说,根本没有简化,只是把网络操作隔离开了,仍然要去实现Proxy和Stub两个对象,一样的麻烦。

没错。不过仔细研究一下Proxy和Stub的功能,我们会发现,对于不同对象,这些操作都差不多,无非就是打包和解包而已,单调重复。单调重复的东西必然有规律可循,有规律可循就可以用代码产生器自动产生代码。

像DCOM和CORBA等也确实是这样做的,先用IDL语言描述出对象的接口,然后用IDL编译器自动产生Proxy和Stub代码,整个过程完全不需要开发人员操心。

打包和解包的专业术语叫做marshal和unmarshal,中文常用翻译为列集和散集。不过这两个词太专业了,翻译成中文之后更加让人不知所云。我想还是用打包和解包两个词更通俗一点。

在以上模型中,调用对象的方法,确实做到了网络透明化。读者可以会问,我要访问对象的属性怎么办呢?对象的属性就是变量,变量就一块内存区域,内存区域在不同的进程里完全是独立的,这看起来确实是一个问题。还记得很多关于软件设计书籍里面讲过的吗:不要暴露对象属性,调用者若要访问对象的属性,通过get/set方法去访问。这样不行了吗,对属性的访问转换为对对象方法的调用。

OK,调用对象的方法和访问对象的属性都解决了。还有重要的一点,如何创建对象呢。因为实际的对象并不固定在某台机器上,它的位置可能是动态的。甚至Proxy本身也不知道Stub运行在哪里。如果要让调用者来指定,创建对象的过程仍未达到网络透明化。通常的做法是引入一个第三方中介,这个第三方中介是固定的,可以通过一定的方法找到它。第三方中介负责在客户端的Proxy和服务器的Stub之间穿针引线。第三方中介通常有两种:一种是只负责帮客户端找到服务器,之后客户端与服务器直接通信。另外一种就是不但负责找到服务器,而且负责转发所有的请求。

以上的模型仍然不完整,因为现实中的对象并不是一直处理于被动的地位。而是在一定的条件下,会主动触发一些事件,并把这些事件上报给调用者。也就是说这是一个双向的动作,单纯的C/S模型无法满足要求,而要采用P2P的方式。原先的客户端同时作为一个服务器存,接受来自己服务器的请求。像COM里就是这样做的,客户端要注册对象的事件,就要实现一个IDispatch接口,给对象反过来调用。

自己实现时还要考虑以下几点:

l 传输抽象层。分布可能是跨进程也可能是跨机器。在不同的情况下,采用不同的通信方式,性能会有所不同。做一个传输抽象层,在不同的情况下,可选用不同的传输方式,是一种好的设计。

l 文本还是二进制。把数据打包成文本还是二进制?打包成文本的好处是,可移植性好,由于人也可以看懂,调试方便。坏处是速度稍慢,打包后的数据大小会明显变大。采用二进制的好处是,速度快,打包后的数据大小与打包前相差不大。坏处是不易调试,可移植性较差。

l 字节顺序和字节对齐。若采用二进制方式传输,可移植性是个问题。因为不同的机器上,字节顺序和字节对齐的方式都有些差异,在数据包中要加入这些说明,以提高可移植性。

『贰』 分布式计算的介绍

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

『叁』 云计算、分布式计算、并行计算有什么区别与联系

说下我的理解,我理解的也比较浅显。 云计算,就是很多台主机同时提供服务,由于同一个服务有很多台服务器提供,就像每个服务背后有个云在支撑。分布式计算,由于一台计算机的计算能力有限,所以把传统上的计算任务通过负载均衡服务器将任务划分成若干个子任务,然后分别交给不同的计算机去进行计算,最后再把结果统一起来。并行计算,按字面意思理解就行了。 追问: 你说的这些我能理解。我主要想问,作为 硕士 研究方向,其之间的关系具体怎么样。 回答: 我自己感觉,都是围绕着 云计算 来发展的。云计算其实就是 分布式计算 。通过分散的服务器同时对 很多 公司个人提供服务。这样就会使资源得到充分的利用。我相信 你也知道为什么。 并行计算 我觉得重在强调一个协调能力。一般性 的计算,不仅仅是划分任务的问题,因为时间效率的问题,所以要保证各个任务能几乎在同一时间完成,防止出现这台服务器计算完了,还要等另一台计算完,分布式计算再加上并行计算,这才是真正的云计算。不过现在说这些计算的时候,其实已经是三者等同了。只是个人肤浅 的理解。 如果真想在这方向发展,建议多上CSDN看看。现在云计算非常盛行,各个大公司都在做。

『肆』 除了Hadoop 还有哪些分布式计算平台优势各自是什么

大致说一下目前在工业界(学术界)里比较流行的几种分布式计算框架(平台):

1:MapRece(MR),最为
general和流行的一个分布式计算框架,其开源实现Hadoop已经得到了极为广泛的运用(Facebook,
Yahoo!等等),同时在Hadoop基础上发展起来的项目也有很多(Hive是发展最好的),另外像
Cloudera,Hortonworks,MapR这样的在Hadoop基础上发展起来的公司也有很多。
2:Pregel,和MR一样也是Google发明的,其优势是在完成一些适合于抽象为图算法的应用的计算时可以更为高效,Giraph可以算是一个比较好的发展中的开源实现。
3:Storm,Twitter的项目,号称Hadoop的实时计算平台,对于一些需要real time performance的job可以拥有比MR更高的效率。
4:Spark,UC Berkeley AMPLab的项目,其很好地利用了JVM中的heap,对于中间计算结果可以有更好的缓存支持,因此其在performance上要比MR高出很多。Shark是其基础上类似于Hive的一个项目。
5:Dryad和Scope,
都是MR(Microsoft Research)的项目,从paper上来看Dryad是一个更为general
purpose的计算框架,在vertices里实现计算,通过channels实现communication,两者组成一个graph
workflow;而Scope有点类似于Hive和Shark,都是将某种类似于SQL的script
language编译成可以在底层分布式平台上计算的job。但是这两个项目因为不开源,所以资料不多,也没有开源项目那样的community。

当然还有其他很多,比如Google的Dremel,Yale的HadoopDB(现在已经商业化叫做Hadapt)。

『伍』 海量数据,分布式计算,并行计算 虚拟化与云计算的关系是怎样的

您好,海量数据涉及到一些方面。我给你介绍一下
第一点涉及到云存储和分布式存储。第二点涉及到分布式计算和并行计算。
分布式计算和并行计算:并行计算偏科学领域,偏单用户,单请求,在配置多处理机的服务器下处理。分布式计算偏多用户,多请求,涉及多台服务器多个计算单元的分布式处理。
分布式计算本身又分为两种,一种是单任务拆分,如maprece来实现;一种是多请求分布式调度,涉及到云计算paas
还有疑问请追问没有疑问请采纳

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

要软件支持才可以,比如视频转码用mediacoder就可以,

『柒』 海量数据,分布式计算,并行计算 ,虚拟化与云计算的关系是怎样的

海量数据涉及到一些方面。我给你介绍一下
第一点涉及到云存储和分布式存储。第二点涉及到分布式计算和并行计算。
分布式计算和并行计算:并行计算偏科学领域,偏单用户,单请求,在配置多处理机的服务器下处理。分布式计算偏多用户,多请求,涉及多台服务器多个计算单元的分布式处理。
分布式计算本身又分为两种,一种是单任务拆分,如maprece来实现;一种是多请求分布式调度,涉及到云计算paas

云计算中的云是相对于客户端而言,其实云计算本质上是客户端-服务器模式,只是在服务器端通过分布式存储、虚拟化等技术提供了诸如IaaS、PaaS、SaaS的高可靠服务。
简单来说:
云计算只是分布式计算的一种特殊形式,它的特色是资源(计算、存储)的租用。
网格,也是分布式计算的一种,不过强调的资源的共享与协作。

『捌』 比特币概念中的分布式计算是什么

我们知道计算一个简单的数学问题,比如1+1等于几,用一台电脑就够了。但如果要计算一个超级复杂的问题呢?这可以使用多台电脑一起来运算,而如果这些多台电脑都处在互联网上,那它们如何相互链接?如何传递消息和通信?如何协调各自的任务和分工?这些问题就是分布式计算系统要解决的事。
分布式系统是一系列电脑,通过网络相互链接传递消息与通信后并协调它们的行为而形成的系统。电脑之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分区成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学。
因为计算能力超强的超级计算机实在是太昂贵了,世界上很多非常复杂的科学问题,就是通过分布式计算来完成的。比特币就是其中之一。

『玖』 什么是分布式计算

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

『拾』 云计算和一般分布式计算不同的六大特点是什么

云计算技术特点:弥漫性、无所不在的分布性和社会性。它是一种新兴的共享基础架构的方法,可以将巨大的系统池连接在一起以提供各种IT服务。
云计算并不是六大特征,而是五大特征。特征如下:
1.支持异构基础资源
云计算可以构建在不同的基础平台之上,即可以有效兼容各种不同种类的硬件和软件基础资源。硬件基础资源,主要包括网络环境下的三大类设备,即:计算(服务器)、存储(存储设备)和网络(交换机、路由器等设备);软件基础资源,则包括单机操作系统、中间件、数据库等。
2.支持资源动态扩展
支持资源动态伸缩,实现基础资源的网络冗余,意味着添加、删除、修改云计算环境的任一资源节点,亦或任一资源节点异常宕机,都不会导致云环境中的各类业务的中断,也不会导致用户数据的丢失。这里的资源节点可以是计算节点、存储节点和网络节点。而资源动态流转,则意味着在云计算平台下实现资源调度机制,资源可以流转到需要的地方。如在系统业务整体升高情况下,可以启动闲置资源,纳入系统中,提高整个云平台的承载能力。而在整个系统业务负载低的情况下,则可以将业务集中起来,而将其他闲置的资源转入节能模式,从而在提高部分资源利用率的情况下,达到其他资源绿色、低碳的应用效果。
3.支持异构多业务体系
在云计算平台上,可以同时运行多个不同类型的业务。异构,表示该业务不是同一的,不是已有的或事先定义好的,而应该是用户可以自己创建并定义的服务。这也是云计算与网格计算的一个重要差异。
4.支持海量信息处理
云计算,在底层,需要面对各类众多的基础软硬件资源;在上层,需要能够同时支持各类众多的异构的业务;而具体到某一业务,往往也需要面对大量的用户。由此,云计算必然需要面对海量信息交互,需要有高效、稳定的海量数据通信/存储系统作支撑。
5.按需分配,按量计费
按需分配,是云计算平台支持资源动态流转的外部特征表现。云计算平台通过虚拟分拆技术,可以实现计算资源的同构化和可度量化,可以提供小到一台计算机,多到千台计算机的计算能力。按量计费起源于效用计算,在云计算平台实现按需分配后,按量计费也成为云计算平台向外提供服务时的有效收费形式。
云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。
因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。
对云计算的定义有多种说法。对于到底什么是云计算,至少可以找到100种解释。现阶段广为接受的是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

热点内容
收到假eth币 发布:2025-10-20 08:58:16 浏览:973
暗黑破坏神2eth打孔 发布:2025-10-20 08:42:58 浏览:105
BTC和CBT是一样的吗 发布:2025-10-20 08:42:57 浏览:233
华硕trx40Pro供电 发布:2025-10-20 08:33:26 浏览:432
晒人民币编号的朋友圈 发布:2025-10-20 08:25:32 浏览:687
doge格式 发布:2025-10-20 08:02:00 浏览:382
以太坊会爆发吗 发布:2025-10-20 08:01:59 浏览:772
一台比特币矿机的功率 发布:2025-10-20 07:39:24 浏览:925
trx辅助带 发布:2025-10-20 07:35:29 浏览:48
比特币哈希值有多少位 发布:2025-10-20 07:31:20 浏览:633