分布式系统课件:Chapter 4 Processes(虚拟化;代码迁移的模型;进程处理机的分配方法)_第1页
分布式系统课件:Chapter 4 Processes(虚拟化;代码迁移的模型;进程处理机的分配方法)_第2页
分布式系统课件:Chapter 4 Processes(虚拟化;代码迁移的模型;进程处理机的分配方法)_第3页
分布式系统课件:Chapter 4 Processes(虚拟化;代码迁移的模型;进程处理机的分配方法)_第4页
分布式系统课件:Chapter 4 Processes(虚拟化;代码迁移的模型;进程处理机的分配方法)_第5页
已阅读5页,还剩97页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ProcessesChapter4CorrelativeConcepts进程/线程概念:进程-----程序的一次执行过程;是资源(CPU、存储器、I/O及文件)分配的单位;线程-----CPU分配的单位;线程概念----CPU分配的单位(a)三个进程,每一个进程有一个线程(b)一个进程有三个线程CorrelativeConcepts不必使进程因等待某事件而阻塞,提高了进程的执行效率;多处理/多核上可使线程并行执行;IPC需要内核干预,上下文切换代价高,线程可通过数据共享实现;软件工程的需要,有些应用程序需要一组相互协作的任务完成。

主要的目的就是利用线程共享同一地址空间的特点,更好的支持对称多处理(SMP)以及减小(进程/线程)上下文切换开销。为什么引入线程:ThreadUsageinNondistributedSystemsContextswitchingastheresultofIPC.IPC通信代价高ThreadImplementation线程的实现:一般以线程包的形式提供,分为:user-level;用户模式下执行的线程库;kernel-level.内核管理的线程库;问题:user-level上下文切换代价小,但容易造成整个进程的阻塞。kernel-level.不会导致进程的阻塞,但上下文切换代价高。解决:采用混合方式,通过LWP进行线程管理。ThreadImplementationCombiningkernel-levellightweight

processesanduser-levelthreads.Solaristhreads线程实现了细粒度的并发或并行在单机上多个线程并发;在多处理机或多核上多个线程并行。关于Multicore目前主要有三种实现方案: 1)共享缓存方案;

2)共享IO接口方案;

3)共享数据包方案;CMP—

ChipMulti-Processing芯片多处理技术,即多核处理器,有的称为Multicore,主要是为了线程并行而设计的。

What’sCMP?1)SharedCacheProduction:IBMPOWER4/5familySunUltraSPARC-IVFujitsuSPARC64-VISunNiagaraIntelYonah/MeromfamilyWhat’sCMP? 2)SharedI/OInterfaceProduction:IntelItanium2AMDdual-coreOpteron

What’sCMP? 3)ShareddatapacketProduction:IntelPentiumD

What’sCMPOS?

CMPOS—

ChipMulti-ProcessorOperatingSystem应用:视频处理,网络监控,系统维护1)ProcessesSchedulingforTask单用户单任务-单用户多任务(DOS)-多用户多任务(Linux)-多用户多任务多核(CMPOS)What’sCMPOS? 2)ProcessesSchedulingforLowConsumed一定条件下的最高效率调度-一定条件下的最低功耗调度多处理机或多核CPU中的并行

MemoryPEPEPE线程就绪队列线程调度线程之间的合作方式(a)派遣者/工作者模式(b)团队模式(c)管道模式分布式系统中的线程在分布式系统中,线程可用于开发高效率的客户端和服务器。MultithreadedClients;MultithreadedServers;MultithreadedClients在分布式系统中,为了确立高度的分布透明性,需要隐藏通信时间延迟;Web浏览器就是利用线程实现隐藏通信时间延迟的实例,通过渐进显示等;MultithreadedServers(1)Amultithreadedserverorganizedinadispatcher/workermodel.MultithreadedServers(1)设Server的处理速度:1000ms/s.对于每一个请求端口,Server中有一个线程与之对应,设每个请求的处理时间是2ms,从对应的设备上读一个请求用8ms,则Server的最大吞吐量为:

1000ms/s÷(2ms+8ms)=100/s请求8msI/O端口

……

N个线程Server2msMultithreadedServers(1)(1)用单一线程(N=1),Server每秒可以处理的请求个数:1000ms/s÷(2ms+8ms)=100/s用两个线程(N=2),两个线程可以交替地使用I/O,此时I/O成为瓶颈,Server每秒可以处理的请求个数:1000ms÷8ms=125

