CN118140211A - 硬件加速器服务聚合 - Google Patents

硬件加速器服务聚合 Download PDF

Info

Publication number
CN118140211A
CN118140211A CN202280034389.4A CN202280034389A CN118140211A CN 118140211 A CN118140211 A CN 118140211A CN 202280034389 A CN202280034389 A CN 202280034389A CN 118140211 A CN118140211 A CN 118140211A
Authority
CN
China
Prior art keywords
acceleration
accelerator card
workload
accelerator
asm
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
CN202280034389.4A
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN118140211A publication Critical patent/CN118140211A/zh
Pending legal-status Critical Current

Links

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/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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • 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
    • 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
    • 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
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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]
    • 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/5061Partitioning or combining of resources
    • 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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

本公开包括用于发现本地和远程硬件(HW)加速器卡的能力的系统,方法和计算机可读介质。本地硬件(HW)加速器卡可以经由通信接口从本地HW加速器卡提供加速服务列表。加速服务列表可以包括由本地HW加速器卡的一个或多个加速器卡提供的第一组加速服务和由远程HW加速器卡的一个或多个加速器卡提供的第二组加速服务。可以从计算设备的处理器接收限定由第二组加速服务中的至少一个加速服务处理的工作负载的工作负载指令。工作负载指令可以被转发到远程HW加速器卡。

Description

