资源管理策略.pptx
14.1 资源资源资源的划分:资源的划分:CPUCPU资源资源;内存资源内存资源;系统资源系统资源;私有资源私有资源共享资源共享资源第1页/共22页24.1.1CPU资源资源CPUCPU资源实际上指的是资源实际上指的是CPUCPU使用率,软件运行使用率,软件运行时都要通过时都要通过CPUCPU进行数据运算,占用一定的进行数据运算,占用一定的CPUCPU执行时间,执行时间,CPUCPU使用率是衡量软硬件设计使用率是衡量软硬件设计的重要指标。某些设计不完善或陷入死循环的重要指标。某些设计不完善或陷入死循环的程序,往往会让系统处于无反应状态,原的程序,往往会让系统处于无反应状态,原因就是它们的因就是它们的CPUCPU使用率很高。使用率很高。第2页/共22页34.1.2 内存资源内存资源内存资源,实际上就是指该程序运行时须要占用多少内存空间,依据软件设计的优化程度、功能强弱等因素,有的只需几百KB,有的却需要几十MB甚至数百MB,通常比系统资源要大得多。第3页/共22页44.1.3系统资源系统资源当应用程序运行时,内存需要一块空间来追踪、保留正在执行的程序的状态,比如按钮、光标、菜单位置和位图、窗口状态等,存储这些信息的空间有个专有名词来形容,那就是我们熟悉的“系统资源”,而存储这些信息的空间是一种称为“堆”的内存块,你可以把“堆”理解成采用特殊机制管理的内存空间。第4页/共22页54.1.4私有资源私有资源私有资源:指封装在Agent中为Agent所独立占用的资源,这类资源由Agent内部管理,对外界透明。对这类资源的使用限于使用占有此资源的Agent所提供的服务。第5页/共22页64.1.5共享资源共享资源 共享资源是指环境中为所有Agent所共享的资源。根据资源的可用性,我们又可分为可重用资源与消耗性资源。可重用资源是可多次使用的资源。消耗性资源指一经某Agent使用后就被消耗掉的资源。第6页/共22页74.2可重用资源管理的协商算可重用资源管理的协商算法法 1.问题:在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种:(1)只要没有冲突发生,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。(2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。第7页/共22页84.2可重用资源管理的协商算可重用资源管理的协商算法法 1.问题:在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种:(1)只要没有冲突发生,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。(2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。第8页/共22页94.2可重用资源管理的协商算可重用资源管理的协商算法法 1.问题:在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种:(1)只要没有冲突发生,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。(2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。第9页/共22页104.2可重用资源管理的协商算可重用资源管理的协商算法法 1.问题:在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种:(1)只要没有冲突发生,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。(2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。第10页/共22页114.2可重用资源管理的协商算可重用资源管理的协商算法法 在数据库系统中,一般都采取第一种方法,通过事务的概念来解决冲突。通过提交或回滚来实现事务处理。这种事务处理机制是假设在冲突发生时,所有已执行的操作都可撤回的。但在现实中,并不是所有的操作都可被撤回。例如:两架飞机碰撞。所以在Agent分布式环境中,宜采用第二种方法,Agent为避免冲突,在执行前,相互合作地调整其计划。第11页/共22页124.2可重用资源管理的协商算可重用资源管理的协商算法法 2.算法假设:(1)每个Agent有不同的目标;(2)Agent能动态地制定其计划;(3)所有的Agent知道它们计划中所用的操作;(4)每个Agent通过使用可重用资源或可消耗性资源来实现其目标;(5)Agent不知道其他Agent的目标;(6)Agent不一定有相同的知识。第12页/共22页134.2可重用资源管理的协商算可重用资源管理的协商算法法3.算法符号:(1)定义Behavior(A,n)为Agent A的一个行为;(2)定义Acti 为某个计划中的一个操作;(3)定义S(A,n)为Agent A的内部状态;(4)定义PlanSet(A)为计划集;(5)Send_Plan(PlanSet):向另一个Agent发送其计划集;(6)Sent_Value(PlanSet,EvaluateValue):另一个Agent发送其计划集及评估值;第13页/共22页144.2可重用资源管理的协商算可重用资源管理的协商算法法(7)accept(PlanSet):向另一个Agent发送可接受的计划集;(8)reject(PlanSet):向另一个Agent表示计划集不可接受,并发送自己的计划集给它;(9)query_information(state(resource):询问是否存在如此状态的资源;(10)inform(Resource):当Agent收到一个query_information消息时,如果存在如此状态的资源,则返回资源名,否则返回NIL。第14页/共22页154.2可重用资源管理的协商算可重用资源管理的协商算法法 4.算法基本思想:Agent通过交换和评估它们的计划,Agent之间将达成协议,制定出互不干扰且具有最高效率的计划。在协调过程中,如果没有冲突,所有Agent各自执行它原来的计划。如果存在两个Agent的计划需要同时使用某个资源,冲突就发生了。这时,Agent将相互就其计划中与冲突相关的部分进行协调,从而求得冲突解决。第15页/共22页164.2可重用资源管理的协商算可重用资源管理的协商算法法5.算法描述(A与B为Agent):(1)A向B发送一个Send_Plan(PlanSet(A)消息,将其计划集提供给B。(2)当B收到上述消息后,在PlanSet(A)中寻找与它的计划相吻合的操作。为此,定义一个匹配函数match(Behavior(A,i),Behavior(B,j),此函数比较两个操作序列,找出其中等价的部分。B选择在Behavior中具有最多操作的元素,并第16页/共22页174.2可重用资源管理的协商算可重用资源管理的协商算法法向A发送accept,表示接受包含此操作序列的计划,A则采用此计划,与B达成协议,算法结束,如果Behavior为空,则B对PlanSet(A)中的所有计划进行评估。(3)将执行其他Agent计划后Agent所处的状态称为后状态(PostState)。Agent在收到另一个Agnet的计划后制定一个从后状态到其目标的新计划,并比较这个新计划与其计划所包含的操作数,从而对新计划进行评估。第17页/共22页184.2可重用资源管理的协商算可重用资源管理的协商算法法若评估值小于或等0,Agent接受此计划,算法结束。否则继续执行下(4)步。(4)如果算法执行到此处,则A的所有计划都不能为B所接受,B向A发送一个reject(PlanSet(B)消息,通知A没有可接受的计划。A在接收到此消息后,也同样用本算法第(2)、(3)步选择B的计划集中可接受的计划。(5)如果存在可接受的计划,A向B发送一个accept(Behavior)消息,算法结束。否则A选择其中评估值最小的计划,并通过Sent_Value()将第18页/共22页194.2可重用资源管理的协商算可重用资源管理的协商算法法此计划及其评估值发送给此计划及其评估值发送给B B,B B在收到此在收到此消息后将接收到的值与其在算法第消息后将接收到的值与其在算法第(3)(3)步中得到最小值进行比较、并接受与较步中得到最小值进行比较、并接受与较小的值相关的计划,算法结束。小的值相关的计划,算法结束。第19页/共22页204.3 消耗性资源管理算法消耗性资源管理算法(1)(1)如果有另一个可用的替代资源,则如果有另一个可用的替代资源,则A A重新制定一个使用此替代资源的计划,重新制定一个使用此替代资源的计划,算法结束。否则执行第算法结束。否则执行第(2)(2)步。步。(2)A(2)A向向B B发送一个发送一个query_information(state(resource)query_information(state(resource)消息,询问是否存在可用的替代资源。消息,询问是否存在可用的替代资源。(3)(3)如果存在这样的替代资源,如果存在这样的替代资源,B B向向A A发发送一个送一个Inform(Resource)Inform(Resource)消息告知替消息告知替第20页/共22页214.3 消耗性资源管理算法消耗性资源管理算法代资源名,否则代资源名,否则B B向向A A发送一个发送一个query_informationquery_information消息,询问是否有符合消息,询问是否有符合B B的的要求的替代资源。要求的替代资源。(4)(4)如果如果A A收到的是收到的是B B发来的发来的informinform消息,则消息,则A A制制定一个使用该替代资源的新计划,否则定一个使用该替代资源的新计划,否则A A搜寻满搜寻满足足B B要求的资源。如果存在,则要求的资源。如果存在,则A A向向B B发送一个发送一个inform(resource)inform(resource)消息,通知存在其所需的资消息,通知存在其所需的资源;否则向源;否则向B B发送一个发送一个inform(NIL)inform(NIL)消息。消息。(5)(5)如果如果B B收到了替代资源名,则制定一个使用收到了替代资源名,则制定一个使用该替代资源的新计划,否则随机决定谁使用冲该替代资源的新计划,否则随机决定谁使用冲突的资源。突的资源。第21页/共22页22感谢您的观看!第22页/共22页