一种基于马尔科夫模型的进程时间片长度确定方法

文档序号:6605101阅读:237来源:国知局
专利名称:一种基于马尔科夫模型的进程时间片长度确定方法
技术领域
本发明涉及信息技术领域,具体涉及一种基于马尔科夫模型的进程时间片长度确 定方法。
背景技术
调度程序是操作系统内核的重要组成部分,负责选定和分配需要运行的进程,可 以看作是可运行态进程之间分配有限的处理器时间资源的内核子系统,调度程序是Linux、 Windows之类的多任务操作系统的基础。只有通过调度程序的合理调度,系统资源才能最大 限度地发挥作用,达到系统吞吐量与响应时间的统一。在进程调度中,进程时间片长度是一个重要的组成部分。进程时间片是分配各当 前进程的处理器时间段。进程可以分为I/O消耗型和处理器消耗型,其中1/0消耗型进程 是指大部分时间用来提交I/O请求或者等待I/O请求的进程。此类型进程通常处于可运行 状态,但运行时间较短,在等待更多的I/O请求时总会阻塞。处理器消耗型进程是指大部分 时间用在执行代码上的进程,除非被抢占,通常一直不断地运行。进程类型的判定主要是依 据休眠时间的长度。如果一个进程的大部分时间都在休眠,那么它就是I/O消耗型的。如 果一个进程执行的时间比休眠的时间长,那它就是处理器消耗型的。大多数交互性较强的 进程都是I/O消耗型的,提高这种进程的运行频率可以提高系统的响应速度。对I/O消耗 型进程应该分配一些更短的时间片,提高运行的频率。处理器消耗型进程则把很多时间用 于运行代码上,没有太多的I/O请求,对于处理器消耗型进程应该分配更长的时间片,降低 运行频率。时间片的计算主要是依据进程的优先级,优先级主要是根据休眠时间调整的,并 没有考虑到进程的历史时间片,因而可能出现时间片长度的骤变,导致各进程时间片的失 衡,个别进程性能下降和系统总体表现不佳。

