[发明专利]片上多核异构系统的调度系统与调度执行方法有效
申请号: | 201110299619.3 | 申请日: | 2011-09-29 |
公开(公告)号: | CN102360309A | 公开(公告)日: | 2012-02-22 |
发明(设计)人: | 周学海;李曦;王超;陈鹏;陈香兰;冯晓静;张军能;王爱立 | 申请(专利权)人: | 中国科学技术大学苏州研究院 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 苏州创元专利商标事务所有限公司 32103 | 代理人: | 范晴 |
地址: | 215123 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 系统 调度 执行 方法 | ||
技术领域
本发明属于片上多核计算平台的调度技术领域,具体涉及一种片上多核 计算平台的任务调度系统及进行任务乱序执行方法。
背景技术
片上多核处理器已经成为多核处理器的研究发展方向。随着半导体技术 的发展,片上能够集成的资源越来越多,片上多核系统,尤其是异构多核系 统,可以发挥不同计算单元的优势,加速不同嵌入式应用的性能。采用异构 体系结构的计算系统可同时利用多种计算模式,能够充分发挥不同计算模式 在不同应用领域所具有的优势。因此,将各种可行的计算模式集成在一片芯 片中,将成为当前的异构计算系统(特别是嵌入式计算系统)的发展趋势。
异构计算系统中存在着大量异构的计算逻辑单元,例如通用处理器、 ASIP和可重构逻辑单元等等,以不同的计算模式实现的计算任务在执行特 征上具有很大的差异。因此,如何将应用有效地划分为相应计算模式下运行 的计算任务是异构计算系统设计中需要首先解决的问题。在异构计算系统 中,主要存在着两种任务类型:运行在处理器(包括通用处理器和ASIP) 上的软件任务和运行在可重构逻辑单元上的硬件任务。当前,计算系统的软 硬件划分方法可以被分为三类:(1)由设计者显式地指定需要采用硬件方式 执行的计算任务,这要求设计者具有相当程度的硬件电路设计知识,以便准 确地获知哪些计算任务能够以硬件执行的方式获得较高的加速比;(2)通过 软件剖析,将程序中耗时最多的一个或几个计算任务采用硬件方式执行,这 忽略了软件任务与硬件任务在执行特征上的差异,未必能够获得优化的任务 划分方案;(3)对于每个能够以硬件方式执行的计算任务,根据它的硬件执 行时间(包括各种额外的时间开销,例如配置时间)与它的软件执行时间之 间的比较结果,判定该任务究竟以何种方式运行,但是这种方法没有考虑任 务执行的前驱/后继任务对其执行造成的影响,可能会发生资源空等的情况。 综上所述,存在于异构计算系统中的硬件任务增加了计算任务划分的复杂 度,如何合理地对软/硬件任务进行划分是亟待解决的难题。
在任务级并行问题中,不同任务之间有可能采用相同的变量而导致数据 相关的产生,从而限制了任务并行。任务并行化中,常见的相关有写后读 (RAW),写后写(WAW)和读后写(WAR)三种不同类型的相关,其中 WAW和WAR为伪数据相关,可以通过调度算法或者编程模型来解决。目 前较为成熟的解决方案大多采用并行编程来解决,例如OpenMP,MPI, Intel’s TBB,CUDA,OpenCL和Cilk等。然而这些编程模型大多依赖 程序员对任务进行手动划分,从而在。从任务调度本身的策略来看,如果将 每个任务抽象成一条“宏指令”来处理,则单核中解决指令集并行算法都可以 扩展到多核的任务级来提高任务级并行性。由于片上多核系统上提供了充分 的计算资源,为任务的高效运行提供了保证,因此,在此基础上提高任务集 在多核平台上的乱序执行粒度是提高系统任务级并行性和吞吐率的一个有 效手段。
总的来说,目前的并行编程模型中的任务并行调度方法中的任务划分和 调度方法均需要程序员进行手动干预和配置,从而限制了平台能够获得的性 能优化效果。本发明因此而来。
发明内容
为了克服背景技术中存在的不足,本发明的一个目的在于提供一个片上 多核计算平台上的任务调度系统和利用所述任务调度系统所使用的任务乱 序执行方法,通过在运行时对任务进行相关性的监测和自动并行化来提高平 台的吞吐率和系统的性能。
为了解决现有技术中的这些问题,本发明提供的技术方案是:
一种片上多核异构系统的调度系统,包括提供需要执行的任务的适用多 个异构软硬件的用户服务模块、在片上多核计算平台执行多个任务的计算服 务模块,其特征在于所述用户服务模块与计算服务模块间设置核心调度模 块,所述核心调度模块接受用户服务模块的任务请求,通过记录判断不同任 务之间的数据依赖关系,将任务请求并行地调度到不同的计算服务模块上执 行;所述计算服务模块以IP核的形式封装,并通过可重构控制器实现IP核 的动态加载;所述计算服务模块与片上多核异构系统的多个计算处理器片上 互联,接受核心调度模块的指令执行不同类型的计算任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学苏州研究院,未经中国科学技术大学苏州研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110299619.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用户视图配置方法
- 下一篇:充电电池保护板功耗检测装置