[发明专利]一种异构环境下的多任务运行时协同调度系统有效
申请号: | 201310692438.6 | 申请日: | 2013-12-17 |
公开(公告)号: | CN103699432A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 廖小飞;金海;陆枫;向小宝 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环境 任务 运行 协同 调度 系统 | ||
技术领域
本发明涉及计算机多核-众核异构处理系统结构与协同任务调度领域,更具体地说,本发明涉及一种异构环境下的多任务运行时协同调度系统,适用于将现有程序向多核-众核异构系统进行快速移植。
背景技术
由于能耗墙和内存墙的限制,以CPU-GPU为典型代表的异构处理体系逐渐兴起,这种异构系统结构的主要优点就是在保证较高能效比的同时也提供强大的计算能力。在这种异构系统中进行程序移植时,程序设计人员根据相关的编程模型和规范,重新设计并实现适用于相应处理体系的程序,从而提高整个系统的加速比、能效比和资源利用率。
但是,这种体系结构先天的异构性也给程序的移植带来了各种不便。首先,硬件结构异构性所带来的平台异构性使得已有程序无法直接在新型异构系统中运行,传统移植方案一般根据相关的编程模型和规范,重新设计并实现适用于相应处理体系的程序,这种方案不仅需要程序移植人员掌握新的编程技术和框架,也需要其对被移植程序的结构和特点有很深的了解,移植难度大、效率低、效果差;其次,在传统的移植方案中,当整个异构系统负荷量以及负荷波动较大时,新开发的程序无法动态适应运行时异构单元间的负载情况并据此做出有效调节,从而导致系统运行效率和资源利用率都比较低。因此,受限于系统的异构性和任务调度策略的静态性,传统程序移植的解决方案具有效率低、成本高、灵活性差、效果不理想等各种问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种异构环境下的多任务运行时协同调度系统,该系统可以使得已有程序能够快速而高效的移植到新型多核-众核异构环境下运行,并能够保证整个异构系统有较高的加速比、能效比以及资源利用率。
本发明解决其技术问题所采用的技术方案是,提供一种异构环境下的多任务运行时协同调度系统,包括系统任务与处理模块、运行时动态任务调度模块和系统资源监控管理模块,所述系统任务预处理模块与所述运行时动态任务调度模块相连,所述运行时动态任务调度模块与所述系统资源监控管理模块相连,
所述系统任务预处理模块用于对待执行代码进行静态分析和标记,生成程序特征信息和任务运行时特征信息,且以线程为基本单位生成可以用于进行协同调度的任务代码;
所述系统资源监控管理模块用于监测、整理和记录系统相关资源使用情况,处理后生成系统运行时特征信息并发送至所述运行时动态任务调度模块进行系统运行时特征分析;
所述运行时动态任务调度模块用于接收和管理所述系统任务预处理模块生成的任务代码,并根据从系统资源监控管理模块接收的系统运行时特征信息制定任务调度策略以实现任务调度执行。
在本发明所述的异构环境下的多任务运行时协同调度系统中,所述系统任务预处理模块包括代码静态分析子模块、代码标记子模块和任务代码生成子模块,
所述代码静态分析子模块用于静态分析所述待执行代码,生成程序特征信息和任务运行时特征信息,并将所述程序特征信息传送给代码标记子模块使用,将程序特征信息和任务运行时特征信息传送给运行时动态任务调度模块使用;
所述代码标记子模块用于根据从静态分析子模块接收到的程序特征信息对所述待执行代码进行标记处理和优化操作,以使所述任务代码生成模块能够准确生成可执行的任务代码;
所述任务代码生成子模块用于对经过标记处理和优化操作的待执行代码进行编译,生成可执行的任务代码并组织起来以提供给所述运行时动态任务调度模块进行任务调度。
在本发明所述的异构环境下的多任务运行时协同调度系统中,所述运行时动态任务调度模块包括任务运行时特征分析子模块、系统运行时特征分析子模块、系统任务管理子模块、任务调度策略制定子模块、任务代码传输子模块、任务数据传输子模块、任务加载启动子模块和任务执行结果处理子模块,
所述任务运行时特征分析子模块用于整合从系统任务预处理模块接收的程序特征信息和任务运行时特征信息,并将整合结果提供给所述系统任务管理子模块进行记录和管理;
所述系统运行时特征分析子模块用于根据从资源监控管理模块接收的信息分析系统运行时的特征信息,并将系统运行时的特征信息提供给所述任务调度策略制定子模块使用;
所述系统任务管理子模块用于将任务运行时特征分析子模块提供的任务运行时特征信息和系统任务预处理模块提供的可执行的任务代码关联整合,形成对系统所有任务的详细描述,并将所述详细描述传送给任务调度策略制定子模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310692438.6/2.html,转载请声明来源钻瓜专利网。