(3)对I/O使用磁盘缓冲区,并且命中率为75%,则Server每秒可以处理的请求个数:1000ms÷(75%*0ms+25%*8ms)=1000/2=500Threewaystoconstructaserver.ModelCharacteristicsSingle-threadedprocessNoparallelism,blockingsystemcallsThreadsParallelism,blockingsystemcallsFinite-statemachineParallelism,nonblockingsystemcallsMultithreadedServers(2)以文件服务器为例,可以采用单线程模型、多线程模型(顺序处理),或FSM模型(采用非阻塞式S/R,非顺序处理)Virtualization虚拟化概念几十年前就出现过,比如操作系统中的虚拟处理机和虚拟存储器等。在网络分布式系统广泛应用的今天,虚拟化技术又得到了进一步的发展应用。它用于解决旧软件在新平台的运行、网络互联使得不同服务器维护管理的复杂性等问题。产品包括:VMware,Xen等。TheRoleofVirtualizationin

DistributedSystems(a)Generalorganizationbetweenaprogram,interface,andsystem.(b)GeneralorganizationofvirtualizingsystemAontopofsystemB.ArchitecturesofVirtualMachines(1)Interfacesatdifferentlevels,aninterfacebetweenthehardwareandsoftwareconsistingofmachineinstructionsthatcanbeinvokedbyanyprogram.thatcanbeinvokedonlybyprivilegedprograms,suchasanoperatingsystem.ArchitecturesofVirtualMachines(2)InterfacesatdifferentlevelsAninterfaceconsistingofsystemcallsasofferedbyanoperatingsystem.Aninterfaceconsistingoflibrarycallsgenerallyformingwhatisknownasanapplicationprogramminginterface(API).Inmanycases,theaforementionedsystemcallsarehiddenbyanAPI.ArchitecturesofVirtualMachines(3)Variousinterfacesofferedbycomputersystems.ArchitecturesofVirtualMachines(4)(a)Aprocessvirtualmachine,withmultipleinstancesof(application,runtime)combinations.SuchasJVM.ArchitecturesofVirtualMachines(5)(b)Avirtualmachinemonitor,withmultipleinstancesof(applications,operatingsystem)combinations.SuchasVMware,Xen.CLIENTClient-ServerModelandRoles:Amajor

taskofmostclients-----tointeractwithahumanuserandaremoteserverClient:UserInterfaceNetworkedUserInterfaces(1)(a)Anetworkedapplicationwithitsownprotocol.NetworkedUserInterfaces(2)(b)Ageneralsolutiontoallowaccesstoremoteapplications.Example:TheXWindowSystemThebasicorganizationoftheXWindowSystem.CompoundDocumentsCompoundDocuments(liketext,images,spreadsheets,etc)考虑以下功能:1.Drag-and-drop;2.In-placeediting;Client-SideSoftware

forDistributionTransparency透明性实现策略:

Client-sidesolution.NamingSystem(nextchapter)

Client-SideSoftware

forDistributionTransparencyTransparentreplicationofaserver

usingaclient-sidesolution.Client-SideSoftware

forDistributionTransparencyApossibleapproachtotransparentreplicationofaremoteobjectusingaclient-sidesolution(客户代理).Servers:GeneralDesignIssuesIterativeserver----theserveritselfhandlestheclientrequestand,ifnecessary,returnsaresponsetotherequestingclient.Concurrentserver------theserverpassestheclientrequesttoaseparatethreadoranotherprocess,afterwhichitimmediatelywaitsforthenextincomingrequest.Clientcontactaserverthroughanendpoint(orport)GeneralDesignIssues(1)(a)Client-to-serverbindingusingadaemon.GeneralDesignIssues(2)(b)Client-to-serverbindingusingasuperserver.ServerClusters(1)Thegeneralorganizationofathree-tieredservercluster.ServerClusters(2)TheprincipleofTCPhandoff,whichistotallytransparentfromtheclient'spointofviewServers:GeneralDesignIssuesStatelessserverForexample,Awebserver(HTTPrequest).Statefulserver服务器端保留每次通信的信息;ProcessinDistributedSystems.ImprovingSystemPerformance通过任务负载平衡提高整个系统的性能(多计算机、多处理机和多核)。