发明内容
本发明的实施例提供一种基于马尔科夫模型的进程时间片长度确定方法,能够提 高时间片长度确定的有效性,从而提高进程效率与系统的整体性能表现。本发明的实施例提供一种基于马尔科夫模型的进程时间片长度确定方法,包括拟定马尔科夫模型的参数;运用马尔科夫模型确定进程时间片的长度;根据进程休眠时间调整马尔科夫模型的参数。所述拟定马尔科夫模型的参数包括确定马尔科夫模型的状态转移概率矩阵,以确定历史时间片对当前时间片长度的影响。所将马尔科夫模型应用到时间片的确定包括运用马尔科夫模型中的状态转移矩阵确定当前时间片长度。
所述根据休眠时间做相应的参数调整包括根据进程休眠时间重新调整状态转移矩阵。在本发明的实施例中,系统先预设进程马尔科夫模型的参数,根据马尔科夫模型 计算当前进程时间片并根据进程休眠时间调整马尔科夫模型的参数。本发明实施例根据休 眠时间调整,考虑到进程的历史时间片,能及时调整时间片长度,从而提高进程性能和系统 总体优化性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1为本发明实施例中的基于马尔科夫模型的进程时间片长度确定流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它 实施例,都属于本发明保护的范围。图1示出的是基于马尔科夫模型的进程时间片长度确定流程图。①初始化历史时间片数组。其形式如下T = {t0, ti; t2,t3. . . }。历史时间片数组 在系统的进程维护表中添加,数组有最大长度,设为6。设定最大长度是为了动态地考虑历 史时间片长度,而不是全部考虑,提供一定的灵活性。一般使用的历史时间片长度为3或4。 适当的长度一方面能够提高确定出来的当前进程时间片长度的有效性,另一方面也要减少 进程时间片长度的计算量,提高效率。同时,历史时间片数组的值设为进程初始化时分配的 时间片长度,若设为0值,由状态转移矩阵计算,考虑历史时间片的情况下,下一时间片的 长度计算将偏短。②拟定马尔科夫模型参数。在马尔科夫模型当中一个重要组成部分是转移概率 矩阵,这也是在时间片计算中的重要部分。矩阵中的每一项表现为所对应的历史时间片对 于当前时间片的影响,设定为数组形式如M= {a0, ai; a2, a3...},其中M表示转移矩阵,为 一维行向量,最大长度与历史时间片数组长度一致,设为6,计算过程中,其动态长度与历 史时间片数组的动态长度一样,一般为3或4。在M当中,aO对应历史时间片数组的第一 项,表示该历史时间片对于当前时间片计算的概率影响,其余依次类推。这样M中就包含 了历史时间片数组元素对于当前时间片计算的影响,并且M中的元素应当满足约束条件 a0+ai+a2+a3+a4+a5 = I0数值1表明当前时间片数组仅有历史时间片决定。当M的动态长度 为4,而非总长度6时,a4, a5的值要设置为0,表明不将相对应的历史时间片纳入考虑。动 态长度为3或其他值时依次类推。③当前时间片的计算。在确定好M的模型后,可以计算当前时间片。当前时间片 的计算不能太复杂,否则占用过多的CPU时间,反而导致系统性能的下降,适得其反。因而需要设计0(1)的计算方法。计算方法为 其中t表示当前的历史时间片。这种计算方法就将历史时间片对当前时间片的影 响考虑进去。④更新当前历史时间片数组。其操作方法为将历史时间片数组的元素依次右移, 用计算出来的当前时间片替换数组中的第一项,并根据当前的动态数组长度将超出范围的 元素设置为0。如历史时间片数组为T= {t0, ti; t2,0,0,0},可以知道其动态长度为3,更 新之后为 T = {t,t0,、,0,0,0}。⑤进程出现休眠,马尔科夫模型参数的更新。进程出现休眠表明,进程类型的转 变,譬如休眠时间越长,表明进程偏向于I/O型。进程的休眠时间长短直接影响进程的优先 级。马尔科夫模型的参数也要与进程的优先级改变保持一致,因而当优先级增大时,在满足 约束条件之下,需要相应提高最近历史时间片对当前时间片的概率影响;优先级减少时,在 满足约束条件之下,需要相应降低最近历史时间片对当前时间片的概率影响。譬如,当进程 优先级提高时,M = {a0, a1 a2,a3. . . },M中a0, B1的值需要相应提高,M中a2,a3的值需要 相应降低,同时需要满足约束条件。这样就可以考虑到进程类型转变时,进程时间片长度不 会大幅变化,保持进程性能的同时也保持系统整体表现本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介 质可以包括只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。以上对本发明实施例所提供的一种较佳实施例而已,进行了详细介绍,本文中应 用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理 解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发 明的限制。
权利要求
一种基于马尔科夫模型的进程时间片长度确定方法,其特征在于,包括拟定马尔科夫模型的参数;将马尔科夫模型应用到时间片的确定;根据休眠时间做相应的参数调整。
2.根据权利要求1所述的方法,其特征在于,所述拟定马尔科夫模型的参数包括 确定马尔科夫模型的状态转移概率矩阵,以确定历史时间片对当前时间片长度的影响。
3.根据权利要求1所述的方法,其特征在于,所将马尔科夫模型应用到时间片的确定 包括运用马尔科夫模型中的状态转移矩阵确定当前时间片长度。
4.根据权利要求1所述的方法,其特征在于,所述根据休眠时间做相应的参数调整包括根据进程休眠时间重新调整状态转移矩阵。
全文摘要
本发明实施例公开了一种基于马尔科夫模型的进程时间片长度确定方法,包括拟定马尔科夫模型的参数;将马尔科夫模型应用到时间片的确定;根据休眠时间做相应的参数调整。通过实施本发明,系统先预设进程马尔科夫模型的参数,根据马尔科夫模型计算当前进程时间片并根据进程休眠时间调整马尔科夫模型的参数,能及时调整时间片长度,从而提高进程性能和系统总体优化性。
文档编号G06F9/50GK101887384SQ20101021507
公开日2010年11月17日 申请日期2010年6月30日 优先权日2010年6月30日
发明者曾巨泉, 罗笑南 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1