硬件加速器服务聚合
相关申请的交叉引用
本申请是2021年11月12日提交的美国专利申请No.17/525,300的继续申请,其公开内容通过引用结合在本文中。
背景技术
在大多数系统中,包括计算设备的组件和/或在包括操作系统的计算设备上执行的软件的计算设备难以发现由通过通信接口(例如PCIe总线)连接到计算设备的硬件加速器卡所提供的功能和能力。为了避免这些问题,处理器可以用诸如驱动器之类的软件进行硬编码,以与特定的硬件加速器卡进行通信。然而,具有与特定硬件加速器卡通信的必要软件的硬编码处理器将处理器限制为仅那些特定硬件加速器卡。因此,处理器不能利用其它硬件加速器卡或在处理器制造之后开发的硬件加速器卡的功能和能力。
另外,一些硬件加速器卡可以将它们的功能和能力作为计算设备的操作系统内的单独设备来公开。在这点上,当硬件加速器卡通过通信接口(例如PCIe总线)连接到计算设备时,操作系统可以检测或以其它方式被通知连接,并根据预限定的类和子类将硬件加速器卡的每个功能和能力列出为操作系统内的分立设备。基于操作系统中列出的设备,计算设备可以使用硬件加速器卡的能力和功能。
由于硬件加速器卡的能力和功能已经增加并且变得更加专业化,这些新的能力和功能不能被当前操作系统所提供的类和子类清楚地识别。因此,一些操作系统可以指示由硬件加速器卡提供的能力和功能,但是可能不能识别硬件加速器卡的所有能力和功能。此外,硬件加速器卡的一些能力和功能可能不能在操作系统内被识别和/或清楚地识别。这样,计算设备可能不能利用或甚至不能知道可用硬件加速器卡的所有特征和能力。
通常为系统提供到通信接口的有限数量的连接。例如,包括PCIe总线的系统可以仅具有几个将硬件加速器卡连接到PCIe总线的PCIe插槽。有限数量的连接可能是由于成本限制。在这点上,添加到系统的每个附加连接可以增加物理硬件费用并增加总制造成本。此外,技术限制,例如功率可用性,也可以限制可以连接到系统的设备的数量。例如,系统可以包括用于硬件加速器卡的五个连接;然而,电源可能只能一次向两个硬件加速器卡供电。因此,由于可以连接到系统的硬件加速器卡的数量有限,所以系统访问硬件加速器卡提供的加速服务的能力可能受到限制。
发明内容
本文描述的技术涉及用于服务聚合的系统和方法,其聚合和暴露由硬件加速器卡的加速器提供的加速服务。通过服务聚合,硬件加速器卡可以与其它硬件加速器卡通信以聚合和暴露由可以本地或远程连接的这些其它硬件加速器卡的加速器提供的加速服务。聚合和暴露的加速服务还可以包括由执行服务聚合的硬件加速器卡的加速器提供的加速服务。由硬件加速器卡以及其它本地或远程连接的硬件加速器卡提供的加速服务然后可以被系统利用。
本公开的一个方面涉及一种方法。该方法可以包括由本地硬件(HW)加速器卡的一个或多个处理器经由通信接口提供来自本地HW加速器卡的加速服务列表,该加速服务列表包括由本地HW加速器卡的一个或多个加速器提供的第一组加速服务和由远程HW加速器卡的一个或多个加速器提供的第二组加速服务;由所述一个或多个处理器从计算设备的处理器接收工作负载指令,所述工作负载指令限定由所述第二组加速服务中的至少一个加速服务处理的工作负载;以及由所述一个或多个处理器将所述工作负载指令转发到所述远程HW加速器卡。
本公开的另一方面涉及一种系统,包括:通信接口;包括一个或多个处理器和一个或多个加速器的本地硬件(HW)加速器卡。所述一个或多个处理器可以被配置为经由所述通信接口接收来自所述本地HW加速器卡的加速服务列表,所述加速服务列表包括由所述本地HW加速器卡的一个或多个加速器提供的第一组加速服务和由远程HW加速器卡的一个或多个加速器提供的第二组加速服务;从计算设备的处理器接收工作负载指令,所述工作负载指令限定由所述第二组加速服务中的至少一个加速服务处理的工作负载;将所述工作负载指令转发至所述远程HW加速器卡。
本发明的另一方面涉及一种非暂时性的、有形的计算机可读存储介质,其上存储有程序的计算机可读指令,所述指令在由一个或多个计算设备执行时使所述一个或多个计算设备执行方法。该方法可以包括由本地硬件(HW)加速器卡的一个或多个处理器经由通信接口提供来自本地HW加速器卡的加速服务列表,该加速服务列表包括由本地HW加速器卡的一个或多个加速器提供的第一组加速服务和由远程HW加速器卡的一个或多个加速器提供的第二组加速服务;由所述一个或多个处理器从计算设备的处理器接收工作负载指令,所述工作负载指令限定由所述第二组加速服务中的至少一个加速服务处理的工作负载;以及由所述一个或多个处理器将所述工作负载指令转发到所述远程HW加速器卡。
在一些示例中,可以从远程HW加速器卡接收经处理的工作负载,所述经处理的工作负载是在由第二组加速服务中的至少一个加速服务进行处理之后的工作负载。
在某些情况下,经处理的工作负载可以被转发到计算设备的处理器。
在一些示例中,加速服务列表由在一个或多个处理器上执行的加速服务管理器(ASM)生成。
在一些示例中,在一个或多个处理器上执行的ASM与在远程HW加速器卡上执行的另一ASM通信。
在一些示例中,ASM将工作负载指令转发到其他ASM。
在某些情况下,ASM向其他ASM请求第二组加速服务的列表。
在某些情况下,ASM从加速服务列表中识别和修整不健康的加速服务。
在一些示例中,识别不健康的加速服务包括:由ASM确定由第二组加速服务中的至少一个加速服务处理工作负载指令失败。
在一些示例中,修整不健康的加速服务包括:将第二组加速服务中的至少一个加速服务标记为不健康;或者从加速服务列表中去除第二组加速服务中的至少一个加速服务。
在一些情况下,在确定处理工作负载指令失败之后,由ASM向不同的HW加速器卡发送更新的工作负载指令,以便由不同的HW加速器的至少一个加速服务来处理。
在一些情况下,工作负载指令还限定由至少一个其它远程HW加速器卡的至少一个加速服务进行的处理。
附图说明
图1是根据本公开的各方面的示例系统的图。
图2是根据本公开的各方面的示例系统的另一示意图。
图3是根据本公开的各方面的示例加速服务列表的图。
图4是根据本公开的各方面的示例性网络化系统的图。
图5是根据本公开的方面的示例加速服务列表的另一个图。
图6是根据本公开的各方面的用于从硬件加速器卡请求加速服务的示例性过程的流程图。
图7是根据本公开的各方面的用于从硬件加速器卡请求加速服务并提供工作负载以利用加速服务的示例性过程的另一流程图。
图8是根据本公开的各方面的用于向远程和本地硬件加速器卡请求加速服务的示例性过程的流程图。
具体实施方式
本文描述的技术涉及用于服务聚合的系统和方法,其聚合和暴露由硬件(HW)加速器卡的加速器提供的加速服务。通过服务聚合,附接到计算机设备的HW加速器卡能够从本地和远程连接的HW加速器卡向计算设备提供和暴露加速服务。如这里进一步描述的,在计算设备中的HW加速器卡的计算内核上执行的软件可以发现或使用预配置文件来与经由通信接口本地连接到计算设备的其他HW加速器卡和/或远程联网到计算设备的其他HW加速器卡进行通信。然后,计算设备可以通过附接到计算设备的HW加速器卡与其它HW加速器卡通信。这样,计算设备可以利用任何数量的本地或远程连接的HW加速器卡的加速服务。
为了克服发现加速服务的缺陷,在此描述的技术使用对应于加速服务的标识符的标准化列表,加速服务可以由HW加速器卡上的加速器提供。在这点上,每个HW加速器卡可以存储与该卡上的加速器所提供的加速服务相对应的标识符的列表。由于标识符可以提供比当前使用的设备类和子类更大的粒度,因此从HW加速器卡检索列表的处理器将能够确定和利用由HW加速器卡上的加速器提供的更多的加速器服务。
如本文所用,术语“加速服务”是指由HW加速器卡的加速器提供的能力和功能。对HW加速器卡的“加速服务”的引用是指在该HW加速器卡上的加速器的加速服务。加速服务可以包括加速器可以利用其来控制数据处理的能力和功能,这里称为控制面加速服务。加速服务还可以包括加速器可以利用其来处理数据的能力和功能,在此被称为数据面加速服务。例如,加速器可以支持加速服务,加速服务提供用于在宿主机(计算设备)上的存储器和加速器之间共享存储器的控制和/或策略。该控制平加速服务可以被识别为加速服务并作为加速服务传送。
由于每个HW加速器卡可以具有许多加速器,所以每个HW加速器可以提供具有相同和/或不同能力和功能的许多加速服务。此外,每个加速器可以包括多于一个的功能和能力。
示例系统
图1描述了其中可以实现这里描述的特征的计算设备110的示例性架构。该实施例不应被认为是限制本公开的范围或本文描述的特征的有用性。计算设备110可以是服务器,个人计算机或其他这样的系统。计算设备110的架构包括处理器112,存储器114和硬件加速器卡118。
处理器112可以包括一个或多个通用处理器,例如中央处理单元(CPU),和/或一个或多个专用处理器,例如专用集成电路(ASIC),现场可编程门阵列(FPGA)等。处理器112可以是任何类型,包括但不限于一个或多个微处理器(uP),一个或多个微控制器(uC),一个或多个数字信号处理器(DSP)或其任何组合。处理器可以包括一个或多个高速缓存级,一个或多个处理器内核,以及一个或多个寄存器。每一处理器内核可包括算术逻辑单元(ALU),浮点单元(FPU),数字信号处理内核(DSP内核)或其任何组合。处理器112可经配置以执行可包含在数据存储器中的计算机可读程序指令,例如存储在存储器114中的指令117和/或如本文所述的其它指令。
存储器114可以存储处理器112可访问的信息,包括可以由处理器112执行的指令117。存储器还可包括可由处理器112检索、操纵或存储的数据116。存储器114可以是能够存储处理器112可访问的信息的一种类型的非暂时性计算机可读介质,例如硬盘驱动器,固态驱动器,磁带驱动器,光存储,存储卡,ROM,RAM,DVD,CD-ROM,可写和只读存储器。
指令117可以是由处理器112直接执行的一组指令,例如机器代码,或由处理器112间接执行的一组指令,例如脚本。在这点上,术语“指令”,“步骤”和“程序”在此可以互换使用。指令117可以以目标代码格式存储,用于由处理器112直接处理,或其他类型的计算机语言,包括按需解释或预先编译的独立源代码模块的脚本或集合。
数据116可由处理器112根据指令117或其它此类指令来检索、存储或修改。例如,尽管系统和方法不受特定数据结构的限制,但是数据116可以作为具有多个不同字段和记录、或文档、或缓冲器的结构存储在分布式存储系统中的计算机寄存器中。数据116也可以被格式化为计算机可读格式,例如但不限于二进制值,ASCII或Unicode。此外,数据116可以包括足以标识相关信息的信息,诸如数字,描述性文本,专有代码,指针,对存储在其它存储器中的数据(包括其它网络位置)的引用,或者由函数用来计算相关数据的信息。
计算设备还可以包括硬件(HW)加速器卡器118。硬件加速器卡118可以是被配置成有效地处理特定类型的任务的任何设备。HW加速器卡的一些示例包括网络加速器卡,视频代码转换加速器卡,安全功能加速器卡,密码加速器卡,声音处理加速器卡,人工智能加速器卡等。这些HW加速器卡中的每一个都可以被配置为提供特定的加速服务,例如压缩,加密,代码转换,散列生成,图形处理,仿真等。一些HW加速器卡可以被配置为提供多种加速服务,例如压缩和加密或加速服务的任何其它组合。
计算设备110还可以包括网络接口卡119。网络接口卡可以是能够直接和间接地与网络的其它节点通信的任何设备,网络诸如是这里参考图4描述的网络470。
尽管图1在功能上将处理器112,存储器114,HW加速器卡118和网络接口119示为在同一块内,但是处理器112,存储器114,HW加速器卡118和网络接口119可以或可以不存储在同一物理外壳内。例如,指令117和数据116中的一些可存储在可移除的CD-ROM上,而其它可存储在只读DRAM芯片内。指令和数据中的一些或全部可存储在物理上远离处理器112但仍可由处理器112访问的位置中。此外,尽管图1示出计算设备110仅包括一个处理器112,存储器114,网络接口119和HW加速器卡118,但是计算设备110可以包括任意数量的处理器,存储器,网络接口和HW加速器卡。类似地,处理器120实际上可包括处理器的集合,其可并行或不并行操作。
参考图2,HW加速器卡118可以包括计算复合体212,存储器214和加速器228a,228b和228c。计算复合体可包括一个或多个计算单元213。例如通过在加速器228a-228c之间分配处理任务并与计算设备110中的其它设备(例如处理器112)通信,计算复合体可控制硬件加速器的其它组件的一般操作。在一些情况下,计算复合体可协调或以其它方式协助服务聚合,如本文所述。
计算复合体212的一个或多个计算单元可包括一个或多个通用处理器和/或专用处理器。通常,硬件加速器卡的计算单元213可以是一个或多个专用处理器,例如专用集成电路(ASIC),现场可编程门阵列(FPGA)等,其能够执行基于ARM或MIPS的指令集,尽管也可以使用其它指令集。在某些情况下,计算单元213可以是市场上可买到的处理器。
加速器228a-228c可以各自包括能够提供特定加速服务的一个或多个处理器。例如,每个加速器可以被配置为提供特定的加速服务,例如压缩,加密,代码转换,散列生成,图形处理,仿真等。一些HW加速器卡可以被配置为提供多种加速服务,例如压缩和加密,或者加速服务的任何其它组合。加速器的一个或多个处理器可以是一个或多个专用处理器,例如专用集成电路(ASIC),现场可编程门阵列(FPGA),专业处理器等。尽管在图2中示出了三个加速器,包括加速器228a-228c,但是HW加速器卡可以包括任何数量的加速器。如前所述,每个单独的加速器可以被配置为提供多于一个的加速服务(例如,多于一个的功能和/或能力)。
再次参考图2,HW加速器卡包括存储器214。存储器214可以与存储器114进行比较,它可以是能够存储处理器120可访问的信息的任何类型的非暂时性计算机可读介质,例如硬盘驱动器,固态驱动器,磁带驱动器,光存储,存储卡,ROM,RAM,DVD,CD-ROM,可写和只读存储器。存储器214可以存储可由计算复合体212和/或加速器228a-228c访问的信息,包括可以由计算复合体212的计算单元213和/或加速器228a-228c执行的指令217。尽管未示出,但是每个加速器228-228c可以具有其自己的存储器和/或共享存储器池,用于存储用于执行由计算复合体212分配的任务的数据和指令。
指令217可以包括加速服务管理器(ASM)程序219。如这里进一步描述的,ASM 219可以由计算复合体的一个或多个计算单元213执行,以控制或以其他方式辅助HW加速器卡118的服务聚合。
存储器214内的数据216可由计算复合体212和/或加速器228a-228c根据指令217或其它此类指令来检索、存储或修改。如图2进一步所示,数据216可以包括一个或多个加速服务列表218。加速服务列表218可以包含由每个加速器228a-228c提供的加速服务的列表。加速服务列表218可以是标准化形式。在这点上,可以为每个特定加速服务分配特定的唯一标识符。具有特定加速服务的所有加速器将包括与加速服务列表中的特定加速服务相关联的唯一标识符。
图3示出了存储在存储器214中的分别对应于加速器228a-228c的示例列表328a-328c。在这点上,存储器214包括HW加速器卡118上的每个加速器的列表。如图所示,列表328a标识由加速器228a提供的加速服务,如由包括Function1,Capability1,Function3和Function5的唯一标识符所标识的。类似地,加速器228b能够提供三个加速服务,并且每个加速服务在列表328b内由其唯一标识符来标识,包括Function1,Function5和Capability9。加速器228c能够提供两种加速服务。这两个加速服务中的每一个加速服务在列表328c中由包括Capability9和Function5的唯一标识符来标识。
如图3进一步所示,提供公共加速服务的加速器可以与它们各自列表中的相同唯一标识符相关联。例如,功能1是与能够由加速器228a和228b执行的特定功能相关联的唯一标识符。因此,列表328a和328b包含相同的唯一标识符Function1。类似地,Capability9是与加速器228b和228c的特定能力相关联的唯一标识符。因此,列表328b和328c包含相同的唯一标识符Capability9。图3中的唯一标识符仅仅是可能的标识符的示例。标识符可以包括任何值或其它这样的指示符,包括数字,字母,符号等。
列表328a-328c是用于列出与HW加速器卡118的加速器相关联的唯一标识符的可能格式的示例。在一些示例中,加速器的列表可以存储在组合列表中,诸如电子表格或数据库。例如,组合列表可以标识每个加速器以及与该加速器提供的加速服务相关联的唯一标识符。类似地,可以根据加速器对列表进行分组。例如,第一列表可包括用于第一组加速器的组合列表,而第二列表可包括用于第二组加速器的组合列表。其它数据也可以包括在列表中。尽管图2和图3示出列表被存储在存储器216中,但是列表可以被存储在一个或多个加速器的存储器中。
尽管未示出,但管理者可以维护加速服务和用于加速服务的相关联的唯一标识符的储存库。管理者可以是个人,公司,公司集合,标准组织等。除了维护储存库之外,管理者还可以将唯一标识符分配给每个加速服务,并且在开发、接收或请求额外的加速服务时添加额外的加速服务和对应的唯一标识符。通过提供加速服务和相关联的唯一标识符的储存库,用于指示加速服务的标识符在HW加速器卡上可以是一致的,即使当HW加速器卡由不同的供应商制造时也是如此。
再次参考图2,处理器112可以使用通信接口和协议直接与硬件加速器卡118通信。例如,处理器112可以使用PCIe接口260与硬件加速器卡通信。尽管图2示出了PCIe接口260,但是也可以使用其它通信接口和协议。例如,处理器112可以使用CAN接口和协议、SPI接口和协议、USB接口和协议、eSPI接口和协议、以太网接口和协议、IDE接口和协议、或任何其他这样的接口和协议中的一个或多个来与HW加速器卡118通信。
可以经由在计算设备110上执行的操作系统来控制设备之间通过通信接口的通信,例如处理器112和HW加速器卡118通过PCIe接口260的通信。在这一点上,操作系统可以建立一个句柄(handle),以便在连接到PCIe接口260的设备之间提供一个通信信道。在某些情况下,操作系统还可以关闭连接到PCIe接口260的不同设备之间的通信信道。
尽管在图1或图2中未示出,但是计算设备110可以包括通常在个人计算机和/或服务器中找到的其它组件,例如显示设备,例如具有屏幕的监视器,投影仪,触摸屏,小LCD屏幕,电视,或另一设备,例如可以操作来显示由处理器112处理的信息的电气设备。计算设备110还可以包括扬声器。计算设备110还可以包括一个或多个用户输入设备,例如鼠标,键盘,触摸屏,麦克风等。计算设备110还可以包括用于将上述组件中的一些或全部彼此连接在一起的硬件。
图4示出了包括经由网络370连接在一起的计算设备410,420,430,440的网络化计算系统400。计算设备310-340中的每一个都可以与计算设备110进行比较。为了清楚起见,图4示出计算设备410-440分别包括HW加速器卡418,428,438,448和网络接口卡419,429,439,449。然而,每个计算设备410-440可以包括与计算设备110相同或不同的组件,诸如一个或多个处理器,存储器,HW加速器卡和/或网络接口,以及通常在计算机内或以其他方式连接到计算机的其他组件。
网络470可以包括各种协议和系统,使得网络可以是因特网,万维网,特定内联网,广域网或局域网的一部分。网络可以利用标准通信协议,例如以太网,WiFi和HTTP,一个或多个公司专有的协议,以及上述的各种组合。尽管当如上所述地发送或接收信息时获得了某些优点,但是这里描述的主题的其它方面不限于任何特定的信息发送方式。每个计算设备410-440可以经由网络470与其他计算设备通信。在一些示例中,网络470可经配置以仅允许计算设备的子集之间的通信。例如,计算设备410可以能够通过网络470与计算设备420和430进行通信,但不能与计算设备440进行通信。此外,尽管图4仅示出了经由网络470连接的四个计算设备,但是联网的计算系统可以包括任意数量的计算设备和网络。
图5分别示出了由计算设备410-440中的HW加速器提供的加速服务的示例性加速服务列表510-540。与图3中标识由计算设备110的加速器提供的加速服务的列表
328a-328c类似,加速服务列表510-540分别包括由计算设备410-440内的HW加速器卡
418-448的加速器提供的能力和功能。由附接到计算设备的通信接口的HW加速器卡的加速器提供的每个加速服务用“(本地)”标签来标识。例如,计算设备410内的HW加速器卡418可以提供联网加速服务和压缩加速服务。类似地,计算设备420内的HW加速器卡428可以提供联网加速服务和编码加速服务,计算设备430内的HW加速器卡438可以提供联网加速服务和散列加速服务,并且计算设备440内的HW加速器卡448可以提供联网和加密服务。
列表510-540还包括经由服务聚合识别的网络470上的其它计算设备的加速服务。这些远程可用的加速服务在图5中用“(远程)”标签标识。例如,列表510将由计算设备320内的HW加速器卡提供的编码、由计算设备330内的HW加速器卡提供的散列、以及由计算设备340内的HW加速器卡提供的加密标识为计算设备310可用的聚合的加速服务。尽管图5示出每个计算设备能够使用由所有连接的计算设备提供的所有加速服务,但是在一些情况下,可以阻止远程访问由远程设备提供的加速服务。例如,计算设备340可以防止本地加密加速服务通过服务聚合变得可用。
每个计算设备的加速服务列表可以由运行在一个或多个HW加速器卡上的ASM软件生成。例如,在诸如计算设备410的HW加速器卡418的HW加速器卡的初始化期间,HW加速器卡的计算复合体可以执行ASM。ASM可以准备可以通过HW加速器卡被服务的加速服务的列表,包括本地和远程加速服务。该加速服务列表可以由在计算设备410上执行的操作系统提供,或者可以由存储在HW加速器卡418、计算机设备410或某些其它位置上的存储器内的配置文件提供。
在某些情况下,加速服务列表可以被动态发现。例如,在HW加速器卡418上执行的ASM可以与本地连接到计算设备410的HW加速器卡和/或连接到网络470的计算设备的其它HW加速器卡通信。在通信期间,HW加速器卡418可以请求由其它本地或远程连接的HW加速器提供的加速服务的列表。HW加速器卡418可以将这些其它加速服务聚合到加速列表510中。在一些情况下,HW加速器卡可以为每个本地或远程连接的HW加速器卡维护单独的加速列表。例如,尽管图5仅示出了用于计算设备410的单个列表510,但是计算设备410可以具有由HW加速器卡418提供的用于加速服务的列表以及由其它远程连接的HW加速器卡提供的用于加速服务的单独列表。尽管上述示例描述了通过在HW加速器卡418上执行的ASM程序来发现和聚合加速服务,但是诸如加速器卡428,438和/或448的其它HW加速器卡也可以准备可用于它们各自的计算设备420-440的加速服务的列表。
在HW加速器卡418上执行的ASM可以管理加速服务列表。在这点上,ASM可以确定哪些加速服务是健康的(例如,可操作的,可用于处理工作负载,具有用于工作负载的足够的处理能力等)。ASM可以监视加速服务列表中的加速服务的操作以确定加速服务的状态(例如,健康,不健康/忙碌,不可用等)。例如,ASM可以从其它ASM请求状态更新,以确定由那些其它HW加速器卡提供的加速服务的状态。ASM可以修整加速服务列表以去除由其他ASM标识为不可用(例如,不可达)的加速服务。在另一个示例中,ASM可以标记被识别为不健康(例如,低效/缓慢地操作)或忙碌(例如,处理它工作负载、为其它工作负载保留等)的加速服务,使得ASM不向这些忙碌/不健康的加速服务发送工作负载。
在另一个例子中,ASM可以监视发送的工作负载以完成或响应指示符。如果没有接收到响应,或者ASM没有识别出工作负载完成,则ASM可以确定远程HW加速器没有接收到工作负载和/或没有由远程HW加速器提供的预期加速服务所处理。在这种情况下,ASM可以请求不同的加速服务来执行工作负载。
在一些情况下,ASM可以将工作负载分配给多个加速服务,用于负载平衡,故障处理,性能或其它这样的考虑。例如,工作负载可能很大,并且ASM可以利用许多HW加速器卡的加速服务来有效地处理工作负载。在另一个例子中,ASM可以对某些远程HW加速器卡赋予优先级。例如,ASM可以指示由第一远程HW加速器处理的工作负载。如果第一远程HW加速器不能处理工作负载,则第二远程HW加速器可以处理工作负载。该过程可以重复,指示额外的备用HW加速器处理工作负载,直到处理工作负载。
作为HW加速器卡的初始化的一部分,在计算复合体上执行的ASM可以准备服务,用于发送和接收本地和远程服务的调用。在这点上,ASM可以初始化和/或确认启用了用于处理本地服务调用(例如,由ASM正在其上执行的HW加速器卡的加速器处理的调用)的终端服务代码。
ASM还可以初始化和/或确认启用了远程服务的代理代码。代理代码可以用作中间宿主,用于调用远程服务(例如,从ASM发送到另一ASM的调用,用于由另一HW加速器卡的加速器处理)。在这点上,代理代码指的是允许ASM到ASM通信的代码。代理代码还可以指使本地HW加速器卡的ASM能够从可能没有ASM运行的其它远程HW加速器卡上的加速器调用加速服务的代码。也就是说,本地HW加速器卡的ASM可以通过代理代码被配置为当远程HW加速器卡不包括ASM时将对加速服务的请求从本地计算设备路由到远程HW加速器卡。
ASM可以将加速服务列表展示给计算设备的处理器。例如,在HW加速器卡418上执行的ASM可以向计算设备410的一个或多个处理器提供列表510。在一些示例中,在计算设备上执行的操作系统可以从ASM请求列表。例如,在计算设备410上执行的操作系统可以向HW加速器卡418请求加速服务510的列表。
示例性方法
图6是示出通过诸如PCIe总线260之类的通信接口,发现由连接到处理器(诸如处理器112)的HW加速器卡(诸如HW加速器卡118)提供的加速服务的过程的流程图。处理器112可以经由PCIe接口请求与HW加速器卡118(以虚线示出)通信。在计算设备上执行的操作系统可以在HW加速器卡和处理器112之间的PCIe总线上提供通信信道。
使用通信信道,处理器112可以发送对由HW加速器卡118上的加速器提供的加速服务列表的请求,如线623所示。响应于接收到来自处理器118的请求,HW加速器卡118的计算复合体212可以查询并接收来自HW加速器卡的存储器214(或加速器的存储器)的加速服务的列表,如分别由箭头625和627所示。在这点上,HW加速器卡可以聚合所有加速器的加速服务。在某些情况下,HW加速器卡118可以仅查询一些加速器。
在一些情况下,HW加速器卡118可以分层方式聚合加速器的加速服务。在这点上,加速服务可以是分层的,一个加速服务可以依赖于或取决于另一个加速服务。加速服务之间的这种分层关系可以被识别并存储在该列表中。在一些示例中,分层关系中的每个级别可以标识下一级别的能力和功能。
计算复合体212可经由PCIe总线260向处理器112提供加速服务的列表,如线629所示。一旦处理器接收到加速服务的列表,就可以关闭通信信道。
在处理器可利用一个或多个加速服务的情况下,处理器112可使用由HW加速器卡118上的加速器所提供的加速服务中的一个加速服务来请求HW加速器卡完成一个或多个任务。图7示出了处理器112请求关于通过PCIe总线260连接的HW加速器卡118的加速服务的信息。在这点上,步骤723-729对应于上述步骤623-629。
如箭头729所示,HW加速器指示它能够提供压缩服务。在接收到加速服务时,处理器112可向HW加速器卡118提供包括存储数据的位置的指示和压缩数据的指令的工作负载指令,如箭头731所示。然后,HW加速器卡的计算复合体212可以确认该指令,并提供处理器112可以与之通信的ID,以获得由HW加速器卡118进行的压缩的状态更新,如箭头733所示。然后,处理器112可以分别请求和接收压缩状态,如箭头735和737所示。一旦轮询请求指示压缩完成,处理器112和HW加速器卡118之间的通信可以停止,或者可以从处理器112向HW加速器卡发送进一步的任务。尽管图7示出了压缩服务,但是由HW加速器执行的处理可以是任何类型的操作或操作的组合。
图8示出了服务聚合操作的流程图。在计算设备的处理器812上运行的软件可以从HW加速器卡818请求一个或多个加速服务来处理工作负载。由线823示出的请求可以由处理器812通过经由通信接口(例如PCE接口860)建立的通信链路发送到本地HW加速器卡818。为了说明的目的,由处理器812请求的加速服务是处理工作负载的“压缩”服务。然而,可以请求任何其它加速服务。
在发送请求823之前,可以向在处理器812上执行的软件提供HW加速器卡818本地(即,由HW加速器卡818的加速器)可用的或从HW加速器卡818远程(即,由通过网络连接的HW加速器的其它远程加速器)可用的加速服务的列表。例如,可以在HW加速器卡818的初始化期间提供该列表。在另一示例中,在计算设备上执行的软件或另一程序(例如操作系统)可请求列表。在又一示例中,加速服务的列表可以由软件从配置系统接收,而不与HW加速器卡818通信。配置系统可以是集中式列表,在计算设备上执行的软件可以从该集中式列表检索该列表。例如,配置系统可以位于远程,其中存储器可以通过网络或其它连接来访问。
请求823可以包括所请求的加速服务的名称(例如,唯一标识符),在线参数,以及其中找到所请求的加速服务的输入(例如,用于处理工作负载的数据)的固定存储位置。
在接收到请求之后,HW加速器卡818的ASM可以确定所请求的加速服务是否是本地的,如线825所示。在加速服务是本地的情况下,ASM可以使用在线参数、并且使用DMA(直接存储器访问)访问所传递的存储器地址,来服务请求。然后,能够执行所请求的加速服务的本地加速器可以处理输入(例如,数据)。再次参考图8,所请求的压缩加速服务可以由HW加速器卡818的加速器来执行。完成的压缩请求的结果(例如,输出)然后可以从HW加速器卡818传递到处理器812,如线827所示。
在请求的加速服务在本地不可用的情况下,ASM可以充当对远程服务HW加速器卡的请求客户端。在这点上,HW加速器卡的ASM可以将请求传递到提供所请求的加速服务的远程HW加速器卡。HW加速器卡还可以通过远程直接存储器访问(RDMA)将固定存储器传递到远程HW加速器卡。
图8进一步示出了远程服务聚合操作的流程。例如,处理器812可以向本地HW加速器卡818请求由远程HW加速器卡838提供的加密加速服务,如线829所示。在接收到请求之后,本地HW加速器卡818可以确定加密不是它所提供的加速服务,如线831所示。
当本地HW加速器卡不能完成加速服务时,本地HW加速器卡818的ASM可以确定哪个远程HW加速器卡能够提供该服务。参照图8,本地HW加速器818的ASM可以确定远程HW加速器卡838能够提供加密加速服务。ASM可以转发该请求,如线833所示。
在某些情况下,请求可以包括能够提供加速服务的HW加速器卡的标识符。在这种情况下,本地HW加速器卡818可以跳过确定它是否执行所请求的加速服务,并继续将请求转发到所识别的远程HW加速器卡。
然后,远程HW加速器卡838可以执行加密的加速服务,如图8中的线835所示。完成的加密结果(例如,输出)然后可以从远程HW加速器卡838传递到本地HW加速器卡818,如线837所示的处理器812,以及从本地HW加速器卡818传递到处理器812,如线839所示。
HW加速器卡之间的通信可以通过在每个HW加速器卡上执行的ASM程序来完成。在这点上,每个ASM可以直接通信。或者,ASM可以将通信数据(例如,请求,输出等)封装到外部报头内的数据包中,该外部报头可以将该数据包路由到远程可路由目的地,可以经由常规路由来发现该目的地的地址。一旦数据包到达预期的ASM,ASM就可以解封该数据包,并将该数据包引导到该HW加速器卡上的正确的加速器,如数据包报头中所标识的。
除非另有说明,否则上述替代示例不是相互排斥的,而是可以以各种组合来实现,以实现独特的优点。由于在不脱离由权利要求限定的主题的情况下,可以利用以上讨论的特征的这些和其它变化和组合,因此实施例的上述描述应当以说明的方式而不是以对由权利要求限定的主题的限制的方式来进行。此外,提供本文所述的实施例,以及措辞为“诸如”、“包括”等的条款,不应被解释为将权利要求的主题限制为具体实施例;相反,这些实施例仅用于说明许多可能的实施方案中的一个。此外,不同附图中的相同附图标记可以标识相同或相似的元件。