通过任务/计算迁移实现任务动态负载。ObjectServer对象服务器不提供特定服务,仅作为对象居留的场所,根据远程客户的请求调用本地的对象.分单控制线程和多控制线程服务器.ObjectAdapter(1)对象根据接口惟一的定义,接口的实现可以在Adapter中注册,Adapter将实现包装呈现出对象的外部特征.Organizationofanobjectserversupportingdifferentactivationpolicies.ObjectAdapter(2)Theheader.hfileusedbytheadapterandanyprogramthatcallsanadapter./*Definitionsneededbycallerofadapterandadapter*/

#defineTRUE

#defineMAX_DATA65536/*Definitionofgeneralmessageformat*/

structmessage{

longsource /*sendersidentity*/

longobject_id; /*identifierfortherequestedobject*/

longmethod_id; /*identifierfortherequestedmethod*/

unsignedsize; /*totalbytesinlistofparameters*/

char**data; /*parametersassequenceofbytes*/

};/*Generaldefinitionofoperationtobecalledatskeletonofobject*/

typedefvoid(*METHOD_CALL)(unsigned,char*unsigned*,char**);longregister_object(METHOD_CALLcall); /*registeranobject*/

voidunrigester_object(longobject)id); /*unrigesteranobject*/

voidinvoke_adapter(message*request); /*calltheadapter*/ObjectAdapter(3)Thethread.hfileusedbytheadapterforusingthreads.typedefstructthreadTHREAD; /*hiddendefinitionofathread*/thread*CREATE_THREAD(void(*body)(longtid),longthread_id);

/*Createathreadbygivingapointertoafunctionthatdefinestheactual*/

/*behaviorofthethread,alongwithathreadidentifier*/voidget_msg(unsigned*size,char**data);

voidput_msg(THREAD*receiver,unsignedsize,char**data);

/*Callingget_msgblocksthethreaduntilofamessagehasbeenputintoits*/

/*associatedbuffer.Puttingamessageinathread'sbufferisanonblocking*/

/*operation.*/ObjectAdapter(4)Themainpartofanadapterthatimplementsathread-per-objectpolicy.ReasonsforMigratingCodeTheprincipleofdynamicallyconfiguringaclienttocommunicatetoaserver.Theclientfirstfetchesthenecessarysoftware,andtheninvokestheserver.ModelsforCodeMigration[Fuggettaetal.,1998提出的一个框架]Aprocessconsistsofthreesegments:codesegmentresourcesegmentexecutionsegment------includingthecurrentexecutionstateofaprocess.ModelsforCodeMigrationAlternativesforcodemigration.(codesegment)Startfromitsinitialstate(executionsegment)Resumewhereitleftoff(Javaapplet)MigrationandLocalResourcesProcess-to-resourcebindings:(资源是否同进程一同迁移)1.Byidentifier----likeURL(强绑定方式)2.Byvalue--likestandardlibraries:C,Javaetc(较弱绑定方式)3.Bytype------likemonitors,printers(弱绑定方式)Resource-to-machinebindings:(另外需考虑资源对机器的绑定方式)1.Unattachedresources------maybeeasilymovedbetweendifferentmachines,suchasdata,file,andsoon.2.Fastenedresources------movingorcopyingmaybepossible,butonlyatrelativelyhighcost.LikeWebsites,Databases.3.Fixedresources------cannotbemoved.MigrationandLocalResourcesActionstobetakenwithrespecttothereferencestolocalresourceswhenmigratingcodetoanothermachine.UnattachedFastenedFixedByidentifierByvalueBytypeMV(orGR)CP(orMV,GR)RB(orGR,CP)GR(orMV)GR(orCP)RB(orGR,CP)GRGRRB(orGR)Resource-tomachinebindingProcess-to-resourcebindingGREstablishaglobalsystemwidereferenceMVMovetheresourceCPCopythevalueoftheresourceRBRebindprocesstolocallyavailableresourceMigrationinHeterogeneousSystems受目标机器(异构)的限制,必须能够支持迁移程序的执行.脚本语言在虚拟机上的执行.Codemigrationisrestrictedtospecificpointsintheexecutionofaprogram.例如:只能调用下一个子例程才能迁移.MigrationinHeterogeneousSystemsTheprincipleofmaintainingamigrationstacktosupportmigrationofanexecutionsegmentinaheterogeneousenvironment3-15迁移栈同子进程一同迁移

Example:D'AgentsAmiddlewareplatformthatsupportsvariousformsofcodemigration.AnagentinD’Agentsisaprogramthatcanmigratebetweendifferentmachine.OverviewofCodeMigrationinD'Agents(1)AsimpleexampleofaTclagentinD'Agentssubmittingascripttoaremotemachine(adaptedfrom[gray.r95])procfactorialn{

