多处理器系统中的操作系统管理的中断引导的制作方法

文档序号:9620856阅读:305来源:国知局
多处理器系统中的操作系统管理的中断引导的制作方法
【专利说明】
【背景技术】
[0001]所有现代计算平台实施了一种称为中断处理的机制。一般说来,设备向系统生成称为中断的信号以便请求异步服务被执行。响应于该中断,系统执行中断句柄。中断句柄是如下这样的计算机程序,即:其当被处理器执行时促使系统执行所请求的服务或响应于该中断的其他合适动作。中断句柄可以进而调度附加操作被执行,以便辅助对该中断做出响应或对关联于该中断的数据进行处理。
[0002]在现代计算平台中,通常存在几个可以生成中断的设备,每个具有其自己的中断句柄。每个设备生成中断的速率一般是可变的。处理每个中断所花费的时间量也可以变化。
[0003]在多处理器系统中,每个单个中断通常被定向到单一的处理器;然而,某些中断体系结构允许中断被定向到处理器的集群。一般说来,多处理器系统被设计为,使得在尝试最优化总体系统吞吐量、等待时间和功率消耗中的一个或多个的同时,将中断分布到系统的处理器的子集中。例如,在某些系统中,所有中断都被定向到执行中断句柄的专用处理器。在某些系统中,静态地为每个生成中断的设备或进程(即,中断源)指派用于其中断句柄的处理器。
[0004]在某些系统中,基于硬件的中断控制器可以基于该中断控制器本地的信息,动态地将每个中断指派给处理器中的一个。在某些系统中,中断控制器在处理器集合中以循环方式指派该处理器集合处理每个中断,其中,所述处理器集合中的每个处理器使用各种中断句柄被编程。在某些实施例中,中断控制器将每个中断广播给处理器集合,所述处理器集合中的每个处理器选择是否接受该中断。在某些系统中,中断被定向到当前正处理最低优先级任务的处理器的子集内的处理器。

【发明内容】

[0005]本摘要以简化形式介绍下面在详细说明书中进一步描述的所选概念。本摘要既不旨在标识所要求保护的主题的关键或基本特征,其也不旨在限制所要求保护的主题的范围。
[0006]提供一种操作系统,在其中,中断路由器基于来自处理器集合的总体负载信息,动态地将每个中断源引导到所述处理器集合内的处理器。基于由关联的中断施加的负载和对于处理器的目标总体负载,将中断源指派给处理器。例如,每个处理器可以随时间维护关于其处理的每个中断的信息。操作系统接收该历史负载信息,以便确定由于来自给定设备的给定类型的中断产生的预期负载、系统上的总体负载和对于每个处理器的目标负载。给定中断源的集合、其预期负载以及对于每个处理器的目标负载,则可以在系统的运行时间期间动态地将每个中断源指派给处理器。在规律的基础上,给定系统的当前操作状况,则可以改变这些指派。还可以基于每个处理器的当前功率状态来确定所述指派,以避免唯一地激活空闲处理器来处理中断,以及允许处理器变得空闲从而节省功率。
[0007]一个挑战在于测量由于中断源产生的总体负载,因为中断句柄可以响应于处理中断而调用同一处理器上的附加处理。
[0008]相应地,在一方面中,在包括多个处理器的计算机中,中断路由器接收关于中断的信息。所述中断路由器确定由于由所述多个处理器对中断进行的中断处理产生的所述计算机上的负载。所述中断路由器将每个中断源指派给所述多个处理器中所选的一个或多个,所述选择是根据所述确定的负载,以便将所述负载分布到所述处理器中。所述中断路由器可以周期性地重复以下:对由于中断处理产生的所述计算机上的负载的确定,以及将每个中断源指派给所述多个处理器中所选的一个。
[0009]在一个实施方案中,中断路由器从多个处理器中标识可用于处理中断的一定数量的处理器,并且从所标识的可用于处理中断的一定数量的处理器中选择一定数量的处理器,使得所选处理器的数量与所确定的负载除以目标每处理器负载相匹配。所述负载可以通过以下来确定:响应于每个中断,在被指派给该中断的处理器上执行对于该中断的中断句柄,以及,在关联于被指派给该中断的处理器的存储器中,存储指示由于执行所述中断句柄所消耗的处理时间量的数据。中断路由器对针对中断的、来自多个处理器的所存储数据进行汇聚。
[0010]所述处理时间量可以通过以下来确定:存储当开始执行中断句柄时的系统时间戳,计算与当结束执行所述中断句柄时观测的系统时间戳之间的差,以及,存储所述计算的差。确定所述处理时间量可以进一步包括:对于任何被所述中断句柄调用的进程,存储当开始执行所述进程时的系统时间戳,计算与当结束执行所述进程时观测的系统时间戳之间的差,以及存储数据,所述数据指示出针对进程计算的差和针对中断句柄计算的差。确定所述处理时间量可以进一步包括:对于任何抢占式活动,诸如中断或其他过程抢占由另一中断句柄或执行关联工作的进程进行的中断处理,计算当暂停被抢占的中断处理时与当重新开始被抢占的中断处理时所观测的系统时间戳之间的差,以便具有用于执行抢占式活动的时间量,使得针对中断句柄计算的差将用于执行抢占式活动的时间量排除在外。
[0011]这些各种方面和实施方案可以用计算机实施进程、计算机或包括计算机存储介质的制品来体现。
[0012]在下面的说明书中参考了附图,附图形成其部分,并且在其中作为图示示出了该技术的特定示例实施方案。应当理解,在不脱离本公开内容的范围的情况下,可以利用其他实施例,并且可以做出结构上的改变。
【附图说明】
[0013]图1是操作系统管理的中断引导可以在其中被实施的示例计算机的框图。
[0014]图2是实施基于操作系统的中断路由器的示例多处理器系统的框图。
[0015]图3图示出了在跟踪处理器上的中断句柄时使用的数据结构。
[0016]图4是标识可用于指派给中断源的处理器的示例实施方案的流程图。
[0017]图5是将中断源指派给处理器的示例实施方案的流程图。
[0018]图6是将中断源重新指派给处理器的示例实施方案的流程图。
[0019]图7是跟踪中断源对计算机系统的影响的示例实施方案的流程图。
【具体实施方式】
[0020]下面的小节提供基于操作系统的中断引导可以在其中被实施的示例操作环境。
[0021]参考图1,下面的描述旨在提供对可以使用这样的中断路由器的通用计算机的简要、一般性描述。所述计算机可以是各种各样通用或专用计算硬件配置中的任一个。可以适合的周所周知的计算机示例包括但不限于个人计算机、服务器计算机、手持或膝上设备(例如,媒体播放器、笔记本计算机、蜂窝电话、个人数字助理、话音记录器)、多处理器系统、基于微处理器的系统、机顶盒、游戏控制台、可编程消费电子装置、网络PC、微型计算机、大型计算机、包括以上系统或设备中任一个的分布式计算环境等。
[0022]图1图示出了适合计算机的示例。这仅是适合计算机的一个示例,并且不旨在关于这样的计算机的使用范围或功能性建议任何限制。
[0023]参考图1,采用基本配置的示例计算机100包括至少一个处理单元102和存储器104。该计算机可以包括多个处理单元和/或诸如图形处理单元120之类的附加协同处理单元。取决于计算机的确切配置和类型,存储器104可以是易失性的(例如RAM
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1