Claims (20)

1.一种方法,其特征在于,包括:
由本地硬件(HW)加速器卡的一个或多个处理器经由通信接口提供来自所述本地HW加速器卡的加速服务列表,所述加速服务列表包括由所述本地HW加速器卡的一个或多个加速器提供的第一组加速服务和由远程HW加速器卡的一个或多个加速器提供的第二组加速服务;
由所述一个或多个处理器从计算设备的处理器接收工作负载指令,所述工作负载指令限定由所述第二组加速服务中的至少一个加速服务处理的工作负载;和
由所述一个或多个处理器将所述工作负载指令转发到所述远程HW加速器卡。
2.根据权利要求1所述的方法,其特征在于,还包括:
由所述一个或多个处理器从所述远程HW加速器卡接收经处理的工作负载,所述经处理的工作负载是由所述第二组加速服务中的所述至少一个加速服务处理之后的工作负载。
3.根据权利要求2所述的方法,其特征在于,还包括:
由所述一个或多个处理器将所述经处理的工作负载转发到所述计算设备的所述处理器。
4.根据权利要求1所述的方法,其特征在于,所述加速服务列表由在所述一个或多个处理器上执行的加速服务管理器(ASM)生成。
5.根据权利要求4所述的方法,其特征在于,在所述一个或多个处理器上执行的所述ASM与在所述远程HW加速器卡上执行的另一ASM通信。
6.根据权利要求5所述的方法,其特征在于,所述通信包括所述ASM将所述工作负载指令转发到所述其他ASM。
7.根据权利要求5所述的方法,其特征在于,所述通信包括所述ASM向所述其他ASM请求所述第二组加速服务的列表。
8.根据权利要求5所述的方法,其特征在于,所述ASM从所述加速服务列表中识别并修整不健康的加速服务。
9.根据权利要求8所述的方法,其特征在于,识别所述不健康的加速服务包括:
由所述ASM确定由所述第二组加速服务中的所述至少一个加速服务处理所述工作负载指令失败。
10.根据权利要求9所述的方法,其特征在于,修整所述不健康的加速服务包括:
将所述第二组加速服务中的所述至少一个加速服务标记为不健康;或
从所述加速服务列表中删除所述第二组加速服务中的所述至少一个加速服务。
11.根据权利要求10所述的方法,其特征在于,还包括:
在由所述ASM确定处理所述工作负载指令失败后,向不同的HW加速器卡发送更新后的工作负载指令,用于由所述不同的HW加速器的至少一个加速服务处理。
12.根据权利要求1所述的方法,其特征在于,所述工作负载指令进一步限定由至少一个其它远程HW加速器卡的至少一个加速服务进行的处理。
13.一种系统,其特征在于,包括:
通信接口;
包括一个或多个处理器和一个或多个加速器的本地硬件(HW)加速器卡,所述一个或多个处理器被配置为:
经由所述通信接口从所述本地HW加速器卡接收加速服务列表,所述加速服务列表包括由所述本地HW加速器卡的一个或多个加速器提供的第一组加速服务和由远程HW加速器卡的一个或多个加速器提供的第二组加速服务;
从计算设备的处理器接收工作负载指令,所述工作负载指令限定由所述第二组加速服务中的至少一个加速服务处理的工作负载;和
将所述工作负载指令转发到所述远程HW加速器卡。
14.根据权利要求13所述的系统,其特征在于,所述一个或多个处理器还被配置成:
从所述远程HW加速器卡接收经处理的工作负载,所述经处理的工作负载是由所述第二组加速服务中的所述至少一个加速服务处理之后的工作负载。
15.根据权利要求14所述的系统,其特征在于,所述一个或多个处理器还被配置成:
将所述经处理的工作负载转发到所述计算设备的所述处理器。
16.根据权利要求13所述的系统,其特征在于,所述加速服务列表由在所述一个或多个处理器上执行的加速服务管理器(ASM)生成。
17.根据权利要求16所述的系统,其特征在于,在所述一个或多个处理器上执行的所述ASM与在所述远程HW加速器卡上执行的另一ASM通信。
18.根据权利要求17所述的系统,其特征在于,所述通信包括所述ASM将所述工作负载指令转发到所述其他ASM。
19.根据权利要求17所述的系统,其特征在于,所述通信包括所述ASM向所述其他ASM请求所述第二组加速服务的列表。
20.根据权利要求18所述的系统,其特征在于,所述ASM从所述加速服务列表中识别并修整不健康的加速服务。
CN202280034389.4A 2021-11-12 2022-10-27 硬件加速器服务聚合 Pending CN118140211A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/525,300 2021-11-12
US17/525,300 US20230153159A1 (en) 2021-11-12 2021-11-12 Hardware Accelerator Service Aggregation
PCT/US2022/047988 WO2023086210A1 (en) 2021-11-12 2022-10-27 Hardware accelerator service aggregation

