CN104769561B - 能够实现不同物理域地址空间的节点间的聚类的存储总线协议 - Google Patents
能够实现不同物理域地址空间的节点间的聚类的存储总线协议 Download PDFInfo
- Publication number
- CN104769561B CN104769561B CN201380057937.6A CN201380057937A CN104769561B CN 104769561 B CN104769561 B CN 104769561B CN 201380057937 A CN201380057937 A CN 201380057937A CN 104769561 B CN104769561 B CN 104769561B
- Authority
- CN
- China
- Prior art keywords
- node
- remote
- coprocessor
- data
- cipher key
- 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
- 238000003860 storage Methods 0.000 title description 48
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 59
- 238000004891 communication Methods 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 4
- 230000008878 coupling Effects 0.000 claims description 3
- 238000010168 coupling process Methods 0.000 claims description 3
- 238000005859 coupling reaction Methods 0.000 claims description 3
- 238000000151 deposition Methods 0.000 claims description 2
- 238000003032 molecular docking Methods 0.000 claims 1
- 230000004044 response Effects 0.000 claims 1
- 238000010200 validation analysis Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004224 protection Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000009738 saturating Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/082—Associative directories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1466—Key-lock mechanism
- G06F12/1475—Key-lock mechanism in a virtual system, e.g. with translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
- G06F15/7885—Runtime interface, e.g. data exchange, runtime control
- G06F15/7889—Reconfigurable logic implemented as a co-processor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24561—Intermediate data storage techniques for performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/273—Asynchronous replication or reconciliation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3808—Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
- G06F9/381—Loop buffering
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- 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
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
公开一种在集群中的节点之间传送数据和消息的系统和方法。集群中的各个节点是单独的物理域,但是通过点对点高速链路而连接到集群中的其它节点。链路的每一侧被耦接到帮助数据在节点之间移动的协处理器。由于各个物理域与任何其它域分开,因此物理域中的协处理器利用称为RKey的证书获得将数据传送给另一个物理域的许可。当从另一个物理域收到RKey时,接收域中的协处理器验证该密钥,获得与该密钥关联的物理地址,使得它能够提供或接收远程数据。也允许集群中的各对远程节点之间的数据传送。
Description
相关申请的交叉引用;优先权要求
本申请要求2012年10月2日提交的美国申请61/709,142,“TECHNIQUES FORACCELERATING DATABASE OPERATIONS”的优先权,该申请的整个内容通过引用并入于此,如同在此被完整地阐述一样。
本申请通过引用包含与本申请同日提交的美国申请(卷号No.50277-4091)“REMOTE-KEY BASED MEMORY BUFFER ACCESS CONTROL MECHANISM”的整个内容,如同该申请在此被完整地阐述一样。
技术领域
本发明一般地涉及改善集群中的节点间通信的协处理器,并且更具体地,涉及处理用于改善节点间通信的链路到链路协议的协处理器。
背景技术
单个处理系统的性能已极大地增强。然而,利用处理系统或节点的集群,可获得更高的性能。获得高性能集群的关键因素是节点间的通信。图1描述一种早期技术,其中每个都具有自己的CPU 108a-c和本地存储器110a-c的处理节点102、104、106通过公共总线110经由接口112a-c被相互耦接。各个节点102、104、106被允许访问其它节点的存储器,使得这些处理节点可被看作共享一个大型存储器。这种共享总线体系结构的一个缺点在于总线很快变成性能限制要素,因为所有的节点间通信列队竞争使用总线。一旦总线110变得饱和或几乎饱和,增加额外的节点几乎不能带来改善。
在认识到共享总线体系结构的缺点的情况下,采用了图2中描述的另一种技术。图2中,集群中包含CPU 216a-e和存储器218a-e的节点202、204、206、208、210通过专用高速点对点通信链路220a-j互连。如果使用足够的点对点连接220a-j来创建链路的架构,则可实现更高的性能,因为不存在共享总线争用。然而,点对点通信链路220a-j遵守复杂的分层通信协议,以保证通信的正确性和鲁棒性。这种体系结构要求接口214a-t中的I/O处理器执行这种复杂协议以及转换和验证源地址和目的地地址。因为在执行所述协议和地址转换方面,I/O处理器通常比主CPU慢得多,并且因为接口和相应节点的存储器之间的耦接不良,因而执行这些通信任务会降低性能。从而,尽管在集群中实现较高的性能,但是通信开销和不良的耦接导致性能增益达到上限。
本节中说明的方法是可推行的方法,不过不一定是以前已构思或推行的方法。于是,除非另有说明,否则应认为在本节中说明的任何方法仅仅由于被包含在本节中而被当作现有技术。
发明内容
实施例提供一种集群中的节点间通信,它具有很低的开销,并且允许节点之间的直接存储器到存储器通信,其中每个节点驻留于单独的物理地址空间。所述实施例改善了通信延迟和带宽,并提供物理地址空间之间的硬件认证访问和错误检验。所述实施例提高集群的性能,允许集群表现得更像单一系统。所述实施例还允许更大数目的节点,因为性能与节点的数目成比例。
所述实施例使得能够包含在节点本地的高速非易失性存储器,比如PCM(相变存储器)或者NVRAM,并能够在分布式集群环境中高带宽地共享存储器。
一个实施例是一种计算机系统,所述计算机系统包括多个计算节点和多个点对点物理通信链路。所述多个计算节点中的每个计算节点包括协处理器和与该协处理器耦接的存储器,其中每个存储器驻留于单独并且不同的物理域中。所述多个链路中的一个或多个通信链路耦接在所述多个节点中的每对节点之间,其中节点中的每个协处理器耦接到所述一个或多个通信链路,以通过至少一个通信链路传送数据。每个协处理器被配置成利用准许访问另一个节点中的存储器的一部分的证书,在耦接到协处理器的存储器和该协处理器通过一个或多个通信链路所耦接到的所述另一个节点的存储器之间传送数据,或者利用授予对另外两个节点中的第一个节点之中的存储器的一部分的访问权限的第一证书以及授予对另外两个节点中的第二个节点之中的存储器的一部分的访问权限的第二证书,在集群中该协处理器通过一个或多个通信链路所耦接到的另外两个节点之间传送数据。
附图说明
图1表示共享总线体系结构;
图2表示交换架构体系结构;
图3描述实施例在其中工作的集群;
图4A描述图3的集群中的一对节点;
图4B描述协处理器及其接口;
图5描述节点之间的地址空间的模型;
图6描述管理程序和协处理器之间的同步;
图7描述本地节点和远程节点之间的命令操作;
图8描述两个远程节点之间的命令操作;以及
图9是示例的计算机系统。
具体实施方式
在下面的说明中,为了解释起见,阐述了众多的具体细节,以便提供对本发明的透彻理解。然而,显然可在没有这些具体细节的情况下实践本发明。在其它情况下,以框图形式示出公知的结构和设备,以避免不必要地使本发明变得晦涩难懂。
图3描述实施例在其中工作的示例集群。集群中的各个节点302、304、306、308、310包括主CPU 312a-e、协处理器314a-e和存储器316a-e。图3在每个节点中示出单一CPU和单一协处理器,以简化附图;实际上,节点通常包含许多CPU,而且每个CPU通常包含许多协处理器。每个协处理器314a-e直接对接点对点链路320a-j,并直接耦接到相应节点的物理存储器316a-e。在此使用的术语协处理器指的是不同的处理实体,但是不一定是与CPU或其它处理器分离的不同物理设备。例如,协处理器可以是CPU中的核。有利的是,随着集群中CPU的数目的增大,节点中的协处理器和可寻址存储器的数目也增大。这带来随着节点中CPU的数目的增大,节点维持其性能,尤其是与通过链路的通信有关的性能的好处。唯一的限制是节点之间的点对点连接的带宽。更高速的连接或者更多的连接可减轻这种限制。
节点体系结构和协处理器接口
图4A描述图3的集群中的一对示例节点402、404。图4A中简化了该对节点和它们之间的连接;实际上,考虑到可靠性,每个节点经由多个链路连接到自冗余交换机,使得即使多个链路发生故障或者交换机发生故障,系统也可维持运转。分别在各个节点402、404中的协处理器406a-b通过高速点对点链路408互连,在各端由缓冲器410a、410b缓存。每个节点402、404的主处理器412a-b(实际上是许多多核CPU)和协处理器406a-b(实际上是许多协处理器)都包括到每个节点402、404中的相应物理存储器418a-b的存储器接口414a-b、416a-b。如果主处理器412a-b具有L3高速缓存420a、b,那么协处理器406a、b可以访问该高速缓存,使得它能够更新其内容。这种情况下,高速缓存一致性协议维持主存储器418a、b和存在的任何其它L3高速缓存之间的一致性。作为选择,如果协处理器406a、b直接更新主存储器,那么高速缓存一致性协议维持任何存在的L3高速缓存420a、b和主存储器418a、b之间的一致性。各个协处理器406a-b的物理存储器接口416a-b提供对如下所述的管理程序接口和用户接口的访问,所述管理程序接口和用户接口都驻留于物理存储器418a-b中。
图4B描述协处理器406a-b及其接口416a-b、452、454。协处理器406a-b包括存储器接口416a-b、处理协处理器命令的流式管道456、在协处理器管道456中调度命令的命令调度器458,和按照向协处理器发布的数据移动命令在物理域内或在物理域之间移动数据的数据传送机466。
存储器接口416a-b将协处理器406a-b耦接到管理程序接口452和耦接到用户接口454,管理程序接口452和用户接口454都驻留于物理存储器418a-b中。
协处理器406a-b中的数据传送机466通过存储器接口416a-b被耦接到物理存储器418a-b,并执行进出协处理器406a-b所耦接到的任何物理链路和物理存储器418a-b的数据传送,而不涉及节点中的处理器412a-b。
管理程序接口
图4B中描述的特定节点的管理程序接口452支持多线程软件管理程序460,多线程软件管理程序460是提供在节点中的主CPU上运行的操作系统(OS)和/或用户代码与协处理器之间的API接口,从而提供对协处理器的安全访问的特殊多线程驱动器。管理程序通过管理程序接口452向协处理器406a-b发布命令,并且包括命令队列462、用于协处理器406a-b的状态寄存器csr 464和协处理器用来验证RKey以及查寻它们的关联物理地址的RKey表468,其中RKey是授予对远程节点(即,通过点对点链路连接到图4B中的节点的一个节点)的物理存储器的访问权限的证书。由于在不增加任何硬件的情况下,RKey表以及由此RKey的数目随着节点数而增大,因此集群的可扩展性只受节点之间的通信链路的带宽限制。
命令队列462包含命令,每个命令均采取下面说明的协处理器控制块(CCB)的形式。在一个实施例中,命令队列462是循环队列(也称为环形缓冲器),包含最多16个条目。在一个实施例中,对于流式管道456,协处理器406a-b支持8个命令队列和1个优先队列。
协处理器状态寄存器csr 464提供用于配置协处理器406a-b和同步协处理器406a-b的信息。管理程序460可以访问内部协处理器状态寄存器csr 464中的一个或多个,比如管理程序460用来使向协处理器406a-b的命令的发布同步的门铃寄存器,和在启动时配置协处理器406a-b以及读取错误日志和状态的状态寄存器。
用户接口
用户接口454支持用户代码区470,用户代码区470提供用于数据移动命令的一个或多个数据区472,和用于命令结果的完成数据结构474。完成数据结构474是由管理协处理器的管理程序分配的公共区。公共区的位置被传送给OS,并且为可以访问该公共区的所有软件可见。由协处理器406a-b使用以用于输入和输出数据的每个数据区472可由存在于物理域中的任意协处理器访问以用于数据传送,并且永久驻留(即免于被调页或交换到物理存储器之外)于存储器418a-b的物理相邻区域中。访问用于远程节点的输入和输出数据区需要RKey。
在命令结束时,协处理器更新完成数据结构474,以与可以访问完成数据结构474的管理程序460再同步。完成数据结构474用于以下功能:用信号向用户通知完成、将命令返回值传送给用户、与用户建立流控制、用信号通知用户可见错误、记录用户可见命令统计信息。
流式管道
流式管道456是多线程的,并且执行将数据从一个存储器位置移动到另一个存储器位置的命令。源和/或目的地可以是非本地的,即,在远程节点中。流式管道还帮助其它远程流式管道移动数据。
命令调度器
在假定命令将被并行执行的情况下,命令调度器458为流式管道456的可用线程调度命令。在一个实施例中,串行化标记使两个命令被顺序执行。
物理域
图4A中的各个节点402、404在单独的物理域中工作,所述物理域是只有本地处理器和协处理器有权访问的隔离的不同地址空间。从而,使节点中的操作和地址空间与其它节点隔开。物理点对点链路408提供物理域之间的通信机构,使得集群能够作为一体化单元工作。
图5描述节点之间的地址空间的模型。图5中包括两个示例的物理域PDOMl 502和PDOM2504,不过物理域的数目和集群中的节点的数目相同。每个物理域502、504包括多个本地密钥(LKey)506、508、510,本地密钥是提供对在物理域本地的唯一物理地址空间的访问权限的密钥。本地密钥与物理域的物理地址空间的较大物理相邻部分关联,并被分配给在物理域本地的用户过程。在图5中,PDOM1具有本地密钥LKey1506、LKey2508、LKey3510。PDOM2504具有本地密钥LKey4512、LKey5514、LKey6516。
远程密钥(RKey)与具有LKey的存储区域的窗口关联。每个LKey可包括一个或多个RKey以及关联的存储区域。RKey将远程访问权限从物理域中的一个给定的本地密钥授予远程物理域中的另一个本地密钥。受RKey保护的存储器的一部分的远程用户提供RKey,以访问存储器的所述部分。当收到RKey时,协处理器验证该密钥,并且如果验证成功,则继续进行所述命令。图5将PDOM1中的LKey1描述成包括RKey1520和RKey2522。LKey2508包括RKey3524,LKey3510包括RKey4526。在PDOM2504中,LKey4512包括RKey5528和RKey6530,而LKey5514包括RKey7534,而LKey6516包括RKey8536。图5另外描述了被PDOM1502中的RKey2522覆盖的区域和被PDOM2504中的RKey7534覆盖的区域之间的请求540。
在一个实施例中,RKey包括以下数据项。
RKey={Hash,Size,PA,SecretNo,Flags},其中
Hash={Encrypt(Size,Flags,Address,SecretNo)};Encrypt可以是任意流行的快速加密模式;PA是与RKey关联的物理地址;Size是其中RKey有效的区域的大小;Address包含远程物理域中的物理地址;SecretNo是用来生成Hash的16个数之一;并且Flags指示存储区是可读、可写还是高速缓存更新。
在一个实施例中,如在Size字段中指定的一样,RKey可覆盖小到1KB或者大至1TB的存储区域。
密钥设置
集群中的集中配置程序监督为集群的运转所需的所有源和目的地密钥的建立。在初始化时刻,集中配置程序向各个节点中的管理程序发送命令,所述命令指定LKey、驻留于LKey中的RKey、RKey覆盖的区域的大小以及指定可读、可写或者高速缓存更新的访问模式。当收到用户命令时,管理程序创建RKey,执行加密以创建散列,并在管理程序所工作的节点的物理存储器中填充RKey表。拥有包含特定RKey表的存储器的节点被称为表中的密钥的“归属节点”。“归属节点”通过网络将其RKey发送给其它节点,使得该节点能够参与数据传送。操作中,在其归属节点中的RKey表被归属节点中的协处理器用于验证接收的RKey以及将RKey转换成物理地址。
在一个实施例中,利用命令rkey_create(lkey,off,len,ttl,mode)创建RKey,其中lkey是包含新创建的RKey的LKey,off是供转换用的RKey表内偏移量,len是新创建的区域的大小,ttl是存活时间参数,mode是读取或写入访问模式。存活时间参数ttl限制密钥的寿命,以增加安全性。在密钥到期之后,授予被RKey覆盖的区域的权限被取消,并且访问该同一区域需要新的密钥。不仅存活时间参数有助于维持安全性,RKey表本身也有助于维持安全性。具体地,为了使节点免于接收外部传送,节点可使它自己的RKey表无效。无效的表导致对具有这种表的节点的所有传送都验证失败。每个尝试的传送接收指示验证失败的否定确认。
协处理器命令队列操作
协处理器在物理地址空间中工作,使得发送给协处理器的任何命令只包含物理地址。对协处理器可见的所有数据结构驻留于相邻物理位置中,并被期望驻存于存储器中(即,不被换出或调页出)
图6描述管理程序和协处理器之间的同步。当在步骤602,管理程序将命令写入命令队列时,管理程序写入协处理器“门铃”寄存器(协处理器状态寄存器之一)。在步骤604,对门铃寄存器(协处理器的引起注意设备)的写入递增指向命令队列的头部的指针,从而向协处理器通知在命令队列中存在新的命令。如果在门铃寄存器被写入时,命令队列为空,那么在步骤606,协处理器执行新命令。然而,在队列中存在多个命令的情况下,协处理器可按任何顺序执行命令,除非受串行化标记约束。优先队列中的命令通常是在非优先队列中的命令之前执行的。在协处理器执行命令之后,在步骤608,它更新完成区域,从而在步骤610,通知管理程序命令已完成,然后在步骤602,通知管理程序队列具有用于新命令的空位置。如果在步骤612判定门铃寄存器被再次写入,那么协处理器执行进行下一个命令,并在该命令完成时,在步骤608更新完成区域。当协处理器检测到命令队列为空时,协处理器停止,等待门铃寄存器被写入。外部请求仍然被处理。
协处理器命令执行
当协处理器收到来自管理程序的命令时,它与多线程管理程序中发出该命令的线程异步地执行该命令。如果管理程序发送多个命令,那么协处理器调度所述多个命令,以便轮询地执行所述多个命令。协处理器可并行地执行一些命令。
图7描述本地节点和远程节点之间的命令操作。图7中,在步骤702,PDOM1中的协处理器接收并解码新的命令。在步骤704,协处理器在本地物理地址获得数据,并在步骤706,将数据连同RKey一起传送给PDOM2中的存储器。在步骤708,PDOM2中的协处理器利用密钥中的散列,验证RKey。如果验证成功,那么在步骤710,协处理器将RKey转换成其物理地址,并且在步骤712,将传送的数据写入与RKey关联的物理存储器。如果RKey验证不成功,那么在向请求者回送出错通知之后,丢弃该请求。在数据被写入之后,在步骤714,PDOM2中的协处理器向PDOM1中的协处理器回送确认,当收到所述确认时,在步骤716,PDOM1中的协处理器更新命令块中的完成状态,然后在步骤718,使环形缓冲器中的命令块退出队列。由于PDOM2中的协处理器(最终目的地)提供确认(否定或肯定确认),因此发送者PDOM(这种情况下,PDOM1)知道数据实际被传送到最终目的地。这意味如果PDOM2中的最终目的地是永久存储器,比如任何非易失性存储器,那么发送者根据来自PDOM2的肯定确认,知道数据驻留于该永久存储器中,而不是在缓冲器或高速缓存中等待被写入永久存储器。
图8描述在请求来自发起者节点(即,和两个远程节点不同的节点)的情况下,两个远程节点之间的命令操作。在图8中,在步骤802,在源端点的PDOM1中的协处理器从发起者接收将数据从PDOM1传送给PDOM2中的目的地端点的命令。由于发起者既不是PDOM1,也不是PDOM2,所述请求指定从源RKey到目的地RKey的传送。当在步骤802收到源RKey时,在步骤804,源端点的协处理器利用密钥中的散列验证源RKey。该协处理器随后在步骤806访问本地密钥表,以获得密钥的关联物理地址,之后,该协处理器在步骤808获得请求的数据。协处理器随后在步骤810将获得的数据传送给发起者,发起者在步骤812将数据转发给PDOM2中的目的地端点,并在步骤814将目的地RKey与数据一起转发给PDOM2中的目的地端点。在步骤816,在PDOM2中的目的地端点的协处理器验证目的地RKey,如果成功,那么在步骤818,在PDOM2中查找密钥的关联物理地址。在步骤820,PDOM2接受数据,并将数据写入由RKey和命令指定的物理地址中。当所有数据被写入PDOM2中的物理存储器时,在步骤822,在PDOM2的目的地端点的协处理器向发起者回传确认,发起者在步骤824更新命令块中的完成状态,然后在步骤826使命令块从环形缓冲器退出队列。在目的地端点是永久地址空间,比如任何非易失性存储器的空间的情况下,该确认保证数据驻留于所述永久地址空间中。
在备选实施例中,发起者将目的地RKey连同转发指令一起发送给PDOM1中的源端点。和图8的步骤804、806及808中一样,源端点依然验证源RKey,并利用验证的源RKey访问请求的数据。PDOM1中的源端点随后将数据连同源端点被指示来转发的目的地RKey一起,从源端点本身直接发送给PDOM2中的目的地端点。在这个实施例中,源接收来自目的地的确认,并将接收的确认转发给发起者。
协处理器命令
协处理器支持各种数据移动和维护命令。数据移动命令包括复制类、填充类、存储类、比较类和修改类命令。
复制类命令将数据从源地址移动到目的地地址,或者将立即数据移动到目的地地址。如果源地址或目的地地址不在本地,那么RKey指定目的地地址。当该命令完成时,它在完成数据结构中公布结果。
填充类命令采用立即数据值,并利用所述立即数据值填充起始于目的地地址的数据值。如果目的地地址不在本地,那么RKey指定目的地地址。
存储类命令采用立即数据值,并将其存储在目的地地址中。如果目的地地址不在本地,那么RKey指定目的地地址。
比较类命令采用比较值和交换值。该命令比较在目的地地址的内容和比较值。如果两者相等,那么该命令将交换值写入目的地内容中,并返回目的地的旧内容。如果目的地不在本地,那么RKey指定目的地地址。
另一种比较命令采用立即值和比较值,并比较所述比较值和目的地内容。如果比较值严格更大,那么该命令用立即值更新目的地内容,并返回目的地的旧内容。如果目的地不在本地,那么RKey指定目的地地址。
修改类命令采用立即值,并相加该值和目的地地址的内容,或者将该值与目的地地址的内容进行或运算,然后返回目的地的旧内容。如果目的地不在本地,那么RKey指定目的地地址。
硬件概述
按照一个实施例,这里说明的技术是利用一个或多个专用计算设备实现的。所述专用计算设备可被硬连线以实现所述技术,或者可包括被永久编程来实现所述技术的、比如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的数字电子设备,或者可包括一个或多个通用硬件处理器,所述通用硬件处理器被编程来按照固件、存储器、其它存储器或它们的组合中的程序指令执行所述技术。这种专用计算设备还可结合定制的硬连线逻辑、ASIC或FPGA与定制的编程,以实现所述技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持设备、联网设备、或者包含硬连线和/或程序逻辑来实现所述技术的任何其它设备。
例如,图9是示出可在其上实现本发明的实施例的计算机系统900的框图。计算机900包括总线902或者用于传输信息的其它通信机构,以及与总线902耦接用于处理信息的硬件处理器904。例如,硬件处理器904可以是通用微处理器。
计算机系统900还包括耦接到总线902用于存储信息和待由处理器904执行的指令的主存储器906,比如随机存取存储器(RAM)或其它动态存储设备。主存储器906也可用于在待由处理器904执行的指令的执行期间,存储临时变量或其它中间信息。当被存储在处理器904可访问的非瞬时存储介质中时,这样的指令使计算机系统900成为执行在指令中指定的操作而定制的专用机器。
计算机系统900还包括耦接到总线902用于为处理器904存储静态信息和指令的只读存储器(ROM)908或其它静态存储设备。提供诸如磁盘或光盘的存储设备910,并将其耦接到总线902,用于存储信息和指令。
计算机900可通过总线902耦接到显示器912,比如阴极射线管(CRT),用于向计算机用户显示信息。包括字母数字键和其它键的输入设备914被耦接到总线902,用于将信息和命令选择传输给处理器904。另一种用户输入设备是光标控制器916,比如鼠标、跟踪球或光标方向键,用于向处理器904传输方向信息和命令选择,以及用于控制显示器912上的光标移动。这种输入设备一般在两个轴,即第一轴(例如x)和第二轴(例如y)上具有使该设备可以指定平面中的位置的两个自由度。
计算机系统900可利用下列设备来实现这里说明的技术:定制硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑,它们与计算机系统结合来使计算机系统900成为或者将计算机系统900编程为专用机器。按照一个实施例,响应处理器904执行包含在主存储器906中的一个或多个指令的一个或多个序列,计算机系统900执行这里的技术。这种指令可从比如存储设备910的另一个存储介质读入主存储器906。包含在主存储器906中的指令序列的执行使得处理器904执行这里说明的处理步骤。在备选实施例中,硬连线电路可以代替软件指令或者与其结合而被使用。
这里使用的术语“存储介质”指的是存储使机器按具体方式工作的数据和/或指令的任何非瞬时介质。这种存储介质可包含非易失性介质和/或易失性介质。例如,非易失性介质包括光盘或磁盘,比如存储设备910。易失性介质包括动态存储器,比如主存储器906。例如,存储介质的常见形式包括软盘、硬盘、固态驱动器、磁带、或者任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、具有各种孔图形的任何物理介质、RAM、PROM、以及EPROM、FLASH-EPROM、NVRAM、任何其它存储芯片或盒式磁带。
存储介质不同于传输介质,但是可以和传输介质结合起来使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,包括构成总线902的导线。传输介质还可采取声波或光波的形式,比如在无线电波和红外数据通信期间生成的声波或光波。
各种形式的介质可以参与将一个或多个指令的一个或多个序列输送给处理器904以用于执行。例如,指令最初可被载存于远程计算机的磁盘或固态驱动器上。远程计算机能够将指令加载到其动态存储器中,并且利用调制解调器通过电话线路发送所述指令。计算机系统900本地的调制解调器能够在电话线路上接收所述数据,并利用红外发射器将数据转换成红外信号。红外探测器能够接收携带在红外信号中的数据,适当的电路可将所述数据放置于总线902上。总线902将所述数据输送到主存储器906,处理器904从主存储器906检索并执行指令。主存储器906接收的指令可选择性地在由处理器904执行之前或之后,被存储于存储设备910上。
计算机系统900还包括耦接到总线902的通信接口918。通信接口918提供耦接到网络链路920的双向数据通信,网络链路920连接到本地网络922。例如,通信接口918可以是综合业务数字网(ISDN)卡、线缆调制解调器、卫星调制解调器、或者用于提供到对应类型的电话线路的数据通信连接的调制解调器。再例如,通信接口918可以是提供到兼容LAN的数据通信连接的局域网(LAN)卡。也可实现无线链路。在任意这样的实现中,通信接口918发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
网络链路920一般通过一个或多个网络提供到其它数据设备的数据通信。例如,网络链路920可提供通过本地网络922提供到主机计算机924或者到由因特网服务提供商(ISP)926运营的数据设备的连接。ISP 926又通过现在通常称为“因特网”928的全球分组数据通信网络来提供数据通信服务。本地网络922和因特网928两者都利用输送数字数据流的电信号、电磁信号或光信号。通过各种网络的信号,以及在网络链路920上并通过通信接口918的信号是传输介质的示例形式,该通信接口将数字数据送入和送出计算机系统900。
计算机系统900可通过网络、网络链路920和通信接口918来发送消息和接收数据,包括程序代码。在因特网示例中,服务器930可通过因特网928、ISP 926、本地网络922和通信接口918来传送应用程序的请求代码。
接收的代码可在被接收时由处理器904执行,和/或被存储于存储设备910或者其它非易失性存储器中,供以后执行。
在上面的说明书中,已经参考可因实现而异的众多具体细节,说明了本发明的实施例。因此,说明书和附图应被认为是说明性的,而不是限制性的。本发明的范围的独有指标以及本申请人想要其成为本发明的范围的内容,是本申请按照此类权利要求书发布的具体形式来发布的权利要求书的字面及等效范围,包括任何后续更正。
Claims (19)
1.一种计算机系统,包括:
多个计算节点,
其中所述多个计算节点中的每个计算节点包括一个或多个协处理器、不同于所述一个或多个协处理器的至少一个相应的中央处理单元和与所述一个或多个协处理器耦接的存储器,
其中每个协处理器包括将所述每个协处理器耦接到所述每个计算节点的存储器的存储器接口;以及
其中每个存储器驻留于单独并且不同的物理域中;和
互连所述多个协处理器的多个点对点物理通信链路,其中在不涉及所述至少一个相应的中央处理单元的情况下,所述每个计算节点的一个或多个协处理器直接对接所述多个点对点物理通信链路以传送数据;
其中所述一个或多个协处理器被配置成:
通过在耦接到每个数据移动命令的接收协处理器的存储器与第一远程节点的第一远程存储器之间传送数据来处理向所述一个或多个协处理器发布的数据移动命令,
其中所述数据是在不涉及第一远程节点的所述至少一个相应的中央处理单元的情况下利用准许访问第一远程节点中的存储器的一部分的第一证书来通过存储器接口经由所述多个点对点物理通信链路传送的。
2.按照权利要求1所述的系统,其中每个协处理器还包括在不涉及所述至少一个相应的中央处理单元的情况下经由所述多个点对点物理通信链路将数据从一个存储器位置移动到另一个存储器位置的数据传送机。
3.按照权利要求1所述的系统,其中第一证书是第一远程节点所拥有的远程密钥,其中所述远程密钥提供对在第一远程节点本地的唯一物理地址空间的访问权限。
4.按照权利要求3所述的系统,
其中所述多个计算节点中的每个计算节点具有运行于该节点上的软件管理程序;和
其中所述每个计算节点的每个协处理器在软件管理程序的控制之下工作。
5.按照权利要求4所述的系统,其中每个软件管理程序在所述每个计算节点的存储器中维护密钥表,所述密钥表将远程密钥映射到所述每个计算节点的存储器的物理地址。
6.按照权利要求3所述的系统,
其中远程密钥包括用于验证所述远程密钥的散列字段;和
其中所述多个计算节点中的目的地节点的协处理器被配置成利用远程密钥中的散列字段验证任何远程密钥。
7.按照权利要求3所述的系统,其中远程密钥在指定时间之后到期,到期的远程密钥取消该远程密钥授予的访问权限。
8.按照权利要求1所述的系统,
其中每个节点具有运行于该节点上的软件管理程序;
其中每个节点中的协处理器响应由管理程序发布的命令来传送数据;和
其中所述命令是控制块的一部分,所述控制块包括
包括数据传送的大小的控制字,和
指定将在耦接到协处理器的存储器中公布的传送的完成数据的位置的完成地址。
9.按照权利要求3所述的系统,其中第一远程节点还被配置成使它自己的远程密钥表失效,使得在第一远程节点使它自己的远程密钥表失效之后对于到第一远程节点的所有传送远程密钥的验证失败。
10.一种在集群中的节点之间传送数据的方法,所述方法包括:
在不涉及本地节点的至少一个相应的中央处理单元的情况下,由本地节点的协处理器接收和解码用于数据传送的命令;
根据解码的命令确定所述数据传送具有在本地节点中的源位置和在不同于本地节点的远程节点中的目的地位置,本地节点的协处理器和多个远程节点的多个远程协处理器通过直接对接所述本地节点的协处理器和所述多个远程协处理器的一个或多个点对点通信链路耦接;
获得授予将数据传送给远程节点的权限的证书;
将所述证书从本地节点传送给远程节点,
其中所述证书在远程节点被远程节点的远程协处理器通过在不涉及远程节点的中央处理单元的情况下验证所述证书而成功验证;
在由远程协处理器成功硬件认证所述证书之后,将数据从本地节点传送给远程节点;
接收传送完成的确认;和
更新指示命令成功的完成状态。
11.按照权利要求10所述的方法,
其中远程节点是包括永久地址空间的目的地节点;和
其中所述确认保证传送的数据驻留于永久地址空间中。
12.按照权利要求10所述的方法,其中所述证书是远程节点拥有的远程密钥。
13.按照权利要求12所述的方法,
其中远程密钥包括帮助验证远程密钥的散列字段;和
其中远程节点利用远程密钥中的散列字段验证接收的远程密钥。
14.按照权利要求12所述的方法,
其中远程节点包括存储器;和
其中远程节点维护密钥表,所述密钥表将任何接收的远程密钥映射到所述存储器中的物理地址。
15.一种在集群中的节点之间传送数据的方法,所述方法包括:
在不涉及本地节点的中央处理单元的情况下,由本地节点的本地协处理器接收和解码用于数据传送的命令;
根据解码的命令确定所述数据传送具有在第一远程节点中的源位置和在第二远程节点中的目的地位置,各个远程节点彼此不同,并且不同于本地节点,并通过一个或多个点对点通信链路耦接到本地节点;
获得授予在第一远程节点和第二远程节点之间传送数据的权限的第一证书和第二证书;
将第一证书和第二证书从本地节点传送给第一远程节点和第二远程节点,其中第一证书的硬件认证由第一远程节点的第一协处理器在不涉及第一远程节点的中央处理单元的情况下执行,其中第二证书的硬件认证由第二远程节点的第二协处理器在不涉及第二远程节点的中央处理单元的情况下执行;
在硬件认证成功之后,由本地协处理器在不涉及本地节点的至少一个相应的中央处理单元的情况下将数据从第一远程节点传送给第二远程节点;
从第二远程节点接收传送完成的确认;和
更新指示命令成功的完成状态。
16.按照权利要求15所述的方法,
其中第二远程节点是包含永久地址空间的目的地节点;和
其中来自第二远程节点的所述确认指示传送的数据驻留于永久地址空间中。
17.按照权利要求15所述的方法,其中第一证书是第一远程节点拥有的第一远程密钥,并且第二证书是第二远程节点拥有的第二远程密钥。
18.按照权利要求17所述的方法,
其中第一远程密钥和第二远程密钥每个都包括帮助验证远程密钥的散列字段;和
其中远程节点利用远程密钥中的散列字段验证接收的远程密钥。
19.按照权利要求17所述的方法,
其中每个远程节点包括存储器;和
其中每个远程节点维护密钥表,所述密钥表将任何接收的远程密钥映射到相应远程节点的存储器中的物理地址。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261709142P | 2012-10-02 | 2012-10-02 | |
US61/709,142 | 2012-10-02 | ||
US13/838,542 US9400821B2 (en) | 2012-10-02 | 2013-03-15 | Memory bus protocol to enable clustering between nodes of distinct physical domain address spaces |
US13/838,542 | 2013-03-15 | ||
PCT/US2013/062880 WO2014055526A1 (en) | 2012-10-02 | 2013-10-01 | Memory bus protocol to enable clustering between nodes of distinct physical domain address spaces |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104769561A CN104769561A (zh) | 2015-07-08 |
CN104769561B true CN104769561B (zh) | 2018-01-12 |
Family
ID=50386190
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380049301.7A Active CN104662534B (zh) | 2012-10-02 | 2013-06-14 | 用于表扫描加速的硬件 |
CN201810434459.0A Active CN108664596B (zh) | 2012-10-02 | 2013-06-14 | 用于表扫描加速的硬件 |
CN201380049816.7A Active CN104662538B (zh) | 2012-10-02 | 2013-06-14 | 半连接加速 |
CN201380051875.8A Active CN104704491B (zh) | 2012-10-02 | 2013-06-27 | 用于集群内通信的硬件消息队列 |
CN201380057680.4A Active CN104769591B (zh) | 2012-10-02 | 2013-09-30 | 分布式节点之间的存储器共享 |
CN201380051672.9A Active CN104756091B (zh) | 2012-10-02 | 2013-10-01 | 基于远程密钥的存储器缓冲区访问控制机制 |
CN201380057937.6A Active CN104769561B (zh) | 2012-10-02 | 2013-10-01 | 能够实现不同物理域地址空间的节点间的聚类的存储总线协议 |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380049301.7A Active CN104662534B (zh) | 2012-10-02 | 2013-06-14 | 用于表扫描加速的硬件 |
CN201810434459.0A Active CN108664596B (zh) | 2012-10-02 | 2013-06-14 | 用于表扫描加速的硬件 |
CN201380049816.7A Active CN104662538B (zh) | 2012-10-02 | 2013-06-14 | 半连接加速 |
CN201380051875.8A Active CN104704491B (zh) | 2012-10-02 | 2013-06-27 | 用于集群内通信的硬件消息队列 |
CN201380057680.4A Active CN104769591B (zh) | 2012-10-02 | 2013-09-30 | 分布式节点之间的存储器共享 |
CN201380051672.9A Active CN104756091B (zh) | 2012-10-02 | 2013-10-01 | 基于远程密钥的存储器缓冲区访问控制机制 |
Country Status (6)
Country | Link |
---|---|
US (10) | US9292569B2 (zh) |
EP (6) | EP2904513B1 (zh) |
JP (1) | JP6320393B2 (zh) |
CN (7) | CN104662534B (zh) |
ES (1) | ES2880268T3 (zh) |
WO (6) | WO2014055138A1 (zh) |
Families Citing this family (131)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
EP2652590A1 (en) * | 2011-06-30 | 2013-10-23 | Hitachi, Ltd. | Computer system and access restriction method |
US9792117B2 (en) | 2011-12-08 | 2017-10-17 | Oracle International Corporation | Loading values from a value vector into subregisters of a single instruction multiple data register |
US10534606B2 (en) | 2011-12-08 | 2020-01-14 | Oracle International Corporation | Run-length encoding decompression |
EP2788902B1 (en) | 2011-12-08 | 2019-04-17 | Oracle International Corporation | Techniques for more efficient usage of memory-to-cpu bandwidth |
US9697174B2 (en) | 2011-12-08 | 2017-07-04 | Oracle International Corporation | Efficient hardware instructions for processing bit vectors for single instruction multiple data processors |
US9342314B2 (en) | 2011-12-08 | 2016-05-17 | Oracle International Corporation | Efficient hardware instructions for single instruction multiple data processors |
WO2013100783A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Method and system for control signalling in a data path module |
US9087095B2 (en) * | 2012-06-21 | 2015-07-21 | International Business Machines Corporation | Processing columns in a database accelerator while preserving row-based architecture |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9292569B2 (en) | 2012-10-02 | 2016-03-22 | Oracle International Corporation | Semi-join acceleration |
US10102028B2 (en) | 2013-03-12 | 2018-10-16 | Sas Institute Inc. | Delivery acknowledgment in event stream processing |
US9679084B2 (en) | 2013-03-14 | 2017-06-13 | Oracle International Corporation | Memory sharing across distributed nodes |
BR112015018946A2 (pt) * | 2013-03-15 | 2017-07-18 | Intel Corp | desempenho de partida de coprocessador de segurança |
US10108539B2 (en) * | 2013-06-13 | 2018-10-23 | International Business Machines Corporation | Allocation of distributed data structures |
US20160210237A1 (en) * | 2013-07-30 | 2016-07-21 | Nec Corporation | Storage device, data access method, and program recording medium |
US9740718B2 (en) | 2013-09-20 | 2017-08-22 | Oracle International Corporation | Aggregating dimensional data using dense containers |
US9836519B2 (en) | 2013-09-20 | 2017-12-05 | Oracle International Corporation | Densely grouping dimensional data |
US9990398B2 (en) * | 2013-09-20 | 2018-06-05 | Oracle International Corporation | Inferring dimensional metadata from content of a query |
US9378232B2 (en) | 2013-09-21 | 2016-06-28 | Oracle International Corporation | Framework for numa affinitized parallel query on in-memory objects within the RDBMS |
US10331583B2 (en) | 2013-09-26 | 2019-06-25 | Intel Corporation | Executing distributed memory operations using processing elements connected by distributed channels |
WO2015065449A1 (en) * | 2013-10-31 | 2015-05-07 | Hewlett-Packard Development Company, L.P. | Cache controller for non-volatile memory |
US20150161678A1 (en) * | 2013-12-05 | 2015-06-11 | Turn Inc. | Dynamic ordering of online advertisement software steps |
US9313029B2 (en) * | 2013-12-15 | 2016-04-12 | Cavium, Inc. | Virtualized network interface for remote direct memory access over converged ethernet |
US9306916B2 (en) * | 2013-12-25 | 2016-04-05 | Cavium, Inc. | System and a method for a remote direct memory access over converged ethernet |
US9898414B2 (en) | 2014-03-28 | 2018-02-20 | Oracle International Corporation | Memory corruption detection support for distributed shared memory applications |
DE102014207476A1 (de) * | 2014-04-17 | 2015-10-22 | Robert Bosch Gmbh | Verfahren zur Auswahl einer von mehreren Warteschlangen |
US9715345B2 (en) * | 2014-04-25 | 2017-07-25 | Micron Technology, Inc. | Apparatuses and methods for memory management |
US10838893B2 (en) * | 2014-05-30 | 2020-11-17 | Apple Inc. | Methods for mitigating system interrupts for an electronic device |
US9122651B1 (en) | 2014-06-06 | 2015-09-01 | Sas Institute Inc. | Computer system to support failover in an event stream processing system |
US9356986B2 (en) * | 2014-08-08 | 2016-05-31 | Sas Institute Inc. | Distributed stream processing |
WO2016064397A1 (en) * | 2014-10-23 | 2016-04-28 | Hewlett Packard Enterprise Development Lp | Admissions control of a device |
WO2016068941A1 (en) | 2014-10-30 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | Secure transactions in a memory fabric |
WO2016068942A1 (en) | 2014-10-30 | 2016-05-06 | Hewlett Packard Enterprise Development Lp | Encryption for transactions in a memory fabric |
US9678812B2 (en) | 2014-12-22 | 2017-06-13 | International Business Machines Corporation | Addressing for inter-thread push communication |
US9766890B2 (en) * | 2014-12-23 | 2017-09-19 | International Business Machines Corporation | Non-serialized push instruction for pushing a message payload from a sending thread to a receiving thread |
US10255336B2 (en) | 2015-05-07 | 2019-04-09 | Datometry, Inc. | Method and system for transparent interoperability between applications and data management systems |
US9749319B2 (en) | 2015-05-20 | 2017-08-29 | Google Inc. | Address validation using signatures |
US11449452B2 (en) | 2015-05-21 | 2022-09-20 | Goldman Sachs & Co. LLC | General-purpose parallel computing architecture |
ES2929626T3 (es) * | 2015-05-21 | 2022-11-30 | Goldman Sachs & Co Llc | Arquitectura de computación paralela de propósito general |
US10025822B2 (en) | 2015-05-29 | 2018-07-17 | Oracle International Corporation | Optimizing execution plans for in-memory-aware joins |
US10594779B2 (en) | 2015-08-27 | 2020-03-17 | Datometry, Inc. | Method and system for workload management for data management systems |
US9990308B2 (en) | 2015-08-31 | 2018-06-05 | Oracle International Corporation | Selective data compression for in-memory databases |
JP6515771B2 (ja) * | 2015-10-07 | 2019-05-22 | 富士通コネクテッドテクノロジーズ株式会社 | 並列処理装置及び並列処理方法 |
US9823871B2 (en) | 2015-10-09 | 2017-11-21 | Oracle International Corporation | Performance of coprocessor assisted memset() through heterogeneous computing |
US10783142B2 (en) | 2015-10-23 | 2020-09-22 | Oracle International Corporation | Efficient data retrieval in staged use of in-memory cursor duration temporary tables |
US10642831B2 (en) | 2015-10-23 | 2020-05-05 | Oracle International Corporation | Static data caching for queries with a clause that requires multiple iterations to execute |
US10678792B2 (en) | 2015-10-23 | 2020-06-09 | Oracle International Corporation | Parallel execution of queries with a recursive clause |
CN105426271B (zh) * | 2015-12-22 | 2018-09-21 | 华为技术有限公司 | 对分布式存储系统的锁管理的方法和装置 |
US10146681B2 (en) | 2015-12-24 | 2018-12-04 | Intel Corporation | Non-uniform memory access latency adaptations to achieve bandwidth quality of service |
CN105677812A (zh) * | 2015-12-31 | 2016-06-15 | 华为技术有限公司 | 一种数据查询方法及数据查询装置 |
US10061714B2 (en) | 2016-03-18 | 2018-08-28 | Oracle International Corporation | Tuple encoding aware direct memory access engine for scratchpad enabled multicore processors |
US10402425B2 (en) | 2016-03-18 | 2019-09-03 | Oracle International Corporation | Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors |
US10061832B2 (en) | 2016-11-28 | 2018-08-28 | Oracle International Corporation | Database tuple-encoding-aware data partitioning in a direct memory access engine |
US10055358B2 (en) | 2016-03-18 | 2018-08-21 | Oracle International Corporation | Run length encoding aware direct memory access filtering engine for scratchpad enabled multicore processors |
US10599488B2 (en) | 2016-06-29 | 2020-03-24 | Oracle International Corporation | Multi-purpose events for notification and sequence control in multi-core processor systems |
US10853125B2 (en) * | 2016-08-19 | 2020-12-01 | Oracle International Corporation | Resource efficient acceleration of datastream analytics processing using an analytics accelerator |
CN106354480B (zh) * | 2016-08-24 | 2019-01-29 | 长沙中部芯空微电子研究所有限公司 | 一种mpp型异构高速mcu系统 |
US10380058B2 (en) | 2016-09-06 | 2019-08-13 | Oracle International Corporation | Processor core to coprocessor interface with FIFO semantics |
US10558659B2 (en) | 2016-09-16 | 2020-02-11 | Oracle International Corporation | Techniques for dictionary based join and aggregation |
US10402168B2 (en) | 2016-10-01 | 2019-09-03 | Intel Corporation | Low energy consumption mantissa multiplication for floating point multiply-add operations |
US10783102B2 (en) | 2016-10-11 | 2020-09-22 | Oracle International Corporation | Dynamically configurable high performance database-aware hash engine |
US10176114B2 (en) | 2016-11-28 | 2019-01-08 | Oracle International Corporation | Row identification number generation in database direct memory access engine |
US10459859B2 (en) | 2016-11-28 | 2019-10-29 | Oracle International Corporation | Multicast copy ring for database direct memory access filtering engine |
US10725947B2 (en) | 2016-11-29 | 2020-07-28 | Oracle International Corporation | Bit vector gather row count calculation and handling in direct memory access engine |
US10572376B2 (en) | 2016-12-30 | 2020-02-25 | Intel Corporation | Memory ordering in acceleration hardware |
US10416999B2 (en) | 2016-12-30 | 2019-09-17 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10474375B2 (en) | 2016-12-30 | 2019-11-12 | Intel Corporation | Runtime address disambiguation in acceleration hardware |
US10558575B2 (en) | 2016-12-30 | 2020-02-11 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10606487B2 (en) * | 2017-03-17 | 2020-03-31 | International Business Machines Corporation | Partitioned memory with locally aggregated copy pools |
US20180373760A1 (en) * | 2017-06-23 | 2018-12-27 | Xilinx, Inc. | Parallel compute offload to database accelerator |
US10515046B2 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator |
US10445234B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features |
US10467183B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods for pipelined runtime services in a spatial array |
US10515049B1 (en) | 2017-07-01 | 2019-12-24 | Intel Corporation | Memory circuits and methods for distributed memory hazard detection and error recovery |
US10469397B2 (en) | 2017-07-01 | 2019-11-05 | Intel Corporation | Processors and methods with configurable network-based dataflow operator circuits |
US10387319B2 (en) | 2017-07-01 | 2019-08-20 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features |
US10445451B2 (en) | 2017-07-01 | 2019-10-15 | Intel Corporation | Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features |
CN107835203B (zh) * | 2017-08-09 | 2020-07-10 | 平安壹钱包电子商务有限公司 | 消息分组投递的方法、装置、存储介质及终端 |
US11086816B2 (en) | 2017-09-28 | 2021-08-10 | Intel Corporation | Processors, methods, and systems for debugging a configurable spatial accelerator |
US10496574B2 (en) | 2017-09-28 | 2019-12-03 | Intel Corporation | Processors, methods, and systems for a memory fence in a configurable spatial accelerator |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10380063B2 (en) | 2017-09-30 | 2019-08-13 | Intel Corporation | Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator |
US10445098B2 (en) * | 2017-09-30 | 2019-10-15 | Intel Corporation | Processors and methods for privileged configuration in a spatial array |
US10664396B2 (en) * | 2017-10-04 | 2020-05-26 | Intel Corporation | Systems, methods and apparatus for fabric delta merge operations to enhance NVMeoF stream writes |
CN107766526B (zh) * | 2017-10-26 | 2020-04-28 | 中国人民银行清算总中心 | 数据库访问方法、装置及系统 |
CN107886692B (zh) * | 2017-10-30 | 2020-08-25 | 皖西学院 | 一种生物工程用传感器LoRa无线网络通讯系统 |
US10452547B2 (en) | 2017-12-29 | 2019-10-22 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
US10467139B2 (en) | 2017-12-29 | 2019-11-05 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
US10445250B2 (en) | 2017-12-30 | 2019-10-15 | Intel Corporation | Apparatus, methods, and systems with a configurable spatial accelerator |
US10417175B2 (en) | 2017-12-30 | 2019-09-17 | Intel Corporation | Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator |
US10565134B2 (en) | 2017-12-30 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for multicast in a configurable spatial accelerator |
CN110110004B (zh) * | 2018-01-30 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 一种数据操作方法、装置和存储介质 |
US10564980B2 (en) | 2018-04-03 | 2020-02-18 | Intel Corporation | Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator |
US11307873B2 (en) | 2018-04-03 | 2022-04-19 | Intel Corporation | Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging |
US10649777B2 (en) * | 2018-05-14 | 2020-05-12 | International Business Machines Corporation | Hardware-based data prefetching based on loop-unrolled instructions |
CN108776934B (zh) * | 2018-05-15 | 2022-06-07 | 中国平安人寿保险股份有限公司 | 分布式数据计算方法、装置、计算机设备及可读存储介质 |
US10459866B1 (en) | 2018-06-30 | 2019-10-29 | Intel Corporation | Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator |
US11200186B2 (en) | 2018-06-30 | 2021-12-14 | Intel Corporation | Apparatuses, methods, and systems for operations in a configurable spatial accelerator |
US10853073B2 (en) | 2018-06-30 | 2020-12-01 | Intel Corporation | Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator |
US10891240B2 (en) | 2018-06-30 | 2021-01-12 | Intel Corporation | Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator |
EP3846026A4 (en) | 2018-09-21 | 2021-11-03 | Huawei Technologies Co., Ltd. | DATA EXTRACTION PROCESS AND DEVICE |
CN111399905B (zh) * | 2019-01-02 | 2022-08-16 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
JP7146611B2 (ja) * | 2018-12-18 | 2022-10-04 | 株式会社日立製作所 | カラムストアデータベースシステム及びデータベース処理高速化方法 |
US11294869B1 (en) | 2018-12-19 | 2022-04-05 | Datometry, Inc. | Expressing complexity of migration to a database candidate |
US11204898B1 (en) | 2018-12-19 | 2021-12-21 | Datometry, Inc. | Reconstructing database sessions from a query log |
US11403282B1 (en) | 2018-12-20 | 2022-08-02 | Datometry, Inc. | Unbatching database queries for migration to a different database |
US10678724B1 (en) | 2018-12-29 | 2020-06-09 | Intel Corporation | Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator |
US10817291B2 (en) | 2019-03-30 | 2020-10-27 | Intel Corporation | Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator |
US10965536B2 (en) | 2019-03-30 | 2021-03-30 | Intel Corporation | Methods and apparatus to insert buffers in a dataflow graph |
US10915471B2 (en) | 2019-03-30 | 2021-02-09 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator |
US11029927B2 (en) | 2019-03-30 | 2021-06-08 | Intel Corporation | Methods and apparatus to detect and annotate backedges in a dataflow graph |
WO2020214757A1 (en) * | 2019-04-17 | 2020-10-22 | John Rankin | Virtual memory pool within a network which is accessible from multiple platforms |
CN110113395B (zh) * | 2019-04-19 | 2021-11-09 | 新华三云计算技术有限公司 | 共享文件系统维护方法及装置 |
US11372773B2 (en) | 2019-05-28 | 2022-06-28 | Rankin Labs, Llc | Supporting a virtual memory area at a remote computing machine |
US11037050B2 (en) | 2019-06-29 | 2021-06-15 | Intel Corporation | Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator |
US20220245150A1 (en) * | 2019-07-31 | 2022-08-04 | Sindice Limited T/A Siren | Semantic caching of semi-join operators in shared-nothing and log-structured databases |
US11222018B2 (en) | 2019-09-09 | 2022-01-11 | Oracle International Corporation | Cache conscious techniques for generation of quasi-dense grouping codes of compressed columnar data in relational database systems |
US20210109974A1 (en) * | 2019-10-13 | 2021-04-15 | Thoughtspot, Inc. | Query Execution On Compressed In-Memory Data |
CN111061760B (zh) * | 2019-10-30 | 2020-12-15 | 中科驭数(北京)科技有限公司 | 关系型数据库管理系统中的窗口聚合方法、查询方法及装置 |
US11907713B2 (en) | 2019-12-28 | 2024-02-20 | Intel Corporation | Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator |
US11755355B2 (en) | 2020-11-25 | 2023-09-12 | Nxp Usa, Inc. | Systems and methods for assigning domain identifiers to remote peripheral devices using a hypervisor |
US20220166762A1 (en) * | 2020-11-25 | 2022-05-26 | Microsoft Technology Licensing, Llc | Integrated circuit for obtaining enhanced privileges for a network-based resource and performing actions in accordance therewith |
US11741073B2 (en) | 2021-06-01 | 2023-08-29 | Alibaba Singapore Holding Private Limited | Granularly timestamped concurrency control for key-value store |
US11829291B2 (en) | 2021-06-01 | 2023-11-28 | Alibaba Singapore Holding Private Limited | Garbage collection of tree structure with page mappings |
US11755427B2 (en) | 2021-06-01 | 2023-09-12 | Alibaba Singapore Holding Private Limited | Fast recovery and replication of key-value stores |
US20220382760A1 (en) * | 2021-06-01 | 2022-12-01 | Alibaba Singapore Holding Private Limited | High-performance key-value store |
CN113342480B (zh) * | 2021-06-23 | 2022-02-22 | 海光信息技术股份有限公司 | 一种事务处理系统、事务处理方法及主机系统 |
CN113420033B (zh) * | 2021-08-17 | 2021-12-07 | 北京奥星贝斯科技有限公司 | 分布式数据库的表数据查询方法、表数据查询装置及系统 |
US20230205935A1 (en) * | 2021-12-28 | 2023-06-29 | Ati Technologies Ulc | Software assisted acceleration in cryptographic queue processing |
US11927634B2 (en) | 2022-04-01 | 2024-03-12 | Samsung Electronics Co., Ltd | Systems and methods for database scan acceleration |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100579108C (zh) * | 2001-03-26 | 2010-01-06 | 英特尔公司 | 一种远程密钥验证的方法和主机结构适配器 |
CN101313309B (zh) * | 2005-12-21 | 2011-12-21 | 英特尔公司 | 对加密数据进行访问控制和入侵检测的方法、装置和系统 |
Family Cites Families (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE34052E (en) | 1984-05-31 | 1992-09-01 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
US4817140A (en) | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US5133053A (en) | 1987-02-13 | 1992-07-21 | International Business Machines Corporation | Interprocess communication queue location transparency |
US5604899A (en) | 1990-05-21 | 1997-02-18 | Financial Systems Technology Pty. Ltd. | Data relationships processor with unlimited expansion capability |
US5423010A (en) | 1992-01-24 | 1995-06-06 | C-Cube Microsystems | Structure and method for packing and unpacking a stream of N-bit data to and from a stream of N-bit data words |
US5483624A (en) * | 1992-03-27 | 1996-01-09 | Monarch Marking Systems, Inc. | Programmable hand held labeler |
JPH0619785A (ja) * | 1992-03-27 | 1994-01-28 | Matsushita Electric Ind Co Ltd | 分散共有仮想メモリーとその構成方法 |
EP0629960B1 (en) | 1993-06-17 | 2000-05-24 | Sun Microsystems, Inc. | Extendible file system |
US5581705A (en) * | 1993-12-13 | 1996-12-03 | Cray Research, Inc. | Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system |
US5564056A (en) * | 1994-03-01 | 1996-10-08 | Intel Corporation | Method and apparatus for zero extension and bit shifting to preserve register parameters in a microprocessor utilizing register renaming |
DE19515020A1 (de) * | 1994-07-01 | 1996-01-04 | Hewlett Packard Co | Verfahren und Vorrichtung zum Optimieren von Abfragen mit Gruppieren-nach-Operatoren |
JP3518034B2 (ja) | 1995-03-30 | 2004-04-12 | 三菱電機株式会社 | ソート方法並びにソート処理装置並びにデータ処理装置 |
US5684977A (en) | 1995-03-31 | 1997-11-04 | Sun Microsystems, Inc. | Writeback cancellation processing system for use in a packet switched cache coherent multiprocessor system |
CA2146171C (en) * | 1995-04-03 | 2000-01-11 | Bernhard Schiefer | Method for estimating cardinalities for query processing in a relational database management system |
KR0175499B1 (ko) | 1996-09-11 | 1999-04-01 | 양승택 | 다중태그 구조의 계층 상호연결망에서의 브로드캐스트 전송방법 |
JPH10154160A (ja) * | 1996-09-25 | 1998-06-09 | Sharp Corp | 並列データ検索処理装置 |
US6148377A (en) | 1996-11-22 | 2000-11-14 | Mangosoft Corporation | Shared memory computer networks |
JPH10232788A (ja) * | 1996-12-17 | 1998-09-02 | Fujitsu Ltd | 信号処理装置及びソフトウェア |
US6151688A (en) | 1997-02-21 | 2000-11-21 | Novell, Inc. | Resource management in a clustered computer system |
US5822748A (en) * | 1997-02-28 | 1998-10-13 | Oracle Corporation | Group by and distinct sort elimination using cost-based optimization |
US6047081A (en) | 1997-10-24 | 2000-04-04 | Imation Corp. | Image processing software system having configurable communication pipelines |
US6292705B1 (en) | 1998-09-29 | 2001-09-18 | Conexant Systems, Inc. | Method and apparatus for address transfers, system serialization, and centralized cache and transaction control, in a symetric multiprocessor system |
US20010049780A1 (en) | 1998-03-27 | 2001-12-06 | Shreekant Thakkar | Method and apparatus for performing integer operations in response to a result of a floating point operation |
US6230240B1 (en) | 1998-06-23 | 2001-05-08 | Hewlett-Packard Company | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
WO2000008552A1 (en) | 1998-08-06 | 2000-02-17 | Koninklijke Philips Electronics N.V. | Data processor and method of processing data |
JP3583657B2 (ja) * | 1998-09-30 | 2004-11-04 | 株式会社東芝 | 中継装置及び通信装置 |
US6633891B1 (en) | 1998-11-24 | 2003-10-14 | Oracle International Corporation | Managing replacement of data in a cache on a node based on caches of other nodes |
US6434545B1 (en) * | 1998-12-16 | 2002-08-13 | Microsoft Corporation | Graphical query analyzer |
JP2000261674A (ja) | 1999-03-09 | 2000-09-22 | Fujitsu Ltd | 画像伸長装置 |
US6295571B1 (en) | 1999-03-19 | 2001-09-25 | Times N Systems, Inc. | Shared memory apparatus and method for multiprocessor systems |
US6826522B1 (en) | 1999-06-21 | 2004-11-30 | Pts Corporation | Methods and apparatus for improved efficiency in pipeline simulation and emulation |
US6349310B1 (en) | 1999-07-06 | 2002-02-19 | Compaq Computer Corporation | Database management system and method for accessing rows in a partitioned table |
US6671797B1 (en) | 2000-02-18 | 2003-12-30 | Texas Instruments Incorporated | Microprocessor with expand instruction for forming a mask from one bit |
US6697919B2 (en) | 2000-06-10 | 2004-02-24 | Hewlett-Packard Development Company, L.P. | System and method for limited fanout daisy chaining of cache invalidation requests in a shared-memory multiprocessor system |
US7383424B1 (en) * | 2000-06-15 | 2008-06-03 | Hewlett-Packard Development Company, L.P. | Computer architecture containing processor and decoupled coprocessor |
EP1337926A1 (en) | 2000-08-14 | 2003-08-27 | Jae-Hak Lee | The multi-functional pda |
US6898693B1 (en) * | 2000-11-02 | 2005-05-24 | Intel Corporation | Hardware loops |
US6745174B2 (en) | 2001-03-29 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method of executing before-triggers in an active database |
US7013353B2 (en) * | 2001-03-30 | 2006-03-14 | Intel Corporation | Host-fabric adapter having an efficient multi-tasking pipelined instruction execution micro-controller subsystem |
US20020188830A1 (en) | 2001-06-01 | 2002-12-12 | Brian Boles | Bit replacement and extraction instructions |
US6789143B2 (en) * | 2001-09-24 | 2004-09-07 | International Business Machines Corporation | Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries |
US6748499B2 (en) * | 2001-11-15 | 2004-06-08 | International Business Machines Corporation | Sharing memory tables between host channel adapters |
US6854032B2 (en) * | 2001-12-04 | 2005-02-08 | Sun Microsystems, Inc. | System for accessing a region of memory using remote address translation and using a memory window table and a memory region table |
US6757790B2 (en) | 2002-02-19 | 2004-06-29 | Emc Corporation | Distributed, scalable data storage facility with cache memory |
JP2003308334A (ja) * | 2002-04-15 | 2003-10-31 | Nippon Telegr & Teleph Corp <Ntt> | 情報検索方法及び装置、情報検索プログラム、情報検索プログラムを記録した記録媒体 |
US7249118B2 (en) | 2002-05-17 | 2007-07-24 | Aleri, Inc. | Database system and methods |
US7197647B1 (en) | 2002-09-30 | 2007-03-27 | Carnegie Mellon University | Method of securing programmable logic configuration data |
US6842848B2 (en) | 2002-10-11 | 2005-01-11 | Sandbridge Technologies, Inc. | Method and apparatus for token triggered multithreading |
US20060098649A1 (en) | 2004-11-10 | 2006-05-11 | Trusted Network Technologies, Inc. | System, apparatuses, methods, and computer-readable media for determining security realm identity before permitting network connection |
US7730292B2 (en) | 2003-03-31 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | Parallel subword instructions for directing results to selected subword locations of data processor result register |
US20040260182A1 (en) | 2003-06-23 | 2004-12-23 | Zuluaga Andres F. | Intraluminal spectroscope with wall contacting probe |
US7006021B1 (en) * | 2003-06-27 | 2006-02-28 | Cypress Semiconductor Corp. | Low power serializer circuit and method |
US7047252B2 (en) | 2003-12-02 | 2006-05-16 | Oracle International Corporation | Complex computation across heterogenous computer systems |
US7664938B1 (en) | 2004-01-07 | 2010-02-16 | Xambala Corporation | Semantic processor systems and methods |
US7698552B2 (en) * | 2004-06-03 | 2010-04-13 | Intel Corporation | Launching a secure kernel in a multiprocessor system |
JP2006004274A (ja) * | 2004-06-18 | 2006-01-05 | Nippon Telegr & Teleph Corp <Ntt> | 対話処理装置、対話処理方法及び対話処理プログラム |
US7516121B2 (en) * | 2004-06-23 | 2009-04-07 | Oracle International Corporation | Efficient evaluation of queries using translation |
US20060075236A1 (en) * | 2004-09-30 | 2006-04-06 | Marek James A | Method and apparatus for high assurance processing |
US20060095690A1 (en) | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method, and storage medium for shared key index space for memory regions |
US7814104B2 (en) | 2005-05-04 | 2010-10-12 | Oracle International Corporation | Techniques for partition pruning |
US7725595B1 (en) * | 2005-05-24 | 2010-05-25 | The United States Of America As Represented By The Secretary Of The Navy | Embedded communications system and method |
US7877379B2 (en) * | 2005-09-30 | 2011-01-25 | Oracle International Corporation | Delaying evaluation of expensive expressions in a query |
US8817029B2 (en) | 2005-10-26 | 2014-08-26 | Via Technologies, Inc. | GPU pipeline synchronization and control system and method |
GB0524720D0 (en) * | 2005-12-05 | 2006-01-11 | Imec Inter Uni Micro Electr | Ultra low power ASIP architecture II |
US7861060B1 (en) | 2005-12-15 | 2010-12-28 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior |
US8255922B1 (en) * | 2006-01-09 | 2012-08-28 | Oracle America, Inc. | Mechanism for enabling multiple processes to share physical memory |
US8049760B2 (en) | 2006-02-06 | 2011-11-01 | Via Technologies, Inc. | System and method for vector computations in arithmetic logic units (ALUs) |
US20080010417A1 (en) * | 2006-04-28 | 2008-01-10 | Zeffer Hakan E | Read/Write Permission Bit Support for Efficient Hardware to Software Handover |
US7509460B2 (en) * | 2006-05-04 | 2009-03-24 | Sun Microsystems, Inc. | DRAM remote access cache in local memory in a distributed shared memory system |
US7783862B2 (en) | 2006-08-07 | 2010-08-24 | International Characters, Inc. | Method and apparatus for an inductive doubling architecture |
US20080065835A1 (en) * | 2006-09-11 | 2008-03-13 | Sun Microsystems, Inc. | Offloading operations for maintaining data coherence across a plurality of nodes |
US8533216B2 (en) | 2006-10-30 | 2013-09-10 | Teradata Us, Inc. | Database system workload management method and system |
EP2092440B1 (en) * | 2006-11-13 | 2019-01-09 | IP Reservoir, LLC | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US7660793B2 (en) | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US20080162876A1 (en) | 2006-12-28 | 2008-07-03 | International Business Machines Corporation | dedicated hardware processor for structured query language (sql) transactions |
US8504791B2 (en) | 2007-01-26 | 2013-08-06 | Hicamp Systems, Inc. | Hierarchical immutable content-addressable memory coprocessor |
US7792822B2 (en) * | 2007-03-02 | 2010-09-07 | Microsoft Corporation | Systems and methods for modeling partitioned tables as logical indexes |
US8032499B2 (en) | 2007-05-21 | 2011-10-04 | Sap Ag | Compression of tables based on occurrence of values |
US7769729B2 (en) | 2007-05-21 | 2010-08-03 | Sap Ag | Block compression of tables with repeated values |
US20090037700A1 (en) | 2007-07-30 | 2009-02-05 | Clear Falls Pty Ltd | Method and system for reactively assigning computational threads of control between processors |
US7882210B2 (en) | 2007-08-02 | 2011-02-01 | Sap Ag | Dynamic agent formation for efficient data provisioning |
EP2192764B1 (en) * | 2007-09-05 | 2015-05-20 | Tohoku University | Solid state imaging element and imaging device |
US20090070786A1 (en) | 2007-09-11 | 2009-03-12 | Bea Systems, Inc. | Xml-based event processing networks for event server |
EP2040180B1 (en) | 2007-09-24 | 2019-01-16 | Hasso-Plattner-Institut für Digital Engineering gGmbH | ETL-less zero-redundancy system and method for reporting OLTP data |
CN100495404C (zh) * | 2007-11-22 | 2009-06-03 | 中国人民解放军国防科学技术大学 | 基于流处理的生物序列数据库搜索多层次加速方法 |
US7991794B2 (en) | 2007-12-18 | 2011-08-02 | Oracle International Corporation | Pipelining operations involving DML and query |
CN101227689B (zh) * | 2007-12-27 | 2011-01-19 | 华为技术有限公司 | 信息上报方法及装置 |
US7769726B2 (en) | 2007-12-31 | 2010-08-03 | Sap, Ag | Method for verification of data and metadata in a data repository |
US8258952B2 (en) * | 2008-03-14 | 2012-09-04 | The Invention Science Fund I, Llc | System for treating at least one plant including a treatment apparatus and an electronic tag interrogator |
US8229945B2 (en) | 2008-03-20 | 2012-07-24 | Schooner Information Technology, Inc. | Scalable database management software on a cluster of nodes using a shared-distributed flash memory |
US8732386B2 (en) | 2008-03-20 | 2014-05-20 | Sandisk Enterprise IP LLC. | Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory |
US20090289861A1 (en) * | 2008-05-20 | 2009-11-26 | Infineon Technologies Ag | Radio frequency communication devices and methods |
JP2010003266A (ja) * | 2008-06-23 | 2010-01-07 | Nippon Telegr & Teleph Corp <Ntt> | クエリ生成装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体 |
US8271564B2 (en) * | 2008-07-14 | 2012-09-18 | Symbol Technologies, Inc. | Lookup table arrangement and related management method for accommodating concurrent processors |
US8108361B2 (en) | 2008-07-31 | 2012-01-31 | Microsoft Corporation | Efficient column based data encoding for large-scale data storage |
US8626725B2 (en) * | 2008-07-31 | 2014-01-07 | Microsoft Corporation | Efficient large-scale processing of column based data encoded structures |
US8275815B2 (en) | 2008-08-25 | 2012-09-25 | International Business Machines Corporation | Transactional processing for clustered file systems |
US20100088309A1 (en) | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale joining for querying of column based data encoded structures |
US8725707B2 (en) | 2009-03-26 | 2014-05-13 | Hewlett-Packard Development Company, L.P. | Data continuous SQL process |
US8935223B2 (en) | 2009-04-30 | 2015-01-13 | Oracle International Corporation | Structure of hierarchical compressed data structure for tabular data |
US8285709B2 (en) | 2009-05-12 | 2012-10-09 | Teradata Us, Inc. | High-concurrency query operator and method |
US9304767B2 (en) * | 2009-06-02 | 2016-04-05 | Oracle America, Inc. | Single cycle data movement between general purpose and floating-point registers |
US8789173B2 (en) * | 2009-09-03 | 2014-07-22 | Juniper Networks, Inc. | Protecting against distributed network flood attacks |
US8356185B2 (en) * | 2009-10-08 | 2013-01-15 | Oracle America, Inc. | Apparatus and method for local operand bypassing for cryptographic instructions |
US8832142B2 (en) | 2010-08-30 | 2014-09-09 | Oracle International Corporation | Query and exadata support for hybrid columnar compressed data |
US8270967B1 (en) * | 2010-02-09 | 2012-09-18 | Sprint Spectrum, L.P. | Overriding a most-recently-used (MRU) table for system acquisition |
US20110196900A1 (en) * | 2010-02-09 | 2011-08-11 | Alexandre Drobychev | Storage of Data In A Distributed Storage System |
US8856593B2 (en) * | 2010-04-12 | 2014-10-07 | Sandisk Enterprise Ip Llc | Failure recovery using consensus replication in a distributed flash memory system |
US8516268B2 (en) | 2010-08-23 | 2013-08-20 | Raytheon Company | Secure field-programmable gate array (FPGA) architecture |
CN101944077B (zh) * | 2010-09-02 | 2011-10-19 | 东莞市泰斗微电子科技有限公司 | 一种主处理器和协处理器之间的通讯接口及其控制方法 |
CN201804331U (zh) * | 2010-09-21 | 2011-04-20 | 北京同有飞骥科技股份有限公司 | 一种基于协处理器的重复数据删除系统 |
US8260803B2 (en) * | 2010-09-23 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | System and method for data stream processing |
US8938644B2 (en) | 2010-12-03 | 2015-01-20 | Teradata Us, Inc. | Query execution plan revision for error recovery |
US8972746B2 (en) | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
FR2969156B1 (fr) | 2010-12-21 | 2013-02-08 | Chryso | Polymere comportant une fonction hydrolysable utilisable comme fluidifiant |
US8996463B2 (en) | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
US8666970B2 (en) * | 2011-01-20 | 2014-03-04 | Accenture Global Services Limited | Query plan enhancement |
JP5971635B2 (ja) * | 2011-01-25 | 2016-08-17 | エヌエックスピー カナダ インコーポレイテッド | ベクトルユニット共有の装置および方法 |
US20120303633A1 (en) | 2011-05-26 | 2012-11-29 | International Business Machines Corporation | Systems and methods for querying column oriented databases |
CN102184365B (zh) * | 2011-06-07 | 2013-05-29 | 郑州信大捷安信息技术股份有限公司 | 基于SoC芯片外部数据安全存储系统及存取控制方法 |
US8756363B2 (en) | 2011-07-07 | 2014-06-17 | Oracle International Corporation | Efficient storage of memory version data |
US8572441B2 (en) | 2011-08-05 | 2013-10-29 | Oracle International Corporation | Maximizing encodings of version control bits for memory corruption detection |
US8601473B1 (en) | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9697174B2 (en) | 2011-12-08 | 2017-07-04 | Oracle International Corporation | Efficient hardware instructions for processing bit vectors for single instruction multiple data processors |
US9342314B2 (en) | 2011-12-08 | 2016-05-17 | Oracle International Corporation | Efficient hardware instructions for single instruction multiple data processors |
US9792117B2 (en) | 2011-12-08 | 2017-10-17 | Oracle International Corporation | Loading values from a value vector into subregisters of a single instruction multiple data register |
EP2788902B1 (en) | 2011-12-08 | 2019-04-17 | Oracle International Corporation | Techniques for more efficient usage of memory-to-cpu bandwidth |
US9454507B2 (en) | 2011-12-23 | 2016-09-27 | Intel Corporation | Systems, apparatuses, and methods for performing a conversion of a writemask register to a list of index values in a vector register |
CN104126166A (zh) | 2011-12-23 | 2014-10-29 | 英特尔公司 | 用于执行使用掩码的向量打包一元编码的系统、装置和方法 |
US20150227414A1 (en) | 2012-08-31 | 2015-08-13 | Pradeep Varma | Systems And Methods Of Memory And Access Management |
US9292569B2 (en) | 2012-10-02 | 2016-03-22 | Oracle International Corporation | Semi-join acceleration |
US8930409B2 (en) | 2012-10-15 | 2015-01-06 | Oracle International Corporation | System and method for supporting named operations in a distributed data grid |
US9043559B2 (en) | 2012-10-23 | 2015-05-26 | Oracle International Corporation | Block memory engine with memory corruption detection |
US9244829B2 (en) | 2012-12-20 | 2016-01-26 | Oracle International Corporation | Method and system for efficient memory region deallocation |
US9471590B2 (en) | 2013-02-12 | 2016-10-18 | Atlantis Computing, Inc. | Method and apparatus for replicating virtual machine images using deduplication metadata |
US9898414B2 (en) | 2014-03-28 | 2018-02-20 | Oracle International Corporation | Memory corruption detection support for distributed shared memory applications |
-
2013
- 2013-02-26 US US13/778,013 patent/US9292569B2/en active Active
- 2013-02-26 US US13/778,009 patent/US9063974B2/en active Active
- 2013-02-27 US US13/778,307 patent/US9158810B2/en active Active
- 2013-03-07 US US13/789,524 patent/US9251272B2/en active Active
- 2013-03-14 US US13/828,555 patent/US10223116B2/en active Active
- 2013-03-15 US US13/839,525 patent/US9372813B2/en active Active
- 2013-03-15 US US13/838,542 patent/US9400821B2/en active Active
- 2013-06-14 EP EP13733171.6A patent/EP2904513B1/en active Active
- 2013-06-14 CN CN201380049301.7A patent/CN104662534B/zh active Active
- 2013-06-14 WO PCT/US2013/045881 patent/WO2014055138A1/en active Application Filing
- 2013-06-14 CN CN201810434459.0A patent/CN108664596B/zh active Active
- 2013-06-14 CN CN201380049816.7A patent/CN104662538B/zh active Active
- 2013-06-14 JP JP2015534471A patent/JP6320393B2/ja active Active
- 2013-06-14 WO PCT/US2013/045873 patent/WO2014055137A1/en active Application Filing
- 2013-06-14 EP EP13734557.5A patent/EP2904514B1/en active Active
- 2013-06-27 CN CN201380051875.8A patent/CN104704491B/zh active Active
- 2013-06-27 EP EP13737064.9A patent/EP2904515B1/en active Active
- 2013-06-27 ES ES13737064T patent/ES2880268T3/es active Active
- 2013-06-27 WO PCT/US2013/048110 patent/WO2014055145A1/en active Application Filing
- 2013-07-22 US US13/947,674 patent/US9557997B2/en active Active
- 2013-09-30 WO PCT/US2013/062718 patent/WO2014055443A1/en active Application Filing
- 2013-09-30 EP EP13777395.8A patent/EP2904521B1/en active Active
- 2013-09-30 CN CN201380057680.4A patent/CN104769591B/zh active Active
- 2013-10-01 CN CN201380051672.9A patent/CN104756091B/zh active Active
- 2013-10-01 EP EP13777400.6A patent/EP2904499B1/en active Active
- 2013-10-01 CN CN201380057937.6A patent/CN104769561B/zh active Active
- 2013-10-01 WO PCT/US2013/062859 patent/WO2014055512A1/en active Application Filing
- 2013-10-01 EP EP13783718.3A patent/EP2904500B1/en active Active
- 2013-10-01 WO PCT/US2013/062880 patent/WO2014055526A1/en active Application Filing
-
2015
- 2015-05-11 US US14/709,302 patent/US9542443B2/en active Active
- 2015-12-10 US US14/964,805 patent/US10055224B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100579108C (zh) * | 2001-03-26 | 2010-01-06 | 英特尔公司 | 一种远程密钥验证的方法和主机结构适配器 |
CN101313309B (zh) * | 2005-12-21 | 2011-12-21 | 英特尔公司 | 对加密数据进行访问控制和入侵检测的方法、装置和系统 |
Non-Patent Citations (2)
Title |
---|
《Application-Transparent Checkpoint/Restart for MPI Programs over InfiniBand》;QI Gao, et al;《PARALLEL PROCESSING,2006,ICPP 2006,INTERNATIONAL CONFERENCE ON,IEEE,PI》;20060801;第4741-478页 * |
《Introduction to the wire-speed processor and architecture》;H.Franke,et al;《IBM JOURNAL OF RESEARCH AND DEVELOPMENT》;20100101;第54卷(第1期);第3:1-3:11页 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104769561B (zh) | 能够实现不同物理域地址空间的节点间的聚类的存储总线协议 | |
US20220069994A1 (en) | Methods and systems implemented in a network architecture with nodes capable of performing message-based transactions | |
US11587070B2 (en) | Methods and systems for executing smart contracts in secure environments | |
CN104620564B (zh) | 用于经由利用数据隧道的接口的多协议数据元素的传输的装置和方法 | |
CN104283938B (zh) | 用于在存储服务器之间复制数据的技术 | |
CN105408880B (zh) | 对共享存储装置的持久存储器的直接访问 | |
US11120153B2 (en) | Resource file processing system and method based on blockchain structure | |
US11228570B2 (en) | Safe-transfer exchange protocol based on trigger-ready envelopes among distributed nodes | |
CN101535958B (zh) | 用于跨越保护域边界的对象调用的方法、系统和设备 | |
US20210083856A1 (en) | Improved hardware security module management | |
CN100462947C (zh) | 用于实现卸载发起方功能的方法和系统 | |
CN102804130B (zh) | 为子任务协调通信介质状态的方法 | |
CN110069439A (zh) | 设备认证 | |
CN108370345A (zh) | 用于存储消息数据的系统和方法 | |
CN107003945A (zh) | 缓冲存储器中的推测性读 | |
CN104052789A (zh) | 用于虚拟联网系统的负载平衡 | |
CN108701023A (zh) | 带内重定时器寄存器访问 | |
CN106815151A (zh) | 高性能互连相干协议 | |
CN102446073A (zh) | 延迟对操作的确认直至操作完成的方法和系统 | |
CN102810081A (zh) | 光纤信道输入/输出数据路由系统和方法 | |
CN108028796A (zh) | 可扩展的实时消息传递系统 | |
CN105453056B (zh) | 用于在多高速缓存环境中管理高速缓冲存储器的方法和装置 | |
WO2013097098A1 (zh) | 数据处理方法、图形处理器gpu及第一节点设备 | |
CN107203890A (zh) | 凭证数据发放方法、装置及系统 | |
CN114244537B (zh) | 一种基于跨链通信和多链融合的信息处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |