CN102667724A - 利用加速器的、目标指向的工作负载性能管理 - Google Patents

利用加速器的、目标指向的工作负载性能管理 Download PDF

Info

Publication number
CN102667724A
CN102667724A CN2010800588757A CN201080058875A CN102667724A CN 102667724 A CN102667724 A CN 102667724A CN 2010800588757 A CN2010800588757 A CN 2010800588757A CN 201080058875 A CN201080058875 A CN 201080058875A CN 102667724 A CN102667724 A CN 102667724A
Authority
CN
China
Prior art keywords
information
work
information handling
handling system
hardware accelerator
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
CN2010800588757A
Other languages
English (en)
Other versions
CN102667724B (zh
Inventor
M·索伊内斯
D·N·E·迪伦伯格
P·尤康姆
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
Publication of CN102667724A publication Critical patent/CN102667724A/zh
Application granted granted Critical
Publication of CN102667724B publication Critical patent/CN102667724B/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]
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

提供一种用于动态管理加速器资源的方法、信息处理系统以及计算机可读取储存介质。将硬件加速器资源的第一集合(122)初始地指派给第一信息处理系统(104),并且将硬件加速器资源的第二集合(124)初始地指派给第二信息处理系统(106)。监视在第一信息处理系统与第二信息处理系统(116,118)上执行的工作(132)。当工作中的一个无法满足目标时,将硬件加速器资源的第二集合中的至少一个硬件加速器资源从第二信息处理系统动态重新指派给第一信息处理系统(138)。

Description

