等待时间敏感的软件中断和线程调度的制作方法_5

文档序号:8516038阅读:来源:国知局
骤610基于处理器核使用率信息确定期望的处理器核来运行该软件线程。在确定期望的处理器核时,该流程进行到步骤606并在所确定的处理器核上运行该软件线程。
[0056]已经考虑了调度等待时间敏感的软件中断和/或线程的讨论,现在考虑可以被用来实现上述实施例的示例设备的讨论。
[0057]示例设各
图7图示了示例设备700的各种不同的组件实现本文所述的等待时间敏感的线程和/或中断调度技术的实施例,所述示例设备700可以被实现为参考图1所述的任何类型的便携式和/或计算机设备。设备700包括使得能够实现设备数据704 (例如,接收到的数据,正在被接收的数据,被调度用于广播的数据,数据的数据分组等)的有线和/或无线通信的通信设备702。该设备数据704或其他设备内容可以包括设备的配置设置、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在设备704上的媒体内容可以包括任何类型的音频、视频和/或图像数据。设备700包括一个或多个数据输入706,通过上述数据输入,可以接收任何类型的数据、媒体内容和/或输入,比如用户可选择的输入、消息、音乐、电视媒体内容、记录的视频内容以及从任何内容和/或数据源所接收的任何其他类型的音频、视频和/或图像数据。
[0058]设备700也包括可以被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器以及任何其他类型的通信接口中的任一个或多个的通信接口 708。该通信接口 708在设备700和通信网络之间提供连接和/或通信链路,通过上述连接和/或通信链路,其他电子、计算和通信设备与设备700通信数据。
[0059]设备700包括处理各种不同的计算机可执行或可读指令来控制设备700的操作以及来实现上述实施例的一个或多个处理器核710 (例如,微处理器、控制器等中的任一个)。可替换地或附加地,可以利用与通常在712处识别的处理和控制电路结合地实现的硬件、固件或固定逻辑电路中的任何一个或其组合来实现设备700。尽管未被示出,设备700可以包括将该设备内的各种不同的组件进行耦合的系统总线或数据传输系统。系统总线可以包括诸如存储器总线或存储器控制器、外设总线、通用串行总线和/或利用多种总线架构中任何一种的处理器或局部总线之类的不同的总线结构中的任何一个或其组合。
[0060]设备700也包括诸如一个或多个硬件存储器组件之类的计算机可读媒体714,其示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPR0M、EEPROM等中的任何一个或多个)以及盘存储设备。盘存储设备可以被实现为任何类型的磁或光存储设备,比如硬盘驱动器、可记录和/或可重写紧致盘(CD)、任何类型的数字通用盘(DVD)等。设备700也可以包括大容量存储媒体设备716。
[0061]计算机可读媒体714提供数据存储机构来存储设备数据704以及各种不同的设备应用718和与设备700的操作方面相关的任何其他类型的信息和/或数据。例如,操作系统模块720可以利用计算机可读媒体714作为计算机应用来被保持,并且可以在(多个)处理器核710上被执行。该设备应用718可以包括设备管理器(例如,控制应用、软件应用、信号处理以及控制模块、对特定设备而言是本机的代码、用于特定设备的硬件抽象层等)以及可以包括web浏览器、图像处理应用、诸如即时消息发送应用之类的通信应用、字处理应用和多种其他不同应用的其他应用。该设备应用718也包括实现本文所述的技术的实施例的任何系统组件或模块。在这个示例中,该设备应用718另外包括被示为软件模块和/或计算机应用的处理器核加载模块722。处理器核加载模块722代表被用来基于处理器核、软件中断和/或任务的特征将软件中断和/或任务(重新)指派给处理器核的软件。可替换地或附加地,处理器核模块722可以被实现为硬件、软件、固件或它们的任何组合。
[0062]设备700也包括向音频系统726提供音频数据和/或向显示系统728提供视频数据的音频和/或视频输入一输出系统724。该音频系统726和/或显示系统728可以包括处理、显示和/或以其他方式呈现音频、视频和图像数据的任何设备。可以通过RF (射频)链路、S-视频链路、复合视频链路、分量视频链路、DVl (数字视频接口)、模拟音频连接或其他类似的通信链路来将视频信号和音频信号从设备700传送到音频设备和/或传送到显示设备。在一个实施例中,该音频系统726和/或该显示系统728被实现为设备700的外部组件。可替换地,该音频系统726和/或该显示系统728被实现为示例设备700的集成组件。
[0063]结论
各种不同的实施例提供了至少部分基于一个或多个处理器核使用率度量来调度等待时间敏感的任务的能力。一些实施例搜集与一个或多个处理器核是否处于重负载状态相关联的信息。可替换地或附加地,一些实施例搜集识别等待时间敏感任务的信息。当已经确定被原始指派的处理器核已经超过使用率阈值时,(多个)任务可以被(重新)指派给不同的(多个)处理器核以供执行。
[0064]尽管已经以特定于结构特征和/或方法动作的语言描述了实施例,但是应理解的是,在所附的权利要求中定义的实施例不一定受限于所述的特定的特征或动作。相反,特定的特征和动作是作为实现要求保护的实施例的示例方式而被公开。
【主权项】
1.一种计算机实现的方法,包括: 接收软件中断; 响应于接收该软件中断,确定该软件中断是否是等待时间敏感的; 响应于确定该软件中断是等待时间敏感的,确定当前处理器核是否是中断繁重的;响应于确定该当前处理器是中断繁重的,确定除该当前处理器核之外的期望的处理器核来运行该软件中断;以及 响应于确定除该当前处理器核之外的该期望的处理器核,在该期望的处理器核上执行该软件中断。
2.权利要求1的方法,还包括: 响应于确定该当前处理器核不是中断繁重的,在该当前处理器核上执行该中断。
3.权利要求1的方法,其中确定该软件中断是否是等待时间敏感的还包括分析与该软件中断相关联的数据结构。
4.权利要求3的方法,其中该数据结构被配置来包括等待时间敏感标志来指示该软件中断是否是等待时间敏感的。
5.权利要求4的方法,其中确定当前处理器核是中断繁重的包括分析第二数据结构。
6.权利要求1的方法,其中确定除该当前处理器核之外的期望的处理器核还包括识别其负载低于该当前处理器核的处理器核。
7.权利要求1的方法,还包括: 至少部分基于该期望的处理器核不是中断繁重的,识别该期望的处理器核。
8.权利要求1的方法,其中该软件中断与输入设备相关联。
9.包含计算机可读指令的一个或多个计算机可读存储媒体,该计算机可读指令在被执行时实现一种方法,所述方法包括: 准备要运行的软件线程; 确定该软件线程是否是等待时间敏感的; 响应于确定该软件线程是等待时间敏感的,搜集处理器核使用率信息; 至少部分基于该处理器核使用率信息,确定期望的处理器核来运行该软件线程; 响应于确定该期望的处理器核,在所述确定的处理器核上运行该软件线程。
10.权利要求9的方法,其中该软件线程包括与软件应用相关联的软件线程。
【专利摘要】各种不同的实施例提供了至少部分基于一个或多个处理器核使用率度量来调度等待时间敏感的任务的能力。一些实施例搜集与一个或多个处理器核是否处于重负载状态相关联的信息。可替换地或附加地,一些实施例搜集识别等待时间敏感任务的信息。当已经确定被原始指派的处理器核已经超过使用率阈值时,(多个)任务可以被(重新)指派给不同的(多个)处理器核以供执行。
【IPC分类】G06F9-50
【公开号】CN104838359
【申请号】CN201380054204
【发明人】B.M.沃特斯, D.朱
【申请人】微软技术许可有限责任公司
【公开日】2015年8月12日
【申请日】2013年8月13日
【公告号】EP2885707A1, US8943252, US20140052882, WO2014028411A1
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1