[发明专利]多核心装置以及其多线程调度方法有效
申请号: | 201310394020.7 | 申请日: | 2013-09-03 |
公开(公告)号: | CN103677997B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 张文彦;吴志聪;赖清宗 | 申请(专利权)人: | 宏达国际电子股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 史新宏 |
地址: | 中国台*** | 国省代码: | 台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 装置 及其 多线程 调度 方法 | ||
技术领域
本发明主要是关于多核心装置(multi-core device),且特别有关于多核心装置的多线程管理(multi-thread management)。
背景技术
一调度器(scheduler)为现代操作系统(OS)的资源仲裁设计(arbiter),用于决定所有可执行的线程(threads)或工作(tasks)的执行顺序。传统上,操作系统的调度规则是以优先权(priority)为考虑。高优先权的线程优于低优先权的线程领先执行。此外,相较于低优先权的线程,高优先权的线程所配置得到的执行区间较长。
至于多核心装置的操作系统,其调度器会定期将所有可执行的线程均匀配置给各中央处理单元,此动作称为线程负载平衡(thread load balancing)。传统上,线程负载平衡在考虑线程优先权外,是以均衡不同中央处理单元的线程数量为目的。然而,仅考虑线程数量或优先权的线程负载平衡并无法确实将各线程(或事件)实际的负载程度考虑于其中。因为,不同的线程对中央处理单元的资源的需求量不同。传统技术无法保证各线程是配置由该些中央处理单元中适当的该个中央处理单元执行。此外,线程效能危急时(critical problem),空等下一个传统线程负载平衡时间区间到来可能会来不及处理当下危急的线程负载问题(本说明书所揭露技术将此类问题反映成线程效能危急状况)。以上问题在移动装置上更严重,因为移动装置一般会将闲置的中央处理单元关闭以节省电池用电,如此会导致只有少数个中央处理单元得以用来分担工作量。
发明内容
本说明书揭露一种多核心装置以及一种多线程调度方法。
根据本发明一种实施方式所实现的一多核心装置包括:一多核心处理器,一随机存取存储器以及一程序码储存装置。该多核心处理器包括多个中央处理单元。该随机存取存储器是耦接该多核心处理器。该多核心处理器以该随机存取存储器储存一线程的线程效能相关参数。该程序码储存装置存有操作系统程序码,经该多核心处理器执行,以提供一操作系统调度器于该等中央处理单元之间实行线程负载平衡。所述线程负载平衡是根据该线程的线程效能危急状况实施。所述线程效能危急状况是基于上述线程效能相关参数作判定。
另外有一种实施方式是揭露多核心装置的一种多线程调度方法,包括以下步骤:记录一线程的线程效能相关参数;并且,于该多核心装置的一多核心处理器的多个中央处理单元之间实施线程负载平衡。所述线程负载平衡是根据该线程的线程效能危急状况实施。所述线程效能危急状况是基于上述线程效能相关参数作判定。
下文特举实施例,并配合所附图示,详细说明本发明的内容。
附图说明
图1以方块图图解根据本发明一种实施方式所实施的一多核心装置100;
图2根据本发明一种实施方式图解效能相关参数PAP的一种数据结构;
图3根据本发明一种实施方式图解一线程的状态图;
图4A以及图4B用于说明基于历来等待时间信息(图2的210)以及当下估算的等待时间(图2的212)而作的线程效能判断算法(藉方块324执行);
图5A以及图5B用于说明基于历来每秒百万指令数/时钟数信息(图2的214)以及当下估算的每秒百万指令数/时钟数(图2的216)而作的线程效能判断算法(藉方块326执行);
图6图解一多核心处理器的不同中央处理单元CPU1~CPU4之间的线程负载平衡。
[标号说明]
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照申请专利范围界定之。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宏达国际电子股份有限公司,未经宏达国际电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310394020.7/2.html,转载请声明来源钻瓜专利网。