Publications (1)

Publication Number Publication Date
CN118140211A true CN118140211A (zh) 2024-06-04

Family

ID=84366981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280034389.4A Pending CN118140211A (zh) 2021-11-12 2022-10-27 硬件加速器服务聚合

Country Status (5)

Country Link
US (1) US20230153159A1 (zh)
EP (1) EP4323872A1 (zh)
JP (1) JP2024523990A (zh)
CN (1) CN118140211A (zh)
WO (1) WO2023086210A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216314B2 (en) * 2018-11-02 2022-01-04 EMC IP Holding Company LLC Dynamic reallocation of resources in accelerator-as-a-service computing environment
US10911342B2 (en) * 2018-11-30 2021-02-02 Sap Se Distributed monitoring in clusters with self-healing
US11301407B2 (en) * 2019-01-08 2022-04-12 Intel Corporation Technologies for accelerator fabric protocol multipathing
US20200341810A1 (en) * 2019-04-24 2020-10-29 Intel Corporation Technologies for providing an accelerator device discovery service
US11416295B2 (en) * 2019-04-30 2022-08-16 Intel Corporation Technologies for providing efficient access to data in an edge infrastructure
US11321907B1 (en) * 2021-03-02 2022-05-03 Samsung Electronics Co., Ltd. Method and apparatus for graphics driver optimization using daemon-based resources

