四章节资源管理策略.ppt

上传人:本田雅阁 文档编号:2334172 上传时间:2019-03-22 格式:PPT 页数:23 大小:398.51KB
返回 下载 相关 举报
四章节资源管理策略.ppt_第1页
第1页 / 共23页
四章节资源管理策略.ppt_第2页
第2页 / 共23页
四章节资源管理策略.ppt_第3页
第3页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《四章节资源管理策略.ppt》由会员分享,可在线阅读,更多相关《四章节资源管理策略.ppt(23页珍藏版)》请在三一文库上搜索。

1、1,第四章 资源管理策略,2,本章内容,1.资源 2.可重用资源管理算法 3.消耗性资源管理算法,3,4.1 资源,资源的划分: CPU资源; 内存资源; 系统资源; 私有资源 共享资源,4,4.1.1CPU资源,CPU资源实际上指的是CPU使用率,软件运行时都要通过CPU进行数据运算,占用一定的CPU执行时间,CPU使用率是衡量软硬件设计的重要指标。某些设计不完善或陷入死循环的程序,往往会让系统处于无反应状态,原因就是它们的CPU使用率很高。,5,4.1.2 内存资源,内存资源,实际上就是指该程序运行时须要占用多少内存空间,依据软件设计的优化程度、功能强弱等因素,有的只需几百KB,有的却需要

2、几十MB甚至数百MB,通常比系统资源要大得多。,6,4.1.3系统资源,当应用程序运行时,内存需要一块空间来追踪、保留正在执行的程序的状态,比如按钮、光标、菜单位置和位图、窗口状态等,存储这些信息的空间有个专有名词来形容,那就是我们熟悉的“系统资源”,而存储这些信息的空间是一种称为“堆”的内存块,你可以把“堆”理解成采用特殊机制管理的内存空间。,7,4.1.4私有资源,私有资源:指封装在Agent中为Agent所独立占用的资源,这类资源由Agent内部管理,对外界透明。对这类资源的使用限于使用占有此资源的Agent所提供的服务。,8,4.1.5共享资源,共享资源是指环境中为所有Agent所共享

3、的资源。根据资源的可用性,我们又可分为可重用资源与消耗性资源。 可重用资源是可多次使用的资源。 消耗性资源指一经某Agent使用后就被消耗掉的资源。,9,4.2可重用资源管理的协商算法,1.问题: 在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种: (1)只要没有冲突发生,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。 (2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。,10,4.2可重用资源管理的协商

4、算法,1.问题: 在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种: (1)只要没有冲突发生,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。 (2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。,11,4.2可重用资源管理的协商算法,1.问题: 在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种: (1)只要没有冲突发生

5、,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。 (2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并相互协调以预防冲突的发生。,12,4.2可重用资源管理的协商算法,1.问题: 在Agent执行过程中,Agent可能试图使用其他Agent已在使用或将要使用的资源。我们将这种情况定义为冲突。解决冲突的方法一般有两种: (1)只要没有冲突发生,Agent就继续执行其计划。当冲突发生时,Agent通过某种协调、协商算法决定是继续执行还是取消它的执行计划。 (2)在执行计划前,Agent找出它们计划中可能发生冲突的地方,并

6、相互协调以预防冲突的发生。,13,4.2可重用资源管理的协商算法,在数据库系统中,一般都采取第一种方法,通过事务的概念来解决冲突。通过提交或回滚来实现事务处理。这种事务处理机制是假设在冲突发生时,所有已执行的操作都可撤回的。 但在现实中,并不是所有的操作都可被撤回。例如:两架飞机碰撞。 所以在Agent分布式环境中,宜采用第二种方法,Agent为避免冲突,在执行前,相互合作地调整其计划。,14,4.2可重用资源管理的协商算法,2.算法假设: (1)每个Agent有不同的目标; (2)Agent能动态地制定其计划; (3)所有的Agent知道它们计划中所用的操作; (4)每个Agent通过使用可

7、重用资源或可消耗性资源来实现其目标; (5)Agent不知道其他Agent的目标; (6)Agent不一定有相同的知识。,15,4.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发送其计划集及评估值;,16,4.2可重用资源管理

8、的协商算法,(7)accept(PlanSet):向另一个Agent发送可接受的计划集; (8)reject(PlanSet):向另一个Agent表示计划集不可接受,并发送自己的计划集给它; (9)query_information(state(resource):询问是否存在如此状态的资源; (10)inform(Resource):当Agent收到一个query_information消息时,如果存在如此状态的资源,则返回资源名,否则返回NIL。,17,4.2可重用资源管理的协商算法,4.算法基本思想: Agent通过交换和评估它们的计划,Agent之间将达成协议,制定出互不干扰且具有最高

9、效率的计划。在协调过程中,如果没有冲突,所有Agent各自执行它原来的计划。如果存在两个Agent的计划需要同时使用某个资源,冲突就发生了。这时,Agent将相互就其计划中与冲突相关的部分进行协调,从而求得冲突解决。,18,4.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选

10、择在Behavior中具有最多操作的元素,并,19,4.2可重用资源管理的协商算法,向A发送accept,表示接受包含此操作序列的计划,A则采用此计划,与B达成协议,算法结束,如果Behavior为空,则B对PlanSet(A)中的所有计划进行评估。 (3)将执行其他Agent计划后Agent所处的状态称为后状态(PostState)。Agent在收到另一个Agnet的计划后制定一个从后状态到其目标的新计划,并比较这个新计划与其计划所包含的操作数,从而对新计划进行评估。,20,4.2可重用资源管理的协商算法,若评估值小于或等0,Agent接受此计划,算法结束。否则继续执行下(4)步。 (4)如

11、果算法执行到此处,则A的所有计划都不能为B所接受,B向A发送一个reject(PlanSet(B)消息,通知A没有可接受的计划。A在接收到此消息后,也同样用本算法第(2)、(3)步选择B的计划集中可接受的计划。 (5)如果存在可接受的计划,A向B发送一个accept(Behavior)消息,算法结束。否则A选择其中评估值最小的计划,并通过Sent_Value()将,21,4.2可重用资源管理的协商算法,此计划及其评估值发送给B,B在收到此消息后将接收到的值与其在算法第(3)步中得到最小值进行比较、并接受与较小的值相关的计划,算法结束。,22,4.3 消耗性资源管理算法,(1)如果有另一个可用的

12、替代资源,则A重新制定一个使用此替代资源的计划,算法结束。否则执行第(2)步。 (2)A向B发送一个query_information(state(resource)消息,询问是否存在可用的替代资源。 (3)如果存在这样的替代资源,B向A发送一个Inform(Resource)消息告知替,23,4.3 消耗性资源管理算法,代资源名,否则B向A发送一个query_information消息,询问是否有符合B的要求的替代资源。 (4)如果A收到的是B发来的inform消息,则A制定一个使用该替代资源的新计划,否则A搜寻满足B要求的资源。如果存在,则A向B发送一个inform(resource)消息,通知存在其所需的资源;否则向B发送一个inform(NIL)消息。 (5)如果B收到了替代资源名,则制定一个使用该替代资源的新计划,否则随机决定谁使用冲突的资源。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1