CN101847128A - 管理tlb的方法和装置 - Google Patents

管理tlb的方法和装置 Download PDF

Info

Publication number
CN101847128A
CN101847128A CN200910127588A CN200910127588A CN101847128A CN 101847128 A CN101847128 A CN 101847128A CN 200910127588 A CN200910127588 A CN 200910127588A CN 200910127588 A CN200910127588 A CN 200910127588A CN 101847128 A CN101847128 A CN 101847128A
Authority
CN
China
Prior art keywords
priority
tlb
attribute
subclauses
job assignment
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
Application number
CN200910127588A
Other languages
English (en)
Inventor
侯锐
王鲲
常晓涛
刘卫
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200910127588A priority Critical patent/CN101847128A/zh
Priority to US12/725,513 priority patent/US8447951B2/en
Publication of CN101847128A publication Critical patent/CN101847128A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及管理TLB的方法和装置。具体地,提供一种管理TLB的方法,所述TLB由多个作业共享使用,所述方法包括:获得所述多个作业中的每个作业的至少一个属性;根据所述每个作业的至少一个属性为每个作业分配优先级;以及根据每个作业的优先级管理每个作业所涉及的TLB条目。本发明还提供了与上述方法相对应的装置。通过本发明的方法和装置,能够使得共享的TLB得到高效的利用。

Description

