- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?
?
嵌入式突发任务调度方法研究与仿真
?
?
李青云,康晶晶,郭文锋
(1.晋中信息学院信息工程学院,山西 晋中 030800;2.山西农业大学,山西 太谷 030801)
1 引言
具备所有硬件功能可运行在特定空间内的计算机系统称为虚拟机,其具备实体计算机所有功能,通过特定CMOS和硬盘等实现用户需求[1]。虚拟机技术属于虚拟化技术的一个分支,利用虚拟机技术可转变事务形式,依据用户意愿将硬盘转换为内存,将公共网络划分出一部分作为用户私有网络。目前,嵌入式应用被越来越多的领域所需求,面对日新月异的科学技术,基于Forth虚拟机技术的嵌入式应用应运而生[2],尤其是在任务调度方面,应用较为广泛。而任务调度方法众多,其中以李昆仑等人研究的云任务调度方法[3]和杨善超等人研究的价值优化的任务调度算法[4]最为优秀,前者依据用户满意度,利用寻优算法实现任务调度,但是该方法具有较强的主观性,且寻优算法迭代次数众多,调度流畅性不佳,导致其调度效果不理想,后者依据待调度任务的最大价值和变动斜率构建价值函数实现任务调度,但该方法时间偏移量较大,导致计算的价值概率不够准确,负载均衡效果较差。面对上述情况,本文研究基于Forth虚拟机技术的嵌入式突发任务调度仿真,以提升突发任务调度技术水平。
2 基于Forth虚拟机技术的嵌入式突发任务调度仿真
2.1 嵌入式突发任务调度框架
Forth虚拟机又称FVM,利用虚拟机构搭建嵌入式突发任务调度框架,将其嵌入计算机内可实现终端任务和使用者之间的交互功能[5],嵌入式框架结构如图1所示。
图1 嵌入式突发任务调度框架结构示意图
嵌入式框架由任务控制块、RAM、FLASH任务字典和FVM(虚拟机)等组成,由RAM模块和FLASH任务字典模块互相协作形成突发任务,经过任务控制块内的R/D堆栈转换后,FVM虚拟机采用时间轮转算法完成突发任务调度需求。
2.2 任务控制块
任务控制块(task Control Block)又称TCB,是由突发任务调度信息的用户变量构成的,负责存储突发任务,任务控制块内各个任务数据栈指针变量所占空间不重叠[6],任务控制块结构如表1所示。
表1 任务控制块结构
表1中,每个任务控制块结构均使用2个内存单元,使用者可依据实际需求增减任务控制块结构,上表内所有结构均为终端任务所需,无需I/O设备连接,其中,突发调度任务最常用的为status、follower、rp0、sp0以及sp等。
2.3 后台任务映像及突发任务建立
任务控制块与任务R/D堆栈形成任务映像,任务映像可连续存储于内存中,嵌入式突发任务调度框架所建立的突发任务映像通过词语的形式存储在RAM模块内,通过词语的参数域形成任务信息块,任务映像组成如图2所示。
图2 后台任务映像组成示意图
使用者指针位置即为当前任务映像首地址,各个任务之间互相独立,通过相对偏移编址、数据堆栈等组成任务堆栈,任务堆栈依次形成,各个任务之间存储独立,不互相影响[7]。
在嵌入式突发任务调度时,针对需要调度的任务,在FLASH任务字典内创建任务名词,利用静态分配方式将该任务名词分配到任务控制块内并记录该任务名词的参数域初始地址,一个新任务的建立需经过创建、初始化等步骤,当新任务建立完成后,将该任务添加到需调度队列内,等待调度[8]。
2.4 基于时间轮转的负载均衡调度算法
嵌入式突发任务调度时需保证其分配性能与效率,为使其调度吞吐量达到最大和任务资源使用最大化,嵌入式突发任务调度框架的负载均衡达到最佳状态是其必要途径。本文利用时间轮转算法,将虚拟机调度任务时间划分为独立时间片,依据时间距离对独立时间片进行排序,按照次序使用虚拟机处理器资源,完成后退出并按照退出次序排列,等待下一次调度,时间片使用虚拟机处理器的过程称为进程[9],进程调度顺序也依据时间排序,当某个进程使用虚拟机处理器时,仅占用一个时间片,该时间片使用完成后,该进程结束。
时间轮转算法依据进程情况判定优先级,属于静态优先级调度方法,在突发任务调度过程中,优先级先进行调度,且优先级无法调整,因此,需将嵌入式突发任务调度框架的负载均衡性作为调度优先级,再使用时间轮转方法实现突发任务调度。
2.4.1 嵌入式突发任务调度框架负载均衡优先级判断
以判断负载均衡优先级的方式实现负载均衡分配,在判断嵌入式突发任务调度框架负载均衡优先级时,令C表示负载均衡度,参数和计算节点数量分别为n和m,则在n维参数空间内,计算节点投影中间位置为O(y1,y2,…,yn),则节点映射到中心距离均值表达公式如下
(1)
(2)
上述公式中,Cij表示将i任务调度到节点j时嵌入式突发任务调度框架的负载均衡数值,当负载均衡数值为0时,表示此时的任务调度框架负载均衡为最佳状态,负载均衡数值区间为0~1,因此其
文档评论(0)