if($n1){return1;} #fac(1)=1

expr$n*[factorial[expr$n–1]] #fac(n)=n*fac(n–1)}setnumber… #tellswhichfactorialtocomputesetmachine… #identifythetargetmachineagent_submit$machine–procsfactorial–varsnumber–script{factorial$number}agent_receive… #receivetheresults(leftunspecifiedforsimplicity)进程调度/处理机分配

分布式系统进程调度/处理机分配:

决定在哪台机器上运行哪个进程。

目标:

负载分布1.分配策略不可迁移的。当创建一个进程时,系统就决定为该进程分配哪台处理机。一旦分配完毕,进程将一直在这台处理机上运行,直至结束。不考虑其处理机的负载情况。可迁移的。可将它即使已经开始运行的进程迁移到别的处理机上继续运行。提供更好的负载平衡,但同时也增加了系统的复杂性。处理机分配

处理机分配

2.系统模型:(1).工作站模型;(2).处理机池模型.工作站模型使用例子:BerkeleyUNIX中的rsh命令:rshmachinecommand几个关键问题:

(1)怎样找出一台空闲机器?进程调度算法

(2)远程进程怎样透明地运行?

(3)如果(空闲)机器的主人回来重新使用它时怎么办?处理机分配

3.分配优化目标——CPU的利用率最大;平均响应时间最小.例:设处理机1的速度为10MIPS,处理机2的速度为100MIPS,进程1、2各需要执行1、3亿条指令。处理机2在执行一进程前,要花5s的准备时间。则:处理机1执行进程1用时10s,执行进程2将用时30s;处理机2执行进程1用时(1+5)s,执行进程2将用时(3+5)s;方案平均响应时间系统能力损失系统能力损失比例处理机1执行进程1;处理机2执行进程2(10+8)÷2=9s100MI/S*2s=200MI(10-8)=2200/((10+100)*10)=2/11处理机1执行进程2;处理机2执行进程1(30+6)÷2=18s100MI/S*24s=2400MI(30-6)=242400/((10+100)*30)=8/11第2种方案差处理机分配

一种查找与使用空闲工作站的基于注册表算法处理机分配3.LoaddistributionGoals(负载分布目标):(1)LoadBalancingloadbalancingmeansdistributingthetrafficevenlyanddynamicallyamongdifferentpathstoavoidlinkcongestionandsaturation(避免链路拥塞和饱和).

(2)LoadSharingLoadsharingmeansonecansplitthetrafficfromanetworktobetransportedbydifferentrouters(paths).处理机分配3.LoaddistributionGoals(负载分布目标):负载合适负载合适负载合适负载合适A.负载平衡负载合适负载合适过载过载B.可接受的负载分担欠载过载过载欠载C.不可接受的负载分担处理机分配4.SchedulingEfficiencyGoals:Optimalscheduling(NP-Hard,没有已知的多项式时间算法存在,多目标优化问题);suboptimalscheduling。

5.有效的调度基准:

communicationcost(通信开销);executioncost(执行开销,迁移的环境与原环境是否一样,相同则为0);resourceutilization处理机分配6.处理机分配算法的设计问题:(1)确定性与启发性(试探性)算法(2)集中式与分布式算法(3)最优与次优算法(4)本地与全局算法(5)发送者发起与接收者发起算法说明:上述是五个基本算法。这里不考虑任务划分(并行程序设计),仅涉及任务分配。目标:(1)IPC的极小化.(2)负载平衡.实现:两者结合处理机分配算法

1.图论方法设V={m1,m2,…,mn}为n个模块构成的集合,G=(V,E)E={(mi,mj)|mi与mj之间存在的IMC开销} 1表示mi分配给处理机Pjxij=0表示mi未分配给处理机Pj。qij表示mi在处理机Pj上的开销;Cij表示mi与mj之间的IMC开销。

