CN107851040A - 用于使用高速缓存需求监视在异构处理器簇架构中调度任务的系统和方法 - Google Patents
用于使用高速缓存需求监视在异构处理器簇架构中调度任务的系统和方法 Download PDFInfo
- Publication number
- CN107851040A CN107851040A CN201680042745.1A CN201680042745A CN107851040A CN 107851040 A CN107851040 A CN 107851040A CN 201680042745 A CN201680042745 A CN 201680042745A CN 107851040 A CN107851040 A CN 107851040A
- Authority
- CN
- China
- Prior art keywords
- processor
- cache
- cluster
- task
- miss
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/314—In storage network, e.g. network attached cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本文公开了用于在便携式计算设备中的异构处理器簇架构中调度任务的系统、方法和计算机程序。一个实施例是一种包括第一处理器簇和第二处理器簇的系统。第一处理器簇包括第一共享高速缓存,第二处理器簇包括第二共享高速缓存。此外,该系统还包括与第一和第二处理器簇进行通信的控制器,以执行第一和第二处理器簇之间的任务迁移。该控制器发起任务在第一处理器簇中的第一处理器上的执行。当任务在第一处理器簇中的第一处理器上运行时,控制器对第一处理器的处理器工作负荷和与第一共享高速缓存相关联的高速缓存需求进行监测。控制器基于处理器工作负荷和高速缓存需求,将任务迁移到第二处理器簇。
Description
背景技术
便携式计算设备(例如,蜂窝电话、智能电话、平板计算机、便携式数字助理(PDA)和便携式游戏控制台)继续提供不断扩大的功能和服务阵列,并向用户提供对于信息、资源和通信的前所未有的访问水平。为了跟上这些服务提升的步伐,这些设备变得更加强大和更加复杂。便携式计算设备现在通常包括具有嵌入在单一基底上的一个或多个芯片组件(例如,一个或多个中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器等等)的片上系统(SoC)。
这种便携式计算设备或者其它计算机系统或设备可以包括异构处理器簇架构,其示例称为“big.LITTLE”异构架构。这种“big.LITTLE”和其它异构架构通常包括一组处理器内核,在该组处理器内核中,一组相对较慢、较低功率的处理器内核与一组相对更强大的处理器内核相耦合。例如,具有较高性能的一组处理器或处理器内核通常被称为“Big(大型)簇”,而具有最小的功耗但能够提供适当的性能(但与Big簇相比具有相对更少的性能)的另一组处理器或处理器内核称为“Little(小型)簇”。高速缓存控制器可以根据性能和/或功率要求(其可以根据各种使用情况而变化),来调度任务由Big簇或者Little簇来执行。Big簇可以用于期望更高性能(例如,图形、游戏等等)的情形,而Little簇可以用于相对较低功率的用例(例如,文本应用)。
现有的异构处理器簇架构可以基于CPU利用率或者CPU负载,在Big簇和Little簇之间迁移任务。例如,高速缓存控制器可以监测CPU处理延迟、指令执行时间等等,当任务在Little簇上运行时,如果认为CPU利用率较高,则可以将任务迁移到Big簇。但是,现有的任务迁移方案无法判断高CPU利用率是由CPU负载还是例如高速缓存未命中所引起的。此外,现有的任务迁移方案并不能够迁移各种类型的任务。
因此,本领域需要基于CPU负载和高速缓存需求来迁移异构处理器簇中的任务的改进的系统和方法。
发明内容
公开了用于在便携式计算设备中的异构处理器簇架构里调度任务的方法、系统和计算机程序的各种实施例。一个实施例是一种包括第一处理器簇和第二处理器簇的系统。第一处理器簇包括第一共享高速缓存,第二处理器簇包括第二共享高速缓存。此外,该系统还包括与第一和第二处理器簇进行通信的控制器,以执行第一和第二处理器簇之间的任务迁移。该控制器发起任务在第一处理器簇中的第一处理器上的执行。当任务在第一处理器簇中的第一处理器上运行时,控制器对第一处理器的处理器工作负荷和与第一共享高速缓存相关联的高速缓存需求进行监测。控制器基于处理器工作负荷和高速缓存需求,将任务迁移到第二处理器簇。
另一个实施例是一种用于在便携式计算设备中的异构处理器簇架构中调度任务的方法。该方法包括:在异构处理器簇架构中的第一处理器簇中的第一处理器上运行任务,其中该异构处理器簇架构包括具有第一共享高速缓存的第一处理器簇和具有第二共享高速缓存的第二处理器簇。当任务在第一处理器簇中的第一处理器上运行时,对第一处理器的处理器工作负荷和与第一共享高速缓存相关联的高速缓存需求进行监测。基于处理器工作负荷和高速缓存需求,将任务迁移到第二处理器簇。
附图说明
在附图中,除非另外指出,否则贯穿各个视图的相同附图标记指代类似的部件。对于利用诸如“102A”或“102B”之类的字母字符进行命名的附图标记而言,这些字母字符命名可以区分在同一附图中出现的两个类似部件或者组成部分。当一个附图标记旨在涵盖所有附图之中利用该相同附图进行标记的所有部件时,可以省略用于附图标记的字母字符命名。
图1是用于在异构处理器簇架构中调度任务的系统的实施例的框图。
图2是示出图1的系统中的调度器的实施例的数据输入和输出的框图。
图3是示出图2中的调度器的示例性数据输入和所获得的数据输出的数据表。
图4是示出处理器簇的实施例的框图,其中每个处理器内核包括专用的高速缓存未命中计数器。
图5是基于多种任务类型的图1的系统中的任务迁移的图形表示。
图6是示出用于基于每任务CPU工作负荷和高速缓存需求,在异构处理器簇架构中迁移任务的方法的实施例的流程图。
图7示出了基于每任务高速缓存未命中简档,四个示例性内核之间的任务迁移的另一个实施例。
图8示出了并入在示例性便携式计算设备(PCD)中的图1-7的系统和方法。
具体实施方式
本文所使用的“示例性的”一词意味着“用作例子、例证或说明”。本文中描述为“示例性”的任何方面不应被解释为比其它方面更优选或更具优势。
在本说明书中,术语“应用”或“图像”还可以包括具有可执行内容的文件,例如:目标代码、脚本、字节码、标记语言文件和补丁。此外,本文所引用的“应用”还可以包括:在本质上不可执行的文件,例如,需要被打开的文档或者需要进行访问的其它数据文件。
此外,术语“内容”也可以包括具有可执行内容的文件,例如:目标代码、脚本、字节代码、标记语言文件和补丁。此外,本文所引用的“内容”还可以包括:在本质上不可执行的文件,例如,需要被打开的文档或者需要进行访问的其它数据文件。
如本说明书中所使用的,术语“组件”、“数据库”、“模块”、“系统”等等旨在指代与计算机相关的实体,无论其是硬件、固件、硬件和软件的结合、软件或运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例而言,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于处理和/或执行线程中,组件可以位于一个计算机中和/或分布在两个或更多计算机之间。此外,这些组件能够从其上存储有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组的信号(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互),以本地和/或远程处理的方式进行通信。
图1是包括异构处理器簇架构的系统100的实施例的框图。系统100可以实现在包括以下的任何计算设备中:个人计算机、工作站、服务器、诸如蜂窝电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机或平板计算机之类的便携式计算设备(PCD)。异构处理器簇架构包括耦合到高速缓存控制器101的多个处理器簇。如本领域所已知的,每个处理器簇可以包括具有相应的共享高速缓存的一个或多个处理器或者处理器内核(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)等等)。
在图1的实施例中,处理器簇102和104可以包括如上所述的“big.LITTLE”异构架构,在该“big.LITTLE”异构架构中,处理器簇102包括Little簇,处理器簇104包括Big簇。Little处理器簇102包括多个中央处理单元(CPU)内核108和110,与Big处理器簇104中的CPU内核114和116相比,CPU内核108和110相对地更慢和消耗更少的功率。应当理解的是,Big簇CPU内核114和116可以通过例如以下各个方面与Little簇CPU内核108和110区分:相对更高的每周期指令(IPC)、更高的操作频率和/或具有实现相对更高的性能但以额外的功率为成本的微架构特征。此外,可以在系统100中包括另外的处理器簇,例如,处理器簇106包括GPU内核120和122。
处理器簇102、104和106可以具有由该簇中的相应处理器进行使用的独立的共享高速缓冲存储器,以减少从主存储器144中访问数据的平均时间。在一个实施例中,可以将共享高速缓冲存储器和主存储器144组织成高速缓存级别的层次结构(例如,级别一(L1)、级别二(L2)、级别三(L3))。在图1所示出的实施例中,处理器簇102包括专用于CPU 108和110的共享高速缓存112。处理器簇104包括专用于CPU 114和116的共享高速缓存118,处理器簇106包括专用于GPU 120和122的共享高速缓存124。应当理解的是,可以在具有或者不具有高速缓存级别的层次结构的情况下,实现共享高速缓存。
如图1中所示,高速缓存控制器101可以包括调度器140、高速缓存互连111、以及分别用于监测共享高速缓存112、118和124的性能的多个高速缓存监测器126、128和130。高速缓存互连111包括具有维持主存储器144和共享高速缓存之间的一致性的相关联逻辑的互连或者总线。调度器140包括用于执行处理器簇102、104和106之间的任务迁移的任务迁移组件150。如下面所进一步详细描述的,任务迁移组件150被配置为通过监测簇处理器的工作负荷(处理器工作负荷分析器(profiler)152)和每个共享高速缓存的高速缓存需求(高速缓存需求分析器154)来确定任务迁移。处理器工作负荷分析器152可以确定处理器或CPU利用率、负荷状态、处理延迟、指令执行时间等等。高速缓存需求分析器(profiler)154可以监测针对共享高速缓存112、118和124的存储器访问(读和/或写访问),确定由于例如高速缓存未命中造成的延迟(其可能影响在簇处理器或者内核上运行的当前任务的性能)。
图2是示出调度器140的实施例的数据输入和输出的框图。调度器140可以将来自每个处理器的处理器工作负荷数据202和与每个共享高速缓存相关联的高速缓存数据204接收成数据输入。应当理解的是,处理器工作负荷数据202可以包括任何可用的使用数据,其包括下面参数或者从处理器内核接收的其它参数中的一个或多个:每周期指令(IPC)、每秒百万指令数(MIPS)、频率、CPU活动持续时间百分比。例如,高速缓存需求数据204可以包括基于下面参数或者经由高速缓存监测器126、128和130接收的其它参数中的一个或多个的高速缓存工作负荷或性能信息:每1000条指令的高速缓存未命中(MPKI),每1000条指令的高速缓存访问(APKI)、高速缓存未命中率(MPKI/APKI)、由于高速缓存未命中导致的CPU停滞时间/比率或停滞时钟、以及指示由于高速缓存未命中导致的CPU停滞数量的每秒百万次循环(MCPS)。基于输入数据202和204,调度器140准确地调度任务,基于每任务CPU负荷和高速缓存需求,判断是否可以通过将任务迁移到另一个处理器内核或者簇来提升性能。在一个实施例中,可以将当前任务迁移到Little CPU(方框208)或者Big CPU(方框210)。
如图3中所示,调度器140可以访问和管理表300,其中表300规定了用于控制每任务迁移的多个预先规定的或者可配置的门限。应当理解的是,表300中包含的数据可以包括针对每个任务(即,每任务)的输入数据202和204以及输出数据302。在图3的实施例中,第一门限(门限#1)可以规定与处理器工作负荷数据202相关的门限,并且第二门限(门限#2)可以规定与高速缓存需求数据204相关的门限。在一个实施例中,可以根据高速缓存未命中率、CPU停滞率(例如,时间%)、或者表示高速缓存需求的其它数据和/或计数来计算高速缓存需求数据204。列302规定了根据针对在系统100上运行的当前任务所监测的和/或估计的处理器工作负荷数据202和高速缓存需求数据204,在每任务基础上的调度器输出。表300规定了基于门限#1和#2的使用场景。在场景1中,如果处理器工作负荷超过门限#1并且高速缓存需求超过门限#2,则调度器140可以确定应当将当前任务迁移到Big簇中的处理器或内核上,分配“高”的优先级值。在场景2中,如果处理器工作负荷超过门限#1并且高速缓存需求没有超过门限#2,则调度器140可以确定应当将当前任务迁移到Big簇中的处理器或内核上,分配“中等”的优先级值。在场景3中,如果处理器工作负荷没有超过门限#1但高速缓存需求超过门限#2,则调度器140可以确定应当将当前任务迁移到Big簇中的处理器或内核上,分配“中等”的优先级值。在场景3中,调度器140可以计算处理器工作负荷数据202和高速缓存需求数据204的加权和。在场景4中,如果处理器工作负荷没有超过门限#1并且高速缓存需求没有超过门限#2,则调度器140可以确定应当将当前任务迁移到Little簇中的处理器或内核上。本领域普通技术人员应当理解,可以在具有或不具有优先级方案的情况下实现向Big簇的任务迁移,表300可以被配置为管理一个或多个门限,以确定Little簇和Big簇之间的任务迁移。
图4示出了使用各个处理器内核的高速缓存未命中计数器来实现任务迁移的实施例。如图4中所示,处理器簇102可以包括具有共享高速缓存112的多个处理器内核402和404。处理器内核402包括CPU 108、独立高速缓存406和用于该CPU 108的专用高速缓存未命中计数器408。处理器内核404包括CPU 110、独立高速缓存410和用于该CPU 110的专用高速缓存未命中计数器410。应当理解的是,当使用高速缓存级别的层次结构时,可以实现独立高速缓存406和410。专用高速缓存未命中计数器408和412可以包括硬件计数器,或者可以利用软件来实现。在操作时,当内核访问共享高速缓存112来进行读或写操作时,可以向相应的专用高速缓存未命中计数器发送高速缓存未命中信号。可以将与运行在CPU 108上的任务相关联的高速缓存未命中信号414,从位于共享高速缓存112中的全局共享高速缓存未命中计数器401提供给专用高速缓存未命中计数器408。可以将与运行在CPU 110上的任务相关联的高速缓存未命中信号416提供给专用高速缓存未命中计数器412。用此方式,处理器簇102中的每个处理器可以维持一个高速缓存未命中简档,后者可以用于基于CPU负荷和高速缓存需求来准确地控制任务迁移。
如图4中所进一步示出和上面所讨论的,处理器簇102中的每个CPU还可以包括CPU停滞计数器。在图4的实施例中,CPU 108包括CPU停滞计数器418,CPU 110包括CPU停滞计数器420。CPU停滞计数器418和420可以测量和指示由于高速缓存未命中而导致的CPU停滞持续时间。例如,如果高速缓存命中,则相应的CPU可以立即读或者写,在该情况下,存在最小的或者不存在CPU停滞时间。但是,当发生高速缓存未命中时,相应的CPU可能要等待来自外部主存储器的数据,在该情况下,存在着在其期间CPU不执行指令的CPU停滞时间。应当理解的是,可以将来自高速缓存未命中计数器408、412和401以及CPU停滞计数器418和420的数据,使用成针对调度器140的输入信息。
图5示出了用于基于CPU工作负荷和高速缓存需求的组合,实现增强型负荷跟踪与任务迁移的实施例。增强型负荷跟踪可以合并CPU工作负荷和高速缓存需求二者,使用针对如上所述的每一个的门限。在其它实施例中,增强型负荷跟踪计算CPU工作负荷和高速缓存需求的和,或者计算(CPU工作负荷)x(系数a)+(高速缓存需求)x(系数b)的加权和。可以对第一几何系列进行计算(式1),以估计CPU工作负荷的跟踪的负荷。
S=u0+u1*y+u2*y2+u3*y3+u4*y4+…+u(n-1)*y(n-1)
y:0和1之间的系数
ui:在0或1之间,指示在时间i时的CPU活动(或者利用率),其中,
时间0=最近/最新,并且时间(n-1)=最早时间
n=簇中的#处理器内核
式1:CPU工作负荷
可以对第二几何系列进行计算(式2),以估计高速缓存工作负荷的跟踪的负荷。
X=v0+v1*z+v2*z2+v3*z3+v4*z4+…+v(n-1)*z(n-1)
z:0和1之间的系数
vi:在0或1之间,指示在时间I时的高速缓存未命中率,其中时间0=最
近/最新,并且时间(n-1)=最早时间
n=簇中的#处理器内核
式2:高速缓存工作负荷
如果S(式1)和X(式2)的和或者加权和超过门限,则任务迁移组件150可以确定当前任务要迁移到Big簇。
增强型负荷跟踪可以被配置为支持各种不同类型的任务。在图5的例子中,示出了用于四种不同类型的任务的任务运行时间。任务类型1(方框508a)包括预先规定的CPU工作负荷。任务类型2(方框506a)包括具有“低”值的高速缓存未命中率。任务类型3(方框504a)包括具有“中等”值的高速缓存未命中率。任务类型4(方框502a)包括具有“高”值的高速缓存未命中率。图500示出了用于每种任务类型的示例性跟踪负荷。线502b对应于任务类型4(方框502a)。线504b对应于任务类型3(方框504a)。线506b对应于任务类型2(方框506a)。线508b对应于任务类型1(方框508a)。
如图5中所进一步示出的,“向上迁移”门限规定会将运行在Little CPU上的不同任务类型迁移到Big CPU的水平。参见线502b,首先对任务类型4进行迁移(附图标记510),这是因为其具有最高高速缓存未命中率。其次对任务类型3进行迁移(附图标记512)。第三对任务类型2进行迁移(附图标记514)。最后对任务类型1进行迁移(附图标记516)。应当理解的是,现有的解决方案不能够区分不同的任务类型1、2、3和4。通过比较,在现有的解决方案中(不同于系统100),针对所有四种任务类型的任务迁移可以类似于线516,其不是高效的调度结果。
图6是示出用于基于CPU工作负荷和高速缓存需求,在系统100的异构处理器簇架构中迁移任务的方法600的实施例的流程图。应当理解的是,方法600的一个或多个方面可以通过调度器140、任务迁移组件150和/或操作系统来实现。在方框602处,任务运行在第一处理器簇中的处理器中的一个(例如,处理器簇102中的CPU 108)上。在方框604处,当任务在CPU 108上运行时,可以对用于CPU 108的处理器工作负荷以及与共享高速缓存112相关联的高速缓存需求进行监测。在方框606处,调度器140可以将处理器工作负荷和高速缓存需求与一个或多个相关联的门限进行比较。在一个实施例中,可以如表300中所示地配置这些门限(图3)。如果超过了一个或多个门限(判断框606),则系统100可以确定要将该任务从处理器簇102迁移(方框608)到第二处理器簇(例如,簇104-图1)。如果没有超过任何门限,则流程可以返回到方框604以进一步监测处理器工作负荷和高速缓存需求。
参见图7,在另一个实施例中,操作系统(O/S)内核可以被配置为实现每任务高速缓存未命中简档。O/S可以针对每个运行的任务来规定专门配置的变量,基于逐个任务来跟踪高速缓存未命中。在一个实施例中,这些变量可以包括任务运行时间、高速缓存未命中计数器、以及每秒的高速缓存比率(即,高速缓存未命中计数器/任务运行时间)。该任务运行时间变量包括给定的任务的运行时间的总和。高速缓存未命中计数器包括给定的任务的高速缓存未命中的总和。图7示出了用于基于来自每CPU高速缓存未命中计数器(例如,计数器408和412(图4))的读数,确定每任务高速缓存未命中比率的示例性方法。
沿着x轴时间轴,任务j开始运行在CPU 1上(方框702),而任务i(方框706)和任务k(方框710)开始分别运行在CPU 2和CPU 4上。随着任务i、j和k运行,对用于每个相应的内核的任务运行时间和高速缓存未命中进行跟踪。方框704示出了用于任务j的高速缓存未命中计数器,例如,其可以通过在时间701和703,读取用于CPU 1的共享未命中计数器(例如,图4中的计数器408和412而不是共享的未命中计数器401)来计算。在时间703,由于调度器中的任何原因(例如,CPU 1承受更高的温度),可以将任务j重新分配(迁移)到CPU 2。当任务j运行在CPU 2中时,可以基于来自用于CPU 2(而不是用于CPU 1)的共享高速缓存未命中计数器的读数,来计算针对任务j的高速缓存未命中率。用类似的方式,可以基于CPU 1(从701到703的持续时间)、CPU 2(从705到707的持续时间)、CPU 3(从709到711的持续时间)和CPU 4(从730到732的持续时间)的计数器读数,对整体高速缓存未命中趋势进行累积。可以将针对任务j所计算的整体高速缓存未命中比率使用成调度决策的输入(例如,图2中的高速缓存需求数据204、图6中的方框604、图5中的任务类型2、3和4)。
系统100可以并入到任何期望的计算系统中。图8示出了并入在示例性便携式计算设备(PCD)800中的系统100。片上系统(SoC)103可以包括调度器140和具有异构处理器簇架构的处理器簇102、104和106。显示器控制器328和触摸屏控制器330可以耦合到这些处理器簇中的一个或多个。转而,触摸屏显示器806可以位于片上系统103之外,可以耦合到显示器控制器328和触摸屏控制器330。
此外,图8还示出了耦合到处理器簇102、104和106中的一个或多个的视频编码器334(例如,逐行倒相(PAL)编码器、顺序彩电制式(SECAM)编码器、或者国家电视系统委员会(NTSC)编码器)。此外,视频放大器336耦合到视频编码器334和触摸屏显示器806。另外,视频端口338耦合到视频放大器336。如图8中所示,通用串行总线(USB)控制器340耦合到这些处理器簇中的一个或多个。此外,USB端口342耦合到USB控制器340。存储器144和用户识别模块(SIM)卡346还可以耦合到这些处理器簇。
此外,如图8中所示,数码相机348可以耦合到这些处理器簇。在一个示例性方面,数码相机348是电荷耦合器件(CCD)相机或者互补金属氧化半导体(CMOS)相机。
如图8中所进一步示出的,立体声音频编码器-解码器(CODEC)350可以耦合到这些处理器簇。此外,音频放大器352可以耦合到立体声音频CODEC 350。在一个示例性方面,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。麦克风放大器358也可以耦合到立体声音频CODEC 350。另外,麦克风360可以耦合到麦克风放大器358。在一个特定的方面,调频(FM)无线调谐器362可以耦合到立体声音频CODEC350。此外,FM天线364耦合到FM无线调谐器362。此外,立体声耳机366可以耦合到立体声音频CODEC 350。
此外,图8还示出射频(RF)收发机368可以耦合到这些处理器簇。RF开关370可以耦合到RF收发机368和RF天线372。键盘204、具有麦克风的单声道耳机176和振动器设备378可以耦合到这些处理器簇。
此外,图8还示出了可以耦合到片上系统103的电源380。在一个特定的方面,该电源380是向需要能量的PCD 800的各个部件供电的直流(DC)电源。此外,在特定的方面,该电源是可充电DC电池或者DC电源,后者是从提供给DC变换器的交流电(AC)来得到的,其中该DC变换器连接到AC电源。
此外,图8还示出了PCD 800还可以包括网络卡388,后者可以用于访问数据网络(例如,局域网、个域网或者任何其它网络)。网络卡388可以是蓝牙网络卡、WiFi网络卡、个域网(PAN)卡、个域网超低功率技术(PeANUT)网络卡、电视/电缆/卫星调谐器、或者本领域公知的任何其它网络卡。此外,网络卡388可以并入到芯片中(即,网络卡388可以是芯片中的完整解决方案,其可以不是单独的网络卡388)。
参见图8,应当理解的是,存储器144、RAM卡105、触摸屏显示器806、视频端口338、USB端口342、照相机348、第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声耳机366、RF开关370、RF天线372、键盘374、单声道耳机376、振动器378和电源188,可以在片上系统103之外。
本说明书所描述的处理或者处理流程中的某些步骤,自然地在本发明的其它步骤之前来实现如上所述的功能。但是,本发明并不限于这些所描述的步骤的顺序,如果这种顺序或者序列并不改变本发明的功能的话。也就是说,应当认识到,在不脱离本发明的保护范围或者精神的基础上,一些步骤可以在其它步骤之前执行、之后执行或者并行地执行(基本同时地执行)。在一些实例中,在不脱离本发明的基础上,可以省略或者不执行某些步骤。此外,诸如“其后”、“转而”、“接着”等等之类的词语,并不旨在限制这些步骤的顺序。这些词语仅仅只是用于引导读者遍历该示例性方法的描述。
另外,编程领域的普通技术人员能够编写计算机代码或者识别适当的硬件和/或电路,以便例如基于本说明书中的流程图和相关联的描述,没有困难地实现所公开的发明内容。
因此,对于充分地理解如何利用和使用本发明来说,并不认为是必需要公开特定的程序代码指令集或者详细的硬件设备。在上面的描述中,结合描绘各个处理流程的附图,来更详细地解释所主张的计算机实现的处理的创新型功能。
在一个或多个示例性方面,本文所描述功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括有助于将计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是计算机能够存取的任何可用介质。举例而言但非做出限制,这种计算机可读介质可以包括RAM、ROM、EEPROM、NAND flash、NORflash、M-RAM、P-RAM、R-RAM、CD-ROM或者其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。
此外,可以将任何连接适当地称作计算机可读介质。举例而言,如果软件是使用同轴电缆、光纤电缆、双绞线、数字用户线路(“DSL”)或者诸如红外线、无线和微波之类的无线技术从网站、服务器或其它远程源传输的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所述介质的定义中。
如本文所使用的,磁盘(disk)和光盘(disc)包括压缩光盘(“CD”)、激光光盘、光盘、数字通用光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的保护范围之内。
对于本发明相关领域的任何普通技术人员来说,替代实施例将变得显而易见,而不脱离其精神和保护范围。因此,虽然本文详细地描绘和描述了选定的方面,但应当理解的是,可以在不脱离本发明的精神和保护范围的基础上,对其做出各种替代和改变,如所附权利要求书所规定的。
Claims (30)
1.一种用于在便携式计算设备中的异构处理器簇架构中调度任务的方法,所述方法包括:
在异构处理器簇架构中的第一处理器簇中的第一处理器上运行任务,其中所述异构处理器簇架构包括具有第一共享高速缓存的所述第一处理器簇和具有第二共享高速缓存的第二处理器簇;
在所述任务在所述第一处理器簇中的所述第一处理器上运行的同时,对所述第一处理器的处理器工作负荷和与所述第一共享高速缓存相关联的高速缓存需求进行监测;以及
基于所述处理器工作负荷和所述高速缓存需求,将所述任务迁移到所述第二处理器簇。
2.根据权利要求1所述的方法,其中,所述第一处理器包括与所述第一共享高速缓存进行通信的专用高速缓存未命中计数器。
3.根据权利要求1所述的方法,其中,所述第一处理器簇和所述第二处理器簇中的每一个处理器都包括专用高速缓存未命中计数器,以便响应于来自相应的处理器的读操作和写操作,从相应的所述第一共享高速缓存和所述第二共享高速缓存接收高速缓存未命中信号。
4.根据权利要求3所述的方法,其中,使用来自每个处理器的所述专用高速缓存未命中计数器的所述高速缓存未命中信号,来确定每任务高速缓存未命中率。
5.根据权利要求1所述的方法,其中,基于所述处理器工作负荷和所述高速缓存需求,将所述任务迁移到所述第二处理器簇包括:确定所述第一处理器的高速缓存未命中率超过门限。
6.根据权利要求1所述的方法,其中,将所述任务迁移到所述第二处理器簇包括:计算所述处理器工作负荷和所述高速缓存需求的加权和。
7.根据权利要求1所述的方法,其中,所述处理器工作负荷包括与下面各项中的一项或多项有关的信息:每时钟的指令数量、每单位时间的指令数量、频率级别和处理器活动持续时间百分比,并且所述高速缓存需求输入包括与下面各项中的一项或多项有关的信息:高速缓存未命中的数量、高速缓存访问的数量、高速缓存未命中率、以及由于高速缓存未命中而导致的处理器停滞时间或者处理器停滞的数量。
8.根据权利要求1所述的方法,其中,所述异构处理器簇架构包括“big.LITTLE”异构架构,在该“big.LITTLE”异构架构中,与包括所述第二处理器簇的一个或多个处理器内核相比,所述第一处理器簇包括具有更低功率的一个或多个处理器内核,并且其中,所述第一共享高速缓存具有比所述第二共享高速缓存更小的大小。
9.一种用于在便携式计算设备中的异构处理器簇架构中调度任务的系统,所述系统包括:
用于在异构处理器簇架构中的第一处理器簇中的第一处理器上运行任务的单元,其中所述异构处理器簇架构包括具有第一共享高速缓存的所述第一处理器簇和具有第二共享高速缓存的第二处理器簇;
用于在所述任务在所述第一处理器簇中的所述第一处理器上运行的同时,对所述第一处理器的处理器工作负荷和与所述第一共享高速缓存相关联的高速缓存需求进行监测的单元;以及
用于基于所述处理器工作负荷和所述高速缓存需求,将所述任务迁移到所述第二处理器簇的单元。
10.根据权利要求9所述的系统,还包括:
用于统计高速缓存未命中的数量的单元,其中,所述高速缓存未命中涉及针对所述第一共享高速缓存的读操作和写操作。
11.根据权利要求9所述的系统,其中,所述第一处理器簇和所述第二处理器簇中的每一个处理器都包括:用于响应于来自所述相应的处理器的读操作和写操作,从所述相应的第一共享高速缓存和第二共享高速缓存接收高速缓存未命中信号的单元。
12.根据权利要求11所述的系统,还包括:
用于基于所接收的高速缓存未命中信号,确定每任务高速缓存未命中率的单元。
13.根据权利要求9所述的系统,其中,用于基于所述处理器工作负荷和所述高速缓存需求将所述任务迁移到所述第二处理器簇的单元包括:用于确定所述第一处理器的高速缓存未命中率超过门限的单元。
14.根据权利要求9所述的系统,其中,所述处理器工作负荷包括与下面各项中的一项或多项有关的信息:每时钟的指令数量、每单位时间的指令数量、频率级别和处理器活动持续时间百分比,并且所述高速缓存需求输入包括与下面各项中的一项或多项有关的信息:高速缓存未命中的数量、高速缓存访问的数量、高速缓存未命中率、以及由于高速缓存未命中而导致的处理器停滞时间或者处理器停滞的数量。
15.根据权利要求9所述的系统,其中,所述异构处理器簇架构包括“big.LITTLE”异构架构,在该“big.LITTLE”异构架构中,与包括所述第二处理器簇的一个或多个处理器内核相比,所述第一处理器簇包括具有更低功率的一个或多个处理器内核,并且其中,所述第一共享高速缓存具有比所述第二共享高速缓存更小的大小。
16.一种体现在计算机可读介质中并可由处理器执行以用于在便携式计算设备中的异构处理器簇架构中调度任务的计算机程序,所述计算机程序包括配置为执行以下操作的逻辑:
在异构处理器簇架构中的第一处理器簇中的第一处理器上执行任务,其中所述异构处理器簇架构包括具有第一共享高速缓存的所述第一处理器簇和具有第二共享高速缓存的第二处理器簇;
在所述任务在所述第一处理器簇中的所述第一处理器上执行的同时,对所述第一处理器的处理器工作负荷和与所述第一共享高速缓存相关联的高速缓存需求进行监测;以及
基于所述处理器工作负荷和所述高速缓存需求,将所述任务迁移到所述第二处理器簇。
17.根据权利要求16所述的计算机程序,其中,所述第一处理器包括与所述第一共享高速缓存进行通信的专用高速缓存未命中计数器。
18.根据权利要求16所述的计算机程序,其中,所述第一处理器簇和所述第二处理器簇中的每一个处理器都包括专用高速缓存未命中计数器,以响应于来自相应的处理器的读操作和写操作,从相应的所述第一共享高速缓存和所述第二共享高速缓存接收高速缓存未命中信号。
19.根据权利要求18所述的计算机程序,还包括:
被配置为基于来自所述专用高速缓存未命中计数器的所述高速缓存未命中信号来确定每任务高速缓存未命中率的逻辑。
20.根据权利要求16所述的计算机程序,其中,被配置为基于所述处理器工作负荷和所述高速缓存需求来将所述任务迁移到所述第二处理器簇的所述逻辑包括:被配置为确定所述第一处理器的高速缓存未命中率超过门限的逻辑。
21.根据权利要求16所述的计算机程序,其中,所述处理器工作负荷包括与下面各项中的一项或多项有关的信息:每时钟的指令数量、每单位时间的指令数量、频率级别和处理器活动持续时间百分比,并且所述高速缓存需求输入包括与下面各项中的一项或多项有关的信息:高速缓存未命中的数量、高速缓存访问的数量、高速缓存未命中率、以及由于高速缓存未命中而导致的处理器停滞时间或者处理器停滞的数量。
22.根据权利要求16所述的计算机程序,其中,所述异构处理器簇架构包括“big.LITTLE”异构架构,在该“big.LITTLE”异构架构中,与包括所述第二处理器簇的一个或多个处理器内核相比,所述第一处理器簇包括具有更低功率的一个或多个处理器内核,并且其中,所述第一共享高速缓存具有比所述第二共享高速缓存更小的大小。
23.一种用于在便携式计算设备中的异构处理器簇架构中调度任务的系统,所述系统包括:
第一处理器簇包括第一共享高速缓存;
第二处理器簇包括第二共享高速缓存;以及
与所述第一处理器簇和所述第二处理器簇进行通信的控制器,以执行所述第一处理器簇和所述第二处理器簇之间的任务迁移,所述控制器被配置为:
发起任务在所述第一处理器簇中的第一处理器上的执行;
在所述任务在所述第一处理器簇中的所述第一处理器上运行的同时,对所述第一处理器的处理器工作负荷和与所述第一共享高速缓存相关联的高速缓存需求进行监测;以及
基于所述处理器工作负荷和所述高速缓存需求,将所述任务迁移到所述第二处理器簇。
24.根据权利要求23所述的系统,其中,所述第一处理器包括与所述第一共享高速缓存进行通信的专用高速缓存未命中计数器。
25.根据权利要求23所述的系统,其中,所述第一处理器簇和所述第二处理器簇中的每一个处理器都包括专用高速缓存未命中计数器,以用于响应于来自相应的处理器的读操作和写操作,从相应的所述第一共享高速缓存和所述第二共享高速缓存接收高速缓存未命中信号。
26.根据权利要求25所述的系统,其中,所述控制器还被配置为:基于从所述专用高速缓存未命中计数器接收的所述高速缓存未命中信号,来确定每任务高速缓存未命中率。
27.根据权利要求23所述的系统,其中,所述控制器还被配置为:计算所述处理器工作负荷和所述高速缓存需求的加权和。
28.根据权利要求23所述的系统,其中,所述处理器工作负荷包括与下面各项中的一项或多项有关的信息:每时钟的指令数量、每单位时间的指令数量、频率级别和处理器活动持续时间百分比,所述高速缓存需求输入包括与下面各项中的一项或多项有关的信息:高速缓存未命中的数量、高速缓存访问的数量、高速缓存未命中率、以及由于高速缓存未命中而导致的处理器停滞时间或者处理器停滞的数量,并且所述异构处理器簇架构包括“big.LITTLE”异构架构,在该“big.LITTLE”异构架构中,与包括所述第二处理器簇的一个或多个处理器内核相比,所述第一处理器簇包括具有更低功率的一个或多个处理器内核,并且其中,所述第一共享高速缓存具有比所述第二共享高速缓存更小的大小。
29.根据权利要求28所述的系统,其中,所述处理器内核包括图形处理单元(GPU)和中央处理单元(CPU)中的一个。
30.根据权利要求23所述的系统,其中,所述便携式通信设备包括智能电话和平板计算机中的一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/807,840 US9626295B2 (en) | 2015-07-23 | 2015-07-23 | Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring |
US14/807,840 | 2015-07-23 | ||
PCT/US2016/039432 WO2017014913A1 (en) | 2015-07-23 | 2016-06-24 | Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107851040A true CN107851040A (zh) | 2018-03-27 |
Family
ID=56373153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680042745.1A Pending CN107851040A (zh) | 2015-07-23 | 2016-06-24 | 用于使用高速缓存需求监视在异构处理器簇架构中调度任务的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9626295B2 (zh) |
CN (1) | CN107851040A (zh) |
WO (1) | WO2017014913A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389856A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 用于迁移数据的方法、设备和计算机程序产品 |
CN110928658A (zh) * | 2019-11-20 | 2020-03-27 | 湖南大学 | 一种车边云协同架构的协同任务迁移系统及算法 |
CN111597042A (zh) * | 2020-05-11 | 2020-08-28 | Oppo广东移动通信有限公司 | 业务线程运行方法、装置、存储介质及电子设备 |
CN112540934A (zh) * | 2020-12-14 | 2021-03-23 | 山东师范大学 | 保证多个延迟关键程序共同执行时服务质量的方法及系统 |
CN116755864A (zh) * | 2023-08-14 | 2023-09-15 | 南京翼辉信息技术有限公司 | 一种避免大小核处理器激进迁移的控制方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9128779B1 (en) | 2014-07-31 | 2015-09-08 | Splunk Inc. | Distributed tasks for retrieving supplemental job information |
US10198262B2 (en) * | 2015-08-05 | 2019-02-05 | Sonicwall Inc. | Adaptive core grouping |
CN106708621B (zh) | 2015-11-16 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种获得应用集群容量的方法和装置 |
US10592279B2 (en) * | 2016-06-23 | 2020-03-17 | Advanced Micro Devices, Inc. | Multi-processor apparatus and method of detection and acceleration of lagging tasks |
US10108449B2 (en) * | 2016-09-13 | 2018-10-23 | Qualcomm Innovation Center, Inc. | Work item management among worker threads of a computing device |
US10386909B1 (en) * | 2016-09-28 | 2019-08-20 | Cadence Design Systems, Inc. | Method and system to mitigate large power load steps due to intermittent execution in a computation system |
US10719902B2 (en) * | 2017-04-17 | 2020-07-21 | Intel Corporation | Thread serialization, distributed parallel programming, and runtime extensions of parallel computing platform |
US10528118B2 (en) * | 2017-04-21 | 2020-01-07 | Intel Corporation | Dynamically power on/off register files during execution |
US10424040B2 (en) * | 2017-04-21 | 2019-09-24 | Intel Corporation | Dynamic allocation of cache based on instantaneous bandwidth consumption at computing devices |
US10503546B2 (en) | 2017-06-02 | 2019-12-10 | Apple Inc. | GPU resource priorities based on hardware utilization |
CN109144716A (zh) * | 2017-06-28 | 2019-01-04 | 中兴通讯股份有限公司 | 基于机器学习的操作系统调度方法及装置、设备 |
US11138037B2 (en) | 2017-11-02 | 2021-10-05 | Mediatek Inc. | Switch policy for hybrid scheduling in multi-processor systems |
US20190196969A1 (en) * | 2017-12-22 | 2019-06-27 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptive cache load balancing for ssd-based cloud computing storage system |
US10740157B2 (en) * | 2018-06-05 | 2020-08-11 | International Business Machines Corporation | Cache load balancing in a virtual input/output server |
US10795730B2 (en) | 2018-09-28 | 2020-10-06 | Apple Inc. | Graphics hardware driven pause for quality of service adjustment |
KR102552954B1 (ko) | 2018-11-07 | 2023-07-06 | 삼성전자주식회사 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 동작 방법 |
US11321134B2 (en) | 2019-05-31 | 2022-05-03 | Apple Inc. | Normalizing target utilization rates of a cross-application table of concurrently executing applications to schedule work on a command queue of a graphics processors |
KR20210007417A (ko) * | 2019-07-11 | 2021-01-20 | 삼성전자주식회사 | 멀티-코어 시스템 및 그 동작 제어 방법 |
CN110489356B (zh) * | 2019-08-06 | 2022-02-22 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN114787830A (zh) * | 2019-12-20 | 2022-07-22 | 惠普发展公司,有限责任合伙企业 | 异构集群中的机器学习工作负载编排 |
CN112783803B (zh) * | 2021-01-27 | 2022-11-18 | 湖南中科长星科技有限公司 | 一种计算机cpu-gpu共享缓存控制方法及系统 |
US20220308920A1 (en) * | 2021-03-29 | 2022-09-29 | Samsung Electronics Co., Ltd. | Task scheduling method, and computing device and application processor using the same |
CN114338079B (zh) * | 2021-11-24 | 2023-08-08 | 广东电网有限责任公司电力调度控制中心 | 一种基于数据安全交换的电力通信网络系统及方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604174B1 (en) * | 2000-11-10 | 2003-08-05 | International Business Machines Corporation | Performance based system and method for dynamic allocation of a unified multiport cache |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
CN101697225A (zh) * | 2009-09-24 | 2010-04-21 | 上海交通大学 | 基于arm和dsp异构双核处理器的图像融合系统和方法 |
CN101790709A (zh) * | 2007-08-27 | 2010-07-28 | 马维尔国际贸易有限公司 | 动态核心切换 |
CN101794271A (zh) * | 2010-03-31 | 2010-08-04 | 华为技术有限公司 | 多核内存一致性的实现方法和装置 |
US20110314225A1 (en) * | 2009-02-13 | 2011-12-22 | Kosuke Nishihara | Computational resource assignment device, computational resource assignment method and computational resource assignment program |
CN103365796A (zh) * | 2012-04-05 | 2013-10-23 | 西门子公司 | 通过优化缓存重用在多处理器共享存储器系统上体积绘制 |
CN103562870A (zh) * | 2011-05-11 | 2014-02-05 | 超威半导体公司 | 异构核心的自动加载平衡 |
CN103729248A (zh) * | 2012-10-16 | 2014-04-16 | 华为技术有限公司 | 一种基于缓存感知的确定待迁移任务的方法和装置 |
CN103955398A (zh) * | 2014-04-28 | 2014-07-30 | 浙江大学 | 一种基于处理器性能监控的虚拟机共生调度方法 |
CN103970580A (zh) * | 2014-05-05 | 2014-08-06 | 华中科技大学 | 一种面向多核集群的数据流编译优化方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996839B2 (en) | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
US20060168571A1 (en) | 2005-01-27 | 2006-07-27 | International Business Machines Corporation | System and method for optimized task scheduling in a heterogeneous data processing system |
KR101622168B1 (ko) | 2008-12-18 | 2016-05-18 | 삼성전자주식회사 | 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치 |
US8793686B2 (en) * | 2011-06-08 | 2014-07-29 | Microsoft Corporation | Operating system decoupled heterogeneous computing |
-
2015
- 2015-07-23 US US14/807,840 patent/US9626295B2/en not_active Expired - Fee Related
-
2016
- 2016-06-24 CN CN201680042745.1A patent/CN107851040A/zh active Pending
- 2016-06-24 WO PCT/US2016/039432 patent/WO2017014913A1/en active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6604174B1 (en) * | 2000-11-10 | 2003-08-05 | International Business Machines Corporation | Performance based system and method for dynamic allocation of a unified multiport cache |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
CN101790709A (zh) * | 2007-08-27 | 2010-07-28 | 马维尔国际贸易有限公司 | 动态核心切换 |
US20110314225A1 (en) * | 2009-02-13 | 2011-12-22 | Kosuke Nishihara | Computational resource assignment device, computational resource assignment method and computational resource assignment program |
CN101697225A (zh) * | 2009-09-24 | 2010-04-21 | 上海交通大学 | 基于arm和dsp异构双核处理器的图像融合系统和方法 |
CN101794271A (zh) * | 2010-03-31 | 2010-08-04 | 华为技术有限公司 | 多核内存一致性的实现方法和装置 |
CN103562870A (zh) * | 2011-05-11 | 2014-02-05 | 超威半导体公司 | 异构核心的自动加载平衡 |
CN103365796A (zh) * | 2012-04-05 | 2013-10-23 | 西门子公司 | 通过优化缓存重用在多处理器共享存储器系统上体积绘制 |
CN103729248A (zh) * | 2012-10-16 | 2014-04-16 | 华为技术有限公司 | 一种基于缓存感知的确定待迁移任务的方法和装置 |
CN103955398A (zh) * | 2014-04-28 | 2014-07-30 | 浙江大学 | 一种基于处理器性能监控的虚拟机共生调度方法 |
CN103970580A (zh) * | 2014-05-05 | 2014-08-06 | 华中科技大学 | 一种面向多核集群的数据流编译优化方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389856A (zh) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | 用于迁移数据的方法、设备和计算机程序产品 |
CN110928658A (zh) * | 2019-11-20 | 2020-03-27 | 湖南大学 | 一种车边云协同架构的协同任务迁移系统及算法 |
CN110928658B (zh) * | 2019-11-20 | 2024-03-01 | 湖南大学 | 一种车边云协同架构的协同任务迁移系统及算法 |
CN111597042A (zh) * | 2020-05-11 | 2020-08-28 | Oppo广东移动通信有限公司 | 业务线程运行方法、装置、存储介质及电子设备 |
CN112540934A (zh) * | 2020-12-14 | 2021-03-23 | 山东师范大学 | 保证多个延迟关键程序共同执行时服务质量的方法及系统 |
CN116755864A (zh) * | 2023-08-14 | 2023-09-15 | 南京翼辉信息技术有限公司 | 一种避免大小核处理器激进迁移的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2017014913A1 (en) | 2017-01-26 |
US20170024316A1 (en) | 2017-01-26 |
US9626295B2 (en) | 2017-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107851040A (zh) | 用于使用高速缓存需求监视在异构处理器簇架构中调度任务的系统和方法 | |
CN107111553B (zh) | 用于在多集群异构处理器架构中提供动态高速缓存扩展的系统和方法 | |
CN106170743B (zh) | 多处理器片上系统中的能效感知热管理的方法和系统 | |
CN100594498C (zh) | 海量数据实时处理架构及用于该架构的实时随需处理平台 | |
Khoda et al. | Efficient computation offloading decision in mobile cloud computing over 5G network | |
Xu et al. | Dynamic resource provisioning for workflow scheduling under uncertainty in edge computing environment | |
US8643656B2 (en) | Energy-aware task consolidation on graphics processing unit (GPU) | |
CN105359057B (zh) | 设置计算机参数使得电源工作在基于电源的功率效率峰值的范围内 | |
Yi et al. | Toward efficient compute-intensive job allocation for green data centers: A deep reinforcement learning approach | |
CN102812439B (zh) | 用于在多处理器计算机系统中分派任务的方法和系统 | |
JP2001229040A (ja) | 分散型処理システムのためのインテリジェント電力管理方法および装置 | |
US20100106436A1 (en) | Power consumption calculation facility | |
US20210011764A1 (en) | Workload/processor resource scheduling system | |
CN113535409A (zh) | 一种面向能耗优化的无服务器计算资源分配系统 | |
He et al. | Server configuration optimization in mobile edge computing: A cost‐performance tradeoff perspective | |
CN102457578A (zh) | 一种基于事件机制的分布式网络监控方法 | |
Liu et al. | Online job scheduling scheme for low-carbon data center operation: An information and energy nexus perspective | |
Kumar et al. | A Hybrid Eagle’s Web Swarm Optimization (EWSO) technique for effective cloud resource management | |
Huang et al. | An integrated cloud-edge-device adaptive deep learning service for cross-platform web | |
US20240231901A9 (en) | Job processing method and apparatus, computer device, and storage medium | |
CN103377089A (zh) | 处理器群的基于负载的编程管理方法和系统 | |
Yang et al. | Study on static task scheduling based on heterogeneous multi-core processor | |
CN116340393A (zh) | 数据库饱和度的预测方法、存储介质及数据库系统 | |
Ji et al. | Research on task scheduling and concurrent processing technology for energy internet operation platform | |
Zhang et al. | Two-level task scheduling with multi-objectives in geo-distributed and large-scale SaaS cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20211026 |