CN113806286B - 在基于策略划分的数据处理集群中进行数据保护的方法 - Google Patents
在基于策略划分的数据处理集群中进行数据保护的方法 Download PDFInfo
- Publication number
- CN113806286B CN113806286B CN202011478583.0A CN202011478583A CN113806286B CN 113806286 B CN113806286 B CN 113806286B CN 202011478583 A CN202011478583 A CN 202011478583A CN 113806286 B CN113806286 B CN 113806286B
- Authority
- CN
- China
- Prior art keywords
- dpas
- dpa
- accelerator
- accelerators
- cluster
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000004891 communication Methods 0.000 claims abstract description 95
- 230000015654 memory Effects 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 abstract description 6
- 238000013473 artificial intelligence Methods 0.000 description 65
- 230000006870 function Effects 0.000 description 27
- 238000000638 solvent extraction Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 238000012549 training Methods 0.000 description 13
- 230000003068 static effect Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000005265 energy consumption Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000001010 compromised effect Effects 0.000 description 3
- 239000007943 implant Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000003826 tablet Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Storage Device Security (AREA)
- Advance Control (AREA)
Abstract
公开了用于在数据处理加速器(DPA)的集群中使用将DPA划分成集群中的一组或多组DPA的策略进行数据保护的系统和方法。主机设备指示DPA根据用于集群中每个DPA的策略将它们自己组织成不重叠的组。该策略为每个DPA指示该DPA要与之建立通信链路的一个或更多个其它DPA以实现分组。一旦分组,主机设备和DPA能够访问该DPA的所有资源。在与第一DPA相同的组中的DPA能够访问第一DPA的非保护资源,但不能访问第一DPA的保护资源。与第一DPA不同的组中的DPA不能访问第一DPA的任何资源。主机设备中的调度器能够将处理任务分配给集群中的任何组。
Description
技术领域
本申请大体上涉及配置在集群中的数据处理加速器。更具体地,本公开的实施方式涉及在数据处理加速器集群(诸如,可用于执行人工智能模型训练和推断的数据处理加速器集群)中进行数据保护。
背景技术
人工智能(AI)模型(也称为“机器学习模型”)最近已经被广泛地使用,因为AI技术已经被部署在诸如图像分类、医学诊断或自动驾驶的各种领域中。与软件应用的可执行图像或二进制图像类似,AI模型在被训练时可以基于分类为特征的属性集来执行推断。AI模型的训练可能需要大量的投资来收集、整理和过滤数据以生成产生有用预测的AI模型。此外,使用AI模型所产生的预测可以包含用户想要保护的个人敏感数据。
从AI模型生成预测可能是计算密集型过程。为了向一个或更多个用户提供足够的计算能力,可以以集群的形式提供数据处理加速器(DPA)的集群。数据处理加速器与一个或更多个通信链路互连。存在通信链路和/或集群中的一个或更多个数据处理加速器可能被盗用而使得AI模型或由AI模型产生的推断可能被泄漏、被盗和/或被更改的风险。
为了处理计算密集的任务,可以设计数据处理加速器的集群来处理最大工作负荷。为最大工作负荷选择的多个数据处理加速器可能产生大量的热量和能量消耗。
建立具有满足最大工作负荷的多个数据处理加速器的集群系统可能需要代价高昂的努力。成本可能促使灰色市场制造商生产在视觉上看起来与合法的名牌数据处理加速器相同的数据处理加速器。系统构建商或集成商可能无法验证由品牌制造商制造的数据处理加速器。因此,系统构建商不能确保在集群中使用的数据处理加速器与构建商打算在集群中使用的品牌数据处理加速器一样安全。
发明内容
根据本申请的一方面,配置包括多个数据处理加速器DPA的集群的计算机实现的方法,该方法包括:由DPA接收用于该多个DPA的配置策略,该DPA是该多个DPA中的一个;由该DPA根据该配置策略的用于配置该DPA的至少一部分来配置该DPA与该多个DPA中的其它DPA之间的一个或更多个连接,其中,配置连接包括在该DPA与该其它DPA中的至少一个之间建立或断开通信路径;以及使用第一组DPA中的一个或更多个DPA执行由处于该第一组DPA中的该DPA接收的处理任务,其中,该第一组DPA是由该多个DPA形成的多个组之一。
根据本申请的另一方面,数据处理加速器DPA包括:资源管理器,用于接收与多个DPA相关联的配置策略,其中,该DPA是该多个DPA中的一个,并且用于根据该配置策略的用于配置该DPA的至少一部分来配置该DPA与该多个DPA中的其它DPA之间的一个或更多个连接,其中,配置连接包括在该DPA与该其它DPA中的至少一个之间建立或断开通信路径;以及处理逻辑,用于使用第一组DPA中的一个或更多个DPA来执行由处于该第一组DPA中的该DPA接收的处理任务,其中,该第一组DPA是由该多个DPA形成的多个组之一。
根据本申请的又一方面,一种系统包括至少一个硬件处理器,该至少一个硬件处理器联接到用可执行指令编程的存储器,该可执行指令在由该至少一个硬件处理器执行时执行配置包括多个数据处理加速器DPA的集群的操作,该操作包括:由该多个DPA中的每个接收用于该多个DPA的配置策略;由每个DPA根据该配置策略的用于配置该DPA的至少一部分来配置该DPA与该多个DPA中的其它DPA之间的一个或更多个连接,其中,配置连接包括在该DPA与该其它DPA中的至少一个之间建立或断开通信路径;以及使用第一组DPA中的一个或更多个DPA来执行由处于该第一组DPA中的第一DPA接收的处理任务,其中,该第一组DPA是由该多个DPA形成的多个组之一。
根据本申请的再一方面,提供了存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行上述计算机实现的方法。
根据本申请的又一方面,提供了计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述计算机实现的方法。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
附图说明
本公开的实施方式在附图的各图中以示例的方式而不是限制的方式示出,在附图中相同的附图标记表示类似的元件。
图1是示出根据一个实施方式的保护存储系统的框图。
图2A和图2B是示出根据一个实施方式的一个或更多个主机与一个或更多个数据处理加速器之间的保护计算环境的框图。
图3是示出根据实施方式的控制数据处理加速器的集群的主机的框图,每个数据处理加速器具有保护资源和非保护资源。
图4是示出根据实施方式的在根据策略划分的数据处理加速器的集群中保护数据的方法的框图。
图5A和图5B是示出根据实施方式的在根据策略划分的数据处理加速器的集群中保护数据的方法的框图。
图6是示出根据实施方式的使用按每个加速器划分的资源在数据处理加速器的集群中保护数据的方法的框图。
图7A和图7B是示出根据实施方式的利用动态划分加速器的在数据处理加速器的集群中保护数据的方法的框图。
图8是示出根据实施方式的使用数据处理加速器的认证在数据处理加速器的集群中保护数据的方法的框图。
图9是示出根据实施方式的对数据处理加速器进行认证的方法的框图。
具体实施方式
将参考以下讨论的细节来描述本公开的各种实施方式和方面,并且附图将示出各种实施方式。以下描述和附图是本公开的示例,而不应被解释为对本公开进行限制。描述了许多具体细节以提供对本公开的各种实施方式的透彻理解。然而,在某些情况下,为了提供对本公开的实施方式的简洁讨论,没有描述公知的或传统的细节。
在说明书中提及“一个实施方式”或“实施方式”意指结合该实施方式描述的特定特征、结构或特性可以被包括在本公开的至少一个实施方式中。在说明书的各个地方出现的短语“在一个实施方式中”不一定都指同一实施方式。
以下实施方式涉及使用数据处理(DP)加速器来增加可从主机设备卸载(或委托)到DP加速器的某些类型的操作的处理吞吐量。DP加速器可以是通用处理单元(GPU)、人工智能(AI)加速器、数学协处理器、数字信号处理器(DSP)或其它类型的处理器。DP加速器可以是专有设计(诸如,AI加速器)或另一GPU等。虽然用牢固地联接到一个或更多个DP加速器的主机设备来说明和描述实施方式,但本文中描述的概念可更一般地实施为分布式处理系统。
DP加速器可以在由具有驱动器的主机设备管理的集群中链接,该驱动器将应用程序处理请求转换为一个或更多个DP加速器的处理任务。主机设备可以支持一个或更多个虚拟机(VM),每个虚拟机具有与相应VM相关联的用户。驱动器可包括调度器,其调度来自多个VM的应用处理请求以供DP加速器中的一个或更多个进行处理。在一个实施方式中,驱动器可分析调度器中的处理请求以确定如何将集群中的一个或更多个DP加速器分组,以及是否指示一个或更多个DP加速器从组断开链接并进入低功率状态以减少热量并节省能量。
主机设备和DP加速器可以经由高速总线互连,例如外围部件互连高速(PCIe)或其它高速总线。主机设备和DP加速器可以在执行下面描述的本申请的各方面的操作之前通过PCIe总线交换密钥并启动安全信道。一些操作包括DP加速器使用人工智能(AI)模型利用主机设备提供的数据执行推断。在AI模型推断被主机设备信任之前,主机设备可以使DP加速器执行下面描述的一个或更多个验证测试,包括确定AI模型的水印。在一些实施方式和操作中,DP加速器不知道主机设备正在测试由DP加速器产生的结果的有效性。
主机设备可以包括中央处理单元(CPU),并且DP加速器可以是通过总线或互连而联接到CPU的通用处理单元(GPU)。DP加速器可以以专用集成电路(ASIC)、现场可编程门阵列(FPGA)设备的形式或其它形式的集成电路(IC)来实现。可替换地,主机处理器可以是主数据处理系统的一部分,而DP加速器可以是作为主系统可以通过网络远程卸载其数据处理任务的辅助系统的许多分布式系统之一(例如,诸如作为服务或SaaS系统的软件的云计算系统,或作为服务或PaaS系统的平台)。主机处理器和DP加速器之间的链路可以是外围部件互连高速(PCIe)链路或诸如以太网连接的网络连接。每个DP加速器可以包括一个或更多个链路寄存器,该链路寄存器启用(链路连接)或禁用(链路断开)与另一DP加速器的通信链路。
在第一方面中,配置由多个数据处理加速器(DPA)组成的集群的方法包括:由多个DPA中的每个接收用于多个DPA的配置策略。在一个实施方式中,集群中的所有DPA接收相同的配置策略,并且配置策略包含关于多个DPA中的每个DPA如何配置自己的指令。每个DPA的配置可以并且通常不同于集群中其它DPA的配置。配置可以包括DPA建立(链路连接)或断开(链路断开)DPA与集群中的一个或更多个其它DPA之间的通信链路,以在集群内形成一组或更多组链接的DPA。
当形成一组DPA时,每个DPA生成到该组DPA中的至少一个DPA的通信链路。组中的第一DPA与该组中的第二DPA之间的通信路径由第一DPA与第二DPA之间的直接通信链路产生,或者由至少经由第三DPA的间接路径产生,第一DPA与第二DPA通过该第三DPA形成通信路径。每个DPA通信地链接到主机系统。在配置DPA期间,每个DPA保持其到主机设备的链路。在配置DPA之后,DPA只能与主机设备以及集群中一组DPA中的一个或更多个DPA通信。集群中可以有不重叠的多组DPA。
每个DPA可以具有敏感(保护)资源和非敏感(非保护)资源。资源可以包括存储器、存储设备、处理器和功能模块,功能模块诸如为密码模块、真随机数生成模块、密钥管理器和密钥存储器。在配置之后,组中的每个DPA可以访问该组中与该DPA具有通信路径的任何DPA的非保护资源。组中没有DPA能够与另一组中的DPA通信或者访问另一组中的DPA的资源。主机设备和DPA能够一直访问该DPA的所有资源。
在第二方面中,将通信地联接为DPA集群的多个DPA的资源进行划分的方法包括:将每个DPA的资源划分为敏感(保护)资源和非敏感(非保护)资源。敏感资源可包括存储一个或更多个人工智能(AI)模型的存储器、密码模块、密码密钥管理器、密码密钥存储、安全处理器和保存一个或更多个内核的存储设备或存储器,以及可能需要被保护的任何其它敏感数据或处理资源。非保护资源可包括通用处理器、保存临时计算的存储器、软件模块或不需要强保护的其它资源。DPA的资源的静态划分可以根据管理该集群的DPA的规范进行。该规范在主机系统中的驱动器中实现,该主机系统将工作分配给集群中的各DPA或各组DPA。资源的静态划分可以在固件或硬件中实现。
在一个实施方式中,敏感资源在第一预定存储器地址空间内被访问,而非敏感资源在第二预定存储器地址空间内被访问。在一个实施方式中,在制造DPA时确定地址空间。对敏感资源的访问保护可以包括允许主机设备和其资源正被访问的DPA访问敏感资源和非敏感资源。其它DPA只能访问该DPA的非敏感资源,而不能访问该DPA的敏感资源。主机设备可以指示DPA访问DPA自己的敏感资源。例如,主机设备可以将人工智能(AI)模型传输到DPA,并指示该DPA将AI模型存储在敏感存储器中,或者指示DPA在敏感资源划分的保护存储设备中使用密码模块执行密码操作。
在第三方面中,主机设备可以指示集群中的每个数据处理加速器(DPA)动态地将其自身重新划分到集群中的一组DPA中或者集群中的一组DPA外。配置通信地联接到主机设备的多个数据处理加速器(DPA)的方法可以包括:由DPA集群中的每个DPA从主机设备的驱动器接收专用于DPA的配置指令,以将DPA配置到集群中的一组DPA中或集群中的一组DPA外。每个DPA根据从主机设备接收的指令来配置自己。
响应于指示DPA将加入集群中的一组DPA的指令,配置可以包括:由该DPA生成到该组中的至少一个DPA的通信链路,否则该DPA断开该DPA与该组中的所有DPA之间的通信链路。在完成集群中的所有DPA的配置之后,每个DPA通信地链接到集群中的一组DPA,或者DPA不通信地链接到组。在集群中可以有多个组。例如,八个(8个)DPA的集群可以被分组为两个(2个)组,每个组包括四个(4)个DPA。DPA组是不重叠的。DPA在任何时间是集群中最多一个组的成员。
在一个实施方式中,可以不指示DPA加入一组DPA。在这种情况下,可以指示DPA将其自身设置为低功率状态。主机设备中的驱动器可以将单个用户或单个应用分配给一个组,并且将不同的应用或用户分配给另一组。驱动程序可以在任何时间向一个或更多个DPA发送指令,以重新配置它们自己来加入或离开一组DPA。例如,八个(8个)DPA最初可以被配置成具有四个(4个)DPA的两个(2个)组。驱动器随后可以指示具有四个(4个)DPA的组中的一个组中的两个DPA离开它们的组,断开与该组中的DPA的所有通信链路,并进入低功率状态,使得该组包括具有四个DPA的一个组、具有两个DPA的一个组以及当前未被使用并且被设置为低功率状态的两个DPA。主机设备的驱动器维护将被分配给集群的不同组的处理任务的调度器。当驱动器确定需要少于所有DPA来执行调度器中的处理任务时,驱动器可指示一个或更多个DPA离开组并进入低功率状态以减少能量消耗并减少所产生的热量。
在第四方面中,数据处理加速器(DPA)的集群可以包含多个DPA,该多个DPA中的一个或更多个DPA可以是可能不可信的第三方DPA。在第四方面中,通过在允许DPA访问另一DPA的非敏感资源之前对DPA进行认证来在集群中实现数据保护。DPA被组织到集群中,并且该集群通信地联接到主机设备,该主机设备具有与该集群的DPA通信的驱动器。DPA的集群可以被组织成组,或者可以不被组织成组。
第一DPA从集群中的第二DPA接收访问第一DPA的资源的请求。如果请求是针对第一DPA的敏感资源,则第一DPA拒绝该请求。只有主机设备或DPA能够访问该DPA的敏感资源。如果请求是针对非敏感资源,则第一DPA将对第二DPA进行认证。如果第二DPA被成功认证,则允许第二DPA访问第一DPA的非敏感资源。对第二DPA进行认证包括:第一DPA生成随机数并将其传输给第二DPA;第一DPA接收来自第二DPA的基于随机数和第一DPA与第二DPA之间的共享秘密的输出;第一DPA从共享秘密和随机数生成输出。
如果由第一DPA生成的输出与从第二DPA接收的输出匹配,则则认为第二DPA已被认证,否则认为第二DPA未被认证。在一个实施方式中,如果第二DPA未被认证,则第一DPA断开第一DPA与第二DPA之间的通信链路。另外,或者可替代地,如果第二DPA未被认证,则第一DPA能够向除第二DPA之外的、与第一DPA具有通信链路的所有其它DPA发送未认证的通知。在一个实施方式中,如果第二DPA未被认证,则第一DPA可以向主机设备发送未认证的通知。然后,主机设备可以指示所有DPA断开它们与第二DPA可能具有的任何通信链路。
认证依赖于第一DPA和第二DPA之间的共享秘密。认证过程是用于确定第二DPA是否具有共享秘密的测试。共享秘密可以是在给定输入的情况下产生输出的单向函数,并且无法从该单向函数的输出确定该单向函数。在一个实施方式中,共享秘密被嵌入在第一DPA和第二DPA中,并且是可更新的,例如通过第一DPA和第二DPA的制造商更新。
上述功能中的任一个可以作为可执行指令被编程到一个或更多个非暂时性计算机可读介质上。当可执行指令由具有至少一个硬件处理器的处理系统执行时,该处理系统致使上述功能被实现。上述功能中的任何一个可以通过处理系统来实现,该处理系统具有至少一个硬件处理器,该硬件处理器联接到用可执行指令编程的存储器,该可执行指令在被执行时致使该处理系统实现上述功能。
图1是示出根据一些实施方式的安全处理系统的框图。参照图1,系统配置100包括但不限于通过网络103通信地联接到DP服务器104(例如,主机)的一个或更多个客户端设备101-102。客户端设备101-102可以是任何类型的客户端设备,诸如个人计算机(例如,台式计算机、膝上型计算机和平板计算机)、“瘦”客户端、个人数字助理(PDA)、启用Web的设备、智能手表或移动电话(例如,智能电话)等。可替代地,客户端设备101-102可以是其它服务器。在一个实施方式中,一个或更多个服务器101-102托管作为数据处理服务器104的客户端的一个或更多个虚拟机。网络103可以是有线或无线的任何类型的网络,诸如局域网(LAN)、广域网(WAN)(诸如,因特网)、高速总线或它们的组合。
服务器(例如,主机)104可以是任何类型的服务器或服务器集群,诸如Web或云服务器、应用服务器、后端服务器或其组合。服务器104还包括接口(未示出),以允许诸如客户端设备101-102的客户端访问由服务器104提供的资源或服务(诸如,由DP加速器经由服务器104提供的资源和服务)。例如,服务器104可以是向客户端提供各种云服务(例如,云存储、云计算服务、人工智能训练服务、数据挖掘服务等)的云服务器或数据中心的服务器。服务器104可以配置为云上的软件即服务(SaaS)或平台即服务(PaaS)系统的一部分,该云可以是私有云、公共云或混合云。该接口可以包括Web接口、应用编程接口(API)和/或命令行接口(CLI)。
例如,客户端可以是客户端设备101的用户应用(例如,Web浏览器、应用程序)。客户端可以向服务器104发送或传输用于执行的指令(例如,AI训练、推断指令等),并且该指令通过网络103由服务器104经由接口接收。响应于该指令,服务器104与DP加速器105-107通信以完成指令的执行。在一些实施方式中,指令是机器学习类型的指令,其中DP加速器作为专用机器或处理器可以比服务器104的执行快许多倍地执行指令。因此,服务器104可以以分布式方式控制/管理一个或更多个DP加速器的执行作业。然后,服务器104将执行结果返回给客户端设备101-102。DP加速器或AI加速器可以包括一个或更多个专用处理器,诸如可从百度公司(Baidu,)获得的/>人工智能(AI)芯片集,或者可替代地,DP加速器可以是来自另一AI芯片集生产商的AI芯片集。
根据一个实施方式,访问由数据处理服务器104(也称为主机)托管的DP加速器105-107中的任一个的应用中的每个可以验证该应用是由可信源或供应商提供的。每个应用可以在用户存储器空间内启动和执行并由主机104的中央处理单元(CPU)执行。当应用被配置成访问DP加速器105-107中的任何一个时,可以在主机104与DP加速器105-107中相应的一个之间建立模糊连接,从而保护主机104与DP加速器105-107之间交换的数据免受恶意软件/入侵的攻击。
图2A是示出根据一些实施方式的一个或更多个主机与一个或更多个数据处理加速器(DPA)之间的保护计算环境200的框图。在一个实施方式中,系统200在对DP加速器105-107进行或不进行硬件修改的情况下提供用于在主机104与DP加速器105-107之间进行模糊通信的保护方案。主机机器或服务器104可以被描述为具有待防止入侵的一个或更多个层的系统,例如用户应用205、运行时库206、驱动器209、操作系统211、管理程序212和硬件213(例如,中央处理单元(CPU)201和存储设备204)。在应用205和运行时间库206下方,可以安装一个或更多个驱动器209以与硬件213和/或DP加速器105-107通过接口连接。
驱动器209可以包括调度器209A,其调度由一个或更多个用户应用205请求的处理任务。驱动器209还可以包括具有逻辑的分析器209B,该分析器209B分析被调度用于在DP加速器105-107上执行的处理任务,以基于诸如处理吞吐量、能量消耗和DP加速器所产生的热量等调度标准来确定如何最佳地配置DP加速器105-107。驱动器209还可以包括用于配置DP加速器的一个或更多个策略,以实现调度标准。配置DP加速器可包括将DP加速器分组为一个或更多个组,从一个或更多个组移除一个或更多个DP加速器。
未分配给一组DP加速器的DP加速器可以被设置为低功率状态以节省能量和减少热量。低功率状态可包括降低DP加速器的时钟速度或进入待机状态,在低功率状态下,DP加速器仍通信地联接到主机设备且可被带到运行状态,在运行状态下,DP加速器准备好从主机设备接收处理任务。可替代地,未分配给组的DP加速器可以保持在加电状态下,使得驱动器209可以将工作分配给不是一组DP加速器的成员的单个DP加速器。
配置DP加速器可以进一步包括指示一个或更多个DP加速器生成与一个或更多个其它DP加速器的通信链路(链路连接),以在DP加速器的集群内形成一组DP加速器。配置DP加速器可以进一步包括指示一个或更多个DP加速器断开该DP加速器与一个或更多个其它DP加速器之间的通信链路(链路断开)。DP加速器的链路连接和链路断开可以由每个DP加速器中的一个或更多个链路寄存器控制。
在基于策略划分的实施方式中,DP加速器配置策略是描述每个DP加速器的通信链路(连接或断开)的单个策略。虽然每个DP加速器的配置可以(并且通常将是)不同于其它DP加速器,但是每个DP加速器的配置被包括在单个策略内,并且集群中的每个DP加速器接收相同的策略。然后,每个DP加速器根据策略中的描述配置DP加速器的部分(例如,至少一部分)来配置自己。基于策略的划分可以基于对调度器209A中的处理任务的分析。该分析可以确定将DP加速器分成组的最佳分配。在一个实施方式中,一组处理器内或跨越多组处理器的时间共享处理任务优化吞吐量、最小化能量消耗和产生的热量。基于策略将DP加速器划分成组的优点包括快速划分DP加速器,灵活调度组内或组间的处理任务、DP加速器的时间共享和组的时间共享。
在动态划分实施方式中,为每个DP加速器生成DP加速器策略。驱动器209可以动态地改变每个DP加速器的配置,包括重新组织各组DP加速器,从所有组中移除一个或更多个DP加速器,并将那些DP加速器设置为低功率状态。在动态划分实施方式中,每组DP加速器被分配给单个用户,而不是在用户之间时间共享DP加速器。驱动器209可以包括分析器209B,分析器209B分析调度器209A内的处理任务以确定DP加速器的最佳分组。该分析可以针对一个或更多个DP加速器生成配置,并且该配置可以被部署到每个这样的DP加速器以被重新配置。动态划分的优点包括通过将一个或更多个处理器设置为低功率状态而节能,以及用于DP加速器或一组DP加速器的用户专用处理,而不是用户之间的时间分片。
硬件213可以包括具有一个或更多个处理器的处理系统201。硬件213还可以包括存储设备204。存储设备204可以包括一个或更多个人工智能(AI)模型202以及一个或更多个内核203。内核203可以包括签名内核、启用水印的内核、加密和/或解密内核等。签名内核在被执行时可以根据内核的编程对任何输入进行数字签名。启用水印的内核可以从数据对象(例如,AI模型或其它数据对象)提取水印。启用水印的内核还可以将水印植入AI模型、输出的推断或其它数据对象中。
水印内核(例如,继承水印的内核)可以从另一数据对象继承水印,并将该水印植入不同的对象(例如,输出的推断或AI模型)中。如本文中所使用的,水印是与AI模型相关联的标识符,并且可以被植入到AI模型或者由AI模型生成的推断中。例如,可以在一个或更多个权重变量或偏置变量中植入水印。可替代地,可创建一个或更多个节点(例如,人工智能模型未使用或不太可能使用的伪节点)以植入或存储水印。
主机机器104可以是CPU系统,其可以控制和管理在主机机器104和/或DP加速器105-107上的作业的执行。为了保护/模糊DP加速器105-107与主机机器104之间的通信信道215,可能需要不同的部件来保护主机系统中易于数据入侵或攻击的不同层。
根据一些实施方式,系统200包括主机系统104和DP加速器105-107。可以存在任何数量的DP加速器。DP加速器可包括AI芯片集或另一AI芯片集,例如可执行人工智能(AI)密集型计算任务的图形处理单元(GPU)。在一个实施方式中,主机系统104可在主机机器104内包括具有一个或更多个CPU的硬件213,可选地配备有安全模块(例如,可选的可信平台模块(TPM))的硬件213。可选的TPM是端点设备上的专用芯片,其存储专用于主机系统的用于硬件认证的密码密钥(例如,RSA密码密钥)。每个TPM芯片可以包含称为签注密钥(EK)或签注凭证(EC)(即,根密钥)的一个或更多个RSA密钥对(例如,公钥和私钥对)。密钥对被保持在可选的TPM芯片内,并且不能被软件访问。然后,固件和软件的关键部分可以在它们被执行之前由EK或EC进行散列,以保护系统免于未授权的固件和软件修改。主机机器上可选的TPM芯片因此可以用作安全引导的信任根。
可选的TPM芯片还可以在工作内核空间中保护驱动器209和操作系统(OS)211以与DP加速器105-107通信。这里,驱动器209由DP加速器供应商提供,并且可以用作用户应用205的驱动器209,以控制主机与DP加速器之间的通信信道215。因为可选的TPM芯片和安全引导处理器在其内核空间中保护OS 211和驱动器209,所以TPM还有效地保护驱动器209和OS 211。
由于用于DP加速器105-107的通信信道215可以由OS 211和驱动器209专有地使用,因此通信信道215可以通过可选的TPM芯片来保护。在一个实施方式中,通信信道215包括外围部件互连(PCI)或外围部件互连快速(PCIE)信道。在一个实施方式中,通信信道215是模糊的通信信道。
运行时库206可以将应用编程接口(API)调用转换为用于DP加速器的执行、配置和/或控制的命令。在一个实施方式中,运行时库206提供供用户应用执行的预定(例如,预定义)内核集。在一个实施方式中,内核可以作为内核203存储在存储设备204中。
操作系统211可以是任何分布、/>OS或其它操作系统。
系统可以通过基于可选的TPM的安全引导来引导。可选的TPM安全引导确保仅在提供加速器服务的内核空间中启动经签署/认证的操作系统211和加速器驱动器209。在一个实施方式中,可以通过管理程序212加载操作系统211。管理程序或虚拟机管理器212是创建和运行虚拟机的计算机软件、固件或硬件。内核空间是其中标识内核(即,用于执行的预定(例如,预定义)功能集)以向用户应用提供功能性和服务的声明性区域或范围。在系统的完整性受到损害的情况下,可选的TPM安全引导可能不能引导,而是关闭系统。
在引导之后,运行时库206运行用户应用205。在一个实施方式中,用户应用205和运行时库206被静态链接并一起启动。在另一实施方式中,首先启动运行时库206,然后动态加载用户应用205。静态链接的库是在编译时链接到应用的库。动态加载可以通过动态链接器进行。动态链接器加载并链接共享库,以便在运行时运行用户应用。这里,用户应用205和运行时库206在运行时彼此可见,例如,所有过程数据彼此可见。
在一个实施方式中,用户应用205只能从由运行时库206预定的内核集中调用内核。在另一方面,用户应用205和运行时库206用无边信道算法加固,以防止边信道攻击,诸如基于高速缓存的边信道攻击。边信道攻击是基于从计算机系统的实现方式中获得的信息的任何攻击,而不是所实现的算法自身的弱点(例如,密码分析和软件缺陷)。边信道攻击的示例包括高速缓存攻击,其是基于攻击者在虚拟化环境或云环境中监视共享物理系统的高速缓存的能力的攻击。加固可以包括掩蔽高速缓存、由算法生成的待放置在高速缓存上的输出。接下来,当用户应用完成执行时,用户应用终止其执行并退出。
在一个实施方式中,内核203的集合包括混淆内核算法。在一个实施方式中,混淆内核算法可以是对称或非对称算法。对称混淆算法可以使用相同的算法来混淆和反混淆数据通信。非对称混淆算法需要一对算法,其中该对中的第一个被用于混淆,而该对中的第二个被用于反混淆,反之,该对中的第一个被用于反混淆,而该对中的第二个被用于混淆。在另一实施方式中,非对称混淆算法包括用于混淆数据集的单个混淆算法,但是不打算该数据集被反混淆,例如,不存在对应的反混淆算法。
混淆是指通过使通信消息难以理解(通常使用混淆和不明确的语言)来混淆通信的预期含义。混淆数据对于逆向工程来说更加困难和复杂。在传输数据之前,可以应用混淆算法来模糊(加密/解密)数据通信,从而减少窃听的机会。在一个实施方式中,混淆算法可以进一步包括加密方案,以进一步加密用于保护的附加层的混淆数据。与可能是计算密集型的加密不同,混淆算法可以简化计算。
一些混淆技术可以包括但不限于字母混淆、名称混淆、数据混淆、控制流混淆等。字母混淆是用特定的替换字母代替数据中的一个或更多个字母从而使数据无意义的过程。字母混淆的示例包括字母旋转功能,其中每个字母沿着字母表移动,或者沿着字母表旋转预定数量的位置。另一示例是基于特定图案重新排序或颠倒字母。名称混淆是用无意义的字符串替换特定目标的字符串的过程。控制流混淆可以用加性代码(插入死代码、插入不受控制的跳转、插入可选的结构)改变程序中的控制流的顺序,以隐藏算法/AI模型的真实控制流。
总之,系统200向DP加速器(其用于包括机器学习模型、训练数据和推断输出的数据传输)提供多层保护,以免丢失数据机密和完整性。系统200可以包括基于可选的TPM的安全引导保护层和内核验证/认证层。系统200可以包括使用无边信道算法的应用,以便防御边信道攻击,例如基于高速缓存的边信道攻击。
运行时库206可提供混淆内核算法以混淆主机104与DP加速器105-107之间的数据通信。在一个实施方式中,该混淆可以与密码方案配对。在另一实施方式中,混淆是唯一的保护方案,并且对于DP加速器来说,基于密码的硬件变得不必要。
图2B是示出根据一个实施方式的一个或更多个主机与一个或更多个数据处理(DP)加速器之间的保护计算环境的框图。在一个实施方式中,主机信道管理器(HCM)250包括可选的认证模块251、可选的终止模块252、可选的密钥管理器253、可选的密钥存储器254和可选的密码引擎255。可选的认证模块251可以对在主机服务器104上运行的用户应用进行认证,以允许访问或使用DP加速器105的资源。HCM 250可以经由通信信道215与DP加速器105-107的加速器信道管理器(ACM)280通信。
可选的终止模块252可以终止连接(例如,将终止与连接相关联的信道)。可选的密钥管理器253可以管理(例如,创建或销毁)非对称密钥对或对称密钥,以便为不同的安全数据交换信道加密/解密一个或更多个数据包。这里,每个用户应用(作为图2A的用户应用205的一部分)可以以一对多的关系对应于或映射到不同的安全数据交换信道,并且每个数据交换信道可以对应于DP加速器105。每个应用可以利用多个会话密钥,其中每个会话密钥用于与DP加速器(例如,加速器105-107)对应的安全信道。可选的密钥存储器254可以存储加密的非对称密钥对或对称密钥。可选的密码引擎255可以加密或解密通过任何安全信道交换的数据的数据包。应注意,这些模块中的一些可以集成到更少的模块中。
在一个实施方式中,DP加速器105包括ACM 280、非敏感(非保护)资源290和敏感(保护)资源270。ACM 280是与负责管理主机104和DP加速器105之间的通信(例如,资源访问控制)的HCM 250对应的对应模块。ACM 280包括链路配置模块281,其与主机服务器104的HCM 250协作以在主机服务器104和DP加速器105之间建立通信信道215。ACM 280还包括资源管理器282。资源管理器282加强对敏感资源270和非敏感资源290的受限访问。在一个实施方式中,敏感资源270占用DP加速器105内的第一地址空间。非敏感资源290占用DP加速器105内的第二地址空间。在一个实施方式中,第一地址空间和第二地址空间是互斥的且不重叠的。在一个实施方式中,资源管理器282还包含允许主机服务器104对敏感资源270和非敏感资源290二者进行访问的逻辑(例如,访问控制逻辑)。在一个实施方式中,资源管理器282加强从主机服务器104接收的访问和配置策略,如下面进一步描述的。
敏感资源270可以包括可选的密钥管理器271、可选的密钥存储器272、真随机数生成器273、可选的密码引擎274和存储器/存储设备277。可选的密钥管理器271可以管理(例如,生成、安全保持和/或销毁)非对称密钥对或对称密钥。可选的密钥存储器272可以将密码非对称密钥对或对称密钥存储在敏感资源270内的保护存储器中。真随机数生成器273可以生成用于密钥生成和密码引擎274使用的种子,诸如认证链接的DP加速器。可选的密码引擎274可以加密或解密用于数据交换的密钥信息或数据包。存储器/存储设备277可以包括用于AI模型275和内核276的存储器。内核276可以包括水印内核(包括继承水印的内核、启用水印的内核、水印签名内核等),加密与解密内核以及相关数据。
DP加速器105还可以包括非敏感资源290。非敏感资源290可以包括一个或更多个处理器或处理逻辑291以及存储器/存储设备292。处理器或处理逻辑192能够执行指令或程序以执行各种处理任务,诸如AI任务(例如,机器学习过程)。
链路配置模块281负责建立或连接从DP加速器到另一DP加速器的链路或路径,或者终止或断开从DP加速器到另一DP加速器的链路或路径。在一个实施方式中,响应于加入一组DP加速器的请求(例如,来自主机的请求),链路配置模块281建立从相应DP加速器到组或集群中的DP加速器的至少一些的链路或路径,使得DP加速器可以与其它DP加速器通信,例如,访问其它DP加速器的资源以用于AI处理。类似地,响应于从第一组DP加速器切换到第二组DP加速器的请求,链路配置模块281终止来自第一组的相应DP加速器的现有链路,并建立到第二组DP加速器的新链路。
在一个实施方式中,DP加速器105还包括AI处理单元(未示出),该AI处理单元可以包括AI训练单元和AI推断单元。AI训练单元和AI推断单元可以被集成到敏感资源270中的单个单元中。AI训练模块配置为使用训练数据集来训练AI模型。可以经由通信链路(通信信道)215从主机系统104接收待训练的AI模型和训练数据。在一个实施方式中,训练数据可以存储在非敏感资源290中。AI模型推断单元可以配置为对输入数据集(例如,输入特征集)执行经训练的人工智能模型,以推断和分类输入数据。例如,可以将图像输入到AI模型以分类该图像是否包含人、景观等。经训练的AI模型和输入数据也可以通过通信链路215经由接口140从主机系统104接收。
在一个实施方式中,敏感资源270中的水印单元(未示出)可以包括水印生成器和水印刻录器(也称为“水印植入器”)。水印单元(未示出)可以包括敏感资源270的水印内核执行器或内核处理器(未示出),以执行内核276。在一个实施方式中,可以从主机104接收内核,或者从永久或非永久存储设备中检索内核,并且在DP加速器105的敏感资源270中的内核276的存储器中执行内核。水印生成器配置为使用预定的水印算法生成水印。可替代地,水印生成器可以从现有的水印继承水印,或者从另一数据结构或数据对象提取水印,所述另一数据结构或数据对象例如为可以从主机系统104接收的人工智能模型或输入数据集。水印植入器配置为将水印刻录或植入到诸如人工智能模型的数据结构或由人工智能模型生成的输出数据中。植入有水印的人工智能模型或输出数据可以通过通信链路215从DP加速器105返回到主机系统104。应注意,DP加速器105-107具有相同或相似的结构或部件,并且关于DP加速器的描述将适用于本申请全文中的所有DP加速器。
图3以框的形式示出了根据一个实施方式的控制数据处理(DP)加速器的集群310的主机104。主机104可以包括应用205(例如,人工智能(AI)应用)、运行时库206、一个或更多个驱动器209、操作系统211和硬件213,它们中的每个已经参考图2A和图2B在上面进行了描述,并且在此将不再重复。在虚拟计算实施方式中,主机104可进一步包括管理程序212,诸如或/>管理程序212可以是直接在物理服务器上运行的类型1“裸金属”或“本机”管理程序。在一个实施方式中,管理程序212可以是类型2管理程序,其像任何其它应用一样加载到操作系统211内并由操作系统211管理。在任一情况下,管理程序212可支持主机104上的一个或更多个虚拟机(未示出)。在这样的方面,虚拟机(未示出)可以被视为图1的客户端设备101和102。
数据处理(DP)加速器集群310可以包括以上参考图2A和图2B描述的DP加速器105-107。参考图3,DP加速器集群310可以包括例如标记为A至H的八个(8个)DP加速器。加速器集群310中的每个DP加速器可以具有到加速器集群310中的一个或更多个其它DP加速器的一个或更多个通信链路215。以上参考图2A和图2B描述了DP加速器的通信链路215。根据从主机104的驱动器209接收的策略来配置集群310中的每个DP加速器。集群310中的每个DP加速器可以具有敏感资源270和非敏感资源290。
在图3中所示的示例中,DP加速器A-D配置为具有四个(4个)DP加速器的第一组DP加速器。DP加速器E-H配置在具有四个(4个)DP加速器的第二组DP加速器中。在第一组DP加速器中,每个DP加速器具有直接到另一加速器的通信链路(例如,A-B、A-C、B-D和C-D),或者具有经由一个或更多个居间加速器到另一加速器的通信路径(例如,A-B-D、A-C-D等)。第二组被示出为在第二组中的每个DP加速器和第二组中的每个其它DP加速器之间具有直接通信链路。驱动器209可以生成策略,其中组中的每个DP加速器与组中的每个其它DP加速器或一些其它DP加速器具有直接通信链路。在第一组的情况下,驱动器209可以生成策略,该策略还包括例如用于DP加速器A和D生成彼此的通信链路的指令以及用于DP加速器B和C生成彼此的通信链路的指令。集群310中可以存在配置成任何数量的组的任何数量的DP加速器。
在基于静态策略的实施方式中,定义DP加速器中的每个的配置的单个策略从驱动器209传输到集群310中的所有DP加速器。在实施方式中,驱动器209可以在单个广播消息中向集群中的所有DP加速器传输策略。每个DP加速器读取该策略并建立(链接连接)或断开(链接断开)与集群310中的一个或更多个DP加速器的通信链路,从而将DP加速器配置成一个或更多个组。在图3中,有八个(8个)DP加速器被配置为具有四个(4个)DP加速器的两个组。组中的每个DP加速器具有到组中的每个其它DP加速器的直接通信链路或者具有经由与DP加速器具有直接通信链路的一个或更多个DP加速器而到组中每个其它DP加速器的间接通信路径。在基于静态策略的环境中,驱动器209的调度器209A可以使用应用205和/或虚拟机的用户之间的时间分片来调度集群310的一个或更多个组上的处理任务。静态策略可以通过驱动器209生成描述集群310中的每个DP加速器的配置的新策略来改变。
集群310中的每个DP加速器(例如,链路配置模块281和/或资源管理器282)根据策略重新配置自己,在集群310中的DP加速器与一个或更多个其它DP加速器之间建立(链接连接)或断开(链接断开)通信链路。基于静态策略的配置是快速的,因为该配置在单个(例如,广播)消息中被传输,并且每个DP加速器本身与集群310中的其它DP加速器基本上并行地配置。由于用于所有DP加速器的策略同时被传输到所有DP加速器,所以配置可以非常快速地发生。例如,如果该策略包括用于DP加速器“A”生成到DP加速器“B”的链路的指令,则该策略还具有DP加速器B将生成到DP加速器A的链路的指令。每个DP加速器可以基本上同时地打开它们自己的链路端,从而非常快速地打开DP加速器A与DP加速器B之间的链路。在一个实施方式中,可以将单个策略表达为DP加速器的邻接表。
基于静态策略的配置也是有效的,因为它支持不同用户之间的时间分片调度,并且支持将用户的处理任务分配给集群310中的多于一个的DP加速器组。静态策略可以从分析器209B生成,分析器209B确定调度器209A中的处理任务的特性。例如,调度器209A可包括使用相同AI模型来执行推断或进一步训练AI模型的大量任务。分析器可以生成配置多个DP加速器的策略以准备在AI模型上执行推断或训练。配置可包括识别DP加速器的分组,且将一个或更多个AI模型加载到DP加速器中的一个或更多个的敏感存储器中,以准备调度器209A中的处理任务。
在基于动态策略的实施方式中,驱动器209可单独地配置集群310中的每个DP加速器以实现DP加速器的配置。将策略单独传输到每个DP加速器。实际上,在基于动态策略的实施方式中,传输到每个DP加速器的策略通常彼此不同。DP加速器接收该策略并根据该策略配置自己。配置包括DP加速器将其自身配置到集群310中的组中或者配置到集群310中的组外。DP加速器根据该策略,通过与组中的至少一个DP加速器建立通信链路(链路连接)来将其自身配置到组中。DP加速器通过断开DP加速器与组中的所有DP加速器之间的通信链路(链路断开)而离开组。在配置之后,如果DP加速器不是任何一组DP加速器的成员,则可以将DP加速器设置为低功率状态以降低热量并保存能量。在一个实施方式中,调度器209A将DP加速器或DP加速器组分配给每个用户或应用,调度器209A为该每个用户或应用将处理任务调度至集群310。
图4是示出在根据静态划分策略划分的数据处理加速器的集群中保护数据的方法400的流程图。方法400是数据处理(DP)加速器基于静态策略划分成DP加速器集群内的一个或更多个组的示例性实现方式。方法400可以由DP加速器的ACM(诸如,ACM 280)来执行。
在操作401中,多个DP加速器中的每个从主机系统接收配置策略。策略是包含集群中每个DP加速器的配置信息的单个策略。每个DP加速器从主机接收相同的策略。在一个实施方式中,主机可以向集群中的所有DP加速器广播策略。DP加速器不能相互广播。为了防止由主机发送的策略被破坏,不允许DP加速器使用广播通信。DP加速器不能模拟主机。DP加速器只能与主机以及与DP加速器具有通信路径或通信链路的一个或更多个其它DP加速器通信。在DP加速器不具有到任何其它DP加速器的通信链路的实施方式中,DP加速器只能与主机通信。
在操作402中,每个DP加速器(例如,链路配置模块281)读取应用于DP加速器的策略部分,并生成到一个或更多个其它DP加速器的通信链路(链路连接)。对于DP加速器尚未被提供指令来进行链路连接的策略中的每个DP加速器,DP加速器断定链路断开(断开、终止或断开通信链路)。在一个实施方式中,DP加速器可能不被指示与任何其它DP加速器进行链路连接。在这一方面,DP加速器仍然可以从主机设备接收处理任务,以便在DP加速器上进行处理。
在操作403中,第一组中的第一DP加速器从主机接收处理任务。第一DP加速器(例如,处理逻辑291)使用第一组中的一个或更多个DP加速器来执行处理任务。在一个实施方式中,一个或更多个DP加速器中的每个可以与第一DP加速器建立通信路径。通信路径包括第一DP加速器与该第一组中的另一DP加速器之间的直接通信链路,或通过该第一组中的一个或更多个其它DP加速器的间接路径。
图5A和图5B是示出根据实施方式的在根据静态划分策略划分的数据处理加速器的集群中保护数据的方法500的流程图。方法500是数据处理(DP)加速器基于静态策略划分成DP加速器集群内的一个或更多个组的示例性实现方式。
现在参考图5A,在操作501中,将多个数据处理(DP)加速器通信地联接到主机设备作为DP加速器的集群。
在操作502中,可选地,默认情况下,多个DP加速器中的每个可以将其自身配置为具有到集群中的所有DP加速器的通信路径。每个DP加速器具有保护资源和非保护资源。主机系统(例如,主机104)中的驱动器(例如,驱动器209)能够访问集群中所有DP加速器的全部资源,包括集群中每个DP加速器的保护资源和非保护资源。
在操作503中,多个DP加速器中的每个从主机系统接收相同的配置策略。配置策略包括用于集群中的所有DP加速器的配置指令,配置指令关于每个DP加速器将配置到哪个DP加速器的通信链路。
在操作504中,集群中的每个DP加速器根据策略与集群中的一个或更多个其它DP加速器建立通信链路(链路连接),从而将集群组织成不重叠的一组或多组DP加速器。
现在参考图5B,在操作505中,在根据策略配置所有DP加速器之后,第一组DP加速器中的每个DP加速器具有到第一组中的一个或更多个其它DP加速器的通信路径。第二组DP加速器中的每个DP加速器具有到第二组中的一个或更多个其它DP加速器的通信路径。第一组中没有DP加速器具有到第二组中的DP加速器的通信链路,并且第二组中没有DP加速器具有到第一组中的DP加速器的通信链路。
在操作506中,第一DP加速器可以从主机设备接收要执行的处理任务,例如人工智能(AI)推断。第一DP加速器还能够可选地接收用于执行处理任务的数据。
在操作507中,第一组中的第一DP加速器执行处理任务的第一子任务,并且第一DP加速器将处理任务的第二子任务委托给第一组中的第二DP加速器以供第二DP加速器执行。
在操作508中,第一DP加速器获得第一子任务的第一子结果。第一DP加速器还从第二DP加速器接收第二子任务的第二子结果。第一DP加速器将处理任务的结果返回给主机设备。
图6是示出根据实施方式的使用按每个加速器划分的资源在数据处理(DP)加速器的集群中保护数据的方法600的流程图。方法600针对每个划分内的敏感资源和非敏感资源的基于固件或硬件的划分。这种划分可以是DP加速器的制造过程的一部分。资源划分可由如上面参考图2B所描述的(例如)资源管理器282来加强。
在操作601中,将多个DP加速器组织为集群。每个DP加速器通信地联接到主机设备。每个DP加速器具有多个资源。集群中的第一DP加速器与至少一个第二DP加速器通信地联接(链路连接)。
在操作602中,对于每个DP加速器,多个资源被划分为敏感(保护)资源和非敏感(非保护)资源。在一个实施方式中,敏感资源可占用DP加速器的第一地址范围,并且非敏感资源可占用DP加速器的与第一地址范围不重叠的第二地址范围。
在操作603中,第一DP加速器可以从主机设备接收指令以访问第一DP加速器的资源(例如,敏感资源)。例如,主机设备可以指示第一DP加速器将人工智能(AI)模型存储到第一DP加速器的保护存储设备中。在另一示例中,第二DP加速器可以请求第一DP加速器访问第一DP加速器的敏感资源,以便请求第一DP加速器对存储在第一DP加速器的保护存储器中的模型执行AI推断。
在操作604中,响应于第一DP加速器将访问第一DP加速器的敏感资源的指令,第一DP加速器访问其自己的敏感资源。
在操作605中,响应于第一DP加速器将准许第二DP加速器访问第一DP加速器的敏感资源的指令,第一DP加速器拒绝第二DP加速器访问第一DP加速器的敏感资源。例如,如果从第二DP加速器到第一DP加速器的指令是第一DP加速器从第一DP加速器的敏感存储器读取AI模型并将AI模型传输到第二DP加速器,则该指令将被第一DP加速器拒绝。
在操作606中,响应于第一DP加速器将准许第二DP加速器访问第一DP加速器的非敏感资源的指令,第一DP加速器允许第二DP加速器访问非敏感资源。
图7A和图7B是示出根据实施方式的使用加速器的动态划分在数据处理加速器的集群中保护数据的方法700的流程图。在动态划分中,主机设备可经由DP加速器专用的策略来单独地配置DP加速器的集群中的每个DP加速器。在动态划分中,可以将集群的DP加速器划分成多个组,并且可以将每个组分配给一个用户或一个应用。主机设备的驱动器(例如,驱动器209)的调度器(例如,调度器209A)不通过将多个用户时间分片到一组DP加速器中来调度处理任务。一个组(分区)被分配给一个用户。任何特定划分中的DP加速器的数量可以变化。
在一个实施方式中,分析器(例如,分析器209B)可分析调度器209A中的处理任务以确定DP加速器的最佳分组/划分。主机设备可以基于对调度器中的处理任务的分析来为每个DP加速器生成配置策略。在动态划分实施方式中,一个或更多个DP加速器可以从集群中的组断开(链路断开),并被设置为低功率模式。可替代地,可向一个或更多个未链接的DP加速器分配处理任务以执行一个DP加速器。
在操作701中,每个DP加速器从主机设备的驱动器接收包含DP加速器专用的配置指令的策略。配置指令指示DP加速器是要加入还是离开一组DP加速器。该指令专用于接收该指令的DP加速器。
在操作702中,每个DP加速器根据从主机设备接收的用于该DP加速器的指令来配置自己。配置包括:响应于加入一组DP加速器的指令,DP加速器生成到该一组DP加速器中的至少一个DP加速器的通信链路(链路连接),否则DP加速器断开DP加速器与该一组DP加速器中的所有DP加速器之间的通信链路(链路断开)。
在操作703中,在集群中的所有DP加速器的配置完成之后,每个DP加速器通信地链接到集群中的多组DP加速器中的一组DP加速器,或者DP加速器不通信地链接到集群中的任何一组DP加速器。集群中的多组DP加速器是不重叠的。
现在参考图7B,在操作704中,响应于确定DP加速器没有通信地链接到集群中的任何DP加速器,可以将DP加速器设置为低功率状态,以减少能量消耗并减少所产生的热量。
在操作705中,主机设备将每一组DP加速器分配给用户或主机设备上的应用。一组或多组DP加速器代表一组或多组DP加速器中的每个被分配给的用户或应用来执行一个或更多个处理任务。
在操作706中,响应于一个或更多个DP加速器从主机设备接收新的配置指令,该一个或更多个DP加速器中的每个根据用于DP加速器的指令来配置自己。如果DP加速器被分配给新的组或不同组的DP加速器,则该DP加速器断开该DP加速器与先前一组DP加速器中的任何DP加速器之间的通信链路(链路断开),其中该先前一组DP加速器是该DP加速器先前被指示加入的。该DP加速器生成与在该DP加速器的新的指令或不同指令中所指定的新的组或不同组的DP加速器中的至少一个DP加速器的通信链路(链路连接)。如果该DP加速器先前不是任何一组DP加速器的成员,并且处于低功率状态,则该DP加速器从低功率状态加电,并且该DP加速器生成到至少一个DP加速器的通信链路,该至少一个DP加速器是该DP加速器已经被指示加入的组的成员。
在操作707中,如果该DP加速器先前被分配给一个组,并且基于新接收的指令不再被分配给该组,则DP加速器断开与该集群中的任何DP加速器的所有通信链路(链路断开)。DP加速器可以将其自身设置为低功率状态。在一个实施方式中,所接收的指令可包含DP加速器不进入低功率状态的指令,即使该DP加速器当前不是任何组的成员。在这样的方面,DP加速器保持准备好从主机设备的驱动器接收工作,使得主机设备能够将工作分配给未分组的DP加速器。方法700结束。
图8是示出根据实施方式的使用数据处理加速器的认证在数据处理加速器的集群中保护数据的方法800的流程图。在该实施方式中,可以预见,数据处理(DP)加速器可以被添加到DP加速器的集群中,并且所添加的DP加速器可以来自未知的源或者不可信的第三方。在允许DP加速器访问第一DP加速器的任何资源之前,通过第一DP加速器认证不可信的第二DP加速器。
在操作801中,DP加速器的集群包含至少两个DP加速器:第一DP加速器和第二DP加速器。第一DP加速器和第二DP加速器可以被分组到同一组DP加速器中。集群中的每个DP加速器具有敏感(保护)资源和非敏感(非保护)资源。集群中的所有DP加速器通信地联接到主机设备。第一DP加速器和第二DP加速器也可通信地彼此联接。
在操作802中,第一DP加速器从第二DP加速器接收访问第一DP加速器的资源的请求。
在操作803中,确定由第二DP加速器请求的资源是否是敏感资源。该确定可以由例如上面参考图2B所描述的资源管理器282做出。如果由第二DP加速器请求的资源是敏感资源,则在操作804中,第一DP加速器拒绝由第二DP加速器对敏感资源的访问,并且方法800结束。否则,方法800以操作900继续。
在操作900中,第一DP加速器对第二DP加速器进行认证。下面参考图9描述操作900。
在操作806中,确定第一DP加速器是否成功认证了第二DP加速器。如果是,则在操作807中,第一DP加速器允许第二DP加速器访问第二DP加速器请求的资源。否则,在操作808中,第一DP加速器拒绝第二DP加速器对第二DP加速器请求的资源进行访问。
图9是示出第一DP加速器对第二DP加速器进行认证的方法900的流程图。方法900可以由任何DP加速器调用。典型的使用情况是从方法800调用方法900,以确定是否允许第二DP加速器访问第一DP加速器的资源。上面参考图8描述了方法800。
认证是以第一DP加速器和第二DP加速器二者具有相同共享秘密函数为前提的,其中可信DP加速器全部具有该相同共享秘密函数。秘密函数是单向函数。该函数不能从该函数的输出中辨别出来。该函数可以是散列函数,并且可以包含秘密字符串。在实施方式中,在DP加速器的制造期间,秘密函数被嵌入到可信DP加速器中。
第一DP加速器和第二DP加速器共享相同的秘密函数。在操作901中,如果共享的秘密已经被泄露(盗用),则主机可以用更新的共享秘密来更新(修补)集群中的所有DP加速器。
在操作902中,第一DP加速器生成随机数,并将该随机数传输到要进行认证的第二DP加速器。如果是可信的,则第一DP加速器和第二DP加速器共享相同的秘密函数。
在操作903中,第二DP加速器(如果是可信的)使用从第一DP加速器接收的随机数作为秘密函数的输入来从秘密函数获得输出。第二DP加速器将秘密函数的输出传输到第一DP加速器。
在操作904中,第一DP加速器验证从第二DP加速器接收的输出以确定第二DP加速器是否可信。第一DP加速器使用与传输到第二DP加速器相同的随机数作为第一DP加速器上的秘密函数的输入。第一DP加速器从第一DP加速器上的秘密函数获得输出。如果从第二DP加速器接收的输出与由第一DP加速器上的秘密函数生成的输出匹配,则认为第二DP加速器被认证,否则第二DP加速器未被认证。方法900结束,并以第二DP加速器被认证或未被认证的状态返回到被称为方法900的方法。
前面详细描述的一些部分已经根据对计算机存储器内的数据位的操作的算法和符号表示来呈现。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域的其它技术人员的方式。算法在这里通常被认为是产生期望结果的自洽的操作序列。这些操作是需要物理量的物理操作的操作。
然而,应当牢记,所有这些和类似的术语将与适当的物理量相关联,并且仅仅是应用于这些量的方便标记。除非从上面的讨论中明确地另有说明,否则应当理解,在整个说明书中,利用诸如所附权利要求书中陈述的术语进行的讨论是指计算机系统或类似的电子计算设备的动作和过程,该计算机系统或类似的电子计算设备操纵并将表示为计算机系统的寄存器和存储器内的物理(电子)量的数据转换为类似地表示为计算机系统存储器或寄存器或其它这样的信息存储设备、传输设备或显示设备内的物理量的其它数据。
本公开的实施方式还涉及用于执行本文中的操作的装置。这种计算机程序存储在非暂时性计算机可读介质中。机器可读介质包括用于以机器(例如,计算机)可读的形式存储信息的任何机制。机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存设备)。
在前面的图中描述的过程或方法可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,实施在非暂时性计算机可读介质上的软件)或者两者的组合的处理逻辑来执行。尽管以上根据一些顺序操作描述了过程或方法,但是应当理解,所描述的一些操作可以以不同的顺序执行。此外,一些操作可以并行地而不是顺序地执行。
未参考任何特定编程语言来描述本申请的实施方式。应了解,可使用各种编程语言来实施如本文中所描述的本申请实施方式的教导。
在前面的说明书中,已经参考本公开的具体示例性实施方式描述了本公开的实施方式。显然的是,可以对其进行各种修改,而不背离如所附权利要求书中所阐述的本公开的更宽的精神和范围。因此,应以说明性含义而非限制性含义理解说明书和附图。
Claims (22)
1.一种配置包括多个数据处理加速器DPA的集群的计算机实现的方法,所述方法包括:
由所述多个DPA接收所述多个DPA共用的配置策略,所述配置策略描述所述集群中所述多个DPA中的每个DPA与所述多个DPA中的哪个DPA建立或断开通信路径;
由所述多个DPA中的每个DPA根据所述共用的配置策略的至少一部分来配置与所述多个DPA中的其它DPA之间的一个或更多个连接,其中,配置所述一个或更多个连接包括在所述配置策略描述的所述集群中在所述多个DPA中的一个与所述多个DPA中的至少另一个之间建立或断开通信路径;以及
使用第一组DPA中的一个或更多个DPA执行由处于所述第一组DPA中的DPA接收的处理任务,其中,所述第一组DPA是由所述多个DPA形成的多个组之一。
2.根据权利要求1所述的方法,其中,在所述配置之前:
所述多个DPA中的每个DPA具有到所述多个DPA中的其它DPA中的每个的至少一个通信路径。
3.根据权利要求1所述的方法,其中,在所述配置之前和之后:
联接到所述多个DPA的主机系统具有到所述多个DPA中的每个DPA的通信路径,并且所述主机系统能够访问所述多个DPA中的每个DPA的保护资源和非保护资源二者。
4.根据权利要求1所述的方法,其中,在所述配置之后:
所述多个DPA中的所述DPA与所述多个DPA中的所述其它DPA中的一个仅在所述配置策略要求所述DPA与所述其它DPA中的所述一个二者彼此建立通信路径时才能够彼此通信。
5.根据权利要求1所述的方法,其中,所述配置策略指定所述多个DPA被划分成不重叠的至少两组DPA。
6.根据权利要求5所述的方法,其中:
所述第一组DPA中的每个DPA能够访问所述第一组DPA中的每个其它DPA的非保护资源。
7.根据权利要求5所述的方法,其中:
所述第一组DPA中没有DPA能够与第二组DPA中的DPA通信,并且所述第二组DPA中没有DPA能够与所述第一组DPA中的DPA通信;以及
所述第一组DPA中没有DPA能够访问所述第二组DPA中的DPA的资源,并且所述第二组DPA中没有DPA能够访问所述第一组DPA中的DPA的资源。
8.根据权利要求5所述的方法,其中,所述第一组DPA配置成供第一应用或第一用户使用。
9.一种数据处理加速器DPA,包括:
资源管理器,用于接收集群的多个DPA共用的配置策略,其中,所述DPA是所述多个DPA中的一个,所述配置策略描述所述集群中所述多个DPA中的每个DPA与所述多个DPA中的哪个DPA建立或断开通信路径,并且用于根据所述共用的配置策略的至少一部分来配置所述DPA与所述多个DPA中的其它DPA之间的一个或更多个连接,其中,配置所述一个或更多个连接包括在所述配置策略描述的所述集群中在所述多个DPA中的一个与所述多个DPA中的至少另一个之间建立或断开通信路径;以及
处理逻辑,用于使用第一组DPA中的一个或更多个DPA来执行由处于所述第一组DPA中的所述DPA接收的处理任务,其中,所述第一组DPA是由所述多个DPA形成的多个组之一。
10.根据权利要求9所述的DPA,其中,在所述配置之前:
所述多个DPA中的每个DPA具有到所述多个DPA中的所述其它DPA中的每个的至少一个通信路径。
11.根据权利要求9所述的DPA,其中,在所述配置之前和之后:
联接到所述多个DPA的主机系统具有到所述多个DPA中的每个DPA的通信路径,并且所述主机系统能够访问所述多个DPA中的每个DPA的保护资源和非保护资源二者。
12.根据权利要求9所述的DPA,其中,在所述配置之后:
所述多个DPA中的所述DPA与所述多个DPA中的所述其它DPA中的一个仅在所述配置策略要求所述DPA与所述其它DPA中的所述一个二者彼此建立通信路径时才能够彼此通信。
13.根据权利要求9所述的DPA,其中,所述配置策略指定所述多个DPA被划分成不重叠的至少两组DPA。
14.根据权利要求13所述的DPA,其中:
所述第一组DPA中的每个DPA能够与所述第一组DPA中的每个其它DPA通信;以及
所述第一组DPA中的每个DPA能够访问所述第一组DPA中的每个其它DPA的非保护资源。
15.根据权利要求13所述的DPA,其中:
所述第一组DPA中没有DPA能够与第二组DPA中的DPA通信,并且所述第二组DPA中没有DPA能够与所述第一组DPA中的DPA通信;以及
所述第一组DPA中没有DPA能够访问所述第二组DPA中的DPA的资源,所述第二组DPA中没有DPA能够访问所述第一组DPA中的DPA的资源。
16.根据权利要求13所述的DPA,其中,所述第一组DPA配置成供第一应用或第一用户使用。
17.一种系统,包括至少一个硬件处理器,所述至少一个硬件处理器联接到用可执行指令编程的存储器,所述可执行指令在由所述至少一个硬件处理器执行时执行配置包括多个数据处理加速器DPA的集群的操作,所述操作包括:
由所述多个DPA接收所述多个DPA共用的配置策略,所述配置策略描述所述集群中所述多个DPA中的每个DPA与所述多个DPA中的哪个DPA建立或断开通信路径;
由所述多个DPA中的每个DPA根据所述共用的配置策略的至少一部分来配置与所述多个DPA中的其它DPA之间的一个或更多个连接,其中,配置所述一个或更多个连接包括在所述配置策略描述的所述集群中在所述多个DPA中的一个与所述多个DPA中的至少另一个之间建立或断开通信路径;以及
使用第一组DPA中的一个或更多个DPA来执行由处于所述第一组DPA中的第一DPA接收的处理任务,其中,所述第一组DPA是由所述多个DPA形成的多个组之一。
18.根据权利要求17所述的系统,其中,在所述配置之前:
所述多个DPA中的每个DPA具有到所述多个DPA中的所述其它DPA中的每个的至少一个通信路径。
19.根据权利要求17所述的系统,其中,在所述配置之前和之后:
联接到所述多个DPA的主机系统具有到所述多个DPA中的每个DPA的通信路径,并且所述主机系统能够访问所述多个DPA中的每个DPA的保护资源和非保护资源二者。
20.根据权利要求17所述的系统,其中,在所述配置之后:
所述多个DPA中的所述DPA与所述多个DPA中的所述其它DPA中的一个仅在所述配置策略要求所述DPA与所述其它DPA中的所述一个二者彼此建立通信路径时才能够彼此通信。
21.一种存储有计算机指令的非暂时性计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
22.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/899,846 | 2020-06-12 | ||
US16/899,846 US11563745B2 (en) | 2020-06-12 | 2020-06-12 | Method for data protection in a data processing cluster with policy-based partition |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806286A CN113806286A (zh) | 2021-12-17 |
CN113806286B true CN113806286B (zh) | 2024-04-26 |
Family
ID=73855056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011478583.0A Active CN113806286B (zh) | 2020-06-12 | 2020-12-15 | 在基于策略划分的数据处理集群中进行数据保护的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11563745B2 (zh) |
EP (1) | EP3923535B1 (zh) |
CN (1) | CN113806286B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12039356B2 (en) * | 2021-01-06 | 2024-07-16 | Baidu Usa Llc | Method for virtual machine migration with checkpoint authentication in virtualization environment |
US12086620B2 (en) * | 2021-01-06 | 2024-09-10 | Kunlunxin Technology (Beijing) Company Limited | Method for virtual machine migration with artificial intelligence accelerator status validation in virtualization environment |
KR20220107621A (ko) * | 2021-01-25 | 2022-08-02 | 삼성전자주식회사 | 가속기 자원 관리 방법 및 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753461A (zh) * | 2010-01-14 | 2010-06-23 | 中国建设银行股份有限公司 | 实现负载均衡的方法、负载均衡服务器以及集群系统 |
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
WO2019012627A1 (ja) * | 2017-07-12 | 2019-01-17 | 日本電気株式会社 | ネットワーク制御システム、方法およびプログラム |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7954121B2 (en) | 2001-06-19 | 2011-05-31 | Jlb Ventures Llc | Methods and system for controlling access to individual titles |
EP2043731A4 (en) | 2006-07-13 | 2010-07-21 | St Jude Medical | MEDICAL INFORMATION MANAGEMENT IN A PATIENT INFORMATION HUD SYSTEM |
US7882365B2 (en) | 2006-12-22 | 2011-02-01 | Spansion Llc | Systems and methods for distinguishing between actual data and erased/blank memory with regard to encrypted data |
US8484327B2 (en) * | 2007-11-07 | 2013-07-09 | Mcafee, Inc. | Method and system for generic real time management of devices on computers connected to a network |
US8627052B2 (en) | 2008-04-14 | 2014-01-07 | Dell Products, Lp | System and method of enabling a function within a module configured to be used within an information handling system |
US10250443B2 (en) * | 2014-09-30 | 2019-04-02 | Nicira, Inc. | Using physical location to modify behavior of a distributed virtual network element |
US9736248B2 (en) * | 2014-11-04 | 2017-08-15 | Comcast Cable Communications, Llc | Systems and methods for data routing management |
US9871823B2 (en) | 2014-12-23 | 2018-01-16 | Intel Corporation | Techniques to deliver security and network policies to a virtual network function |
US9917740B2 (en) * | 2015-09-09 | 2018-03-13 | International Business Machines Corporation | Reducing internodal communications in a clustered system |
US20170220499A1 (en) * | 2016-01-04 | 2017-08-03 | Gray Research LLC | Massively parallel computer, accelerated computing clusters, and two-dimensional router and interconnection network for field programmable gate arrays, and applications |
US11250118B2 (en) | 2016-06-12 | 2022-02-15 | Apple Inc. | Remote interaction with a device using secure range detection |
US20180150256A1 (en) | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US10241947B2 (en) * | 2017-02-03 | 2019-03-26 | Intel Corporation | Hardware-based virtual machine communication |
US11249781B2 (en) * | 2018-06-11 | 2022-02-15 | Vmware, Inc. | Cloud agnostic blueprint |
US11599821B2 (en) | 2018-06-27 | 2023-03-07 | Amazon Technologies, Inc. | Attached accelerator based inference service |
US11509531B2 (en) * | 2018-10-30 | 2022-11-22 | Red Hat, Inc. | Configuration sharing and validation for nodes in a grid network |
US12013808B2 (en) | 2019-03-15 | 2024-06-18 | Intel Corporation | Multi-tile architecture for graphics operations |
US20190228159A1 (en) | 2019-03-29 | 2019-07-25 | Intel Corporation | Technologies for filtering memory access transactions received from one or more accelerators via coherent accelerator link |
US11086815B1 (en) | 2019-04-15 | 2021-08-10 | Xilinx, Inc. | Supporting access to accelerators on a programmable integrated circuit by multiple host processes |
US11329882B2 (en) * | 2019-04-25 | 2022-05-10 | Juniper Networks, Inc. | Multi-cluster configuration controller for software defined networks |
US20210019434A1 (en) | 2019-07-16 | 2021-01-21 | Microsoft Technology Licensing, Llc | Cloud-based data access control |
US11379236B2 (en) | 2019-12-27 | 2022-07-05 | Intel Corporation | Coherency tracking apparatus and method for an attached coprocessor or accelerator |
US11403403B2 (en) | 2020-04-13 | 2022-08-02 | KameleonSec Ltd. | Secure processing engine for securing a computing system |
US11736447B2 (en) | 2020-07-23 | 2023-08-22 | Dell Products L.P. | Method and system for optimizing access to data nodes of a data cluster using a data access gateway and metadata mapping based bidding in an accelerator pool |
-
2020
- 2020-06-12 US US16/899,846 patent/US11563745B2/en active Active
- 2020-12-15 CN CN202011478583.0A patent/CN113806286B/zh active Active
- 2020-12-16 EP EP20214542.1A patent/EP3923535B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753461A (zh) * | 2010-01-14 | 2010-06-23 | 中国建设银行股份有限公司 | 实现负载均衡的方法、负载均衡服务器以及集群系统 |
CN101820384A (zh) * | 2010-02-05 | 2010-09-01 | 浪潮(北京)电子信息产业有限公司 | 一种集群服务动态分配方法及装置 |
WO2019012627A1 (ja) * | 2017-07-12 | 2019-01-17 | 日本電気株式会社 | ネットワーク制御システム、方法およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN113806286A (zh) | 2021-12-17 |
US20210392143A1 (en) | 2021-12-16 |
EP3923535B1 (en) | 2022-12-28 |
EP3923535A1 (en) | 2021-12-15 |
US11563745B2 (en) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113806286B (zh) | 在基于策略划分的数据处理集群中进行数据保护的方法 | |
CN114721768A (zh) | 用于在虚拟化环境中利用检查点认证进行虚拟机迁移的方法 | |
CN112838926B (zh) | 加速器之间的密钥共享方法 | |
CN114721769A (zh) | 虚拟机迁移的方法 | |
US11740940B2 (en) | Method and system for making an artifical intelligence inference using a watermark-inherited kernel for a data processing accelerator | |
US11443243B2 (en) | Method and system for artificial intelligence model training using a watermark-enabled kernel for a data processing accelerator | |
US11775347B2 (en) | Method for implanting a watermark in a trained artificial intelligence model for a data processing accelerator | |
CN113806287B (zh) | 基于动态划分的数据处理集群的数据保护方法 | |
US11645586B2 (en) | Watermark unit for a data processing accelerator | |
US11709712B2 (en) | Method and system for artificial intelligence model training using a watermark-enabled kernel for a data processing accelerator | |
US11645116B2 (en) | Method and system for making an artificial intelligence inference using a watermark-enabled kernel for a data processing accelerator | |
CN112838923B (zh) | 具有交换机的虚拟信道中加速器之间的密钥共享方法 | |
CN113806757B (zh) | 基于划分的数据处理集群的数据保护方法 | |
CN113806758B (zh) | 基于认证的数据处理集群中的数据保护方法 | |
CN112838924B (zh) | 虚拟信道中加速器之间的密钥共享方法 | |
CN112839021B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |