等待时间敏感的软件中断和线程调度制造技术

技术编号:11881935 阅读:84 留言:0更新日期:2015-08-13 15:05
各种不同的实施例提供了至少部分基于一个或多个处理器核使用率度量来调度等待时间敏感的任务的能力。一些实施例搜集与一个或多个处理器核是否处于重负载状态相关联的信息。可替换地或附加地,一些实施例搜集识别等待时间敏感任务的信息。当已经确定被原始指派的处理器核已经超过使用率阈值时,(多个)任务可以被(重新)指派给不同的(多个)处理器核以供执行。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
现今,计算设备具有在许多级别上进行多任务的能力。例如,在从多个输入设备(键盘、触摸屏、鼠标等)键入输入时,计算设备的用户可以拥有同时运行的多个应用。随后,这些应用、输入设备等中的每一个竞争处理器时间。相关联的计算设备和/或处理器可以通过若干方式来管理多任务,比如通过在请求到该处理器的访问的那些任务之间按优先级排序(pr1ritize)和/或划分(split)时间。例如,计算设备可以对应用和/线程指派优先级(pr1rity)等级,以及根据该优先级等级来分配到该处理器的访问。这确保了请求到该处理器的访问的那些任务将最终接收在处理器上的时间分配。但有时,请求的任务具有更紧急或时间敏感的需要。在这些情况下,请求的应用和/或线程可以被设置为具有比当前运行的线程更高的优先级,这样导致当前运行的线程被先占。可替换地,设备通过诸如物理硬件中断或软件中断之类的中断机制来请求处理器时间。当处理器接收到中断时,当前正被处理器所执行的任务通常被挂起(suspend)以便服务该中断。考虑一个简化的情况,其中应用有处理器的临时所有权来用图像更新显示,并且用户决定在该显示更新期间键入鼠标点击或触摸屏输入来作为优先放大该图像的手段。一般来说,鼠标点击生成到处理器的中断作为点击活动的通知。在接收到该中断时,该处理器临时挂起与该应用相关联的活动以便服务该中断,并且在完成中断服务例程后继续执行(resume)该被挂起的活动。时常,这种处理以对用户而言很少以至无法感知的区别而发生。但是,一些应用和/或任务对被挂起是更加时间敏感的。在这些情况下,如果该应用和/或任务未能以及时的方式继续执行,该用户可以注意到执行中的迟延,并且随后感知到该计算设备表现不佳或者发生故障。
技术实现思路

技术实现思路
被提供来以简化的方式引入概念的选择,这些概念将在下文在【具体实施方式】中被进一步描述。本
技术实现思路
不是旨在识别所要求保护的主题的关键特征或必要特征。各种不同的实施例提供了至少部分基于一个或多个处理器核使用率度量(metric)来调度等待时间敏感的任务的能力。一些实施例搜集(gather)与一个或多个处理器核是否处在重负载状态相关联的信息。可替换地或附加地,一些实施例搜集识别等待时间敏感的任务的信息。在某些情况下,当已经确定被原始指派的处理器已经超过使用率阈值时,(多个)任务和/或中断可以被(重新)指派到不同的(多个)处理器核以供执行。【附图说明】【具体实施方式】是参考附图来进行描述的。在这些图中,附图标记最左边的(多个)数字识别该附图标记首次在其中出现的图。在说明书和图中的不同实例中使用相同的附图标记可以指示相似或相同的项目。图1是根据一个或多个实施例的示例实现方式的图示。图2a_d是根据一个或多个实施例的时序图的图示。图3是根据一个或多个实施例的示例实现方式的图示。图4是根据一个或多个实施例的时序图的图示。图5图示了根据一个或多个实施例的流程图。图6图示了根据一个或多个实施例的流程图。图7图示了可以被使用来实现本文所描述的各种不同的实施例的示例计算设备。【具体实施方式】概沭 各种不同的实施例提供了至少部分基于处理器核使用率度量来调度等待时间敏感的任务的能力。与给定的系统相关联的一个或多个处理器核可以被配置来识别何时特定的处理器核使用率已经超过某一阈值、何时该处理器核忙于处理中断等。可替换地或附加地,这些度量可以被周期性地搜集和/或更新来识别给定的系统中的处理器核比其他核更加重负载的时间,和/或处理器核资源是相对空闲以供使用的时间。在将任务指派给处理器核之前,例如将软件中断指派和/或将等待时间敏感的线程调度给特定的处理器以便处理之前,这些度量可以被分析来确定哪个处理器核当前拥有更多资源可用于该任务。进而,该任务可以通过运行来高效地完成而不会被挂起。除了分析处理器核度量之外,一些实施例可以确定任务的特性,比如该任务是否是等待时间敏感的。可以结合处理器核度量一起和/或单独地来分析这些任务特性,以确定该任务是否将被(重新)指派给不同的(多个)处理器核以供执行。在下面的讨论中,题为“示例操作环境”的章节被提供并且其描述其中可以使用一个或多个实施例的一个环境。接着这个章节,题为“调度等待时间敏感的任务”的章节描述了等待时间敏感的任务如何能够被指派和/或重新指派给系统中比其他(Sf)CPU更可用的(多个)处理器核。最后,题为“示例设备”的章节描述了可以被用来实现一个或多个实施例的示例设备。已经提供了将要在下文被描述的各种不同实施例的概述,现在考虑一个或多个实施例可以在其中被实现的示例操作环境。示例操作环培 图1是可操作来使用本文档所描述的技术的示例实现方式的图示。该图示的示例包括可能以多种方式进行配置的计算设备102。例如,计算设备102可以被配置为传统的计算机(例如,台式个人计算机、膝上型计算机等)、移动站、娱乐装置、被可通信地耦合到电视机上的机顶盒、无线电话、上网本、游戏控制台、手持设备等。因此,计算设备102的范围可以是从具有大量存储器和处理器资源的完全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如传统的机顶盒、手持游戏控制台)。计算设备102也包括使得计算设备102执行如下所述的一个或多个操作的软件。除了别的以外,计算设备102包括(多个)处理器核104。在这个特定的示例中,计算设备102包括“η”个处理器核,此处由符号104(0) — 104(n-l)所表示。每个处理器核104表示可以执行机器级别处理器指令(比如分支、跳转、相加、相减、移动数据等)的功能。可替换地或附加地,每个处理器核104被配置来和与计算设备102相关联的其他处理器核并行地执行处理器指令。尽管在图1中被图示为分开的模块,但是将会意识到单个硬件模块可以被配置来包括多个处理器核。例如,在一些实施例中,计算设备102可以包括双核处理器(例如,包括两个处理器核104的单个硬件处理器单元),四核处理器(例如,包括四个处理器核104的单个硬件处理器单元)等。可替换地或附加地,计算设备102可以包括多个硬件模块,它们中每一个都包含多个处理器核。因而,计算设备102可以包括以任何合适的硬件配置的多个处理器核104。计算设备102也包括一个或多个计算机可读存储媒体106。作为示例而非限制,该计算机可读存储媒体可以包括通常与计算设备相关联的所有形式的易失性或非易失性存储器和/或存储媒体。这样的媒体可以包括ROM、RAM、闪存、硬盘、可移除的媒体等。除了别的之外,计算机可读存储媒体106包括一个或多个操作系统(OS)模块108、一个或多个应用110、处理器核加载模块112以及一个或多个数据结构114。除了别的以外,(多个)操作系统(OS)模块108表示被配置来管理计算设备102的(多个)软件和/或硬件资源的功能。这可以通过任何合适的方式来完成,比如一个模块或若干模块共同工作。在一些实施例中,(多个)操作系统模块108包括关于处理和/或管理软件和/或硬件中断的生成和/或服务的功能。(多个)应用110表示包含可以被(多个)处理器核104(0)—(n-l)的任何组合执行的指令的一个或多个应用。(多个)应用110可以包括具有与计算设本文档来自技高网
...

【技术保护点】
一种计算机实现的方法,包括:接收软件中断;响应于接收该软件中断,确定该软件中断是否是等待时间敏感的;响应于确定该软件中断是等待时间敏感的,确定当前处理器核是否是中断繁重的;响应于确定该当前处理器是中断繁重的,确定除该当前处理器核之外的期望的处理器核来运行该软件中断;以及响应于确定除该当前处理器核之外的该期望的处理器核,在该期望的处理器核上执行该软件中断。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:BM沃特斯D朱
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1