管理TLB的方法和装置
技术领域
本发明涉及旁路转换缓冲器(TLB),更具体地,涉及对共享的旁路转换缓冲器进行管理的方法和装置。
背景技术
出于对处理大量信息的需要,人们对处理器的速度要求越来越高。为了不断提高处理速度,处理系统也由传统的单核处理器扩展到多核系统,也就是,由多个CPU内核共同进行数据信息的处理。近来,还提出了异构多核处理系统。异构多核的方案是将多核架构从通用的对等设计迁移到“主核心+协处理器”的非对等设计,亦即处理器中有一个或多个通用核心承担通用计算,其他专用计算由专用的硬件核心,即协处理器来完成,由此实现处理器执行效率和最终性能的大幅度跃进。
图1示出一个异构多核系统的结构示意图。如图1所示,处理系统中包含4个CPU内核,或称主核心,和4个协处理器,主核心和协处理器之间通过接口和总线连接。其中4个内核用于执行所有的通用任务以及对特殊任务的分派,4个协处理器用于执行分派的特殊任务。作为专用硬件逻辑,依照应用的不同,协处理器可以是例如各种类型的数字信号处理器DSP。例如,这些DSP类型可以是Java解释器、MPEG视频引擎、加密/解密处理器等等。在处理专门任务时,协处理器的效能远优于通用核心,功耗也低得多。基于这样的异构设计,处理器系统可以将高负载的专用作业交给协处理器执行,这样主核心的运算压力就大大减轻,系统整体效能将获得明显提升。
与常规处理一样,在执行各种任务处理时,协处理器也要利用旁路转换缓冲器TLB(translation look-aside buffer)来进行数据的存取。TLB是处理器中的一部分高速缓存,用于存储进行数据处理时所使用的一些页表项,这些页表项用于实现地址的映射和转换。具体地,TLB中包含多个条目,每一条目存储一条虚拟地址和存储器的物理地址的映射关系。由于主核心执行大量的通用计算,逻辑相对复杂,因此,每个内核维持有自己的TLB。而对于协处理器,一方面,协处理器一侧需要维持自己的TLB,以避免每次存取数据时都要通过总线到内核中查找TLB条目造成的性能降低;另一方面,协处理器执行相对单一的运算,逻辑相对简单,因此,多个协处理器可以共享地使用一个TLB以节省资源。因此,可以在多个协处理器共同连接的接口中嵌入一个TLB,这个TLB由连接到这个接口的多个协处理器所共享。
在主核心指示协处理器执行一项作业(job)时,通常来说,主核心要将这项作业中所涉及的数据的地址对应关系写入协处理器所使用的TLB中,这可以称为TLB的初始化。之后,主核心准备好数据,就可以启动协处理器执行数据处理了。这样,协处理器根据主核心的指令,利用主核心写入的TLB条目存取数据,执行特定的数据处理任务。在许多情况下,协处理器往往要分时地处理多个作业,或者一个作业队列。此外,如上所述,一个TLB可以由多个协处理器所共享。这就形成多个协处理器利用一个TLB处理多个作业的情况。
图2示出多个协处理器共享一个TLB的示意图。如图所示,三个协处理器共同使用一个TLB执行数据处理。其中每个协处理器又示例性地分时处理一个作业队列。因此,三个协处理器处理的所有这些作业中涉及的地址对应关系都要使用共同的一个TLB来存储。然而,众所周知,TLB中的条目是非常有限的,因此这就带来如何管理和分配这些条目,使得该TLB能够更加有效地被分享使用的问题。
发明内容
考虑到上述问题,本发明提供一种管理共享的旁路转换缓冲器(TLB)的方法和装置,以实现对共享TLB条目的有效管理。
具体地,根据本发明第一方面,提供一种管理TLB的方法,所述TLB由多个作业共享使用,所述方法包括:获得所述多个作业中的每个作业的至少一个属性;根据所述每个作业的至少一个属性为每个作业分配优先级;以及根据每个作业的优先级管理每个作业所涉及的TLB条目。
根据本发明第二方面,提供一种管理TLB的装置,所述TLB由多个作业共享使用,所述装置包括:属性获取单元,被配置为获得所述多个作业中的每个作业的至少一个属性;优先级分配单元,被配置为根据所述每个作业的至少一个属性为每个作业分配优先级;以及管理单元,被配置为根据每个作业的优先级管理每个作业所涉及的TLB条目。
利用本发明提供的方法和装置,能够根据各种作业的属性来决定哪些作业涉及的TLB条目应该保留,哪些作业涉及的条目可以清空,从而对多个协处理器共享的TLB进行有效管理,提高共享TLB的可用性。
附图说明
图1示出一个异构多核系统的结构示意图;
图2示出多个协处理器共享一个TLB的示意图;
图3示出根据本发明一个实施例管理共享的TLB的方法流程图;
图4示出根据本发明一个实施例的属性列表的示意图;
图5是示出根据本发明一个具体实施例的优先级分配方案的示意图表;
图6示出根据本发明一个实施例的管理TLB条目的流程图;
图7示出根据本发明一个实施例的TLB条目分配和管理状况;以及
图8示出根据本发明一个实施例的管理TLB的装置的结构示意图。
具体实施方式
下面结合附图说明本发明的具体实施方式。
图3示出根据本发明一个实施例管理共享的TLB的方法流程图。该实施例的方法设计用于图2所示的情形,也就是,多个协处理器共享地使用一个TLB执行多个作业。为了对这样的TLB进行管理,如图所示,该方法包括以下的步骤:在步骤302,获得每个作业的至少一个属性;在步骤304,根据每个作业的所述属性为每个作业分配优先级;以及在步骤306,根据每个作业的优先级管理每个作业所涉及的TLB条目。
具体地,在步骤302,获得共享TLB的每个作业的属性,该属性可以与每个作业占用TLB条目的方式、时间、状态等因素相关。例如,在一个具体实施例中,上述作业的属性包括作业的执行状态,也就是,执行完毕、正在执行或是挂起(suspend)。其中,挂起是指一个作业因为TLB匹配不命中(TLB miss)、缓存溢出等原因造成的异常中断。此时,这个作业还没有执行完毕,只是暂时中断执行;一旦恢复或者获取到需要的页表项,这项作业就会继续执行。对于这样的作业属性,在步骤302中获取该属性的方式可以是动态运行库(runtime library)动态监视并设置获得各个作业的执行状态。
在另一个具体实施例中,上述作业的属性还包括作业的执行方式。该执行方式主要是该作业执行期间占用和访问TLB条目的方式,包括固定模式和动态变化模式。具体地,一部分作业在进行数据处理时,会固定地使用同样的一部分虚拟地址,从而访问同一部分TLB条目,这样的作业就可以被称为执行方式为固定模式的作业。在网络处理所涉及的作业中,大部分作业都是使用固定的TLB条目进行数据处理的,因此,都可以被认为是以固定模式执行的作业。另一部分作业在进行数据处理时,动态地使用不同的虚拟地址,变动地访问不同的TLB条目,这样的作业可以被称为执行方式为动态变化模式的作业。
为了获取作业的执行方式,在一种实施例中,为用户,这里主要是作业的制定者,例如程序员,提供一个应用程序接口,使得程序员能够在作业描述,例如程序中定义作业的执行方式。在这种情况下,可以通过读取用户的定义而获得作业的执行方式。在另一种实施例中,可以获取一个作业在一段时间内执行的次数m,以及在这m次执行中初始化TLB的次数n。如上所述,在主核心指示协处理器执行一项作业时,需要将这项作业中所涉及的数据的地址对应关系写入协处理器所使用的TLB中,也就是要执行一次TLB的初始化。但是,如果每次执行这项作业所需要的地址对应关系,或者TLB是相同的,那么下次执行这项作业时,就不必再次初始化TLB。也就是说,对于在多次执行中倾向于使用同样的TLB条目的作业,也就是倾向于以固定模式访问TLB的作业,初始化TLB的“频率”相对较低。因此,在获得执行次数m和初始化次数n的基础上,可以很容易地获得该作业在m次执行中初始化TLB的“频率”n/m。将该频率与预先设定的阈值或参考值进行比较,就可以分析出该作业执行的方式。可以理解,还可以将该分析方法与允许用户定义的方法结合起来,由此获得作业的执行方式。
在其他实施例中,上述作业的属性还包括作业最后一次执行的时间、作业执行的频率等。其中,作业的执行频率可以通过监视在过去的一段时间,例如10分钟或半个小时之内该作业执行的次数而获得。
在一个实施例中,各个作业的属性被记录在一个属性列表中。在步骤302中,从该列表选择性地读取需要的属性。图4示出根据本发明一个实施例的属性列表的示意图。如图4所示,该属性列表记录了每个作业所对应的执行状态、执行方式、使用的TLB条目以及最后执行时间。利用这样的属性列表,可以简单清楚地获得每个作业的属性信息,例如,作业1目前已经执行完毕,执行方式为固定模式,涉及的TLB条目为条目3-6,最后一次执行的时间为时刻1;作业2被挂起,执行方式为动态可变方式,涉及的条目为8-10,等等。
可以理解,在以上列出的属性中,在步骤302中可以选择性地获取以上这些属性的一部分或者全部。并且,本领域技术人员能够想到,可以获取作业的更多属性用来满足后续分析的需要,例如作业执行一次的平均需要时间、作业之间的相关性等等。
在获得了作业属性的基础上,本实施例的方法前进至步骤304,根据每个作业的属性为每个作业分配优先级。
在一种实施方式中,为执行方式为固定模式的作业分配比动态变化模式的作业更高的优先级。在另一实施方式中,为执行状态为挂起的作业分配较高的优先级。还可以将上述两种实施方式中的优先级分配方案相结合。
图5是示出根据本发明一个具体实施例的优先级分配方案的示意图表。该图表的第一列记录共享同一个TLB的多个作业的作业ID,第二列记录各个作业的执行状态,第三列记录各个作业的执行方式,第四列记录根据第三列和第四列的信息为每个作业分配的优先级。在该实施例中,首先判断作业的执行状态,为正在执行的作业分配最高的优先级,而不论其执行方式。因此,处于执行状态的作业1和作业2都具有第一优先级。然后,为挂起的作业分配较高的优先级。对于均处在挂起状态的作业3和作业4来说,为了区分其优先级的不同,进一步判断其执行方式,为执行方式为固定模式的作业分配比动态可变模式的作业更高的优先级。因此,具有固定模式的作业3的优先级要高于动态可变模式的作业4。从而,作业3处于第二优先级,作业4处于第三优先级。最后,已经执行完毕的作业具有较低的优先级。同样地,为了进一步区分多个执行完毕的作业的优先级,也可以根据这些作业的执行方式进行进一步分配。因此,具有固定模式的作业5处于第四优先级,具有动态可变模式的作业6处于最后的第五优先级。
在图5所示的优先级分配中,按照执行状态和执行方式为每个作业分配了一定的优先级。然而,存在这样一种可能,即多个作业处于相同的优先级,例如,存在多个已经执行完毕的作业,这些作业均以固定模式共享使用一个TLB。而另一方面,为了后续管理TLB条目的需要,有可能需要进一步对这样的作业进行区分,使得每个作业具有不同的优先级,尤其是针对处于较低优先级的作业。基于这样的考虑,可以在图5的优先级分配的基础上,考虑作业的其他属性,对处于同一优先级的作业进行进一步区分。
在一个实施例中,对于具有相同执行状态和执行方式的作业,进一步考虑其最后一次执行时间。具体地,在一个例子中,为最后一次执行时间较晚的作业分配较高的优先级。由于不同的作业最后一次执行时间不同,因此,通过这种方式,不同的作业得到优先级上的区分。
在另一个实施例中,对于其他属性相同的作业,进一步考虑其执行频率。例如,在一个例子中,job A和job B具有相同执行方式,但是在最近的30分钟之内,job A执行了10000次,job B执行了10次。那么可以认为,job A潜在的再执行可能性要高于job B,因此,为job A分配更高的优先级。也就是说,为执行频率较高的作业分配较高的优先级。
如前所述,除了用户的定义之外,还可以通过分析作业执行中初始化TLB的频率来确定作业的执行方式。因此,即使两个作业都被设定为固定模式,或者通过上述分析确定为固定模式,其初始化TLB的频率仍然可能是不同的,也就是说,倾向于固定模式的程度可能不同。该频率或者程度也可以作为一个属性,用于对作业的优先级进行进一步区分。具体地,可以为初始化TLB频率较低的作业分配较高的优先级。
可以理解,本领域技术人员能够根据需要对上述优先级分配方式进行选择,结合以及扩展,在以上描述的具体实施例的基础上采用适当的方式进行优先级的分配。典型地,为作业分配的优先级在某一方面反映该作业再次执行的潜在可能性。
在为各个作业分配了优先级的基础上,本实施例的方法前进至步骤306,根据每个作业的优先级管理每个作业所涉及的TLB条目。具体地,保留具有较高优先级的作业所涉及的TLB条目,释放具有较低优先级的作业所涉及的TLB条目。
图6示出根据本发明一个实施例的管理TLB条目的流程图。如图所示,首先在步骤602,一项新作业请求使用TLB条目。接着在步骤604,判断TLB中可用的条目是否足够该新作业使用。如果可用条目是足够的,那么前进至步骤606,为新作业分配其请求的条目。如果当前可用条目不能满足新作业的需要,那么前进至步骤608,释放优先级最低的作业所使用的TLB条目。这样,该优先级最低的作业所占用的条目现在就变得可用了。于是,回到步骤604,再次进行判断。这样,依次释放优先级最低的作业所占用的条目,直到足够新作业使用为止。
下面结合图7的具体实施例说明上述管理过程。图7示出根据本发明一个实施例的TLB条目分配和管理状况。如图7(a)所示,该实施例中的TLB包括15个条目,其中条目1-3已经分配给作业1,且该作业1具有第一优先级;条目6-9分配给了作业2,该作业2具有第三优先级;条目10-12分配给了具有第四优先级的作业3,条目13-15分配给了具有第二优先级的作业4。作业1-4可以是来自不同协处理器的作业。假定现在主核心指示某一协处理器执行一个新的作业,作业n,该作业n需要使用4个TLB条目。可以看到,由于多个协处理器的多个作业的共享使用,TLB目前只有条目4-5是可用的,其他条目已经分配给了不同的作业。然而这两个条目并不能完全满足作业n对条目的需要。根据前述的优先级分配方案可以看到,潜在具有较低的再次执行可能性的作业被分配了较低的优先级。因此,在新的作业请求使用TLB条目的情况下,可以优先把具有较低优先级的作业所占用的TLB条目释放出来,以分配给新的作业。在图7(a)的TLB占用状况中,占用条目10-12的作业3具有相对最低的优先级,即第四优先级。因此,可以将作业3涉及的条目释放出来,供新的作业n使用。这样,作业n可以使用原有可用的条目4-5以及释放的条目10-12来保存所需要的数据的地址映射关系,如图7(b)所示。同时,作业n的属性也被分析和记录,并基于该属性被分配优先级,以作为接下来释放TLB条目顺序的参考。
在另一个具体实施例中,释放一个最低优先级的作业所占用的条目并不能满足新的作业的需要。这时,就按照优先级从低到高的顺序依次释放多个较低优先级的作业,直到释放的条目足够新的作业的使用需要。
在一个实施例中,在新的作业的请求下,TLB中只有第一优先级的作业,即正在执行的作业所使用的条目没有释放。这时,为了避免正在执行的作业出现执行错误,可以要求该新的作业进行等待,直到某些作业因为执行完毕、挂起等原因优先级降低。也就是说,在该实施例中,在按照优先级顺序释放TLB条目的基础上,始终保留第一优先级的作业所使用的条目。
如上所述,参考作业的属性所设定的优先级能够在某一方面反映该作业再次执行的可能性。优先级越高,近期之内再次执行的可能性越高。因此,按照优先级的从低到高的顺序释放TLB条目能够使得该共享的TLB得到有效的利用。本领域技术人员能够在上述具体描述的实施例的基础上,根据具体的作业和TLB条目状态,分配优先级,并根据优先级对TLB条目进行管理。
基于同一发明构思,本发明还提供管理共享的TLB的装置。图8示出根据本发明一个实施例的管理TLB的装置的结构示意图。该装置总体由数字800标识,用于管理由多个协处理器共享的TLB,所述多个协处理器共享地使用该TLB来执行多个作业。如图8所示,该装置800包括:属性获取单元802,被配置为获得每个作业的至少一个属性;优先级分配单元804,被配置为根据每个作业的属性为每个作业分配优先级;以及管理单元806,被配置为根据每个作业的优先级管理每个作业所涉及的TLB条目。
具体地,属性获取单元802用于获得共享TLB的每个作业的属性,该属性可以与每个作业占用TLB条目的方式、时间、状态等因素相关。例如,在一个具体实施例中,上述作业的属性包括作业的执行状态,也就是,执行完毕、正在执行或是挂起。对于这样的作业属性,属性获取单元802可以监视运行时runtime下的库,从而获得各个作业的执行状态。
在另一个具体实施例中,上述作业的属性还包括作业的执行方式。该执行方式主要是该作业执行期间占用和访问TLB条目的方式,包括固定模式和动态变化模式。为了获取作业的执行方式,在一种实施例中,属性获取单元802包括一个应用程序接口,通过该接口,用户,例如程序员能够在作业描述,例如程序中定义作业的执行方式。在这种情况下,属性获取单元802通过读取用户的定义而获得作业的执行方式。在另一种实施例中,属性获取单元802可以获取一个作业在一段时间内执行的次数m,以及在这m次执行中初始化TLB的次数n。在此基础上,可以很容易地获得该作业在m次执行中初始化TLB的“频率”n/m。通过将该频率与预先设定的阈值或参考值进行比较,属性获取单元802就可以分析出该作业执行的方式。可以理解,属性获取单元802还可以将该分析方法与通过接口允许用户定义的方法结合起来,由此获得作业的执行方式。
在其他实施例中,上述作业的属性还包括作业最后一次执行的时间、作业执行的频率等。
在一个实施例中,属性获取单元802将各个作业的属性记录在一个属性列表中。该列表可以如图4所示。可以理解,在以上列出的属性中,属性获取单元802可以选择性地获取以上这些属性的一部分或者全部。
在获得了作业属性的基础上,优先级分配单元804根据每个作业的属性为每个作业分配优先级。
在一种实施方式中,优先级分配单元804为执行方式为固定模式的作业分配比动态变化模式的作业更高的优先级。在另一实施方式中,该单元804为执行状态为挂起的作业分配较高的优先级。还可以将上述两种实施方式中的优先级分配方案相结合。
对于处于同样的执行状态并具有同样的执行方式的多个作业,优先级分配单元804可以参照其他属性对其进行进一步区分。在一个实施例中,优先级分配单元804进一步考虑作业的最后一次执行时间。具体地,在一个例子中,为最后一次执行时间较晚的作业分配较高的优先级。由于不同的作业最后一次执行时间不同,因此,通过这种方式,不同的作业得到优先级上的区分。在另一个实施例中,对于其他属性相同的作业,优先级分配单元804进一步考虑其执行频率。具体地,认为执行频率较高的作业具有潜在更高的再次执行可能性,因此,为执行频率较高的作业分配更高的优先级。优先级分配单元804还可以进一步地利用其他属性,例如上述的TLB初始化频率对作业的优先级进行分配和区分。
优先级分配单元804将各个作业的优先级信息传递给管理单元806,使得管理单元806能够根据该优先级信息管理每个作业所涉及的TLB条目。具体地,管理单元806保留具有较高优先级的作业所涉及的TLB条目,释放具有较低优先级的作业所涉及的TLB条目。
在一个实施例中,当一项新的作业请求使用TLB条目时,管理单元806首先核查共享的TLB,确定是否存在足够的可用的TLB条目。如果已有足够的TLB条目可用,就将相应数目的可用条目分配给该新的作业。如果TLB中可用的条目不能满足新的作业的需要,那么管理单元806就将优先级最低的作业所使用的条目释放出来,使之成为可用条目,再次判断目前可用条目是否满足需要。如果仍然不能满足需要,管理单元806就按照优先级从低到高的顺序依次释放较低优先级的作业所涉及的条目,直到满足要求为止。在一个实施例中,在新的作业的请求下,TLB中只有第一优先级的作业,即正在执行的作业所使用的条目没有释放。这时,为了避免正在执行的作业出现执行错误,管理单元806可以要求该新的作业进行等待,直到某些作业的优先级降低。也就是说,在该实施例中,管理单元806在按照优先级顺序释放TLB条目的基础上,始终保留第一优先级的作业所使用的条目。
可以理解,图8所示的管理装置可以用于执行图3所示的管理共享TLB的方法。利用上述的方法和装置,能够使得共享的TLB中的条目得到有效的管理和高效的使用。
本领域技术人员可以理解,上述的管理方法及其管理装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本实施例的管理装置及其单元可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合实现。
虽然以上结合具体实施例,对本发明的管理共享的TLB的方法以及装置进行了详细描述,但本发明并不限于此。本领域普通技术人员能够在说明书教导之下对本发明进行多种变换、替换和修改而不偏离本发明的精神和范围,例如对属性的获取、优先级分配等进行扩展或变换,使其适用于其他情况。应该理解,所有这样的变化、替换、修改仍然落入本发明的保护范围之内。本发明的保护范围由所附权利要求来限定。

