CN110073342A - 用于硬件加速的虚拟信道 - Google Patents
用于硬件加速的虚拟信道 Download PDFInfo
- Publication number
- CN110073342A CN110073342A CN201680090971.7A CN201680090971A CN110073342A CN 110073342 A CN110073342 A CN 110073342A CN 201680090971 A CN201680090971 A CN 201680090971A CN 110073342 A CN110073342 A CN 110073342A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- data flow
- response
- write
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本文描述了与通过将数据请求从多个虚拟机映射到多个虚拟信道来提供硬件加速相关联的装置、方法和存储介质。在实施例中,装置可以包括多个可编程电路单元和被编程到可编程电路单元中的逻辑,所述逻辑用于从在耦合到装置的处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流。装置还可以将多个数据流映射到加速逻辑的多个实例,并且用于独立地管理对多个数据流的响应。本文可以公开其他实施例。
Description
技术领域
本公开内容涉及计算和联网领域。更具体而言,本公开内容涉及支持运行虚拟机的中央处理单元(CPU)的硬件加速器。具体而言,本公开内容涉及将数据流从虚拟机映射到虚拟信道,以在每个虚拟信道上独立地管理数据请求的一致性。
背景技术
本文提供的背景描述出于总体上呈现本公开内容的上下文的目的。除非本文另有指示,否则本部分中描述的材料不是本申请中的权利要求的现有技术,并且不因被包括在本部分中而被承认是现有技术。
CPU和硬件加速器平台(例如,Intel XeonTM和现场可编程门阵列(FPGA))提供多个物理链路作为CPU/FPGA与其他设备(例如,物理存储器)之间的接口。这些接口可能具有不同的特征。例如,Intel QuickPath InteconnectTM(QPI)和UltraPath InteconnectTM(UPI)是数据一致性接口并且支持乱序事务,而外围组件快速互连(PCIe)是非一致性接口并且支持有序事务。将这些接口组合在一起并且为软件程序员或加速器设计者呈现一致的视图具有一些挑战。
例如,在网络功能虚拟化(NFV)场景中,多个虚拟机(VM)可以在由具有一个或多个CPU的处理器支持的单个服务器中共享相同的硬件加速器。通常,当加速器执行操作并且准备好生成结果时,加速器首先发出结果数据,然后更新数据字段,例如索引和/或标志。随后,当软件接收到中断或执行轮询功能时,索引和/或标志被引用以确保结果的存在。为了防止竞争条件,加速器确保输出数据在索引或标志改变之前在系统中全局可见。
在多个链路和总是有序的事务顺序的情况下,用于提供数据一致性的传统技术是实现写入栅栏以提供这样的顺序。通过在写入栅栏操作之后允许写入操作的执行之前检查写入完成信号,写入栅栏操作可以等待直到所有先前的写入是可见的。然而,在使用单个写入栅栏时混合不同的请求流(例如,来自不同的VM)可能造成严重的性能影响。一个写入栅栏将停止所有数据传输,直到所有先前的数据传输事务完成。作为结果,即使当不同数据请求流之间的数据彼此之间不具有数据依赖性时,也可能花费不必要的周期来等待开始数据请求操作。
附图说明
本公开内容的实施例可以克服这样的限制。通过以下结合附图的详细描述,将容易理解这些实施例和公开的技术。为了促进该描述,同样的附图标记标示同样的结构蒜素。在附图的图中,通过示例而非限制的方式示出了实施例。
图1是根据各种实施例的包括具有各种虚拟信道流的虚拟机的计算平台的框图,所述虚拟信道流包含映射到硬件加速器的加速逻辑的不同实例的数据请求,并且响应由硬件加速器的业务管理响应监控器管理。
图2是根据各种实施例的管理虚拟信道流数据请求响应的业务管理响应监控器的框图。
图3是根据各种实施例示出由硬件加速器在多个虚拟信道流之间服务多个数据请求的方法的流程图。
图4示出了根据各种实施例的具有用于实践参考图3描述的方法的指令的存储介质。
具体实施方式
本文公开了与使用硬件加速器来促进数据一致性相关联的装置、方法和存储介质。在实施例中,装置可以向计算提供硬件加速,并且可以包括多个可编程电路单元,其中,逻辑被编程到可编程电路单元中,以在多个数据信道流上从在耦合到装置的处理器上运行的多个虚拟机(VM)接收多个数据请求,并且将多个数据信道流映射到加速逻辑的多个实例,以用数据请求独立地管理多个数据信道流。
一些实施例可以代表多个VM进一步促进数据一致性。对虚拟信道流的数据请求的响应可以由业务管理响应监控器管理,例如,通过实现限于与特定虚拟信道流相关联的数据请求的写入栅栏(write-fence)操作。通过动态映射虚拟信道流和管理对数据请求的响应,可以通过仅在写入请求依赖于相同虚拟信道流内的相关写入请求的完成的情况下延迟所述写入请求来增加总体数据请求服务和吞吐量。
另外,每个虚拟信道流可以容适于不同的物理链路特性,例如到存储器116的物理链路,所述存储器116可以通过处理器102访问,或者经由物理互连130到其他物理设备(未示出)的物理链路。在实施例中,这些设备可以具有不同的特性,例如关于带宽和/或延时的不同存储器访问特性。在实施例中,虚拟信道内的数据请求可以动态地映射到一个或多个加速器逻辑功能132a-132c,其可以作用于每个虚拟信道内的个别数据请求。
在以下详细描述中,对形成本文的一部分的附图进行了参考,其中,同样的数字始终标示同样的部件,并且其中,通过图示的方式示出了可以被实践的实施例。应当理解,在不脱离本公开内容的范围的情况下,可以利用其他实施例并且可以进行结构或逻辑上的改变。因此,以下详细描述不应被视为具有限制意义,并且实施例的范围由所附权利要求及其等同物定义。
在所附描述中公开了本公开内容的各方面。在不脱离本公开内容的精神或范围的情况下,可以设计本公开内容的替代实施例及其等同物。应当注意,下面公开的同样的元素在附图中由同样的附图标记指示。
可以以最有助于理解所要求保护的主题的方式依次将各种操作描述为多个离散动作或操作。然而,描述的顺序不应被解释为意味着这些操作一定依赖于顺序。具体而言,这些操作可以不按呈现的顺序执行。所描述的操作可以以与所描述的实施例不同的顺序执行。在附加实施例中,可以执行各种附加操作和/或可以省略所描述的操作。
出于本公开内容的目的,短语“A和/或B”意指(A)、(B)或(A和B)。出于本公开内容的目的,短语“A、B和/或C”意指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)、或(A、B和C)。
描述可以使用短语“在一实施例中”或“在实施例中”,其均可以指代相同或不同实施例中的一个或多个。此外,关于本公开内容的实施例使用的术语“包括”、“包含”、“具有”等是同义的。
如本文使用的,术语“模块”可以指代、是或者包括:执行一个或多个软件或固件程序的专用集成电路(ASIC)、片上系统(SoC)、(共享、专用或组)处理器和/或(共享、专用或组)存储器;组合逻辑电路;现场可编程门阵列(FPGA);和/或提供所描述的功能的其他合适组件。
图1是根据各种实施例的包括具有各种虚拟信道流的虚拟机的计算平台的框图,所述虚拟信道流包含映射到硬件加速器的加速逻辑的多个实例的数据请求,并且对数据请求的响应由硬件加速器的业务管理响应监控器管理。示意图100示出了可以包括处理器102(具有一个或多个CPU/核心)的计算平台,其可以为例如计算机服务器(未示出)提供计算机处理功能。在实施例中,处理器102可以支持多个虚拟机104a、104b、104c,其可以提供去往设备或引起对设备的访问的一个或多个数据请求104a1、104a2、104b1、104c1。在实施例中,数据请求104a1、104a2、104b1、104c1可以去往存储器116或引起经由互连130对耦合到处理器102的存储器116的访问。在实施例中,一个或多个数据请求104a1、104a2、104b1、104c1可以包括或者引起对存储器116的存储器位置的写入请求,其可以对多个虚拟机104a、104b、104c共享和/或以其他方式可由其访问。在实施例中,多个虚拟机104a、104b、104c还可以是多个虚拟功能(例如,虚拟化网络功能),或者可以被称为在处理器102和/或硬件加速器110上操作的多个租户。在实施例中,如前所述,处理器102可以具有多个处理器核心(CPU),其协调地或独立地操作以操作多个虚拟机104a、104b、104c。
在实施例中,一个或多个数据请求104a1、104a2、104b1、104c1可以在一个或多个虚拟信道上被发送,如虚拟信道流108a-108d所示。在实施例中,这些虚拟信道可以由处理器102实现,例如由虚拟机104a或虚拟机管理器(VMM)(未示出)或硬件加速器110实现。在实施例中,硬件加速器110可以用FPGA来实现。在替代实施例中,硬件加速器110可以是专用集成电路(ASIC)。
在实施例中,一个或多个虚拟信道流108a-108d可以在虚拟信道流108a-108d内具有由加速逻辑132a-132c的各种实例处理的数据请求。此外,对数据请求的响应可以由业务管理响应监控器112管理数据一致性。这可以引起针对每个虚拟信道流独立地处理数据一致性功能,从而引起硬件加速器110的性能的总体改善。在用FPGA实现硬件加速器110的实施例中,虚拟信道流108a-108d可以占用FPGA上的物理存储器和/或存储单元。
在实施例中,每个虚拟信道流108a-108d内的数据请求可以经过动态映射功能106。动态映射功能106可以创建映射106a-106d,以将相应虚拟信道数据请求流内的数据请求路由到加速逻辑132a-132c的各种实例。在实施例中,动态映射功能106可以被配置为基于一个或多个标准来选择映射。这些标准可以包括未使用的虚拟信道流108a-108d的可用性、虚拟信道流108a-108d可以递送的带宽、和/或其他标准。在实施例中,动态映射功能106可以请求和/或接收附加信息,例如VM 104a-104c到虚拟信道流108a-108d的地址映射。
在实施例中,加速逻辑132a-132c可以在加速器110内提供各种功能。一旦动态映射功能106已经选择了映射106a-106d,加速逻辑132a-132c就可以服务于虚拟信道流108a-108d中的数据请求。差异加速功能可以在硬件加速器110内部共存。例如,如果硬件加速器110是密码加速器,则它可以包含摘要/散列函数、分组密码和公钥/私钥密码。虚拟机104a-104c可以基于它们相应的需要来选择性地请求这些功能。
在实施例中,由加速逻辑132a-132c处理的、虚拟信道流108a-108d的数据请求的结果或对其的响应可以流入到业务管理响应监控器112中。在实施例中,图2中进一步描述的被设置在硬件加速器110中的业务管理响应监控器112可以接收对与虚拟信道流108a-108d相关的数据请求的响应,并且可以管理通过与物理互连130接合的接口控制器131将响应转发到其他设备。
在实施例中,业务管理响应监控器112可以被配置为独立地管理各种虚拟信道流108a-108d的响应的数据一致性,从而提高加速的总体吞吐量。例如,加速逻辑132a-132c对个别数据请求的处理可以包括经由互连130将写入请求发送到存储器116。业务管理响应监控器112可以延迟虚拟信道流的写入请求,直到存储器116已经确认了相同虚拟信道流的其他依赖的写入请求。在实施例中,这可以被称为虚拟信道切片,并且可以具有减少浪费的周期和增加数据请求吞吐量和链路利用率的益处。增加的链路利用率可以由一个虚拟信道108a内的动态映射的数据流中的数据请求(而不是阻挡不同虚拟信道108b内的数据请求)产生。
在实施例中,业务管理响应监控器112可以针对由硬件加速器110服务的设备容适不同的物理链路特性,以用于带宽、延时和高速缓存一致性。在实施例中,可以包括由接口控制器131支持的对QPI和PCIe接口(其可以用于与加速器110外部的设备通信)的支持的物理互连130可以由业务管理响应监控器112支持。在非限制性的示例中,可以使用具有硬件加速器110平台、多个PCIe和QPI/UPI互连130的XeonTM。
图2是根据各种实施例的管理虚拟信道数据请求流的业务管理响应监控器的框图。示意图200示出了硬件加速器210,其可以类似于图1的硬件加速器110。在实施例中,可以类似于业务管理响应监控器112的业务管理响应监控器212可以在硬件加速器210内被实现。
示例性数据请求流序列220可以示出诸如来自虚拟信道数据请求流(例如,虚拟信道流108a-108d)的写入请求之类的数据请求可以如何被管理。两个术语虚拟信道数据请求流和虚拟信道流可以被认为是同义的。流管理序列220内的数据请求可以与数据请求已经被映射到的虚拟信道流的流标识符相关联。数据请求还可以与数据类型相关联,在实施例中,所述数据类型可以是两种类型的:“正常”和“保护”。在实施例中,正常可以被称为“未保护”。另外,数据请求可以与功能相关联,所述功能例如读取请求、写入请求、写入栅栏请求或某个其他请求。在实施例中,保护或正常的数据类型可以与写入请求相关联。在实施例中,业务管理响应监控器212可以使用流标识符(例如,用于写入请求和写入栅栏请求的流标识符),以在硬件加速器210中针对特定流标识符实现虚拟信道流依赖的请求写入栅栏阻挡。
在图2的示例中,所示的写入请求的编号(例如,Wr-Req 1 220a、Wr-Req 2 220b、Wr-Req3 220c、Wr-Req 4 220d、Wr-Req 5 220e、Wr-Req 6 220j、Wr-Req 7 220g、Wr-Req 8220h和Wr-Req 9 220i)可以表示业务管理响应监控器212从虚拟机104a、104b、104c接收来自图1的虚拟信道数据请求流108a-108d的数据请求的顺序。写入请求220a-220j从左到右的位置可以表示数据请求被发送到物理存储器216的顺序。流编号标识符(例如,1-4)可以是与每个写入请求相关联的虚拟信道流编号。
在实施例中,对于正常(非保护)写入请求220a、220b、220g、220h、220i,写入请求可能不要求确认在来自相同虚拟信道数据请求流或者其他虚拟信道数据请求流的另一正常写入请求被发送到存储器216之前由物理存储器216被接收。这可能是由于个别写入请求之间缺乏依赖性。
作为对比,特定虚拟信道数据请求流的保护写入请求(例如,虚拟信道数据请求流1上的Wr-Req 3 220c、Wr-Req 4 220d和Wr-Req 5 220e)可以被发送到业务管理响应监控器212。业务管理响应监控器212可以针对流1接收Wr-Fence 220f写入栅栏数据请求,以指示在任何进一步的写入保护请求被处理之前,所有写入保护请求应当由存储器216确认。
该写入栅栏请求220f可以使得业务管理响应监控器212延迟发送对于虚拟信道数据请求流1的任何进一步的保护写入数据请求,直到响应在对于虚拟信道数据请求流1的Wr-Fence 220f请求之前已经针对每个保护写入被接收到。在该示例中,保护写入请求Wr-Req 6 220j可以被延迟,直到针对所有未决保护写入请求的响应已经被接收到,所述响应例如与Wr-Req 3 220c相关联的响应Resp 3 224a、与Wr-Req5 220e相关联的Resp5 224b、以及与Wr-Req 4 220d相关联的Resp 4 224c。这些响应可以指示保护写入请求已经被成功写入存储器216。应当注意,可以以与原始写入保护请求不同的顺序接收响应。这可能是重要的,例如,当存在对存储器访问位置的依赖性时(所述存储器访问位置要被更新以确保从该存储器访问位置的后续读取从存储器中取回正确(最新)的数据)。
以这种方式,对于虚拟信道流的保护写入请求可以仅阻挡该虚拟信道数据请求流的保护写入请求,而不阻挡任何其他虚拟信道数据请求流的保护写入请求。作为结果,通过将数据依赖性协调限于特定虚拟信道数据请求流内的数据请求,可以大大减少业务管理响应监控器212在队列处理中的空闲时间。
与不将虚拟机104a、104b、104c数据请求映射到虚拟信道数据请求108a-108d中的传统系统相比,与上述示例类似的实施例的优点可以包括对存储器224的写入请求的较高的总体吞吐量。在这样的传统系统中,单个写入栅栏可以阻挡从所有虚拟机到物理信道的所有事务,例如,阻止所有数据写入被发送到存储器224,直到已经从每次写入接收到确认。此外,在传统实施方式中,当多个写入栅栏被执行时,多个虚拟机可能彼此阻挡。
然而,在实施例中,通过动态地将来自每个虚拟机104的数据请求映射到单独的虚拟信道流并且针对特定虚拟信道数据请求流实现写入栅栏请求,可以消除无用的数据一致性依赖性并且在处理器102与硬件加速器210之间最大化吞吐量。在实施例中,由硬件加速器210的业务管理响应监控器212实现的过程可以被称为物理信道上的“切片”,以避免阻挡并取消由不需要被阻挡来避免数据不一致的受阻挡的数据请求产生的延迟。
作为结果,在传统的实施方式中,直到所有确认224已经被接收之后可能已被阻挡的写入请求220k、220l、220m现在可以在实施例中基于它们的虚拟信道数据请求流标识在队列220g、220h、220i中较早地移动,并且可以基于数据请求的正常状态与保护状态。
在实施例中,物理接口目录和编号还可以用于支持各种物理接口。这可以包括用于各种设备(未示出)的数据一致性接口,其可以使用物理互连130(例如,QuickPath互连(QPI))以及非一致性接口(例如,外围组件快速互连(PCIe))。另外,在实施例中,可以由该过程实现其他类型的数据请求。
图3是示出根据各种实施例的用于由硬件加速器在多个虚拟信道之间服务多个数据请求的方法的流程图。在实施例中,处理流300可以由图1的硬件加速器110的动态映射功能106和/或业务管理响应监控器112实践。在实施例中,动态映射功能106可以接收去往加速逻辑132a-132c之一的、各种虚拟信道流的数据请求,所述数据请求是由在处理器102上运行的虚拟机104a、104b、104c生成的。多个虚拟信道流108a-108d的这些生成的数据请求可以映射到加速逻辑132a中的所选择的加速逻辑。在由加速逻辑132a服务了数据请求时,业务管理响应监控器112然后可以独立地管理每个虚拟信道流108a-108d的响应,以确保数据一致性,例如针对在每个相应虚拟信道流内被发送到存储器116的写入。
在框302处,过程可以包括由硬件加速器从在耦合到硬件加速器的处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流。在实施例中,虚拟机104a、104b、104c可以产生可以由硬件加速器110接收的多个数据请求104a1、104a2、104b1、104c1。在实施例中,这些数据请求可以在一个或多个虚拟信道流108a-108d上被发送到硬件加速器。在实施例中,硬件加速器可以被实现为包含多个可编程电路单元的FPGA,其中,用于实现本文公开的方法中的一个或多个方法的逻辑可以被编程到多个可编程电路单元中。
在框304处,过程可以包括由硬件加速器将多个虚拟信道流动态映射到硬件加速器的各种加速逻辑。在实施例中,这可以由动态映射功能106执行,所述动态映射功能106可以是硬件加速器110的部分。这些加速逻辑功能可以提供虚拟信道流108a-108d内的数据请求的附加处理(如上所述),例如虚拟机期望的不同密码服务(如上所述)。然后可以将各种虚拟信道流108a-108d的结果或响应发送到业务管理响应监控器112。
在框306处,过程可以包括用数据请求独立地管理多个数据流的响应。在实施例中,这可以由业务管理响应监控器212执行,所述业务管理响应监控器212可以独立于另一虚拟信道数据请求流来处理对一个虚拟信道数据请求流内的数据请求的响应。在实施例中,对数据请求220a-220j的响应可以包括用于要被写入到诸如物理存储器216之类的设备中的数据的写入请求。在实施例中,如上所述,数据请求的响应可以与特定虚拟信道数据请求流相关联。对数据请求220a-220j的响应可以包括数据流标识符(其可以是虚拟信道流标识符),可以包括功能,并且可以包括数据类型。功能可以包括读取、写入和写入栅栏之一。数据类型可能包括受保护或未受保护。未受保护的数据类型也可以被称为正常。在实施例中,写入栅栏请求可以使得受保护的写入请求不被发送到物理存储器216,直到针对写入栅栏请求之前的每个写入保护请求的确认从存储器216被接收到。
在实施例中,当数据流的数据请求包括用于用写入功能保护数据流的一个或多个数据请求的写入栅栏功能时,关于虚拟信道数据请求流的业务管理响应监控器212可以在写入栅栏模式下。
在实施例中,如果响应已经针对数据流发送到存储器216的每个受保护的数据写入请求被接收到,则关于虚拟信道数据请求流的业务管理响应监控器212可以将数据流识别为不在写入栅栏模式下。
在实施例中,如果数据流不在写入栅栏模式下并且数据请求未受保护,则关于虚拟信道数据请求流的业务管理响应监控器212可以将数据流的数据请求发送到设备。
在实施例中,关于虚拟信道数据请求流的业务管理响应监控器212可以延迟发送在写入栅栏模式下的数据流的受保护的数据请求。
在实施例中,业务管理响应监控器112可以经由可以与每个设备相关联的一个或多个物理互连130与其他设备(未示出)传送数据请求。
如本领域技术人员将领会的,本发明可以被体现为方法或计算机程序产品。因此,除了如先前所描述的被体现在硬件中之外,本公开内容可以采取完全软件的实施例(包括固件、驻留软件、微代码、可执行指令等)或者组合可以通常都被称为“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本公开内容可以采取被体现在任何有形或非暂时性表达介质中的计算机程序产品的形式,所述介质具有被体现在介质中的计算机可用的程序代码。
图4示出了示例性计算机可读非暂时性存储介质,其可以适于用于存储用于配置硬件加速器的比特流,以实践本公开内容的选择的方面。如所示,非暂时性计算机可读存储介质402可以包括可以一个或多个比特流或被处理成比特流的多个编程指令404。比特流/编程指令404可以用于用逻辑来配置设备(例如,硬件加速器110),所述逻辑用于执行与业务管理响应监控器112和/或动态映射功能106相关联的操作的逻辑。在替代实施例中,比特流/编程指令404可以替代地被设置在多个计算机可读非暂时性存储介质402上。在替代实施例中,比特流/编程指令404可以被设置在计算机可读暂时性存储介质402(例如,信号)上。
在实施例中,比特流/编程指令404可以被配置成被实现为FPGA的硬件加速器110。在这些实施例中,本文公开的过程可以被表示为被编程到FPGA的可编程电路单元中的逻辑。
可以利用一个或多个计算机可用或计算机可读介质的任何组合。计算机可用或计算机可读介质可以是例如但不限于电子、磁、光、电磁、红外或半导体的系统、装置、设备或传播介质。计算机可读介质的更具体的示例(非穷举列表)将包括以下各项:具有一个或多个电线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式压缩盘只读存储器(CD-ROM)、光学存储设备、诸如支持互联网或内联网的传输介质之类的传输介质、或磁存储设备。请注意,计算机可用或计算机可读介质甚至可以是其上打印了程序的纸张或另一合适的介质,这是因为程序可以经由例如光学扫描纸张或其他介质以电子方式捕获、然后被编译、解释或另行以合适的方式处理(如果必要的话)、并且然后被存储在计算机存储器中。在本文档的上下文中,计算机可用或计算机可读介质可以是可以包含、存储、传送、传播或传输程序以供指令执行系统、装置或设备使用或与之结合使用的任何介质。计算机可用介质可以包括传播的数据信号,其具有用其体现的计算机可用的程序代码,所述数据信号或者在基带中或者作为载波的部分。计算机可用的程序代码可以使用任何适当的介质来发送,所述适当的介质包括但不限于无线、有线、光纤电缆、RF等。
用于执行本公开内容的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,所述编程语言包括诸如Java、Smalltalk、C++等的面向对象的编程语言和诸如“C”编程语言或类似的编程语言之类的传统的过程编程语言。程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上且部分在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机(所述网络包括局域网(LAN)或广域网(WAN)),或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。
参考根据本公开内容实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本公开内容。将理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以产生机器,以使得经由计算机或其他可编程数据处理装置的处理器执行的指令可以用于实现流程图和/或框图的一个或多个框中指定的功能/动作。
这些计算机程序指令还可以被存储在计算机可读介质中,所述计算机可读介质可以指导计算机或其他可编程数据处理装置以特定方式运转,以使得被存储在计算机可读介质中的指令产生包括指令的制品,所述指令实现在流程图和/或框图的一个或多个框中指定的功能/动作。
计算机程序指令还可以被加载到计算机或其他可编程数据处理装置上,以使在计算机或其他可编程装置上执行一系列操作产生计算机实现的过程,以使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的过程。
附图中的流程图和框图示出了根据本公开内容的各种实施例的系统、方法和计算机程序产品的可能的实施方式的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、片段或代码的部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应注意,在一些替代实施方式中,框中提到的功能可以不按图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这依赖于所涉及的功能。还应注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行特定功能或动作的基于专用硬件的系统、或者专用硬件和计算机指令的组合来实现。
本文使用的术语仅出于描述特定实施例的目的,并且不旨在限制本公开内容。如本文所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中被使用时,术语“包括”和/或“包含”指定了所述特征、整数、动作、操作、元素和/或组件的存在,但不排除一个或多个其他特征、整数、动作、操作、元素、组件和/或其组的存在或者添加。
实施例可以被实现为计算机过程、计算系统或诸如计算机可读介质的计算机程序产品之类的制品。计算机程序产品可以是计算机系统可读并且编码用于执行计算机过程的计算机程序指令的计算机存储介质。
所附权利要求中的所有手段加功能或步骤加功能元素的对应结构、材料、动作和等同物旨在包括具体要求保护的用于与其他要求保护的元素组合以执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了对本公开内容的描述,但是并不旨在穷举或将本公开内容限于所公开的形式。在不脱离本公开内容的范围和精神的情况下,许多修改和变型对于普通技术人员而言将是显而易见的。选择和描述实施例是为了最好地解释本公开内容的原理和实际应用,并且使得本领域其他技术人员能够针对具有适于预期的特定用途的各种修改的实施例理解本公开内容。
因此,已经描述了本公开内容的各种示例性实施例,包括但不限于:
示例1可以是一种用于向计算提供硬件加速的装置,包括:多个可编程电路单元;以及被编程到所述可编程电路单元中的逻辑,其用于:从在耦合到所述装置的处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流;将所述多个数据流映射到加速逻辑的多个实例;以及彼此独立地管理对所述多个数据流的响应。
示例2可以包括示例1的装置,其中,数据请求包括数据流标识符、功能和数据类型,其中,所述功能还包括读取、写入和写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
示例3可以包括示例1-2之一的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时,将所述数据流识别为在写入栅栏模式下。
示例4可以包括示例1-2之一的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:如果响应已经由所述装置针对数据流发送到所述设备的每个受保护的数据写入请求从所述设备接收到,则将第一数据流识别为不在写入栅栏模式下。
示例5可以包括示例1-2之一的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:如果数据流不在写入栅栏模式下并且数据请求未受保护,则将所述数据流的所述数据请求发送到所述设备。
示例6可以包括示例1-2之一的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:延迟发送在写入栅栏模式下的数据流的受保护的数据请求。
示例7可以包括示例1-2之一的装置,其中,所述数据请求是对一个或多个设备的指令。
示例8可以包括示例7的装置,其中,所述设备是存储器设备。
示例9可以包括示例1-2之一的装置,其中,所述装置是现场可编程门阵列(FPGA),并且所述可编程电路单元是所述FPGA的可编程门。
示例10可以是一种计算系统,包括:用于运行多个虚拟机的处理器;耦合到所述处理器的设备;耦合到所述处理器和所述设备的加速器,所述加速器用于:从在耦合到所述装置的所述处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流;将所述多个数据流映射到加速逻辑的多个实例;以及彼此独立地管理对所述多个数据流的响应。
示例11可以包括示例10的计算系统,其中,数据请求包括数据流标识符、功能和数据类型,其中,所述功能还包括读取、写入和写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
示例12可以包括示例10-11中任一示例的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时,将所述数据流识别为在写入栅栏模式下。
示例13可以包括示例10-11中任一示例的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:如果响应已经由所述装置针对数据流发送到所述设备的每个受保护的数据写入请求从所述设备接收到,则将第一数据流识别为不在写入栅栏模式下。
示例14可以包括示例10-11中任一示例的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:如果数据流不在写入栅栏模式下并且数据请求未受保护,则将所述数据流的所述数据请求发送到所述设备。
示例15可以包括示例10-11中任一示例的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:延迟发送在写入栅栏模式下的数据流的受保护的数据请求。
示例16可以是一种用于向计算提供硬件加速的方法,包括:由硬件加速器从在耦合到所述硬件加速器的处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流;由所述硬件加速器将所述多个数据流映射到加速逻辑的多个实例;以及彼此独立地管理对所述多个数据流的响应。
示例17可以包括示例16的方法,其中,数据请求包括数据流标识符、功能和数据类型,其中,所述功能还包括读取、写入和写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
示例18可以包括示例16-17中任一示例的方法,其中,彼此独立地管理对所述多个数据流的所述响应包括:当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时,将所述数据流识别为在写入栅栏模式下。
示例19可以包括示例16-17中任一示例的方法,其中,彼此独立地管理对所述多个数据流的所述响应包括:如果响应已经由所述装置针对数据流发送到所述设备的每个受保护的数据写入请求从所述设备接收到,则将第一数据流识别为不在写入栅栏模式下。
示例20可以包括示例16-17中任一示例的方法,其中,彼此独立地管理对多个数据流的响应包括:如果数据流不在写入栅栏模式下并且数据请求未受保护,则将所述数据流的所述数据请求发送到所述设备。
示例21可以包括示例16-17中任一示例的方法,其中,彼此独立地管理对多个数据流的响应包括:延迟发送在写入栅栏模式下的数据流的受保护的数据请求。
示例22可以包括示例16-17中任一示例的方法,其中,所述设备包括多个设备。
示例23可以包括示例16-17中任一示例的方法,其中,所述设备是存储器设备。
示例24可以包括示例1-2中任一示例的方法,其中,所述硬件加速器是现场可编程门阵列(FPGA)。
示例25可以是一种包括比特流或可以被处理成比特流的编程指令的计算机可读介质,其响应于接收到所述比特流而使硬件加速器被配置为:从在耦合到所述硬件加速器的处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流;将所述多个数据流映射到加速逻辑的多个实例;以及彼此独立地管理对所述多个数据流的响应。
示例26可以包括示例25的计算机可读介质,其中,数据请求包括数据流标识符、功能和数据类型,其中,所述功能还包括读取、写入和写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
示例27可以包括示例25-26中任一示例的计算机可读介质,其中,彼此独立地管理对所述多个数据流的所述响应包括:当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时,将所述数据流识别为在写入栅栏模式下。
示例28可以包括示例25-26中任一示例的计算机可读介质,其中,彼此独立地管理对所述多个数据流的所述响应包括:如果响应已经由所述装置针对数据流发送到所述设备的每个受保护数据写入请求从所述设备接收到,则将第一数据流识别为不在写入栅栏模式下。
示例29可以包括示例25-26中任一示例的计算机可读介质,其中,彼此独立地管理对所述多个数据流的所述响应包括:如果数据流不在写入栅栏模式下并且数据请求未受保护,则将所述数据流的所述数据请求发送到所述设备。
示例30可以是一种用于向计算提供硬件加速的装置,包括:用于从在耦合到所述硬件加速器的处理器上运行的多个虚拟机接收分别包含多个数据的多个数据流的单元;用于将所述多个数据流映射到加速逻辑的多个实例的单元;以及用于彼此独立地管理对所述多个数据流的响应的单元。
示例31可以包括示例30的装置,数据请求包括数据流标识符、功能和数据类型,其中,所述功能还包括读取、写入和写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
示例32可以包括示例30-31中任一示例的装置,其中,用于彼此独立地管理所述多个数据流的单元包括:用于当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时将所述数据流识别为在写入栅栏模式下的单元。
示例33可以包括示例30-31中任一示例的装置,其中,用于彼此独立地管理对所述多个数据流的所述响应的单元包括:用于在响应已经由所述装置针对数据流发送到所述设备的每个受保护数据写入请求从所述设备接收到的情况下将第一数据流识别为不在写入栅栏模式下的单元。
示例34可以包括示例30-31中任一示例的装置,其中,用于彼此独立地管理对所述多个数据流的所述响应的单元包括:用于在数据流不在写入栅栏模式下并且数据请求未受保护的情况下将所述数据流的所述数据请求发送到所述设备的单元。
示例35可以包括示例30-31中任一示例的装置,其中,用于彼此独立地管理对所述多个数据流的所述响应的单元包括:用于延迟发送在写入栅栏模式下的数据流的受保护的数据请求的单元。
示例36可以包括示例30-31中任一示例的装置,其中,所述数据请求是对一个或多个设备的指令。
示例37可以包括示例36的装置,其中,所述设备是存储器设备。
示例38可以包括示例30-31中任一示例的装置,其中,所述硬件加速器是现场可编程门阵列(FPGA)。
对于本领域技术人员而言将显而易见的是,在不脱离本公开内容的精神或范围的情况下,可以在所公开的设备和相关联的方法的公开的实施例中进行各种修改和变型。因此,本公开内容旨在覆盖以上公开的实施例的修改和变型,只要这些修改和变型落入任何权利要求及其等同物的范围内。
Claims (25)
1.一种用于向计算提供硬件加速的装置,包括:
多个可编程电路单元;以及
被编程到所述可编程电路单元中的逻辑,其用于:
从在耦合到所述装置的处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流;
将所述多个数据流映射到加速逻辑的多个实例;以及
彼此独立地管理对所述多个数据流的响应。
2.如权利要求1所述的装置,其中,数据请求包括数据流标识符、功能以及数据类型,其中,所述功能还包括读取、写入和写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
3.如权利要求1至2中任一项所述的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:
当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时,将所述数据流识别为在写入栅栏模式下。
4.如权利要求1至2中任一项所述的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:
如果响应已经由所述装置针对数据流发送到所述设备的每个受保护的数据写入请求从所述设备接收到,则将第一数据流识别为不在写入栅栏模式下。
5.如权利要求1至2中任一项所述的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:
如果数据流不在写入栅栏模式下并且数据请求是未受保护的,则将所述数据流的所述数据请求发送到所述设备。
6.如权利要求1-2中任一项所述的装置,其中,彼此独立地管理对所述多个数据流的所述响应包括:
延迟发送在写入栅栏模式下的数据流的受保护的数据请求。
7.如权利要求1-2中任一项所述的装置,其中,所述数据请求是对一个或多个设备的指令。
8.如权利要求7所述的装置,其中,所述设备是存储器设备。
9.如权利要求1-2中任一项所述的装置,其中,所述装置是现场可编程门阵列(FPGA),并且所述可编程电路单元是所述FPGA的可编程门。
10.一种计算系统,包括:
用于运行多个虚拟机的处理器;
耦合到所述处理器的设备;
耦合到所述处理器和所述设备的加速器,所述加速器用于:
从在耦合到所述装置的所述处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流;
将所述多个数据流映射到加速逻辑的多个实例;以及
彼此独立地管理对所述多个数据流的响应。
11.如权利要求10所述的计算系统,其中,数据请求包括数据流标识符、功能以及数据类型,其中,所述功能还包括读取、写入以及写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
12.如权利要求10-11中任一项所述的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:
当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时,将所述数据流识别为在写入栅栏模式下。
13.如权利要求10-11中任一项所述的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:
如果响应已经由所述装置针对数据流发送到所述设备的每个受保护的数据写入请求从所述设备接收到,则将第一数据流识别为不在写入栅栏模式下。
14.如权利要求10-11中任一项所述的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:
如果数据流不在写入栅栏模式下并且数据请求是未受保护的,则将所述数据流的所述数据请求发送到所述设备。
15.如权利要求10-11中任一项所述的计算系统,其中,彼此独立地管理对所述多个数据流的所述响应包括:
延迟发送在写入栅栏模式下的数据流的受保护的数据请求。
16.一种用于向计算提供硬件加速的方法,包括:
由硬件加速器从在耦合到所述硬件加速器的处理器上运行的多个虚拟机接收分别包含多个数据请求的多个数据流;
由所述硬件加速器将所述多个数据流映射到加速逻辑的多个实例;以及
彼此独立地管理对所述多个数据流的响应。
17.如权利要求16所述的方法,其中,数据请求包括数据流标识符、功能以及数据类型,其中,所述功能还包括读取、写入以及写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
18.如权利要求16-17中任一项所述的方法,其中,彼此独立地管理对所述多个数据流的所述响应包括:
当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时,将所述数据流识别为在写入栅栏模式下。
19.如权利要求16-17中任一项所述的方法,其中,彼此独立地管理对所述多个数据流的所述响应包括:
如果响应已经由所述装置针对数据流发送到所述设备的每个受保护的数据写入请求从所述设备接收到,则将第一数据流识别为不在写入栅栏模式下。
20.一种用于向计算提供硬件加速的装置,包括:
用于从在耦合到所述硬件加速器的处理器上运行的多个虚拟机接收分别包含多个数据的多个数据流的单元;
用于将所述多个数据流映射到加速逻辑的多个实例的单元;以及
用于彼此独立地管理对所述多个数据流的响应的单元。
21.如权利要求20所述的装置,其中,数据请求包括数据流标识符、功能以及数据类型,其中,所述功能还包括读取、写入以及写入栅栏之一,并且其中,所述数据类型包括受保护的或未受保护的之一。
22.如权利要求20-21中任一项所述的装置,其中,用于彼此独立地管理所述多个数据流的单元包括:
用于当数据流的数据请求包括用于用写入功能保护所述数据流的一个或多个数据请求的写入栅栏功能时将所述数据流识别为在写入栅栏模式下的单元。
23.如权利要求20-21中任一项所述的装置,其中,用于彼此独立地管理对所述多个数据流的所述响应的单元包括:
用于在响应已经由所述装置针对数据流发送到所述设备的每个受保护的数据写入请求从所述设备接收到的情况下将第一数据流识别为不在写入栅栏模式下的单元。
24.如权利要求20-21中任一项所述的装置,其中,用于彼此独立地管理对所述多个数据流的所述响应的单元包括:
用于在数据流不在写入栅栏模式下并且数据请求是未受保护的情况下将所述数据流的所述数据请求发送到所述设备的单元。
25.如权利要求20-21中任一项所述的装置,其中,用于彼此独立地管理对所述多个数据流的所述响应的单元包括:
用于延迟发送在写入栅栏模式下的数据流的受保护的数据请求的单元。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/111718 WO2018112886A1 (en) | 2016-12-23 | 2016-12-23 | Virtual channels for hardware acceleration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110073342A true CN110073342A (zh) | 2019-07-30 |
Family
ID=62624276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680090971.7A Pending CN110073342A (zh) | 2016-12-23 | 2016-12-23 | 用于硬件加速的虚拟信道 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190303344A1 (zh) |
CN (1) | CN110073342A (zh) |
WO (1) | WO2018112886A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190042294A1 (en) * | 2018-04-13 | 2019-02-07 | Intel Corporation | System and method for implementing virtualized network functions with a shared memory pool |
CN109766311A (zh) * | 2019-01-17 | 2019-05-17 | 上海华测导航技术股份有限公司 | 一种便捷的通道复用实现方法 |
US11343083B2 (en) * | 2019-11-22 | 2022-05-24 | Baidu Usa Llc | Method for key sharing between accelerators in virtual channel |
US11558357B2 (en) * | 2019-11-22 | 2023-01-17 | Baidu Usa Llc | Method for key sharing between accelerators with switch |
US11552790B2 (en) * | 2019-11-22 | 2023-01-10 | Baidu Usa Llc | Method for key sharing between accelerators |
US11405336B2 (en) | 2019-11-22 | 2022-08-02 | Baidu Usa Llc | Method for key sharing between accelerators in virtual channel with switch |
US11728996B2 (en) | 2019-12-10 | 2023-08-15 | Baidu Usa Llc | System and method to securely broadcast a message to accelerators using virtual channels with switch |
US11893413B2 (en) * | 2020-09-11 | 2024-02-06 | Apple Inc. | Virtual channel support using write table |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301342A1 (en) * | 2007-06-01 | 2008-12-04 | Richard Gerard Hofmann | Device Directed Memory Barriers |
CN102915236A (zh) * | 2011-06-28 | 2013-02-06 | 波音公司 | 使用硬件抽象执行软件应用程序的方法和系统 |
CN104050143A (zh) * | 2013-03-14 | 2014-09-17 | 阿尔特拉公司 | 向混合可编程多核器件映射网络应用 |
US20140351811A1 (en) * | 2013-05-24 | 2014-11-27 | Empire Technology Development Llc | Datacenter application packages with hardware accelerators |
CN104932996A (zh) * | 2014-03-20 | 2015-09-23 | 英特尔公司 | 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统 |
US20160210167A1 (en) * | 2013-09-24 | 2016-07-21 | University Of Ottawa | Virtualization of hardware accelerator |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9986434B2 (en) * | 2014-04-30 | 2018-05-29 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System for accelerated network route update through exclusive access to routing tables |
CN104320274B (zh) * | 2014-10-24 | 2017-12-15 | 华为技术有限公司 | 一种容灾方法及装置 |
US10489178B2 (en) * | 2015-04-28 | 2019-11-26 | Altera Corporation | Network functions virtualization platforms with function chaining capabilities |
US9378043B1 (en) * | 2015-05-28 | 2016-06-28 | Altera Corporation | Multilayer quality of service (QOS) for network functions virtualization platforms |
CN105979007B (zh) * | 2016-07-04 | 2020-06-02 | 华为技术有限公司 | 加速资源处理方法、装置及网络功能虚拟化系统 |
-
2016
- 2016-12-23 WO PCT/CN2016/111718 patent/WO2018112886A1/en active Application Filing
- 2016-12-23 US US16/462,834 patent/US20190303344A1/en not_active Abandoned
- 2016-12-23 CN CN201680090971.7A patent/CN110073342A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080301342A1 (en) * | 2007-06-01 | 2008-12-04 | Richard Gerard Hofmann | Device Directed Memory Barriers |
CN102915236A (zh) * | 2011-06-28 | 2013-02-06 | 波音公司 | 使用硬件抽象执行软件应用程序的方法和系统 |
CN104050143A (zh) * | 2013-03-14 | 2014-09-17 | 阿尔特拉公司 | 向混合可编程多核器件映射网络应用 |
US20140351811A1 (en) * | 2013-05-24 | 2014-11-27 | Empire Technology Development Llc | Datacenter application packages with hardware accelerators |
US20160210167A1 (en) * | 2013-09-24 | 2016-07-21 | University Of Ottawa | Virtualization of hardware accelerator |
CN104932996A (zh) * | 2014-03-20 | 2015-09-23 | 英特尔公司 | 用于控制链路接口的未使用硬件的功率消耗的方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
王展等: "基于单根I/O虚拟化的多根I/O资源池化方法", 《计算机研究与发展》 * |
Also Published As
Publication number | Publication date |
---|---|
WO2018112886A1 (en) | 2018-06-28 |
US20190303344A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110073342A (zh) | 用于硬件加速的虚拟信道 | |
US10769300B2 (en) | Data processing in a hybrid cluster environment | |
US10572385B2 (en) | Granting exclusive cache access using locality cache coherency state | |
US20150058848A1 (en) | Encapsulation of an application for virtualization | |
WO2018232310A1 (en) | Method and apparatus for hardware virtualization | |
US9230110B2 (en) | Accessing privileged objects in a server environment | |
US20220174846A1 (en) | Intelligent and redundant air-cooled cooling loop for datacenter cooling systems | |
US20230069177A1 (en) | Data center self-healing | |
US10664386B2 (en) | Remotely debugging an operating system via messages including a list back-trace of applications that disable hardware interrupts | |
CN115484042A (zh) | 机器学习辅助的网络设备 | |
JP2016519365A (ja) | クラウド環境における性能テスト費用の節減のためのテストシステムおよびテスト方法 | |
CN114202054A (zh) | 使用一个或更多个神经网络的预测控制 | |
CN114816029A (zh) | 静态数据中心的功率平衡和配置 | |
CN115348796A (zh) | 用于数据中心冷却系统的智能泄漏传感器系统 | |
US11829215B2 (en) | Intelligent and redundant liquid-cooled cooling loop for datacenter cooling systems | |
CN115712324A (zh) | 自动化原位线缆修理 | |
US10216672B2 (en) | System and method for preventing time out in input/output systems | |
CN114813177A (zh) | 热测试车辆 | |
CN115307940A (zh) | 模块化热测试车辆 | |
CN115348794A (zh) | 数据中心冷却系统中具有可热切换的冷板的智能流量控制器 | |
CN114980653A (zh) | 用于数据中心冷却系统的智能风扇壁冷式架空液体-空气热交换器 | |
US20240069998A1 (en) | Using past performance of computing resources to perform software programs | |
US20230067201A1 (en) | Cooling line monitoring and repair | |
CN115705709A (zh) | 电缆识别和引导连接 | |
CN115438315A (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 |