利用加速器的、目标指向的工作负载性能管理
技术领域
本发明总体上涉及工作负载管理的领域,并且更具体而言,涉及利用硬件加速器管理工作负载。
背景技术
诸如
Figure BDA00001798333400011
Figure BDA00001798333400012
以及IBM
Figure BDA00001798333400013
之类的通用处理器均被设计成支持广泛的工作负载。如果需要超过现有能力的处理能力,则硬件加速器可能会被附接至计算机系统,以满足特定应用的需求。硬件加速器也可用于应对性能瓶颈。这些加速器被视为可以由系统利用的计算资源。硬件加速器的示例包括:现场可编程门阵列(FPGA)、IBM Cell B.E.(Broad Engine(宽带引擎))处理器以及图形处理单元(GPU)。加速器针对其特定任务具有比系统的通用处理器更好的价格/性能点。硬件加速器诸如会通过PCI-express I/O插槽或使用高速网络(诸如以太网络及
Figure BDA00001798333400014
)被直接附接至处理器复合体或者嵌套(processor complex or nest)。
常规的工作负载管理系统会将指派给特定主机系统的加速器资源在该主机上执行的工作之间分配。然而,一般而言,这些常规的工作负载管理系统并未有效并高效地利用被指派给多个系统的可用加速器资源。
发明内容
因此,本发明在第一方面提供一种动态管理加速器资源的方法,该计算机实现的方法包括如下步骤:将硬件加速器资源的第一集合初始地指派给第一信息处理系统,并且将硬件加速器资源的第二集合初始地指派给第二信息处理系统;由至少一个处理器监视在第一信息处理系统和第二信息处理系统上运行的多个工作;以及当工作之一无法满足目标时,将硬件加速器资源的第二集合中的至少一个硬件加速器资源从第二信息处理系统动态地重新指派给第一信息处理系统。
优选地,监视步骤包括:分析与工作相关联的运行时统计信息。优选地,当与一个工作相关联的优先级在阈值之上时执行动态地重新指派的步骤。优选地,监视步骤包括如下子步骤:分析与工作相关联的运行时统计信息;以及确定重新指派一个或多个硬件加速器资源给第一信息处理系统是否将会提高一个工作满足目标的可能性。优选地,如果可能性在阈值之上,则执行该动态地重新指派的步骤。优选地,监视步骤包括如下子步骤:将如果一个或多个硬件加速器资源被重新指派给该第一信息处理系统则由第一信息处理系统将获得的值、与如果一个或多个硬件加速器资源被重新指派给第一信息处理系统则由第二信息处理系统将失去的值进行比较;以及如果第一信息处理系统将获得的值高于第二信息处理系统将失去的值,则执行动态地重新指派的步骤。优选地,动态地重新指派的步骤包括如下子步骤:指示第二信息处理系统停止发出新工作给至少一个硬件加速器资源;以及确定由第二信息处理系统送至至少一个硬件加速器资源的所有工作何时完成。
在第二方面,提供一种动态地管理加速器资源的信息处理系统,该信息处理系统包括:存储器;
通信地耦合至该存储器的处理器;指派管理器,通信地耦合至存储器和处理器,该指派管理器被配置成:将硬件加速器资源的第一集合指派给第一信息处理系统,并将硬件加速器资源的第二集合指派给第二信息处理系统。监视在第一信息处理系统与第二信息处理系统上运行的多个工作。当工作之一无法满足目标时,将硬件加速器资源的第二集合中的至少一个硬件加速器资源从第二信息处理系统动态地重新指派给第一信息处理系统。
优选地,监视多个工作包括:分析与工作相关联的运行时统计信息。优选地,当与一个工作相关联的优先级在阈值之上时执行动态地重新指派。优选地,监视多个工作包括:分析与工作相关联的运行时统计信息;以及确定重新指派一个或多个硬件加速器资源给第一信息处理系统是否会提高一个工作满足目标的可能性。优选地,如果可能性在阈值之上,则执行该动态地重新指派的步骤。优选地,监视多个工作包括:将如果一个或多个硬件加速器资源被重新指派给该第一信息处理系统则由第一信息处理系统将获得的值、与如果一个或多个硬件加速器资源被重新指派给第一信息处理系统则由第二信息处理系统将失去的值进行比较,其中如果第一信息处理系统将获得的值高于第二信息处理系统将失去的值,则执行动态地重新指派。优选地,动态地重新指派包括:
指示第二信息处理系统停止发出新工作给至少一个硬件加速器资源;以及确定由第二信息处理系统发出至至少一个硬件加速器资源的所有工作何时完成。
在第三方面,提供了存储在包括计算机程序代码的计算机可读存储介质上的计算机程序,当该计算机程序代码被加载进如计算机系统并在其上执行时,使得该计算机系统执行第一方面的方法的所有步骤。第一方面的方法的优选特征具有对应的优选的计算机程序代码特征。
本发明的一个实施例提供了一种用于动态地管理加速器资源的计算机实现的方法。根据该方法,将硬件加速器资源的第一集合初始地指派给第一信息处理系统,并且将硬件加速器资源的第二集合初始地指派给第二信息处理系统。由至少一个处理器监视在第一信息处理系统和第二信息处理系统上运行的工作。当工作之一无法满足目标时,将硬件加速器资源的第二集合中的至少一个硬件加速器资源从第二信息处理系统动态地重新指派给第一信息处理系统。
本发明的另一实施例提供了用于动态地管理加速器资源的信息处理系统。该信息处理系统包括存储器和通信地耦合至存储器的处理器。该信息处理系统还包括通信地耦合至存储器和处理器的指派管理器。该指派管理器被配置成初始地将硬件加速器资源的第一集合指派给第一信息处理系统,并且将硬件加速器资源的第二集合指派给第二信息处理系统。监视在第一信息处理系统和第二信息处理系统上运行的工作。当工作之一无法满足目标时,将硬件加速器资源的第二集合中的至少一个硬件加速器资源从第二信息处理系统动态地重新指派给第一信息处理系统。
附图说明
下面将仅通过示例的方式参考所附附图描述本发明的一些优选实施例,其中:
图1为示出了根据本发明一个实施例的操作环境的方块图;
图2为示出了根据本发明一个实施例初始指派加速器资源给主机系统的方块图;
图3为示出了根据本发明一个实施例动态重新指派加速器资源给主机系统的方块图;
图4至图6为示出了根据本发明一个实施例动态管理加速器资源的方法的操作流程图;
图7为示出了根据本发明一个实施例的信息处理系统的方块图;以及
图8示出了根据本发明一个实施例的、在服务类中的工作等待使用加速器的时间和被指派给主机系统的加速器数量之间的关系。
具体实施方式
操作环境
图1显示了可应用于本发明的一些实施例的示例性操作环境。图1的示例性环境100在SMP计算环境中操作的并行分布式处理系统。在SMP计算环境中,并行应用可以具有在相同处理节点上多个处理器上执行的若干工作(处理)。虽然图1的示例性环境是SMP环境,但是本发明并不受限于此。也可以应用其他架构,并且本发明的一些实施例在单个系统内操作。
图1显示了多个主机系统102、104和106。每个主机系统102、104和106具有一个或多个工作负载108、110以及112,每个工作负载都包括待执行的一个或多个工作114、116和118。每个主机系统102、104和106还具有加速器指派信息119,加速器指派信息119标识当前指派给主机系统的硬件加速器。每个主机系统102、104和106通信地耦合至诸如以太网络或
Figure BDA00001798333400051
之类的互连结构(interconnect fabric)120。多个硬件加速器122、124和126还被通信地耦合至互连结构120。每个硬件加速器122、124和126都是特殊用途硬件组件或装置,其能够以优化的性能(与通用处理器相比)执行有限的特定功能集合。主机系统102、104和106中的一个或多个利用加速器122、124和126中的一个或多个来执行其工作负载中的至少一部分。
图1还显示了具有指派管理器130的信息处理系统128。指派管理器130动态指派一个或多个加速器122、124和126给主机系统102、104和106。基于在各个主机上运行的服务类/工作的性能与重要性,加速器的该动态重新指派可以允许加速器被指派给各种主机。如果主机运行未满足其性能目标的高优先级工作,则指派管理器可以从正在运行较低优先级工作或未受到动态重新指派影响的工作的其他主机,来动态重新指派加速器资源。这种基于工作负载来平衡加速器资源的能力允许实现较高的总体利用率。此外,在加速器资源受制约的情况中,可以优先处理最重要的工作。
指派管理器130包括工作监视器132、工作分类器134、主机查询模块136、加速器指派器138以及初始指派配置数据140。信息处理系统128还包括工作统计数据142、工作分类信息144、以及服务类信息146。在又一些实施例中,指派管理器130可以会驻留在主机系统的一个或多个上。
加速器资源的动态重新分配
在示出的实施例中,指派管理器130的工作分类器134分析驻留在主机系统102、104和106处的工作114、116和118中的每个,并且将每个工作分类为特定类型的工作,其被称为“服务类”。每个服务类具有相关联的目标与优先级。例如,目标可以是对对象的响应时间,诸如“在五秒内完成”。在该实施例中,服务类的目标与重要性系由管理者来设定。该信息被储存在服务类信息146内。工作分类器134分析工作的属性(诸如工作名称、提交该工作的用户的用户身分以及类似属性),并且基于工作属性和服务类信息146来标识该工作落入哪个服务类。在一个备选实施例中,工作分类器134使用与工作相关联的统计信息142来确定哪个服务类与该工作相关联。还可以基于其他相关联的属性将工作分类进服务类。
在所示的实施例中,指派管理器基于初始指派配置数据140将加速器122、124和126指派给主机系统102、104和106。在该实施例中,初始指派配置数据140是预定义的加速器分配,该加速器分配告知主机系统哪些加速器已经被分配给该特定系统。如图2的示例中所示,加速器W 122被初始地指派给主机系统A 102,加速器X124被初始地指派给主机系统B 104,而加速器Y被指派给主机系统N 106。
在指派管理器130将加速器指派给主机系统之后,该主机系统可以将其工作负载的一部分传送给所指派的加速器。在该实施例中,指派管理器的工作监视器132监视每个工作负载108、110、112中的每个工作114、116和118以确定工作统计数据142。工作监视器132监视如下统计数据:诸如工作在该加速器处的执行时间、由工作正在使用的加速器的数量、工作在被加速器执行之前在该加速器的队列中保留时间等等。该信息被储存为工作统计信息142。在工作分类器134使用统计信息将工作指派至服务类的实施例中,工作分类器134使用工作统计信息142来确定与工作相关联的服务类。在一个示例中,如果工作花五秒完成并使用两个加速器,则工作分类器134将服务类和实质上匹配这些统计数据的工作产生关联并且将该分类结果储存在工作分类信息144中。
可以预定义服务类的优先级,但这并非必要。在一个示例中,工作监视器132监视如下参数:诸如留在加速器队列内的每个工作等待被的时间、加速器完成工作所花费的时间、工作使用的加速器的数量等等。接着,工作监视器132基于与该统计信息确定与工作相关联的服务类的平均值。接着,指派管理器能够基于与给定服务类的工作相关联的平均值,确定针对该给定服务类的完成目标、队列时间平均值等等。在一个示例中,如果由加速器完成给定服务类的所有工作的平均时间为五秒,则这被设为该服务类的性能目标。在一个备选实施例中,每个主机系统都监视自己的工作并记录统计信息,而不是使得指派管理器130执行这些操作。接着,在必要时将该信息传送至指派管理器130。指派管理器130使用和服务类相关联的信息(例如,目标与优先级)来确定如何动态指派加速器给主机系统。
在工作已指派给服务类之后并且当每个主机系统传送工作给它的(多个)已指派加速器时,工作监视器132监视每个工作以确保服务类满足它们的目标。例如,针对服务类中的每个工作从运行的工作收集统计数据(例如,工作统计信息142)并且聚合。利用该经聚合的性能数据,服务类的性能为可以被确定为被指派给服务类的所有工作的平均值。工作监视器132标识服务类的(多个)目标。在一个示例中,这些目标与以下项有关:加速器队列时间、执行时间等等。指派管理器130基于经聚合的统计信息来确定该服务类是否未实现其(多个)目标。例如,服务类具有如下目标:指定该服务类中的工作应该有10秒的平均响应时间。如果服务类中有3项工作的响应时间为5秒、10秒以及30秒,则平均响应时间是15秒,因而该服务类无法满足它的目标。
指派管理器130基于该信息来确定是否动态改变:发出无法实现其目标的服务类的工作的主机系统的加速器指派配置。
在该实施例中,指派管理器130在确定何时应该添加附加加速器资源时确定服务类的优先级。例如,每个服务类(及其工作)均具有优先级。如果服务类的优先级在阈值之上,则指派管理器130可以决定动态重新指派加速器资源。如果优先级在给定阈值之下,则指派管理器130决定不必动态重新指派加速器资源。在一些实施例中,服务类不具有优先级。
当确定是否向给定主机动态重新指派附加加速器时,指派管理器130确定该重新指派对该主机造成的影响。指派管理器130使用与服务类的(多个)工作相关联的统计信息142,以确定增加附加加速器是否确保实现与该服务类相关联的目标。在一个示例中,指派管理器130监视主机系统中一个或多个服务类的工作,以标识服务类中每个工作的队列时间、执行时间、平均时间等等,并且将该信息聚合在工作的服务类中。使用该信息以基于这些统计数据来估计添加附加加速器的影响。
例如,指派管理器130使用针对服务类所收集的数据(即,工作统计信息142,诸如指示加速器的工作用途的服务类中每个工作的队列时间、执行时间、平均时间等等),并为每个服务类生成曲线图,诸如图8中所示的示例性曲线图800。该曲线图的x轴显示指派给主机系统的加速器的数量,而y轴显示服务类中的工作在针对加速器的队列中的时间。利用此信息,指派管理器130能够得知服务类的工作使用加速器的等待时间和被指派给主机系统的加速器数量之间的关系。根据诸如图8中所示的队列模型,指派管理器130可以预计在执行加速器的动态分配的情形下对服务类的平均响应时间的影响。如果向主机系统添加更多加速器,则工作在队列中等待的时间会缩短。如果从主机系统取走加速器,则工作在队列中等待的时间会增加。服务类中的工作在队列中平均等待的时间变化会直接影响服务类的平均响应时间。
在另一实施例中,主机系统本身而非指派管理器130执行该估计。在该实施例中,如果主机系统确定可从被指派的附加加速器处获益,则主机系统向指派管理器130请求附加的加速器资源。
如果指派管理器确定通过指派一个或多个附加加速器给给定主机系统可以获益(或者如果指派管理器从主机系统处收到附加加速器资源的请求),则指派管理器130继而确定动态重新指派附加加速器资源给给定主机系统对其他主机系统的影响。在一个示例中,如果指派管理器130(或给定主机系统)确定:未能实现其目标的服务类的平均排队等待时间会因动态重新指派一个或多个附加加速器资源而缩短(以至于导致较快的完成时间),则指派管理器130确定该加速器指派对其他主机系统的影响。因为动态重新指派附加加速器资源给给定主机系统使得当前指派给其他主机系统的加速器资源被动态重新指派给给定主机系统,所以会对其他主机系统有影响。在该实施例中,指派管理器130通过分析与一个或多个服务类/主机系统相关联的曲线图800,来估计从其他系统处解除分配一个或多个加速器资源对它们的工作负载有何影响。指派管理器130分析该曲线图以确定:从主机系统处解除分配加速器资源并将该资源分配给另一系统对这两个主机系统有何影响。
在主机系统为其工作/服务类维持其自身统计信息的实施例中,指派管理器130经由主机查询模块136来查询其他主机系统。该查询请求来自其他主机系统中的每一个的影响估计。当主机系统从该指派管理器处收到该查询时,主机系统执行影响估计。在一个示例中,主机系统中的每个都分析其与工作相关联的统计信息142,以确定解除分配一个或多个加速器资源对其工作负载有何影响。统计信息可以包括排队等待时间、执行时间、正被使用的加速器的数量等等。每个主机系统可以通过分析与它的每个服务类相关联的统计信息或曲线图,来估计解除分配一个或多个加速器资源对其工作负载有何影响。继而,其他主机系统将它们的估计传送给指派管理器。
每个估计均指示解除分配与重新指派对系统有负面影响或有中性影响,并且还可以量化结果。在一个示例中,对主机系统的影响估计结果指示:排队等待时间增加5%、5秒等等;完成时间保持相同或增加给定量;以及工作无法满足其目标的概率增加给定量。
接着,指派管理器130比较添加附加加速器资源至给定主机系统的影响和从其他主机系统处解除分配加速器资源的影响。如果对给定系统造成的正面影响大于对其他系统造成的负面影响,则指派管理器130将目前指派给其他主机系统的一个或多个加速器资源动态重新指派给给定主机系统。
在该实施例中,该比较过程利用各种指派阈值。在一个示例中,如果指派管理器130确定与给定主机系统相关联的正面影响在第一阈值之上(诸如排队等待时间缩减大于3秒或满足工作目标的概率大于80%)并且对其他主机系统的负面影响在第二阈值之下(诸如排队等待时间增加3秒),则指派管理器130将加速器资源动态重新指派给给定主机系统。
另外,指派管理器130可以比较其他主机系统的影响估计以确定从哪个主机系统处取走加速器资源。在一个示例中,如果存在两个其他主机系统并且对第一主机系统的解除分配的影响大于对第二主机系统的解除分配的影响,则指派管理器130选择与第二主机系统相关联的加速器资源来重新指派给给定主机系统。这降低了重新指派对其他主机系统的负面影响。
在一个实施例中,在标识加速器资源以动态地重新指派之后,指派管理器130通知当前指被派给这些加速器资源的主机系统停止传送新工作至这些加速器资源。在所有现有工作都已经完成之后,指派管理器130从目前的主机系统处解除分配加速器资源,并且主机系统会更新其指派信息以便反映该解除分配。接着,指派管理器130将这些加速器资源指派给给定主机系统,该给定主机系统后续更新其指派信息以便反映该指派。接着,该给定主机系统开始从其工作负载中发出工作至新指派的加速器资源。
图3显示了如下示例,其中如图2中所示的原始指派给主机系统B 104的加速器X 124已被动态重新指派给主机系统A 102。主机系统A 102现在能够从其工作负载处发出工作至其初始加速器、加速器W 122、以及新指派的加速器(加速器X 124)。
因此,本发明有效并且高效地管理加速器资源池。这些加速器资源被初始地指派给各个主机系统。接着,这些加速器资源基于诸如在这些系统中的每个上运行的工作的性能和优先级之类的系数而被重新指派给其他主机系统。
操作流程图
图4、图5和图6为示出了根据本发明一个实施例的用于动态管理加速器资源的过程的操作流程图。图4的操作流程图开始于步骤402处并直接进入到步骤404。在步骤404处,指派管理器130初始地指派加速器资源给多个主机系统102、104和106。在步骤406处,指派管理器会指派服务类给每个主机系统102、104和106的每个工作114、116和118。
在步骤408处,指派管理器收集与第一主机系统上每个工作114相关联的统计信息142,并且将该统计信息聚合成每个工作的服务类。在步骤410处,指派管理器130基于经聚合至每个服务类的统计信息,来确定每个服务类是否在第一主机系统上实现其目标。在步骤412处,指派管理器130确定:是否存在最近没有受到通过添加加速器资源帮助的任何服务类未实现其目标。如果确定结果为否,则指派管理器130在步骤414处等待下一个监视间隔。当下一个监视间隔开始时,指派管理器130返回步骤408。如果步骤412处的确定结果为是,则指派管理器130在步骤416处选择未实现其目标的最重要服务类。如上面讨论的那样,可以以下列项来测量“重要性”:优先级、因加入附加加速器资源而获得最大好处的服务类等等。选定的服务类称为接收器服务类。此时,控制流程进入图5的进入点A(502)。
在步骤504处,指派管理器130分析接收器服务类的统计信息。在步骤506处,指派管理器130基于该分析来确定将一个或多个加速器资源加入第一主机系统对接收器服务类的性能的影响。在步骤508处,指派管理器130确定该影响是否提供足够的值(例如,如果给定主机系统的获利大于对于资源要被解除分配的系统的损失)以证明重新分配资源合理。美国专利第5,473,773号更详细讨论接收器类值,该专利为共有并且通过引用将其完整并入本文。如果该确定的结果为否,则指派管理器130在步骤509处确定不重新分配资源,并且控制返回进入点B处的步骤412以确定是否存在其他服务类未实现它们的目标。
如果步骤506处的确定结果为是,则指派管理器130在步骤510处分析与第二主机系统相关联的统计信息142。指派管理器130在步骤512处基于该统计信息142,来确定从第二主机系统处解除分配一个或多个加速器资源对具有第二主机系统上的工作的服务类的影响。在步骤514处,指派管理器130将这些资源加入第一主机系统所获得的值与因重新指派这些资源而从第二主机系统处取走的值进行比较。
在步骤516处,指派管理器130确定所获得的值是否超过失去的值。如果确定的结果为否,则控制流程返回进入点B处的步骤412,以确定是否存在其他服务类未实现它们的目标。如果该确定的结果为是,则控制流程进入图6的进入点C(602)。指派管理器130在步骤602处指示第二主机系统停止向初始地指派给第二主机系统的一个或多个加速器资源发出新请求的工作。指派管理器130在步骤606处确定这些加速器资源处的当前工作是否已完成。如果确定的结果为否,则指派管理器130继续确定该工作是否已完成。如果确定结果为是,则指派管理器在步骤608处将一个或多个加速器资源动态重新指派给第一主机系统。在步骤610处,第一主机系统上的工作使用初始指派的加速器资源和新指派的加速器资源两者。控制流程返回进入点D处的步骤414以等待下一个监视间隔。
信息处理系统
图7为示出了在本发明实施例中使用的示例性信息处理系统的方块图。在本发明的又一些实施例中可以使用任何适当配置的处理系统作为信息处理系统(例如,个人计算机、工作站等等)。信息处理系统包括计算机702。
计算机702包括经由系统总线712通信地耦合至主存储器706的一个或多个处理器704。
计算机702还包括大容量储存接口708和网络适配器硬件710。大容量储存接口708用于将大容量储存装置714连接至信息处理系统。一种特殊类型的数据储存装置为光驱Disc,其可以用于储存数据,并且从诸如CD 716或DVD之类的计算机可读取储存介质处读取数据。另一种类型的数据储存装置为硬盘,例如其被配置成用以支持JFS类型文件系统操作。在该实施例中,主存储器708为易失性存储器,诸如随机存取存储器(RAM)。该实施例的主存储器708包括指派管理器、其部件、工作统计数据、工作分类信息以及服务类信息。
网络适配器硬件710提供去往互连结构的接口,从而实现与其他计算机的数据通信。本发明的实施例能够被适配成与任何数据通信连接(包括现今的模拟及/或数字技术)或经由未来的联网机制一同工作。
虽然已在完整功能的计算机系统的情形下描述本发明的示例性实施例,但是又一些实施例能够经由CD及其等效物、软盘或其他形式的可记录介质、或是经由任何类型的电子传送机制作为程序产品散布。
虽然已经说明和描述了当前被认为是本发明的优选实施例,但是本领域技术人员可以理解,可以做出各种其他修改,并且在并不脱离本发明的真实范围的情况下可以等效物来替代。