Claims (18)

1.一种管理旁路转换缓冲器TLB的方法,所述TLB由多个作业共享使用,所述方法包括:
获得所述多个作业中的每个作业的至少一个属性;
根据所述每个作业的至少一个属性为每个作业分配优先级;以及
根据每个作业的优先级管理每个作业所涉及的TLB条目。
2.如权利要求1的方法,其中所述至少一个属性包括以下属性中的至少一个:作业的执行状态,包括正在执行、执行完毕和挂起;作业执行方式,包括固定模式和动态变化模式;作业的执行频率;作业最后一次执行的时间。
3.如权利要求2的方法,其中获得所述至少一个属性的步骤包括读取由用户定义的作业执行方式。
4.如权利要求2的方法,其中获得所述至少一个属性的步骤包括监视作业执行期间初始化所述TLB的频率,分析得出作业执行方式。
5.如权利要求2的方法,其中为每个作业分配优先级的步骤包括:为执行方式为固定模式的作业分配比动态变化模式的作业更高的优先级。
6.如权利要求2的方法,其中为每个作业分配优先级的步骤包括:为执行状态为挂起的作业分配比执行完毕的作业更高的优先级。
7.如权利要求5或6的方法,其中为每个作业分配优先级的步骤包括:为执行频率较高的作业分配较高的优先级。
8.如权利要求5或6的方法,其中为每个作业分配优先级的步骤包括:为作业最后一次执行时间较晚的作业分配较高的优先级。
9.如权利要求1的方法,其中根据每个作业的优先级管理TLB条目的步骤包括:释放具有较低优先级的作业所涉及的TLB条目。
10.一种管理旁路转换缓冲器TLB的装置,所述TLB由多个作业共享使用,所述装置包括:
属性获取单元,被配置为获得所述多个作业中的每个作业的至少一个属性;
优先级分配单元,被配置为根据所述每个作业的至少一个属性为每个作业分配优先级;以及
管理单元,被配置为根据每个作业的优先级管理每个作业所涉及的TLB条目。
11.如权利要求10的装置,其中所述至少一个属性包括以下属性中的至少一个:作业的执行状态,包括正在执行、执行完毕和挂起;作业执行方式,包括固定模式和动态变化模式;作业的执行频率;作业最后一次执行的时间。
12.如权利要求11的装置,其中所述属性获取单元进一步被配置为读取由用户定义的作业执行方式。
13.如权利要求11的装置,其中所述属性获取单元进一步被配置为监视所述作业执行期间初始化所述TLB的频率,分析得出作业执行方式。
14.如权利要求11的装置,其中所述优先级分配单元进一步被配置为:为执行方式为动态变化模式的作业分配比固定模式的作业更高的优先级。
15.如权利要求11的装置,其中所述优先级分配单元进一步被配置为:为执行状态为挂起的作业分配比执行完毕的作业更高的优先级。
16.如权利要求14或15的装置,其中所述优先级分配单元进一步被配置为:为执行频率较高的作业分配较高的优先级。
17.如权利要求14或15的装置,其中所述优先级分配单元进一步被配置为:为作业最后一次执行时间较晚的作业分配较高的优先级。
18.如权利要求10的装置,其中管理单元被配置为:释放具有较低优先级的作业所涉及的TLB条目。
CN200910127588A 2009-03-23 2009-03-23 管理tlb的方法和装置 Pending CN101847128A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200910127588A CN101847128A (zh) 2009-03-23 2009-03-23 管理tlb的方法和装置
US12/725,513 US8447951B2 (en) 2009-03-23 2010-03-17 Method and apparatus for managing TLB

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910127588A CN101847128A (zh) 2009-03-23 2009-03-23 管理tlb的方法和装置

