[发明专利]多核/线程工作组计算调度器有效
申请号: | 201010268679.4 | 申请日: | 2010-08-30 |
公开(公告)号: | CN102004630A | 公开(公告)日: | 2011-04-06 |
发明(设计)人: | B·G·亚历山大;G·H·比洛斯;J·马德鲁加;B·D·瓦特 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 于静;杨晓光 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核 线程 工作组 计算 调度 | ||
技术领域
要求保护的主题一般地涉及计算资源的分配,更具体地说,涉及用于调度多核处理系统中的数据和任务并行负载的技术。
背景技术
计算系统的调度可涉及针对数据并行或任务并行或这两者的某种组合构建的作业。数据并行作业或数据并行负载是其中可由多个单元(例如但不限于处理器或处理核心)并行操作数据的计算。此类处理的一个示例由操纵视频数据的图形处理单元(GPU)执行,在操纵视频数据中,将位图分成区域并且可以同时操作每个区域。任务并行负载是其中多个执行单元针对一组数据并行地独立地执行不同任务的计算。此类任务的一个示例是过滤数据,其中一组数据通过一个过滤器并且结果通过第二过滤器。
发明内容
提供了多种技术,包括:生成第一命令队列以便排队到计算设备的命令;将命令发布到所述第一命令队列,其中所述命令包括多个工作组;将数据结构与所述命令关联,所述数据结构标识了所述多个工作组、与所述命令对应的保留大小、存储工作组的数目的计数器以及存储待处理工作组的数目的计数器;由多个执行单元中的每个执行单元保留所述多个工作组的不同N维范围,其中所述N维范围对应于所述保留大小;由所述多个执行单元中的每个执行单元处理对应的N维范围;将所述存储待处理工作组的数目的计数器递减每个执行单元已处理的工作组的数目;重复保留、处理和递减步骤,直到所述存储待处理工作组的数目的计数器小于或等于值“0”;以及当所述存储待处理工作组的数目的计数器小于或等于值“0”时,发出信号以指示所述命令完成。
本概要并非旨在全面地说明要求保护的主题,而是旨在简单地概述与其相关的某些功能。通过参考下图以及详细的说明,要求保护的主题的其他系统、方法、功能、特性以及优点对于本领域的技术人员而言将是显而易见的或将变得显而易见。
附图说明
当结合附图阅读下面对所披露的实施例的详细说明时,可以更好地理解要求保护的主题,这些附图是:
图1是可以实现要求保护的主题的计算系统体系结构的一个示例;
图2是图1中首先介绍的中央处理单元的示例的方块图;
图3是根据要求保护的主题的可用于实现命令队列的命令描述符存储器对象的示例;
图4是示出主机、命令队列、多个处理核心以及它们之间的关系的示例的方块图;
图5是示出计数器块、N维范围(NDR)命令、任务、处理核心以及它们之间的关系的示例的方块图;
图6是示出主机控制过程的示例的流程图;
图7是示出可用于实现要求保护的主题的执行命令过程的示例的流程图;以及
图8是示出实现要求保护的主题的一个方面的命令完成过程的示例的流程图。
具体实施方式
提供了多种技术,其中执行命令包含有效地执行和平衡命令(包括数据或任务并行处理要求)的工作负载所需的信息。每个命令都包括与要执行的命令内的工作组总数、待计算工作组数目、已处理工作组数目、一次处理的工作组数目(保留大小)、要在命令中处理的执行线程数目以及已看到命令的执行线程数目对应的信息。
执行单元处理一个或多个命令队列中的命令。执行单元可以是任何执行命令的计算设备,包括但不限于处理核心、线程或跨网络的计算系统。每个执行单元管理所分配队列内的当前位置。一旦可在队列上提供命令,参与执行命令的每个单元自动将命令的剩余工作组计数器递减工作组保留大小并保留工作组范围内相应数目的工作组以便处理。一旦执行单元执行了所请求的工作组,该单元将尝试保留更多工作组。此操作将继续,直到已处理所有工作组。处理了所有工作组之后,每个执行单元递增已处理工作组计数器。例如,如果特定执行单元一次处理十(10)个工作组,处理了三(3)次,然后确定已处理所有工作组,则该执行单元将已处理工作组计数器递增三十(30)。将已处理工作组计数器递增到待执行工作组计数器中存储的值的单元将发出命令完成信号。
每个访问命令的执行单元还标记已看到工作组计数器。一旦已处理工作组计数器等于带执行工作组计数器并且已看到工作组计数器等于执行单元数目,便可删除或覆盖命令队列上的命令。
本领域的技术人员将理解,本发明的各个方面可以体现为系统、方法或计算机程序产品。因此,本发明的各个方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或同时包含在此被统称为“电路”、“模块”或“系统”的硬件和软件方面的实施例的形式。此外,本发明的各个方面可以采取在一个或多个内合计算机可读程序代码的计算机可读介质中体现的计算机程序产品的形式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010268679.4/2.html,转载请声明来源钻瓜专利网。