Also Published As

Publication number Publication date
EP4323872A1 (en) 2024-02-21
JP2024523990A (ja) 2024-07-05
WO2023086210A1 (en) 2023-05-19
US20230153159A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
CN109428922B (zh) 一种订阅发布方法及服务器
US9723110B2 (en) System and method for supporting a proxy model for across-domain messaging in a transactional middleware machine environment
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
US9154580B2 (en) Connection management in a computer networking environment
WO2019100266A1 (zh) 移动边缘主机服务通知方法和装置
US7500251B2 (en) Method and system for managing programs for web service system
WO2021051881A1 (zh) Vpp 集群管理方法及装置、计算机设备及存储介质
CN111352716A (zh) 一种基于大数据的任务请求方法、装置、系统及存储介质
WO2019153880A1 (zh) 集群中镜像文件下载的方法、节点、查询服务器
WO2024037629A1 (zh) 区块链的数据整合方法、装置、计算机设备及存储介质
JP2010128597A (ja) 情報処理装置及び情報処理装置の運用方法
US8316083B2 (en) System and method for client interoperability
CN118140211A (zh) 硬件加速器服务聚合
US11663058B1 (en) Preemptive filtering of events of an event bus with a deterministic filter
CN115225482A (zh) 一种基于Kubernetes进行Pod容器网络配置的方法及装置
CN115729693A (zh) 数据处理方法、装置、计算机设备及计算机可读存储介质
WO2024034057A1 (ja) ネットワーク管理装置、ネットワーク管理方法及びプログラム
EP4105782A1 (en) Hardware accelerator service discovery
CN116760850B (zh) 一种数据处理方法、装置、设备、介质及系统
WO2024114645A1 (zh) 一种虚拟化网络功能vnf的实例化方法及装置
CN112073449B (zh) 基于Kubernetes的环境切换处理方法和设备
US20240095104A1 (en) Asynchronous communication in cluster infrastructures
CN116016679A (zh) 一种云原生服务通信方法、装置、设备及存储介质
CN116880970A (zh) 应用功能的调用方法、装置、终端设备及存储介质
CN114096950A (zh) 提升任务-机器紧密性的分布式系统

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