Publications (1)

Publication Number Publication Date
CN101847128A true CN101847128A (zh) 2010-09-29

Family

ID=42738622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910127588A Pending CN101847128A (zh) 2009-03-23 2009-03-23 管理tlb的方法和装置

Country Status (2)

Country Link
US (1) US8447951B2 (zh)
CN (1) CN101847128A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051054A (zh) * 2021-03-24 2021-06-29 依瞳科技(深圳)有限公司 调度人工智能平台资源的方法、设备和计算机可读存储介质
CN113138842A (zh) * 2021-03-05 2021-07-20 海能达通信股份有限公司 微服务集群的调度方法、装置及介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615636B2 (en) 2011-03-03 2013-12-24 International Business Machines Corporation Multiple-class priority-based replacement policy for cache memory
US10489220B2 (en) * 2017-01-26 2019-11-26 Microsoft Technology Licensing, Llc Priority based scheduling
US10659556B2 (en) * 2017-05-16 2020-05-19 Sap Se Progressive hybrid web application

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1213650A3 (en) * 2000-08-21 2006-08-30 Texas Instruments France Priority arbitration based on current task and MMU
US7460932B2 (en) 2005-11-29 2008-12-02 International Business Machines Corporation Support of deep power savings mode and partial good in a thermal management system
US7987464B2 (en) 2006-07-25 2011-07-26 International Business Machines Corporation Logical partitioning and virtualization in a heterogeneous architecture
US7921276B2 (en) * 2007-03-21 2011-04-05 Intel Corporation Applying quality of service (QoS) to a translation lookaside buffer (TLB)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113138842A (zh) * 2021-03-05 2021-07-20 海能达通信股份有限公司 微服务集群的调度方法、装置及介质
CN113138842B (zh) * 2021-03-05 2023-08-11 海能达通信股份有限公司 微服务集群的调度方法、装置及介质
CN113051054A (zh) * 2021-03-24 2021-06-29 依瞳科技(深圳)有限公司 调度人工智能平台资源的方法、设备和计算机可读存储介质
CN113051054B (zh) * 2021-03-24 2023-09-08 博瀚智能(深圳)有限公司 调度人工智能平台资源的方法、设备和计算机可读存储介质