Claims (15)

1.一种用于动态地管理加速器资源的方法,所述计算机实现的方法包括步骤:
将硬件加速器资源的第一集合初始地指派给第一信息处理系统,并且将硬件加速器资源的第二集合初始地指派给第二信息处理系统;
由至少一个处理器监视在所述第一信息处理系统和所述第二信息处理系统上运行的多个工作;以及
当所述工作中的一个工作无法满足目标时,将硬件加速器资源的所述第二集合中的至少一个硬件加速器资源从所述第二信息处理系统动态地重新指派给所述第一信息处理系统。
2.根据权利要求1所述的方法,其中,所述监视步骤包括:分析与所述工作相关联的运行时统计信息。
3.根据权利要求1或2所述的方法,其中,当与所述一个工作相关联的优先级在阈值之上时,执行所述动态地重新指派的步骤。
4.根据权利要求1至3中任一项所述的方法,其中,所述监视步骤包括子步骤:
分析与所述工作相关联的运行时统计信息;以及
确定重新指派一个或多个硬件加速器资源给所述第一信息处理系统是否将会提高所述一个工作满足所述目标的可能性。
5.根据权利要求4所述的方法,其中,如果所述可能性在阈值之上,则执行所述动态地重新指派的步骤。
6.根据任一前述权利要求所述的方法,其中,所述监视步骤包括子步骤:
将如果一个或多个硬件加速器资源被重新指派给所述第一信息处理系统则由所述第一信息处理系统将获得的值、与如果所述一个或多个硬件加速器资源被重新指派给所述第一信息处理系统则所述第二信息处理系统将失去的值进行比较;以及
其中,如果由所述第一信息处理系统将获得的值高于由所述第二信息处理系统将失去的值,则执行所述动态地重新指派的步骤。
7.根据任一前述权利要求所述的方法,其中,所述动态地重新指派的步骤包括子步骤:
指示所述第二信息处理系统停止发出新工作给所述至少一个硬件加速器资源;以及
确定由所述第二信息处理系统发出至所述至少一个硬件加速器资源的所有工作何时完成。
8.一种用于动态管理加速器资源的信息处理系统,所述信息处理系统包括:
存储器;
处理器,通信地耦合至所述存储器;以及
指派管理器,通信地耦合至所述存储器和处理器,所述指派管理器被配置成:
初始地将硬件加速器资源的第一集合指派给第一信息处理系统,并且将硬件加速器资源的第二集合指派给第二信息处理系统;
监视在所述第一信息处理系统和所述第二信息处理系统上运行的多个工作;以及
当所述工作中的一个工作无法满足目标时,将硬件加速器资源的所述第二集合中的至少一个硬件加速器资源从所述第二信息处理系统动态地重新指派给所述第一信息处理系统。
9.根据权利要求8所述的信息处理系统,其中,所述监视多个工作包括:分析与所述工作相关联的运行时统计信息。
10.根据权利要求8或9所述的信息处理系统,其中,当与所述一个工作相关联的优先级在阈值之上时,执行所述动态地重新指派。
11.根据权利要求8至10中任一项所述的信息处理系统,其中,所述监视多个工作包括:
分析与所述工作相关联的运行时统计信息;以及
确定重新指派一个或多个硬件加速器资源给所述第一信息处理系统是否将会提高所述一个工作满足目标的可能性。
12.根据权利要求11所述的信息处理系统,其中,如果所述可能性在阈值之上,则执行所述动态地重新指派。
13.根据权利要求8至12中任一项所述的信息处理系统,其中,所述监视所述多个工作包括:
将如果一个或多个硬件加速器资源被重新指派给所述第一信息处理系统则由所述第一信息处理系统将获得的值、与如果一个或多个硬件加速器资源被重新指派给所述第一信息处理系统则由所述第二信息处理系统将失去的值进行比较,
其中,如果由所述第一信息处理系统将获得的值高于所述第二信息处理系统将失去的值,则执行所述动态地重新指派。
14.根据权利要求8至13中任一项所述的信息处理系统,其中,所述动态地重新指派包括:
指示所述第二信息处理系统停止发出新工作给所述至少一个硬件加速器资源;以及
确定由所述第二信息处理系统发出至所述至少一个硬件加速器资源的所有工作何时完成。
15.一种存储在包括计算机程序代码的计算机可读存储介质上的计算机程序,当所述计算机程序代码被加载进入计算机系统并在其上执行时,使得所述计算机系统执行权利要求1至7中任一项所述的方法的所有步骤。
CN201080058875.7A 2009-12-24 2010-12-14 用于动态管理加速器资源的方法和系统 Active CN102667724B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/647,272 US8869160B2 (en) 2009-12-24 2009-12-24 Goal oriented performance management of workload utilizing accelerators
US12/647,272 2009-12-24
PCT/EP2010/069559 WO2011076608A2 (en) 2009-12-24 2010-12-14 Goal oriented performance management of workload utilizing accelerators