则总开销为:处理机分配最小分割算法——切开边的权值总和最小,可得IPC最小的划分。3个处理机分配9个进程的两种方法(负载平衡、次优、集中式、动态)处理机分配2.UsagePoints方法:系统中有一个协调者,保存一张使用情况表,每个工作站在表中都有一个条目,初值为0。当有重要的事件发生时,将给协调者发消息更新使用情况表。系统根据使用情况表决定处理机的分配。(负载分担、次优、集中式、动态)UsageTableLocationPointA3(+1)B2C-1(-1)..Over-LoadedUnder-LoadedSuitableLoadedLocationALocationBLocationC集中式Server()处理机分配3.“合一——阈值”方法对于由同构结点组成的系统,通过将通信量大的模块分到同一个处理机的方法减少IPC的总量.3217548327m6m5m4m3m8m2m16m7处理机分配合一——根据一定的条件,将两个模块分配到同一处理机上;阈值——处理机所能处理的最大模块数;假定:系统中处理机是同构的,模块的优先级也是一样的。算法思想:分成两个阶段:第1阶段:合一,先将IMC最大者合并在一起(分给同一个处理机).第2阶段:调整,看分配是否超出“阈值”,对超出者进行调整。处理机分配第1阶段,算法描述:设有n个模块,h个处理机:V={m1,m2,…,mn};P={P1,P2,…,Ph}1.令S={{m1},{m2},…,{mn}}从S中寻找Si,Sj,它们之间存在最大的IMC,如果合并Si、Sj后满足内存和实时要求,a)合并Si、Sj。即用Si∪Sj代替Si,Sj;b)对于Sk∈S&Sk≠Si&Sk≠Sj执行用Sk与Si和Sj的IMC的和作为Sk与Si∪Sj的IMC;(调整IMC)3.重复2,直到找不到可以合并的;4.将S中未被合并的模块放入一个“族”;5.如果S中现有模块族数≤h,则将它们分配给各个处理机,否则,对本次合一结果进行调整(见下页);6.对于每一个处理机Pi,执行如下操作:如果Pi分得的模块超过阈值,则选一个模块迁移到轻载者;7.如果对于每一个处理机,都没有超过阈值,则算法结束,否则,算法失败;8.以一定的策略将多出来的族放入其它族中,使|S|≤h,然后转6。处理机分配第2阶段,调整:考虑某些模块一定要分给指定处理机(附属模块)的问题,而且在本算法中,将负载不平衡的开销转换成“通信开销”来处理。调整策略:(1)去掉分配给平衡处理机的模块;(2)将轻载处理机的模块组合成一个模块表示(使它们不再被分开);(3)去掉超载处理机的附属模块到轻载处理机的边(原来此边表示的是将此模块分给超载处理机的代价,由于此模块必须分配给该处理机,所以,这个代价暂时不考虑,以免影响其他的模块的分配)。(4)去掉超载处理机上与轻载机上某个模块互斥的模块到轻载机的边;(原来此边表示的是将此模块分给超载处理机的代价,由于此模块不能分配给相应的轻载处理机,所以,这个代价暂不考虑)。(5)对超载机Pk的各模块到轻载机Pl的每条边(设有x条)增加权(增加分配给超载机的代价,以增加分配给轻载机的机会)。处理机分配例:有3台处理机:按照“合一——阈值”方法:

P1:m1、m2,为平衡的P2:m3、m4,为轻载的

P3:m5、m6、m7、m8,为重载的m5为P3的附属m4、m6互斥假设此时已经获得的初始分配情况如图1所示:

3217548327m6m5m4m3m8m2m16m7P1P2图1处理机分配(1)由于P1是平衡的,所以,删除模块m1、m2;(2)由于P2为轻载的,所以,合并模块m3、m4,得到m9,相应的边的权相加;得到图2。325+17+48m6m5m9m86m7P2图2处理机分配(3)去掉附属m5到m9的权为5+1的边,相当于说将m5分给P3的代价以0考虑。(4)由于m4、m6互斥,所以去掉m6到m9的权为2的边,相当于说将m6分给P3的代价以0考虑。得到图337+48m6m5m9m86m7P2图3处理机分配(5)将x=(L3-L2)/2加到m8和m7到m9的边上,从而使它们与m9分到同一个处理机的可能性加大。其中:L2为P2的负载,L3为P3的负载。37+4+x8+xm6m5m9m86m7P2此时,再对图4在执行“合一——阈值”算法,只不过这次就不能再考虑对平衡处理机的分配了。图4处理机分配3.层次式方法:把所有的处理机以一种与网络物理结构无关的方式组织成一个逻辑分层结构,分层次管理。(如同公司、军队、学校等现实世界中组织人的层次结构一样。一些机器是工作者,另一些是管理者)。

(负载分担、次优、分布、动态)处理机分配处理机按照原始分层划分模块处理机分配(动态负载平衡)4.发送者发起的分布式启发性算法(Sender-initiated):

