CN101889265A - 内核处理器分组 - Google Patents

内核处理器分组 Download PDF

Info

Publication number
CN101889265A
CN101889265A CN200880119662.3A CN200880119662A CN101889265A CN 101889265 A CN101889265 A CN 101889265A CN 200880119662 A CN200880119662 A CN 200880119662A CN 101889265 A CN101889265 A CN 101889265A
Authority
CN
China
Prior art keywords
processor
core group
thread
group
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200880119662.3A
Other languages
English (en)
Other versions
CN101889265B (zh
Inventor
A·范德霍文
E·D·沃克
F·C·福尔茨
Z·邓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101889265A publication Critical patent/CN101889265A/zh
Application granted granted Critical
Publication of CN101889265B publication Critical patent/CN101889265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

讨论了用于将各个处理器分组成分配实体的技术。对处理器进行静态分组可准许在组的基础上分配线程。以此方式,可最小化调度供处理的线程的负担,同时可基于各个处理器在组中的物理位置来选择分配实体中的处理器。分组可准许系统伸缩以满足各种应用程序的处理需求。

Description

内核处理器分组
背景
随着系统中的处理器数量的增加,在处理被设计成在具有较少处理器的系统上处理的应用程序时,处理器的总生产力可能不匹配系统的预期处理能力。例如,在将用于处理的各个线程分发给各个处理器时可能出现瓶颈。在其它情况下,某些应用程序会限制可有效地处理该应用程序的任务的处理器的数量。例如,某些应用程序可能并非很好地适于由比为其设计该应用程序的处理器多的处理器来处理。例如,虽然应用程序可以如所预期的那样在包括两个处理器的台式系统上操作,但具有六十四个或更多处理器的企业服务器对于同一应用程序可能经历问题。
概述
讨论用于将各个处理器分组成分配实体的技术。对处理器进行静态分组可准许在组的基础上分配线程。以此方式,可最小化调度用于处理的线程的负担,同时可基于各个处理器在组中的物理位置来选择分配实体中的处理器。分组可准许系统伸缩以满足各种应用程序的处理需求。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
参考附图来描述详细描述。在附图中,参考标号中最左边的数字标识该参考标号首次出现的附图。在说明书和附图中的不同的实例中使用相同的附图标记可指示相似或相同的项目。
图1示出了可使用内核级组处理的示例性实现中的环境。
图2是描绘其中使用处理器分配实体静态分组的示例性实现中的过程的流程图。
详细描述
概览
因此,描述了可提供内核级处理器分组的技术。例如,可基于各个处理器的位置来将各个处理器静态地配置成内核级分组,以使得可以在按组的基础上调度和处理用于处理的线程或离散的应用程序任务。分组可准许操作系统(OS)在组的基础上交互而不是与各个处理器交互。结果,与在按处理器的基础上分发处理任务的操作系统相比,OS得以简化。可将各个线程分配给内核组以便处理。对处理器进行静态分组并且在按组的基础上分配处理任务可最小化与调度包括大量处理器的系统中的处理器相关联的负担。例如,具有128个处理器的企业服务器可被配置成处理被设计成在双处理器台式系统中有效地操作的若干应用程序。
对于可能经历同步或正确性问题的应用程序,如果由比预期处理该应用程序的处理器更多的处理器来执行处理,则可以在单个内核分组中处理与该应用程序相关联的线程以使得可以隔离处理(例如,就像内核组中的处理器是系统中的唯一处理器那样)。以此方式,第一内核组可以为第一应用程序服务而其它应用程序(如果适用)可由其它内核组处理。静态处理器分组可促进对被设计成在有限数量的处理器上处理的应用程序的高效处理,同时支持在计算系统上运行的应用程序的总体可伸缩性。
示例性环境
图1示出了准许内核分组的示例性实现中的环境100。例如,可以配置具有六十四个或更多处理器(将引用104-134)的计算系统102以使得将处理器配置成内核级组(将引用组“0-N”,分别为136-144)。在计算系统上操作的OS可在内核级被配置成使得在计算系统中的特定处理器组上处理线程或离散任务。内核级处理器分组可减轻应用程序或其它其它级必须在考虑各个处理器的物理位置的同时考虑系统中所包括的处理器的数量的负担。即,通过在内核级考虑多个处理器,可最小化与在相比于针对其配置应用程序的处理器的众多处理器上进行处理相关联的问题。例如,可以隔离或以其它方式分隔软件应用程序模块以利用可用处理资源。结果,可以在与预期处理器使用相比不过度消耗计算系统资源的情况下处理无法容易地伸缩的应用程序。例如,当在大量处理器上处理时,应用程序可消耗与同一应用程序在针对其设计该应用程序的多个处理器上运行时所消耗的处理能力相比更多的处理能力。在按组的基础上执行操作可以在分发用于处理的线程时最小化OS上的调度负担。例如,通过将各个线程分发给内核组以便处理,与将任务分发给各个处理器相比,可最小化内核调度器145上的负担。例如,最小化计算系统中的内核组的数量可允许内核调度器145实现相对较简单且可能更快的算法。
虽然讨论了物理实施例,但也可构想虚拟化实现。例如,应用程序可以在虚拟环境或组合环境等中运行。例如,应用程序可以在也物理分区的计算系统上的虚拟环境中执行。
尽管引用了64(六十四)处理器计算系统,但可以伸缩此处所讨论的技术和原理,诸如“P”个处理器(诸如在特定组中)以及“N”个内核组(包括“P”个单独的处理器),如基于计算系统资源所需,诸如128处理器系统、硬件/软件,等等。例如,六十四个处理器或更多处理器可被配置成“N”个内核级分组,且各个内核分组具有“P”个处理器。在各实现中,内核组可包括单个处理器、两个处理器等等。在另一示例中,六十四处理器系统可被配置成单个组,因为六十四位位掩码可以有效对分组寻址。在其它示例中,具有六十四个或更多处理器的系统可被配置成每组大致六十四个处理器。
内核组以及各个内核组中的各个处理器的精确数量可以变化。例如,处理器可以按需热交换到各个组中,等等。例如,虽然计算系统可包括六十四个或更多物理处理器,但某些组可专用于特定任务,或者可以为后续组分配保留处理器,等等。可通过最小化内核组的数量来限制调度任务的负担。例如,可基于应用程序被设计成在其上处理的处理器的数量来选择组中的各个处理器的数量。以此方式,计算系统可支持不适于由大量处理器处理的应用程序。例如,如果预期进行例行处理的应用程序可高效地利用两个处理器,则内核组可包括两个处理器。即,可基于应用程序参数或者为预期进行处理的应用程序分配内核组中的各个处理器的数量。例如,如果企业服务器预期运行被设计成在四个处理器上处理的至少一个应用程序,则可以将四个处理器静态地分配给内核组,以使得超出可以有效地使用的处理器数量的其它处理器不被包括在内核组中。
其它考虑事项可包括将足够数量的处理器分组在一起以高效地处理线程。除了将应用程序线程调度到专用组之外,内核调度器145可以在内核组变得可用于处理时在循环的基础上分配任务。
可基于处理器相对于内核组中的其它处理器的位置来选择内核组中的各个处理器。在各实现中,可以在内核组中包括非均匀存储器存取(NUMA)节点中的各个处理器。例如,可以在内核组中包括分配给本地存储器节点的一个或多个单独处理器。结果,NUMA节点中的处理器可以在处理分配给包括NUMA节点中的处理器的内核组的线程时高效地访问本地存储器资源。进而,可将NUMA节点中所包括的处理器(作为参考,NUMA节点0-15,分别为146-152)分配给特定内核分组。在内核分组中包括位置相邻处理器,无论其是否在同一NUMA节点中,都可以在系统的各部分由不同的应用程序时改进总体处理。可结合位置使用决定分组的其它因素或者可以实现决定分组的其它因素,诸如处理核心配置或所需的其它因素。例如,内核分组配置可以基于处理核心的配制和该核心的插槽配置。
与针对其设计应用程序的低处理器系统相比,对于具有大量处理器的计算系统,内核级处理器分组可防止不稳定的应用程序性能、正确性问题、同步问题等等。在各种情况下,具有大量处理器(诸如128个)的计算系统可能经历上述问题,而运行相同应用程序的较低资源系统可能不会。根据此处的技术来对处理器进行分组可使得应用程序和/或系统有效地最小化不稳定行为的可能性。
在各实现中,内核中处理器的数量可准许使用指定大小的公共位掩码。例如,可以按高效的方式管理六十四位位掩码,同时适应经分组的处理器配置。其它示例性情形可实现32位位掩码(三十二位位掩码)配置。
通过使用内核分组,可用于处理的OS分配的线程可高效地使用计算系统资源,由此避免在具有大量处理器的服务器中可能发生的潜在问题。在大规模处理器系统中,内核调度器145可将供处理的各个应用程序线程分配给特定内核组,以使得可以按大致同时的方式处理适于比该系统中所包括的处理器更少数量的处理器的多个应用程序,由此比在单独的基础上处理处理器的情况更高效地使用系统的处理器。
如果特定应用程序具有同步、正确性或其它多个处理器问题(如果在具有多个处理器的计算系统上执行的话),则内核调度器145可将该应用程序的线程调度到单个组以避免或最小化这些潜在问题。例如,如果应用程序不是可容易地伸缩的,则内核调度器145可将该应用程序的处理任务引导到单个组。例如,如果具有六十四个或更多处理器的计算机系统将处理多处理器敏感的任务,则内核调度器145可将应用程序线程引导到可隔离该应用程序的组0(零)。以此方式,可以就像该组中的处理器是该系统的处理资源那样处理线程。隔离级别可以按需从物理或虚拟分区类型隔离变化到较少形式的隔离。
相反,如果应用程序是针对多处理器处理来配置的,则可以个别地调度供处理的线程以便在组1、组2和组3(其可各自包括类似于组0的配置的多个处理器)之间进行处理,以便利用该计算系统的处理器资源。
在各实现中,可向应用程序和驱动程序给予对整个系统的可见性。例如,驱动程序可以了解内核级结构,以使得以使得该驱动程序可支持可访问该系统的组件。以此方式,计算系统可获得组处理好处,同时应用程序和驱动程序可以了解系统处理器分组。
一般而言,在此描述的任何功能可使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或这些实现的组合来实现。本文使用的术语“模块”、“功能”和“逻辑”通常表示软件、固件、硬件、或其组合。例如,在软件实现的情况下,模块、功能或逻辑表示当在处理器(例如,一个或多个CPU)上执行时实现指定任务的程序代码。程序代码可被储存在例如有形介质等一个或多个计算机可读存储器设备中。
以下讨论描述了可利用上述系统和设备来实现的各种变换技术。这些过程中每一过程的各方面可用硬件、固件、或软件、或其组合来实现。这些过程被示为指定由一个或多个设备执行的操作的一组框,并且其不必限于所示由各框执行操作的次序。
示例性过程
以下讨论描述了可利用上述系统和设备来实现的方法。这些过程中每一过程的各方面可用硬件、固件、或软件、或其组合来实现。这些过程被示为指定由一个或多个设备执行的操作的一组框,并且其不必限于所示由各框执行操作的次序。也可以考虑各种其他示例。
图2公开了用于对处理器进行静态分组的示例性过程。例如,计算系统的OS内核级可被配置成对各个处理器进行分组,以使得可处理可能对大规模处理器环境敏感的应用程序。
此处所讨论的技术可准许在组的基础上以隔离方式处理由OS分配的线程。这些技术可最小化OS的总复杂度,因为可以在组的基础上考虑处理而不是在各个处理器的基础上分析任务。
对于针对大规模处理设计的应用程序,各个组可以将一个分配实体中的各个任务与计算系统中的其它分配实体隔离开。
可以将各个处理器分组成分配实体中以便处理线程202。例如,内核调度器可将特定应用程序分配给在启动时静态分组的各处理器。例如,可将来自第一应用程序的线程调度至第一分配实体,而将其它应用程序任务分配到第二分配实体,以此类推。例如,可将第一应用程序分配给两个处理器的第一静态内核分组(这两个处理器在物理上对于该组中所包括的另一处理器可以是本地的),而将第二应用程序分配给具有四个处理器的第二静态内核组。上述操作可准许比OS在单独的基础上与处理器交互的情况更高效地处理第一和第二应用程序(更高效地使用处理器)。
在各实现中,分配实体中所包括的处理器的数量可以与针对其配置应用程序的处理器的数量相当。以此方式,处理资源可以不专用于可能无法有效地利用分配给该组的多个处理器的特定应用程序。可以类似地配置其它分配实体,以使得各个组可以单独地分配到来自不同应用程序的任务。
可基于结合处理器使用的位掩码来确定分配实体中所包括的处理器的数量。因此,组中的处理器数量可以是例如六十四个或更少以利用六十四位位掩码。以此方式,系统可使用可以是较简单的配置的较低位位掩码配置,同时适应具有超过该位掩码可有效寻址的多个处理器的处理器的系统。在各种情况下,分配到处理组中的处理器数量可小于位掩码可寻址的处理器数量,因为某些处理器可停止热交换等。
使用经分组的处理器配置(在内核级)可最小化多处理器环境对在较高级上执行的应用程序的影响。因此,虽然内核级可被配置成诸如在真实环境、虚拟化环境或其组合中将多个处理器作为一实体来控制,但可以在不必为超出针对其配置位掩码的多个处理器的附加处理器重新配置位掩码的情况下使用较低位位掩码配置。
在各实现中,可最小化OS/计算系统中的分配实体的数量以最小化与散布应用程序任务相关联的调度负担(例如,潜在瓶颈)。这可准许使用与个别寻址处理器的系统相比而言较简单的算法的内核级调度。分配实体的精确数量以及分配实体中的各个处理器的数量可以基于多个因素,包括预期应用程序处理需求、可以在应用程序经历处理问题之前对于该应用程序可实现的处理器的数量、最小化伸缩瓶颈等。
可以在特定分配实体中包括各个处理器以最大化处理器在分配实体中的局部性。例如,分配实体中的处理器可以在物理上与该分配实体中的其它各个处理器相邻。
可将非均匀存储器存取(NUMA)节点中的各个处理器分组成配实体。因此,可将NUMA节点中所分配204的各个处理器分组成特定内核级处理器组。以先前方式,分配实体和NUMA节点中所包括的各个处理器可快速访问本地存储器(与其中未应用上述原理的各个处理器相比)。虽然NUMA节点可以不连系到特定内核组,但在各实现中可将节点映射到内核组以便紧密地亲密化(affinitize)特定任务206。例如,应用程序接口可被配置成将各个物理处理器与内核分组连系。用内核级分配实体来紧密地映射物理资源可准许将紧密相关联的任务分配给特定内核分组以便处理。
对于适于伸缩208的应用程序,内核调度器可按需分配线程。对于针对有限数量的处理器设计的应用程序,可将线程引导到单个内核组。例如,应用程序可将其处理任务引导到组0,而可将其它应用程序引导到组1。
可向应用程序和驱动程序给予系统分组的可见性。例如,驱动程序可以了解内核级分组结构以使得以使得该驱动程序可支持可访问总系统的组件。以此方式,遵照此处所讨论的技术操作的计算系统可获得组处理的好处,同时应用程序和驱动程序可以按需了解系统处理器分组。
结论
虽然已经用结构特征和/或方法动作特定的语言描述了本发明,但是应该理解在所附权利要求中定义的本发明不必限于所述具体特征或动作。相反,这些具体特征和动作是作为实现要求保护的发明的示例性形式而公开的。

Claims (20)

1.一种方法,包括:
将各个处理器静态地分组成分配实体,所述各个处理器基于所述各个处理器相对于组中的其它各个处理器的物理位置来被分组;以及
伸缩一个或多个分配实体以处理各个线程,以使得在按分配实体的基础上分配各个线程。
2.如权利要求1所述的方法,其特征在于,所述各个处理器在内核级静态分组。
3.如权利要求1所述的方法,其特征在于,所述分配实体被配置成在所述分配实体中隔离与应用程序相关联的各个线程。
4.如权利要求1所述的方法,其特征在于,单个线程一次被分配给单个的个别分配实体。
5.如权利要求1所述的方法,其特征在于,所述分配实体中的各个处理器与所述分配实体中的其它各个处理器一起被配置成非均匀存储器存取(NUMA)节点。
6.如权利要求1所述的方法,其特征在于,各个处理器在启动时分组。
7.如权利要求1所述的方法,其特征在于,还包括在启动时部分地填充非均匀存储器存取(NUMA)节点以准许热添加处理器。
8.如权利要求1所述的方法,其特征在于,单个应用程序的线程在单个分配实体中被处理。
9.一种或多种包括计算机可执行指令的计算机可读介质,所述指令在被执行时指示计算系统:
将位置相关的各个处理器分配给非均匀存储器存取(NUMA)节点;
以及
在启动时将所述位置相关的各个处理器静态地分组成被配置成一次处理一单独线程的内核组。
10.如权利要求9所述的一种或多种计算机可读介质,其特征在于,还包括在按内核组的基础上调度所述单独线程。
11.如权利要求9所述的一种或多种计算机可读介质,其特征在于,应用程序线程都被调度至单个内核组以便处理。
12.如权利要求9所述的一种或多种计算机可读介质,其特征在于,还包括为被配置成可伸缩处理的硬件添加驱动程序模型扩展。
13.如权利要求9所述的一种或多种计算机可读介质,其特征在于,还包括伸缩附加内核组以便处理来自支持在不同内核组之间分发线程的应用程序的线程。
14.如权利要求9所述的一种或多种计算机可读介质,其特征在于,所述内核组中的各个处理器是与所述内核组外的处理器隔离开的。
15.如权利要求9所述的一种或多种计算机可读介质,其特征在于,一组包括大致六十四个单独的处理器。
16.一种系统,包括:
多个处理器,所述多个处理器被静态地配置在内核组中,以使得在内核组的基础上分配供处理的各个线程;所述各个处理器在物理上对于所述内核组中所包括的其它处理器是本地的。
17.如权利要求16所述的系统,其特征在于,还包括被配置成在内核组的基础上分发各个线程的内核调度器。
18.如权利要求17所述的系统,其特征在于,所述内核调度器将特定应用程序的所有线程分配给单个内核组。
19.如权利要求16所述的系统,其特征在于,所述多个处理器中的各个处理器在物理上对于所述内核组中所包括的其它处理器是本地的。
20.如权利要求16所述的系统,其特征在于,所述多个处理器在启动所述系统时被分配给内核组。
CN200880119662.3A 2007-12-07 2008-11-14 内核处理器分组 Active CN101889265B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/952,828 2007-12-07
US11/952,828 US8881163B2 (en) 2007-12-07 2007-12-07 Kernel processor grouping
PCT/US2008/083530 WO2009076001A2 (en) 2007-12-07 2008-11-14 Kernel processor grouping

Publications (2)

Publication Number Publication Date
CN101889265A true CN101889265A (zh) 2010-11-17
CN101889265B CN101889265B (zh) 2013-07-10

Family

ID=40722882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880119662.3A Active CN101889265B (zh) 2007-12-07 2008-11-14 内核处理器分组

Country Status (5)

Country Link
US (1) US8881163B2 (zh)
EP (1) EP2218000A4 (zh)
CN (1) CN101889265B (zh)
TW (1) TWI453607B (zh)
WO (1) WO2009076001A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077087A (zh) * 2013-01-10 2013-05-01 惠州Tcl移动通信有限公司 一种应用程序自动适配多核处理器模式的方法及移动设备
CN103077087B (zh) * 2013-01-10 2016-11-30 惠州Tcl移动通信有限公司 一种应用程序自动适配多核处理器模式的方法及移动设备
CN107391241A (zh) * 2017-06-22 2017-11-24 努比亚技术有限公司 应用快速启动方法、终端及计算机可读存储介质
WO2021139726A1 (zh) * 2020-01-07 2021-07-15 中科寒武纪科技股份有限公司 任务迁移的方法、装置、计算机设备及可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10241838B2 (en) * 2013-12-09 2019-03-26 International Business Machines Corporation Domain based resource isolation in multi-core systems
US10146583B2 (en) * 2016-08-11 2018-12-04 Samsung Electronics Co., Ltd. System and method for dynamically managing compute and I/O resources in data processing systems

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0664536B2 (ja) * 1986-01-17 1994-08-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想端末サブシステムの制御方法
JP2594979B2 (ja) * 1987-10-23 1997-03-26 株式会社日立製作所 マルチプロセツサシステム
US5872963A (en) * 1997-02-18 1999-02-16 Silicon Graphics, Inc. Resumption of preempted non-privileged threads with no kernel intervention
US6332180B1 (en) * 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
FR2792087B1 (fr) * 1999-04-07 2001-06-15 Bull Sa Procede d'amelioration des performances d'un systeme multiprocesseur comprenant une file d'attente de travaux et architecture de systeme pour la mise en oeuvre du procede
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US6658448B1 (en) * 1999-10-21 2003-12-02 Unisys Corporation System and method for assigning processes to specific CPU's to increase scalability and performance of operating systems
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
US7159216B2 (en) * 2001-11-07 2007-01-02 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
US7143412B2 (en) * 2002-07-25 2006-11-28 Hewlett-Packard Development Company, L.P. Method and apparatus for optimizing performance in a multi-processing system
JP3987783B2 (ja) * 2002-10-11 2007-10-10 Necエレクトロニクス株式会社 アレイ型プロセッサ
US7028218B2 (en) * 2002-12-02 2006-04-11 Emc Corporation Redundant multi-processor and logical processor configuration for a file server
JP4051703B2 (ja) * 2003-03-31 2008-02-27 日本電気株式会社 シングルプロセッサ向けosによる並列処理システム、並列処理プログラム
US7111188B2 (en) * 2003-07-31 2006-09-19 International Business Machines Corporation Dynamically configurable fault tolerance in autonomic computing with multiple service points
US7389508B2 (en) * 2003-09-25 2008-06-17 International Business Machines Corporation System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US7529800B2 (en) * 2003-12-18 2009-05-05 International Business Machines Corporation Queuing of conflicted remotely received transactions
US8621458B2 (en) * 2004-12-21 2013-12-31 Microsoft Corporation Systems and methods for exposing processor topology for virtual machines
TWI348652B (en) * 2005-10-17 2011-09-11 Via Tech Inc Driver assisted asynchronous command processing

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077087A (zh) * 2013-01-10 2013-05-01 惠州Tcl移动通信有限公司 一种应用程序自动适配多核处理器模式的方法及移动设备
CN103077087B (zh) * 2013-01-10 2016-11-30 惠州Tcl移动通信有限公司 一种应用程序自动适配多核处理器模式的方法及移动设备
CN107391241A (zh) * 2017-06-22 2017-11-24 努比亚技术有限公司 应用快速启动方法、终端及计算机可读存储介质
WO2021139726A1 (zh) * 2020-01-07 2021-07-15 中科寒武纪科技股份有限公司 任务迁移的方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN101889265B (zh) 2013-07-10
TW200941238A (en) 2009-10-01
EP2218000A4 (en) 2011-11-23
WO2009076001A2 (en) 2009-06-18
US8881163B2 (en) 2014-11-04
WO2009076001A3 (en) 2009-08-06
US20090150650A1 (en) 2009-06-11
EP2218000A2 (en) 2010-08-18
TWI453607B (zh) 2014-09-21

Similar Documents

Publication Publication Date Title
US8516461B2 (en) Method to dynamically distribute a multi-dimensional work set across a multi-core system
Shirahata et al. Hybrid map task scheduling for GPU-based heterogeneous clusters
JP6294586B2 (ja) 命令スレッドを組み合わせた実行の管理システムおよび管理方法
JP5367816B2 (ja) オペレーションの保護モードスケジューリング
CA3043974C (en) Computational resource allocation
CN103559088A (zh) 维持公平性和顺序的资源管理子系统
Barak et al. The mosix virtual opencl (VCL) cluster platform
Hartmann et al. Gpuart-an application-based limited preemptive gpu real-time scheduler for embedded systems
Diab et al. Dynamic sharing of GPUs in cloud systems
CN101889265B (zh) 内核处理器分组
US6829765B1 (en) Job scheduling based upon availability of real and/or virtual resources
CN103197918B (zh) 多通道时间片组
Schuchart et al. Global task data-dependencies in pgas applications
Qu et al. Improving the energy efficiency and performance of data-intensive workflows in virtualized clouds
Che et al. Betweenness Centrality in an HSA-enabled System
Bashizade et al. Adaptive simultaneous multi-tenancy for gpus
John et al. Distributed Work Stealing in a Task-Based Dataflow Runtime
Shah et al. Performance analysis of scheduling algorithms in Apache Hadoop
Caromel et al. Proactive parallel suite: From active objects-skeletons-components to environment and deployment
Kim et al. Sophy+: Programming model and software platform for hybrid resource management of many-core accelerators
Du et al. The triangular pyramid scheduling model and algorithm for pdes in grid
Baliś et al. Scientific workflow management on hybrid clouds with cloud bursting and transparent data access
Morey et al. A new approach for dynamic load balancing using simulation in grid computing
Yoo et al. Rawls Scheduler: load considered proportional share scheduling for high performance multimedia systems
Gaikwad Multi-core System Classification Algorithms for Scheduling in Real-Time Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150513

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150513

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.