Publications (2)

Publication Number Publication Date
CN102667724A true CN102667724A (zh) 2012-09-12
CN102667724B CN102667724B (zh) 2016-07-06

Family

ID=44189095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080058875.7A Active CN102667724B (zh) 2009-12-24 2010-12-14 用于动态管理加速器资源的方法和系统

Country Status (7)

Country Link
US (1) US8869160B2 (zh)
JP (1) JP5744909B2 (zh)
KR (1) KR20120124386A (zh)
CN (1) CN102667724B (zh)
CA (1) CA2780231C (zh)
TW (1) TW201140451A (zh)
WO (1) WO2011076608A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015051712A1 (en) * 2013-10-10 2015-04-16 International Business Machines Corporation Performance measurement of hardware accelerators
WO2018232746A1 (zh) * 2017-06-23 2018-12-27 上海诺基亚贝尔股份有限公司 用于边缘云中的资源管理的方法和装置
CN109313584A (zh) * 2016-07-22 2019-02-05 英特尔公司 用于管理加速器资源的分配的技术
US10698717B2 (en) 2015-09-25 2020-06-30 Huawei Technologies Co., Ltd. Accelerator virtualization method and apparatus, and centralized resource manager
CN114585057A (zh) * 2022-04-15 2022-06-03 南京星思半导体有限公司 小区搜索方法、装置、设备、存储介质、程序产品及终端

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2442228A1 (en) * 2010-10-13 2012-04-18 Thomas Lippert A computer cluster arrangement for processing a computaton task and method for operation thereof
WO2012124125A1 (ja) * 2011-03-17 2012-09-20 富士通株式会社 システムおよびスケジューリング方法
US9448846B2 (en) 2011-12-13 2016-09-20 International Business Machines Corporation Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines
US9626216B2 (en) * 2012-05-09 2017-04-18 Nvidia Corporation Graphics processing unit sharing between many applications
US20130339978A1 (en) * 2012-06-13 2013-12-19 Advanced Micro Devices, Inc. Load balancing for heterogeneous systems
US9632822B2 (en) * 2012-09-21 2017-04-25 Htc Corporation Multi-core device and multi-thread scheduling method thereof
CN103888279A (zh) * 2012-12-20 2014-06-25 阿里巴巴集团控股有限公司 基于反馈控制循环的资源池动态管理的方法和系统
US20170300359A1 (en) * 2014-10-30 2017-10-19 Hewlett Packard Enterprise Development Lp Policy based workload scaler
US9876713B2 (en) 2014-12-31 2018-01-23 International Business Machines Corporation Cross-domain service request placement in a software defined environment (SDE)
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US10019270B2 (en) * 2015-08-19 2018-07-10 International Business Machines Corporation Enhanced computer performance based on selectable device capabilities
CN105824706B (zh) * 2015-12-31 2020-11-06 华为技术有限公司 一种配置加速器的方法和装置
US20210004658A1 (en) * 2016-03-31 2021-01-07 SolidRun Ltd. System and method for provisioning of artificial intelligence accelerator (aia) resources
US10355945B2 (en) 2016-09-21 2019-07-16 International Business Machines Corporation Service level management of a workload defined environment
US10248466B2 (en) * 2016-09-21 2019-04-02 International Business Machines Corporation Managing workload distribution among processing systems based on field programmable devices
US10572310B2 (en) 2016-09-21 2020-02-25 International Business Machines Corporation Deploying and utilizing a software library and corresponding field programmable device binary
US10599479B2 (en) 2016-09-21 2020-03-24 International Business Machines Corporation Resource sharing management of a field programmable device
US10417012B2 (en) * 2016-09-21 2019-09-17 International Business Machines Corporation Reprogramming a field programmable device on-demand
EP3523723B8 (en) * 2016-10-05 2021-07-28 ParTec AG High performance computing system and method
US11487585B1 (en) * 2016-12-14 2022-11-01 Xilinx, Inc. Dynamic load balancing and configuration management for heterogeneous compute accelerators in a data center
US10585717B2 (en) * 2017-08-24 2020-03-10 International Business Machines Corporation Hybrid acceleration in a processing environment
CN111656323A (zh) * 2018-01-23 2020-09-11 派泰克集群能力中心有限公司 应用运行时确定的异构计算资源的动态分配
US11275991B2 (en) * 2018-04-04 2022-03-15 Nokia Technologies Oy Coordinated heterogeneous processing of training data for deep neural networks
US11144357B2 (en) * 2018-05-25 2021-10-12 International Business Machines Corporation Selecting hardware accelerators based on score
US10977098B2 (en) 2018-08-14 2021-04-13 International Business Machines Corporation Automatically deploying hardware accelerators based on requests from users
JP7139819B2 (ja) * 2018-09-20 2022-09-21 富士フイルムビジネスイノベーション株式会社 情報処理装置、画像形成装置及びプログラム
US11030012B2 (en) * 2018-09-28 2021-06-08 Intel Corporation Methods and apparatus for allocating a workload to an accelerator using machine learning
WO2020086053A1 (en) * 2018-10-22 2020-04-30 Mentor Graphics Corporation Dynamic allocation of computing resources for electronic design automation operations
US11216314B2 (en) * 2018-11-02 2022-01-04 EMC IP Holding Company LLC Dynamic reallocation of resources in accelerator-as-a-service computing environment
US10892944B2 (en) 2018-11-29 2021-01-12 International Business Machines Corporation Selecting and using a cloud-based hardware accelerator
US11275622B2 (en) * 2018-11-29 2022-03-15 International Business Machines Corporation Utilizing accelerators to accelerate data analytic workloads in disaggregated systems
CN111459650B (zh) * 2019-01-21 2023-08-18 伊姆西Ip控股有限责任公司 管理专用处理资源的存储器的方法、设备和介质
US11681598B2 (en) * 2020-04-16 2023-06-20 Texas Instruments Incorporated Method and apparatus to facilitate low latency fault mitigation, QoS management and debug of a processing pipeline

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490223B2 (en) * 2005-10-31 2009-02-10 Sun Microsystems, Inc. Dynamic resource allocation among master processors that require service from a coprocessor

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473773A (en) * 1994-04-04 1995-12-05 International Business Machines Corporation Apparatus and method for managing a data processing system workload according to two or more distinct processing goals
US5675739A (en) * 1995-02-03 1997-10-07 International Business Machines Corporation Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types
US5974462A (en) * 1997-03-28 1999-10-26 International Business Machines Corporation Method and apparatus for controlling the number of servers in a client/server system
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6470478B1 (en) * 1999-06-29 2002-10-22 International Business Machines Corporation Method and system for counting events within a simulation model
KR100727901B1 (ko) * 1999-07-10 2007-06-14 삼성전자주식회사 마이크로 스케듈링 방법 및 운영체제 커널 장치
US7051188B1 (en) * 1999-09-28 2006-05-23 International Business Machines Corporation Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
ATE283512T1 (de) * 1999-09-28 2004-12-15 Ibm Arbeitsbelastungsverwaltung in einer rechnerumgebung
WO2001037079A2 (en) 1999-11-18 2001-05-25 Quikcat.Com, Inc. Method and apparatus for controlling server networks
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7451070B2 (en) * 2005-04-08 2008-11-11 International Business Machines Optimal bus operation performance in a logic simulation environment
US20070055771A1 (en) * 2005-07-25 2007-03-08 International Business Machines Corporation Controlling workload of a computer system through only external monitoring
JP2007108944A (ja) * 2005-10-12 2007-04-26 Renesas Technology Corp 半導体集積回路装置
US8713574B2 (en) * 2006-06-05 2014-04-29 International Business Machines Corporation Soft co-processors to provide a software service function off-load architecture in a multi-core processing environment
JP4936517B2 (ja) * 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
JP5243822B2 (ja) * 2007-03-28 2013-07-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想化されたデータ処理環境におけるワークロード管理
WO2009029496A1 (en) * 2007-08-24 2009-03-05 Yiping Ding Virtualization planning system
JP2011529210A (ja) * 2008-12-03 2011-12-01 株式会社日立製作所 複数のオペレーティングシステムを実行するマルチプロセッササーバのプロセッサリソースを管理する技術

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490223B2 (en) * 2005-10-31 2009-02-10 Sun Microsystems, Inc. Dynamic resource allocation among master processors that require service from a coprocessor

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DAVID A. BACIGALUPO 等: "an investigation into the application of different performance prediction techniques to e-commerce applicatons", 《PROCEEDINGS OF THE 18TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSINM(IPDS"04)》 *
DAVID A.BACIGALUPO 等: "an investigation into the application of different performance prediction methods to distributed enterprise applicatons", 《THE JOURNAL OF SUPERCOMPUTING》 *
J.AMAN 等: "adaptive algorithms for managing a distributed data processing workload", 《IBM SYSTEMS JOURNAL》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015051712A1 (en) * 2013-10-10 2015-04-16 International Business Machines Corporation Performance measurement of hardware accelerators
US9424159B2 (en) 2013-10-10 2016-08-23 International Business Machines Corporation Performance measurement of hardware accelerators
US10698717B2 (en) 2015-09-25 2020-06-30 Huawei Technologies Co., Ltd. Accelerator virtualization method and apparatus, and centralized resource manager
CN109313584A (zh) * 2016-07-22 2019-02-05 英特尔公司 用于管理加速器资源的分配的技术
CN109313584B (zh) * 2016-07-22 2024-04-02 英特尔公司 用于管理加速器资源的分配的技术
WO2018232746A1 (zh) * 2017-06-23 2018-12-27 上海诺基亚贝尔股份有限公司 用于边缘云中的资源管理的方法和装置
US11645090B2 (en) 2017-06-23 2023-05-09 Nokia Solutions And Networks Oy Method and apparatus for resource management in edge cloud
CN114585057A (zh) * 2022-04-15 2022-06-03 南京星思半导体有限公司 小区搜索方法、装置、设备、存储介质、程序产品及终端

Also Published As

Publication number Publication date
CN102667724B (zh) 2016-07-06
CA2780231A1 (en) 2011-06-30
CA2780231C (en) 2018-05-29
WO2011076608A3 (en) 2011-09-22
US20110161972A1 (en) 2011-06-30
WO2011076608A2 (en) 2011-06-30
TW201140451A (en) 2011-11-16
JP5744909B2 (ja) 2015-07-08
JP2013515991A (ja) 2013-05-09
KR20120124386A (ko) 2012-11-13
US8869160B2 (en) 2014-10-21

Similar Documents

Publication Publication Date Title
CN102667724A (zh) 利用加速器的、目标指向的工作负载性能管理
US8332863B2 (en) Fair share scheduling based on an individual user's resource usage and the tracking of that usage
US9870269B1 (en) Job allocation in a clustered environment
US9703285B2 (en) Fair share scheduling for mixed clusters with multiple resources
US7979857B2 (en) Method and apparatus for dynamic memory resource management
CN101473307B (zh) 用于调度计算机微作业以在非干扰时间执行的方法、系统和装置
US8381219B2 (en) Monitoring performance on workload scheduling systems
WO2021159638A1 (zh) 集群队列资源的调度方法、装置、设备及存储介质
CN102541460B (zh) 一种多磁盘场景下的磁盘管理方法和设备
US20100125847A1 (en) Job managing device, job managing method and job managing program
CN104113585A (zh) 用于产生指示负载平衡状态的硬件级中断的方法和设备
CN112667376A (zh) 任务调度处理方法、装置、计算机设备及存储介质
JP2005524886A (ja) 多数のサーバ上でのパフォーマンス・キャパシティ管理フレームワークを使用する自動データ解釈および実装
US7600229B1 (en) Methods and apparatus for load balancing processing of management information
Jiang et al. Characterizing co-located workloads in alibaba cloud datacenters
CN113228574A (zh) 计算资源调度方法、调度器、物联网系统和计算机可读介质
CN115803716A (zh) 用于流处理应用程序的自动调整大小
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
US8510273B2 (en) System, method, and computer-readable medium to facilitate application of arrival rate qualifications to missed throughput server level goals
CN110033242B (zh) 工作时间确定方法、装置、设备和介质
US20080195447A1 (en) System and method for capacity sizing for computer systems
CN115168042A (zh) 监控集群的管理方法及装置、计算机存储介质、电子设备
Limna et al. Workload scheduling for Nokkhum video surveillance as a service
CN111858070A (zh) 计算资源配置方法、装置、设备以及存储介质
CN111506407A (zh) Pull模式与Push模式相结合的资源管理与作业调度方法、系统及介质

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