当创建进程时,(且负载重)该机器将对一个随机选取的机器发送询问,询问那台机器的负载是否低于某个阈值。如果是,将发送进程,否则,将选择另一台机器并发送询问。这个过程并不会一直持续下去,如果在N次询问内还没有找到合适的机器,算法将停止,新进程将在创建它的机器上运行。负载HWM(2)传送(1)询问LWMHWMLWM接受者发送者处理机分配(动态负载平衡)算法描述如下:/*anewtaskarrives*/queue_length≥HWM→*[poll_set:=0;[|poll_set|<poll_limit→[selectanewnodeurandomly;poll_set:=poll_set∪nodeu;queue_lengthatu<LWM→transferatasktonodeuandstop]]]处理机分配(动态负载平衡)5.接收者发起的分布式启发性算法(Receiver-initiated):

由欠载的接收者发起的算法。当一个进程结束时,系统将检查自己是否有足够的工作可做,如果不是,将随机向一台机器申请工作。如果那台机器没有要给予的工作,系统将继续询问第二、第三台机器。如果连续N次询问都没有申请到工作,系统将暂时停止申请。负载HWM(2)传送(1)询问LWMHWMLWM接受者发送者处理机分配(动态负载平衡)算法描述如下:/*ataskdeparts*/queue_length<LWM→*[poll_limit:=0;[|poll_set|<poll_limit→[selectanewnodeurandomly;poll_set:=poll_set∪nodeu;queue_lengthatu>HWM→transferataskfromnodeuandstop]]]处理机分配优点:不会在系统非常繁忙的时候给系统增加额外的负载。在发送者发起的算法中,一台机器恰恰在系统非常繁忙,也即最不能容忍时,发送大量的询问。在接收者发起的算法中,当系统重载时,一台机器欠载的可能性很小,即使是有机器欠载,它也会很容易的找到工作来做。当然,在系统几乎没有事可做的时候,在接收者发起的算法中,因为每台空闲的机器都拼命的向别的机器申请工作,会造成相当大的询问负载。然而,在系统欠载时使系统开销增大总比在系统过载时这样做要好得多。处理机分配6.两种方式结合的算法:让机器在过载时设法清除一些进程,而在欠载时设法申请得到一些进程。更进一步,系统内的机器可以通过保留以前的询问和进行随机的查询来决定是否有些机器一直过载或欠载,从而提高性能。是发送者还是接收者先进行查询,这取决于进行查询的进程是要清除进程(发送者)还是要请求获得工作(接收者)。处理机分配7.投标算法:

(1)每个处理机在一个公共可读文件中公布他们的近似价格(这个价格并不是确定的,而是为了表示所提供服务的大概价格。根据处理机速度、内存容量、浮点运算能力、以及其他一些特性,不同的处理机有不同的价格。所提供的服务的指示,如预期的响应时间,也可以同时公布)。处理机分配7.投标算法(续):

(2)当一个进程要启动一个子进程时,它将查询现在有谁在提供它所需要的服务,然后确定一个它可以支付得起的处理机集(通过计算,它将从这个处理机集中选出一个最好的,根据应用程序的不同,最好的可以指最便宜的、最快的或最高性能价格比的。然后它将向第一选中的处理机发出一个出价,所出的价格可能会高于或低于已公布的价格)处理机分配7.投标算法(续):

(3)处理机收集向他们发送的所有出价,然后作出决定,可能是选出价最高的。然后通知选中的和未选中的进程,并开始执行被选中的进程。公共文件中此处理机的价格将被更新,以反映处理机的最新价格。负载平衡其它算法:

分布式自适应负载共享算法启发式算法基于遗传的算法模拟退火的算法

…….IEEE专门设立的分布式系统的国际会议,每年召开并有会议论文集.

另外也有专门的分布调度算法理论方面的书籍.loadbalancingIncomputernetworking,loadbalancingisatechniquetodistributedworkbetweenmanycomputers,processes,harddisksorotherresourcesinordertogetoptimalresourceutilization,maximizethroughput,anddecreasecomputingtime.Thefunctionisperformedbytheloadbalancers.UnderstandingtheLoadBalancerServerFarmwithaloadbalancerUnderstandingtheLoadBalancerLoadBalancer–Software&hardware,suchasamultilayerswitchoraDomainNameSystemserver.LoadBalancerdoesnotworksintheapplicationlevel;Variousotherfunctionslike •Serverloadbalancing; •Firewallloadbalanc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论