Also Published As

Publication number Publication date
US20100241822A1 (en) 2010-09-23
US8447951B2 (en) 2013-05-21

Similar Documents

Publication Publication Date Title
US9032411B2 (en) Logical extended map to demonstrate core activity including L2 and L3 cache hit and miss ratio
US8595740B2 (en) Priority-based management of system load level
KR100942740B1 (ko) 스케줄 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 스케줄 제어 방법
US8656405B2 (en) Pulling heavy tasks and pushing light tasks across multiple processor units of differing capacity
US20110113215A1 (en) Method and apparatus for dynamic resizing of cache partitions based on the execution phase of tasks
CN103019810A (zh) 具有不同执行优先级的计算任务的调度和管理
CN101310257A (zh) 多处理器系统和用于使计算机执行多处理器系统的控制方法的程序
CN103198025A (zh) 用于近邻数据高速缓存共享的方法和系统
JP2012104140A (ja) 待機状態にあるプロセッサ実行リソースの共有
CN102566979A (zh) 实现自适应锁的方法和装置以及多核处理器系统
CN111324427B (zh) 一种基于dsp的任务调度方法及装置
US9727465B2 (en) Self-disabling working set cache
US9817754B2 (en) Flash memory management
CN108549574A (zh) 线程调度管理方法、装置、计算机设备和存储介质
US10768684B2 (en) Reducing power by vacating subsets of CPUs and memory
US8954969B2 (en) File system object node management
CN101847128A (zh) 管理tlb的方法和装置
US8862786B2 (en) Program execution with improved power efficiency
US7631125B2 (en) Dynamically migrating channels
CN103902369A (zh) 陷阱处理期间的协作线程阵列的粒度上下文切换
JP6135392B2 (ja) キャッシュメモリ制御プログラム,キャッシュメモリを内蔵するプロセッサ及びキャッシュメモリ制御方法
CN113360192A (zh) 热缓存识别方法、装置、存储介质及电子设备
CN118245218A (zh) 缓存管理方法、缓存管理装置、处理器和电子装置
CN118245186A (zh) 缓存管理方法、缓存管理装置、处理器和电子装置
CN114816781A (zh) 核间通信的方法、处理器和电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100929