CN104750658B - 辅助式一致共享存储器 - Google Patents

辅助式一致共享存储器 Download PDF

Info

Publication number
CN104750658B
CN104750658B CN201410706028.7A CN201410706028A CN104750658B CN 104750658 B CN104750658 B CN 104750658B CN 201410706028 A CN201410706028 A CN 201410706028A CN 104750658 B CN104750658 B CN 104750658B
Authority
CN
China
Prior art keywords
node
memory controller
shared memory
memory
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
Application number
CN201410706028.7A
Other languages
English (en)
Other versions
CN104750658A (zh
Inventor
D·达斯莎玛
M·J·库马
B·T·弗莱舍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104750658A publication Critical patent/CN104750658A/zh
Application granted granted Critical
Publication of CN104750658B publication Critical patent/CN104750658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0837Cache consistency protocols with software control, e.g. non-cacheable data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

公开了一种辅助式一致共享存储器。在此描述了一种用于跨多个集群的一致共享存储器的装置。该装置包括结构存储器控制器和一个或多个节点。该结构存储器控制器管理对每个节点的共享存储器区域的访问,从而使得使用加载存储语义可访问每个共享存储器区域,即便是响应于该节点失效。该装置还包括全局存储器,其中,每个共享存储器区域被该结构存储器控制器映射到该全局存储器。

Description

辅助式一致共享存储器
技术领域
本公开总体上涉及多节点系统。更具体地,本公开涉及在多节点系统内共享存储器。
背景技术
多节点系统可包括多个节点。系统的类型包括但不限于网络、机架服务器系统、刀片服务器等等。在某些情况下,每个节点可以是跨在节点内的处理或输入/输出(I/O)设备之间具有硬件高速缓存一致性的一个或多个机架的大部分的大型对称多处理(SMP)节点。高速缓存一致性的结果是,大型SMP系统能够应用足够的计算资源来解决计算设备之间的细粒度负载均衡问题,同时具有大型存储器印迹来存储可通过存储器加载和存储语义由任何计算设备直接访问的应用数据。该系统还可以是松耦合(LC)系统,由多个较小的SMP系统组成,其中,节点能够在粗糙粒度水平上协调任务。
附图说明
通过参照包含所公开的主题的许多目标和特征的特定示例的附图可更好地理解以下详细描述。
图1是多节点系统模型的框图;
图2是部分一致系统的示图;
图3是全局存储器映射的示图;
图4是用于跨多个集群的一致共享存储器的过程流程图;以及
图5是可访问汇集存储器资源的节点500的框图。
贯穿本公开和附图使用相同的编号来引用相同的组件和特征。100系列中的编号指代最初在图1中发现的特征;200系列中的编号指代最初在图2中发现的特征,以此类推。
具体实施方式
SMP系统包括单个故障域,其中,系统的任何组件或软件的故障致使整个系统失效。例如,如果SMP节点失效,包括该SMP节点的整个系统失效。相反,LC系统将包含通过独立故障域的任何组件或软件的失效。因此,LC系统中受影响的服务器或组件可崩溃,但是其他服务器或组件将继续操作,就像失效从未发生似的。然而,LC系统中的存储器不通过加载/存储语义共享。而是,通过I/O驱动器发送消息以便完成LC系统中的存储器共享。当与SMP系统相比较时,由于与I/O驱动器相关联的更高延迟,使用I/O驱动器来实现存储器共享会降低LC系统的性能。
在此描述的实施例涉及跨多个集群的一致共享存储器。在实施例中,结构存储器控制器耦合到一个或多个节点。结构存储器控制器使用加载存储语义管理对每个节点内的存储器模块的访问。每个节点上的存储器模块可被包括在每个节点的共享存储器区域内。即便当节点已经失效时,共享存储器区域是可访问的。而且,结构存储器控制器管理全局存储器并且多个节点的每个共享存储器区域可被结构存储器控制器映射到全局存储器。结果,提供了可高速缓存的全局存储器。可高速缓存的全局存储器能够跨多个节点和集群递送数据一致性,同时维护每个节点或集群的独立故障域。进一步地,使用加载-存储语义可作为本地存储器访问和高速缓存全局存储器,同时每个集群维护其单独的故障域。附加地,共享存储器能够提供可靠性、可用性、以及可服务性(RAS)功能,包括全部独立盘冗余阵列(RAID)方案。本技术还可与任何高密度机架规模架构(RSA)一起使用。
在实施例中,每个节点包括一个或多个处理设备(例如,CPU)、可高速缓存的以及不可高速缓存的和易失性的以及非易失性的存储器、以及运行一个BIOS映像以及一个操作系统/虚拟机监控器映像的一个或多个I/O设备。以此方式,每个节点是所包含的故障域。节点中的任何硬件组件的或在节点上运行的软件的任何失效在最坏情况下仅击倒该节点。
在以下说明书和权利要求书中,可使用术语“耦合”和“连接”及其衍生词。应当理解的是这些术语不旨在作为彼此的同义词。相反,在具体实施例中,“连接”可用于指示两个或更多个元件彼此直接物理或电接触。“耦合”可意指两个或更多个元件直接物理或电接触。然而,“耦合”还可意指两个或更多个元件不彼此直接接触,但是仍可彼此合作或交互。然而,术语“松耦合”是指具有独立故障域的系统。结果,术语“耦合”的使用不改变或修改被称为松耦合的系统。
某些实施例可在一个硬件、固件、和软件或其组合中实现。某些实施例还可被实现为存储在机器可读介质上的指令,这些指令可由计算平台读取并执行以便执行在此描述的操作。机器可读介质可包括用于存储或传输机器(例如,计算机)可读形式的信息的任何机制。例如,机器可读介质可包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备等等。
实施例是实现方式或示例。贯穿本说明书对“实施例”、“一个实施例”、“某些实施例”、“各实施例”、或“其他实施例”的参考是指在此结合这些实施例所描述的特定特征、结构或特性包括在本发明的至少某些实施例但无需全部实施例中。“实施例”、“一个实施例”、或“某些实施例”的各种出现并非必须全部指代相同的实施例。实施例的元素或方面可与另一个实施例的元素或方面组合。
不是所有在此描述和示出的组件、特征、结构、特性等等需要被包括在一个或多个特定实施例。如果说明书陈述组件、特征、结构、或特性“可”、“可能”、“能够”或“可以”被包括,例如不要求包括该特定特征、结构、或特性。如果说明书或权利要求书参考“一”、“一个”元件,这不意味着仅存在一个这种元件。如果说明书或权利要求书参考“附加”元件,这不排除存在多于一个这种附加元件。
注意,尽管已经参照具体实现方式描述了某些实施例,其他实现方式根据某些实施例是可能的。附加地,在附图中示出和/或在此描述的电路元件或其他特征的安排和/或顺序无需以所示出和描述的特定方式安排。许多其他安排根据某些实施例是可能的。
在附图中示出的每个系统中,在某些情况下,元素可各自具有相同的参考标号或不同的参考标号,以便指示所表示的元素可不同和/或类似。然而,元素可足够灵活以便具有不同的实现方式并且与在此示出或描述的某些或所有系统一起工作。在附图中示出的各个元素可相同或不同。将哪一个称为第一元素以及将哪一个称为第二元素是任意的。
图1是多节点系统模型的框图100。多节点系统模型包括部分一致系统102、SMP系统104、以及LC系统106。尽管在每个系统中示出了若干服务器,每个系统可被认为是一个服务器。在SMP系统104中,每个节点108连接到节点控制器(NC)110。NC 110能够使得每个节点108连接到扩展互连112。扩展互连112可用于实现SMP系统104的每个NC 110之间的通信。相应地,SMP系统104是基于节点控制器的,具有共享存储器。SMP系统是完全一致的,并且包括快速分布式锁定管理器。然而,SMP系统104是单个故障域。换言之,任何节点108或节点控制器110内出现的单个故障将致使整个系统失效、崩溃、或以其他方式不可用。
在LC系统106中,每个节点114连接到网络接口卡(NIC)116。在某些情况下,NIC116是能够进行远程直接存储器访问(RDMA)的以太网设备或另一个I/O控制器,诸如InfiniBand主机总线适配器(IB HBA)。NIC 116能够使得每个节点114连接到RDMA互连118。RDMA互连118使得每个NIC 116能够传递消息,以便实现跨LC系统106的存储器共享。相应地,LC系统106包括独立故障域。然而,不在LC系统106中共享存储器。进一步地,难以跨LC系统106均衡负载并且LC系统106具有分布式锁定管理器扩展性。
部分一致系统102包括多个节点120,每个节点连接到多个增强型节点控制器(eNC)122之一。每个eNC 122将其对应的节点120连接到扩展互连124。部分一致系统102跨具有独立故障域的多节点系统共享存储器。通过使用以下描述的软件辅助,部分一致系统102是部分一致的。附加地,部分一致系统102包括快速分布式锁定管理器。
图2是部分一致系统102的示图。部分一致系统102包括节点202和节点204。节点202包括结构存储器控制器(FMC)206,并且节点204包括FMC 208。附加地,节点202包括节点存储器214以及本地存储器218。节点204包括节点存储器216以及本地存储器220。每个FMC206和208可以是具有其对应的节点的离散组件,如图2所示。在某些实施例中,FMC206和208可集成到多节点系统的每个节点内的CPU中。相应地,在某些实施例中,FMC 206可集成到节点202的CPU 210A和CPU 210B中,并且FMC 208可集成到节点204的CPU 212A和CPU 212B中。CPU 210A、210B、212A、和212B各自使用PLM(Plattsmouth)协议访问全局存储器,该协议是类似于SMI3的存储器语义(对于系统存储器映射)和用于模块型存储器访问的I/O协议(诸如PCIe)的组合。全局存储器包括节点存储器214以及节点存储器216。在实施例中,全局存储器可作为共享存储器或模块存储器访问。全局存储器可被分成多个区域。附加地,FMC206和FMC208分别实现故障隔离边界207A和故障隔离边界207B,其中,全局存储器可由其他节点访问,甚至当其本地节点崩溃时。
Plattsmouth(PLM)链路可用于将每个CPU连接到FMC。相应地,节点202包括将CPU210A和CPU 210B连接到FMC 206的一对PLM链路222。类似地,节点204包括将CPU 212A和CPU212B连接到FMC 208的一对PLM链路224。PLM链路226A和PLM链路226B还可用于分别将节点202和节点204连接到交换机228。每条PLM链路能够支持具有可选目录信息(诸如SMI2)的存储器语义和具有加载和存储功能的I/O协议,诸如快速外围组件互连(PCIe)协议。在实施例中,能够使用一组公共引脚支持存储器语义和I/O协议的任何链路可用于将节点连接到SMC。而且,能够使用一组公共引脚支持存储器语义和I/O协议的任何链路可用于将CPU连接到FMC。附加地,可使用PCIe架构的物理层实现PLM链路。
可通过交换机228访问全局存储器。交换机228可用于连接来自多节点系统内的多个节点的多个FMC。在某些情况下,交换机228可以是Stormlake(STL)交换机、用作交换机的另一个FMC、或直接附连机制。交换机可用于在一个或多个节点之间路由对全局数据的请求。在任何情况下,交换机228用于跨全局存储器传递低延迟消息语义。在实施例中,多个FMC直接使用PLM链路或者通过另一个FMC交换机连接到彼此。而且,在实施例中,可通过STL交换机在类似STL的联网堆栈上通过遂穿PLM协议来连接多个FMC。
通过交换机和PLM链路连接多个节点的FMC的结果是,共享全局存储器并且可通过加载存储语义对其进行访问。针对节点本地的计算,节点可访问为那些计算预留的其自身的存储器。驻留在多个节点上的全局存储器可具有相同的特征存储器,并且每个节点可在该存储器上执行操作。附加地,可通过策略向全局存储器的特定部分指派节点,并且这些策略可由每个节点或连接该多个节点的FMC的交换机维护。
代替将消息传递通过RMDA,加载存储语义用于通过FMC在节点之间通信。每个FMC实现故障隔离边界,即便当节点的CPU失效时,也可通过FMC访问每个节点的全局存储器。如上所述,可通过STL联网堆栈或PLM链路访问共享存储器。该多个节点的每个FMC可使用加载/存储语义在节点之间传递消息,但是不抵消该多个节点的流量。
FMC的故障隔离边界可使用各种技术实现。在某些实施例中,硬件用于确保每个CPU独立于同一节点和系统内的其他CPU。以此方式,独立CPU的失效不影响其他CPU的操作。在其他实施例中,CPU的失效可致使其他CPU失效,然而,失效节点内的全局存储器可被加电并且活跃,从而使得该节点可失效而不影响其他节点的处理,并且仍可访问失效节点的存储器。
图3是全局存储器映射300的示图。以充当路由器或交换机以便协调跨节点对全局存储器的访问的一个或多个FMC的视角,示出全局存储器映射300。全局存储器映的各个部分可被存储在节点302和节点306上。全局存储器可被分成多个共享存储器区域306。全局存储器可由FMC管理,如图2所示。相应地,全局存储器的每个节点302和节点306被FMC映射到全局存储器中,如全局储存器映射300所示出的那样。具体而言,节点302的共享存储器区域308可包括任何数量的共享存储器区域,范围从1到n。节点304的共享存储器区域310可包括另一数量的共享存储器区域,范围从1到p。于是,全局存储器包括范围从1到n的共享存储器区域308和范围从1到p的共享存储器区域310。每个共享存储器区域可被物理地附连到一个FMC或者可跨多个FMC分拆。而且,存储器区域的大小可以是可变的或固定的。在实施例中,每个区域可在页水平粒度维护,从而使得整个存储器区域可被标页码,作为存储器管理方案的一部分。如图2所示,每个节点可包括FMC不可访问的并且不由全局存储器映射300表示的本地存储器。全局集群存储器映射300包括部分312,部分312将本地一致存储器区域314和本地一致存储器区域316识别为不可通过加载-存储结构访问的每个单独节点的专用存储器。
本地一致存储器区域314和316可用作消息区域。相应地,本地一致存储器区域314和316各自分别包括消息区域318和消息区域320。尽管本地消息区域318和消息区域320不可直接由充当交换机或路由器以便跨节点共享存储器的FMC访问,FMC可间接地访问消息区域322。
共享存储器区域308和共享存储器区域310对具有与全局集群存储器映射300相同的地址范围的每个节点可见。每个共享存储器区域可具有针对每组节点不同的访问权限。访问权限可基于一组策略。而且,每个共享存储器区域的地址范围以及任何访问权限可由一组范围寄存器强制执行。在某些情况下,如果区域是FMC中的(超级)页,每个共享存储器区域的地址范围和访问权限可由驻留在存储器内的页表实现。如果任何节点具有适当的访问权限,全局存储器可高速缓存在该节点中。然而,管理全局存储器的一个或多个FMC可不强制执行节点之间的基于硬件的高速缓存一致性机制。作为替代,数据一致性由在每个节点上运行的软件强制执行。
消息区域318和消息区域320可用于确保跨节点302和节点304的数据一致性。每个节点可向可访问存储器的具体存储器部分并且请求有关该具体存储器部分的状态的信息的其他节点广播消息。例如,第一节点可请求具有属于特定存储器区域的数据的任何节点更新该存储器区域,如果其具有属于该存储器区域的数据。具有该存储器区域的任何节点可响应于该消息并且通知请求第一节点该存储器区域已经被更新并替换。在某些情况下,传递消息以便访问全局存储器是基于软件的握手,该握手是直接存储器访问并且不使用I/O堆栈来访问数据。
全局存储器可包括节点可采取并更新全局存储器内的数据的协定,存在具有节点之间的握手的存储器的集群模型。附加地,FMC可确保每个节点的适当访问权限,并且提供对已经死亡的任何节点的数据的访问。这种访问使用加载/存储语义和硬件发生,而不具有I/O软件堆栈的延迟。而且,存储器可与平面存储器类似地以线性方式每字节而不是模块访问来访问。在某些情况下,共享存储器区域是可高速缓存的。进一步地,在某些情况下,消息区域可用于在节点之间传递数据,而不是使用FMC来传递有关存储在节点上的数据的消息。
图4是用于跨多个集群的一致共享存储器的过程流程图400。在框402,建立可高速缓存的全局存储器。在某些情况下,使用跨多个集群的共享存储器区域实现可高速缓存的全局存储器,其中,可使用加载存储语义访问共享存储器区域。在框404,使用软件辅助机制跨多个集群确保数据一致性。在框406,通过使用结构存储器控制器为每个集群维护独立故障域。
在某些实施例中,结构存储器控制器用于实现跨多节点系统的可靠性、可用性、可服务性(RAS)特征。为了能够用于企业,FMC支持存储器复制,诸如跨其它FMC的各种形式的RAID。以此方式,实现如果FMC或其相关联的全局存储器崩溃则重构经复制存储器的内容的能力。复制可以是K-aryl复制,其中,每次写入被复制(k-1)附加拷贝。地址映射范围寄存器(或页表)存储初始位置和备份位置。在RAID方案的情况下,主机FMC维护被RAID在一起的其他地址和FMC。主存初始位置的FMC在主存备份位置的每个FMC中复制写入。在RAID配置中,主存FMC向存储奇偶性的RAID位置发送ex-or信息。
在写入时,对于被写入的地址位置而言是初始的FMC向备份位置发送写入。在某些实施例中,FMC向RAID ex-or位置发送针对存储奇偶性的FMC的写入。备份FMC向初始FMC发送写入完成。即使写入被张贴,直至所有写入完成,写入不被认为在初始FMC中完成。初始FMC为发送写入的每个其他FMC维护计时器。如果未从每个目的FMC接收到完成,初始FMC可超时。而且,初始FMC可尝试使用替代路径重新进行事务并且/或者通知系统软件采取必要的恢复行动。
如果复制被启用,可通过初始FMC或备份FMC实现读取。附连到生成读取请求的节点的FMC维护计时器。如果超时之时未接收到完成,其可尝试到相同FMC或备份FMC的替代路径某个预定次数。如果事务仍超时,其可阻碍数据返回。FMC还可向系统软件报告超时错误,以便采取必要的校正行动或简单地记录错误。在实施例中,如果FMC或附连到FMC的存储器模块失效,内容可相应地被传送到具有备用容量的另一个FMC以及经更新的范围寄存器(或页表条目)。
图5是可访问汇集存储器资源的节点500的框图。节点500可以是例如膝上计算机、桌上计算机、平板计算机、移动设备、服务器、或刀片服务器等等。节点500还可以是任何高密度机架规模架构(RSA)中的节点。在某些示例中,节点是能够跨多节点系统与另一个节点通信的任何设备。相应地,在某些示例中,多节点系统是节点网络,其中,每个节点是能够跨该网络通信的任何设备。附加地,在某些示例中,多节点是机架服务器系统中的服务器。
节点500可包括被配置成用于执行所存储的指令的中央处理单元(CPU)502。CPU502可以是单核处理器、多核处理器、计算集群、或任何数量的其他配置。在某些情况下,节点500的CPU 502和其他组件可被实现为片上系统(SoC)。进一步地,节点500可包括多于一个CPU 502。由CPU 502执行的指令可用于实现跨多个节点汇集存储器资源。
节点500还可包括图形处理单元(GPU)504。如所示,CPU 502可通过总线506连接到GPU 504。然而,在某些实施例中,CPU 502和GPU 504位于同一管芯上。GPU 504可被配置成用于执行节点500内的任何数量的图形操作。例如,GPU 504可被配置成用于渲染或操纵有待显示给节点500的用户的图形图像、图形帧、视频等等。然而,在某些情况下,节点500不包括GPU 504。
CPU 502还可通过总线506连接到CPU输入/输出(I/O)。在实施例中,CPU I/O 508被使用,从而使得CPU 502可访问多节点系统内的汇集存储器。CPU 502可访问汇集存储器,而不包括节点500内的专用存储器。进一步地,CPU I/O 508可访问多节点系统内的汇集存储器,而不使用通信和联网协议,诸如传输控制协议和互联网协议(TCP/IP)以及InfiniBand(IB)。在实施例中,诸如Plattsmouth(PLM)链路510等链路用于将每个节点连接到使用在串行链路上运行的基于存储器语义的协议的共享存储器控制器。快速外围组件互连(PCIe)链路512可用于将CPU 502连接到网络。
CPU 502还可通过总线506连接到被配置成用于将节点500连接到一个或多个I/O设备516的输入/输出(I/O)设备接口514。I/O设备516可包括例如键盘和指点设备,其中,指点设备可包括触摸板或触摸屏等等。I/O设备516可以是节点500的内建组件,或者可以是外部地连接到节点500的设备。CPU 502还可通过总线506连接到被配置成用于将节点500连接到显示设备520的显示接口518。显示设备520可包括是节点500的内建组件的显示屏。显示设备520还可包括外部地连接到节点500的计算机监视器、电视机、或投影仪等等。
图5的框图不旨在指示节点500将包括图5中示出的所有组件。进一步地,节点500可包括未在图5中示出的任何数量的附加组件,取决于特定实现方式的细节。而且,节点500可包括比图5中示出的那些更少的组件。例如,节点500可不包括GPU 504、I/O设备接口514、或显示接口518。
本技术实现可高速缓存的全局存储器同时维护独立故障域。全局存储器可用于存储不同节点之间的共享数据结构(例如,数据库)并且还用于节点之间的快速通信。如果共享存储器是持久的(即,在非易失性存储器(NVM)中),则在计划的或未计划的节点崩溃时间或节点之间的任务迁移之后恢复操作的时间变得非常快,因为数据仍在存储器中。而且,因为数据一致性由软件强制执行,存在经修改的可高速缓存的数据的显式切换,可用于如果节点失效则建立检查点以便从其进行恢复。
本技术还提供RAS特征来实现存储器和储存器水平弹性。而且,在某些实施例中,存储器可以是储存器的替代物。如果存储器是非易失性存储器,整个数据库可被从存储器映射,从而使得数据库的各个部分不被从磁盘或固态驱动器(SSD)上载。以此方式,访问数据库的时间减少。在某些情况下,下一代非易失性存储器具有可作为储存器替代物但是使用存储器类型语义可访问的大容量。而且,在本技术中描述的非易失性存储器维持相同的储存器弹性。非易失性存储器可被复制多次。以此方式,任何RAID方案可被实现以提供高可靠性水平和故障隔离。
示例1
在此描述了一种用于跨多个集群的一致共享存储器的装置。该装置包括结构存储器控制器、一个或多个节点、以及全局存储器。该结构存储器控制器管理对每个节点的共享存储器区域的访问,从而使得使用加载存储语义可访问每个共享存储器区域,甚至响应于该节点失效。每个共享存储器区域被该结构存储器控制器映射到全局存储器。
结构存储器控制器可位于该一个或多个节点内。附加地,该加载存储语义实现该一个或多个节点之间的通信。该结构存储器控制器还可支持存储器复制,从而使得该全局存储器是可访问的,不管该一个或多个节点的状态如何。进一步地,该结构存储器控制器可支持跨该全局存储器的全部独立盘冗余阵列(RAID)方案,从而使得在失效的情况下能够重构该全局存储器的任何部分。该装置可包括备份结构存储器控制器,其中,该备份结构存储器控制器在该第一结构存储器控制器失效的情况下使用。响应于该结构存储器控制器失效,该失效结构存储器控制器的内容被转移到另一个结构存储器控制器。附加地,响应于附连到该结构存储器控制器的存储器模块失效,该失效结构存储器模块的内容被转移到另一个结构存储器控制器或存储器模块。
示例2
在此描述了一种用于辅助式一致共享存储器的系统。该系统包括部分一致存储器和结构存储器控制器。该部分一致存储器包括来自多个集群的多个共享存储器区域,同时维护每个集群的独立故障域,并且该结构存储器控制器实现通过加载存储语义访问该部分一致存储器。
可通过Plattsmouth链路、联网堆栈、I/O堆栈、或其任何组合访问该多个共享存储器区域。该多个集群可访问存储在该共享存储器区域内的数据并且将来自该共享存储器区域的数据本地地高速缓存在本地高速缓存中。可使用一个或多个增强型联网接口控制器连接该部分一致存储器的该集群。进一步地,每个节点维护其他节点不可直接访问的本地存储器。该共享存储器区域可以是集中式的,并且可通过由该结构存储器控制器实现的故障隔离边界维护每个集群的该独立故障域。
示例3
在此描述了一种用于跨多个集群的一致共享存储器的方法。该方法包括使用跨多个集群的共享存储器区域实现可高速缓存的全局存储器,其中,可使用加载存储语义访问该共享存储器区域。该方法还可包括使用软件辅助机制确保跨该多个集群的数据一致性。进一步地,该方法包括通过使用结构存储器控制器为每个集群维护独立故障域。
该结构存储器控制器可通过该多个集群分布。附加地,该加载存储语义使每个集群能直接与另一个集群通信。进一步地,故障隔离边界可实现每个集群的独立故障域。
在以上描述中,已经描述了所公开的主题的各方面。为了解释的目的,列出了特定的编号、系统和配置,以便提供本主题的透彻理解。然而,对具有本公开的本领域普通技术人员而言明显的是可在不具有这些特定细节的情况下实践本主题。在其他情况下,公知的特征、组件、或模块被省略、简化、组合、或分离,以便不混淆所公开的主题。
所公开的主题的各实施例可在硬件、固件、软件、或其组合中实现,并且可参照或结合程序代码描述,诸如指令、函数、过程、数据结构、逻辑、应用程序、用于模拟、仿真、或制造设计的设计表示或格式,当由机器访问时,这些程序代码导致该机器执行任务、定义抽象数据类型或低级硬件上下文、或产生结果。
为了模拟,程序代码可使用基本上提供将期望如何执行所设计的硬件的模型的硬件描述语言或另一种功能描述语言表示硬件。程序代码可以是汇编或机器语言、或可编译和/或解释的数据。进一步地,本领域常见的是当采取行动或造成结果时谈及一种形式或另一种形式的软件。这种表达仅仅是表述通过处理系统执行程序代码以便致使处理器执行动作或产生结果的简写方式。
程序代码可被存储在例如易失性和/或非易失性存储器中,诸如存储设备和/或相关联的机器可读或机器可访问介质,包括固态存储器、硬盘驱动器、软盘、光存储、磁带、闪存、存储器棒、数字视频盘、数字通用盘(DVD)等等,以及更独特的介质,诸如机器可访问生物状态保存存储。机器可读介质可包括用于存储、传输、或接收机器(诸如天线、光纤、通信接口等等)可读形式的信息的任何有形机制。程序代码可被以数据包、串行数据、并行数据等形式传输,并且可以用压缩或加密格式使用。
程序代码可被在可编程机器上执行的程序中实现,诸如移动或静态计算机、个人数字助理、机顶盒、蜂窝电话和寻呼机、以及其他电子设备,其各自包括处理器、处理器可读的易失性和/或非易失性存储器、至少一个输入设备和/或一个或多个输出设备。可将程序代码应用到使用输入设备输入的数据,以便执行所描述的实施例并且生成输出信息。输出信息可被应用到一个或多个输出设备。本领域普通技术人员可认识到所公开的主题的实施例可在各种计算机系统配置下实践,包括多处理器或多核处理器系统、小型算机、大型计算机、以及可被嵌入到实际上任何设备中的通用或小型计算机或处理器。所公开的主题的实施例还可在分布式计算环境中实践,其中可由通过通信网络链接的远程处理设备执行任务。
尽管操作可被描述为顺序过程,某些操作可实际上并行地、并发地、和/或在分布式环境中执行,并且本地地和/或远程地存储程序代码以便由单处理器或多处理器机器执行。附加地,在某些实施例中,操作的顺序可被重新安排,而不背离所公开的主题的精神。程序代码还可由或结合嵌入式控制器使用。
尽管已经参照说明性实施例描述了所公开的主题,本描述不旨在以限制性的意义被解释。对所公开的主题所涉及的本领域普通技术人员明显的本主题的说明性实施例以及其他实施例的各种修改被认为落入所公开的主题的范围内。

Claims (27)

1.一种用于跨多个集群的一致共享存储器的装置,包括:
结构存储器控制器;
一个或多个节点,其中,所述结构存储器控制器管理对每个节点的共享存储器区域的访问,使得即便响应于所述节点失效,也能够使用加载存储语义访问每个共享存储器区域;以及
全局存储器,其中,每个共享存储器区域被所述结构存储器控制器映射到所述全局存储器。
2.如权利要求1所述的装置,其中,所述结构存储器控制器位于所述一个或多个节点内。
3.如权利要求1所述的装置,其中,所述加载存储语义实现所述一个或多个节点之间的通信。
4.如权利要求1所述的装置,其中,所述结构存储器控制器支持存储器复制,使得所述全局存储器是可访问的,不管所述一个或多个节点的状态如何。
5.如权利要求1所述的装置,其中,所述结构存储器控制器支持跨所述全局存储器的全部独立盘冗余阵列(RAID)方案,使得在失效的情况下能够重构所述全局存储器的任何部分。
6.如权利要求1所述的装置,其中,所述装置包括备份结构存储器控制器,其中,所述备份结构存储器控制器在所述结构存储器控制器失效的情况下使用。
7.如权利要求1所述的装置,其中,响应于所述结构存储器控制器失效,所述失效的结构存储器控制器的内容被转移到另一个结构存储器控制器。
8.如权利要求1所述的装置,其中,响应于附连到所述结构存储器控制器的存储器模块失效,所述失效的存储器模块的内容被转移到另一个结构存储器控制器或存储器模块。
9.如权利要求1所述的装置,其中,所述结构存储器控制器是增强型节点控制器。
10.如权利要求1所述的装置,包括快速分布式锁定管理器。
11.一种用于辅助式一致共享存储器的系统,包括:
部分一致存储器,其中,所述部分一致存储器包括来自多个集群的多个共享存储器区域,同时每个集群的独立故障域被维护;以及
结构存储器控制器,其中,所述结构存储器控制器实现通过加载存储语义访问所述部分一致存储器。
12.如权利要求11所述的系统,其中,所述多个共享存储器区域通过Plattsmouth链路、联网堆栈、I/O堆栈、或其任何组合而被访问,其中,所述Plattsmouth链路是基于Plattsmouth协议的链路。
13.如权利要求11所述的系统,其中,所述多个集群访问存储在所述共享存储器区域内的数据并且将来自所述共享存储器区域的所述数据本地地高速缓存在本地高速缓存中。
14.如权利要求11所述的系统,其中,所述部分一致存储器的所述集群通过使用一个或多个增强型联网接口控制器来连接。
15.如权利要求11所述的系统,其中,每个节点维护其他节点不可直接访问的本地存储器。
16.如权利要求11所述的系统,其中,所述共享存储器区域是集中式的。
17.如权利要求11所述的系统,其中,通过由所述结构存储器控制器实现的故障隔离边界维护每个集群的独立故障域。
18.如权利要求11所述的系统,其中,所述系统具有高密度机架规模架构(RSA)。
19.一种跨多个集群的一致共享存储器的方法,所述方法包括:
使用跨多个集群的共享存储器区域实现可高速缓存的全局存储器,其中,使用加载存储语义能够访问所述共享存储器区域;
使用软件辅助机制确保跨所述多个集群的数据一致性;以及
通过使用结构存储器控制器为每个集群维护独立故障域。
20.如权利要求19所述的方法,其中,所述结构存储器控制器通过所述多个集群分布。
21.如权利要求19所述的方法,其中,所述加载存储语义使每个集群能直接与另一个集群通信。
22.如权利要求19所述的方法,其中,故障隔离边界实现每个集群的所述独立故障域。
23.如权利要求19所述的方法,其中,其他集群能访问失效集群的共享存储器区域。
24.如权利要求19所述的方法,其中,所述可高速缓存的全局存储器实现跨多个节点和集群的数据一致性。
25.如权利要求19所述的方法,包括通过将跨多个集群的共享存储器区域映射到所述全局存储器,使用所述共享存储器区域实现所述可高速缓存的全局存储器。
26.一种机器可读介质,所述机器可读介质包括存储在其上的指令,所述指令在被处理器执行时,使得所述处理器执行如权利要求19-25中任一项所述的方法。
27.一种计算机实现的系统,包括多个装置,所述多个装置分别用于执行如权利要求19-25中任一项所述的方法中的对应步骤。
CN201410706028.7A 2013-12-27 2014-11-27 辅助式一致共享存储器 Active CN104750658B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/142,726 US9372752B2 (en) 2013-12-27 2013-12-27 Assisted coherent shared memory
US14/142,726 2013-12-27

Publications (2)

Publication Number Publication Date
CN104750658A CN104750658A (zh) 2015-07-01
CN104750658B true CN104750658B (zh) 2018-09-11

Family

ID=53372168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410706028.7A Active CN104750658B (zh) 2013-12-27 2014-11-27 辅助式一致共享存储器

Country Status (4)

Country Link
US (2) US9372752B2 (zh)
JP (1) JP6202756B2 (zh)
CN (1) CN104750658B (zh)
DE (1) DE102014117465B4 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367398B1 (en) * 2014-03-28 2016-06-14 Emc Corporation Backing up journal data to a memory of another node
WO2016118607A1 (en) 2015-01-20 2016-07-28 Ultrata Llc Distributed index for fault tolerant object memory fabric
WO2016118615A1 (en) 2015-01-20 2016-07-28 Ultrata Llc Object memory data flow instruction execution
US10698628B2 (en) 2015-06-09 2020-06-30 Ultrata, Llc Infinite memory fabric hardware implementation with memory
US9971542B2 (en) 2015-06-09 2018-05-15 Ultrata, Llc Infinite memory fabric streams and APIs
US9886210B2 (en) 2015-06-09 2018-02-06 Ultrata, Llc Infinite memory fabric hardware implementation with router
US9851906B2 (en) * 2015-06-16 2017-12-26 Vmware, Inc. Virtual machine data placement in a virtualized computing environment
JP6495779B2 (ja) * 2015-08-11 2019-04-03 日本電信電話株式会社 演算処理管理方法及び演算装置
US20170078367A1 (en) * 2015-09-10 2017-03-16 Lightfleet Corporation Packet-flow message-distribution system
US11240334B2 (en) * 2015-10-01 2022-02-01 TidalScale, Inc. Network attached memory using selective resource migration
US10241676B2 (en) 2015-12-08 2019-03-26 Ultrata, Llc Memory fabric software implementation
US10235063B2 (en) * 2015-12-08 2019-03-19 Ultrata, Llc Memory fabric operations and coherency using fault tolerant objects
WO2017100281A1 (en) 2015-12-08 2017-06-15 Ultrata, Llc Memory fabric software implementation
EP3387548B1 (en) 2015-12-08 2023-08-02 Ultrata LLC Memory fabric operations and coherency using fault tolerant objects
CN106874138A (zh) * 2015-12-11 2017-06-20 成都华为技术有限公司 一种业务节点的分配方法及装置
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
US11126564B2 (en) 2016-01-12 2021-09-21 Hewlett Packard Enterprise Development Lp Partially coherent memory transfer
WO2017134795A1 (ja) * 2016-02-04 2017-08-10 株式会社日立製作所 ストレージシステム及びキャッシュ制御方法
US10101934B1 (en) 2016-03-24 2018-10-16 Emc Corporation Memory allocation balancing for storage systems
US10324782B1 (en) 2016-03-24 2019-06-18 Emc Corporation Hiccup management in a storage array
US9857990B1 (en) 2016-03-24 2018-01-02 EMC IP Holding Company LLC Fast startup for modular storage systems
US10705907B1 (en) 2016-03-24 2020-07-07 EMC IP Holding Company LLC Data protection in a heterogeneous random access storage array
US9921997B2 (en) * 2016-04-01 2018-03-20 Intel Corporation Mechanism for PCIE cable topology discovery in a rack scale architecture environment
WO2017192917A1 (en) * 2016-05-04 2017-11-09 Pure Storage, Inc. Storage cluster
US10162770B2 (en) 2016-06-30 2018-12-25 Intel Corporation Virtual machine migration in rack scale systems
JP6745174B2 (ja) 2016-09-09 2020-08-26 株式会社日立産機システム コントローラ及びコントロール管理システム
US10042762B2 (en) * 2016-09-14 2018-08-07 Advanced Micro Devices, Inc. Light-weight cache coherence for data processors with limited data sharing
US10223008B1 (en) 2016-09-30 2019-03-05 EMC IP Holding Company LLC Storage array sizing for compressed applications
US10152371B1 (en) 2016-09-30 2018-12-11 EMC IP Holding Company LLC End-to-end data protection for distributed storage
US10255172B1 (en) 2016-09-30 2019-04-09 EMC IP Holding Company LLC Controlled testing using code error injection
US10375038B2 (en) 2016-11-30 2019-08-06 International Business Machines Corporation Symmetric multiprocessing management
CN108153622B (zh) * 2016-12-06 2021-08-31 华为技术有限公司 一种故障处理的方法、装置和设备
US10628057B2 (en) 2017-03-28 2020-04-21 Hewlett Packard Enterprise Development Lp Capability based locking and access of shared persistent memory
US10423530B2 (en) 2017-05-08 2019-09-24 Hewlett Packard Enterprise Development Lp Partial cache coherence
US10579274B2 (en) 2017-06-27 2020-03-03 TidalScale, Inc. Hierarchical stalling strategies for handling stalling events in a virtualized environment
US10817347B2 (en) 2017-08-31 2020-10-27 TidalScale, Inc. Entanglement of pages and guest threads
CN107888657B (zh) * 2017-10-11 2020-11-06 上海交通大学 低延迟分布式存储系统
US10394490B2 (en) * 2017-10-23 2019-08-27 Weka.IO Ltd. Flash registry with write leveling
US11175927B2 (en) 2017-11-14 2021-11-16 TidalScale, Inc. Fast boot
JP7255790B2 (ja) 2018-06-15 2023-04-11 三菱重工業株式会社 半導体装置
US10922178B2 (en) 2018-10-31 2021-02-16 Hewlett Packard Enterprise Development Lp Masterless raid for byte-addressable non-volatile memory
US10970213B2 (en) * 2019-04-30 2021-04-06 Hewlett Packard Enterprise Development Lp Selective disabling of hardware-based cache coherency and enforcement of software-based cache coherency
US10970169B2 (en) * 2019-06-27 2021-04-06 General Electric Company Data configuration management system for an engine
US11086739B2 (en) * 2019-08-29 2021-08-10 EMC IP Holding Company LLC System comprising non-volatile memory device and one or more persistent memory devices in respective fault domains

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5384657A (en) * 1976-12-30 1978-07-26 Fujitsu Ltd Multiprocessor system
JPH0233649A (ja) * 1988-07-25 1990-02-02 Matsushita Electric Ind Co Ltd マルチマスタプロセッサ装置
JP3489157B2 (ja) 1993-11-26 2004-01-19 株式会社日立製作所 分散共有メモリシステムおよび計算機
US5893144A (en) * 1995-12-22 1999-04-06 Sun Microsystems, Inc. Hybrid NUMA COMA caching system and methods for selecting between the caching modes
US5896492A (en) * 1996-10-28 1999-04-20 Sun Microsystems, Inc. Maintaining data coherency between a primary memory controller and a backup memory controller
US6449699B2 (en) * 1999-03-29 2002-09-10 International Business Machines Corporation Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
JP3351469B2 (ja) 1999-11-17 2002-11-25 エヌイーシーコンピュータテクノ株式会社 情報処理システム及びそれに用いるデータコピーを伴う障害処理方式
JP4249622B2 (ja) * 2001-09-21 2009-04-02 ヒューレット・パッカード・カンパニー 共有ストレージを備えたマルチノード環境のためのシステムおよび方法
US6959372B1 (en) * 2002-02-19 2005-10-25 Cogent Chipware Inc. Processor cluster architecture and associated parallel processing methods
TW591526B (en) * 2002-04-09 2004-06-11 Via Tech Inc Data maintenance method of DSM system
US7035974B2 (en) * 2002-11-06 2006-04-25 Synology Inc. RAID-5 disk having cache memory implemented using non-volatile RAM
US7003645B2 (en) * 2002-12-18 2006-02-21 International Business Machines Corporation Use of a storage medium as a communications network for liveness determination in a high-availability cluster
US7386687B2 (en) * 2005-01-07 2008-06-10 Sony Computer Entertainment Inc. Methods and apparatus for managing a shared memory in a multi-processor system
US7353336B2 (en) 2005-03-09 2008-04-01 Hewlett-Packard Development Company, L.P. External RAID-enabling cache
US7949766B2 (en) * 2005-06-22 2011-05-24 Cisco Technology, Inc. Offload stack for network, block and file input and output
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US7882479B2 (en) * 2007-06-06 2011-02-01 International Business Machines Corporation Method and apparatus for implementing redundant memory access using multiple controllers on the same bank of memory
US7840730B2 (en) * 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
US8452846B2 (en) * 2010-08-12 2013-05-28 Talari Networks Incorporated Adaptive private network asynchronous distributed shared memory services
US8868848B2 (en) * 2009-12-21 2014-10-21 Intel Corporation Sharing virtual memory-based multi-version data between the heterogenous processors of a computer platform
US9112887B2 (en) * 2010-11-19 2015-08-18 Toshiba Corporation Mirroring solution in cloud storage environment
US9448940B2 (en) * 2011-10-28 2016-09-20 The Regents Of The University Of California Multiple core computer processor with globally-accessible local memories
JP5590022B2 (ja) 2011-12-28 2014-09-17 富士通株式会社 情報処理装置、制御方法および制御プログラム
US9842025B2 (en) * 2012-01-16 2017-12-12 International Business Machines Corporation Efficient state tracking for clusters

Also Published As

Publication number Publication date
US20150186215A1 (en) 2015-07-02
JP2015127949A (ja) 2015-07-09
US9372752B2 (en) 2016-06-21
DE102014117465B4 (de) 2021-05-06
US20170052860A1 (en) 2017-02-23
DE102014117465A1 (de) 2015-07-02
US10229024B2 (en) 2019-03-12
CN104750658A (zh) 2015-07-01
JP6202756B2 (ja) 2017-09-27

Similar Documents

Publication Publication Date Title
CN104750658B (zh) 辅助式一致共享存储器
CN104750624B (zh) 群集级数据一致性模型和协议
US10521135B2 (en) Data system with data flush mechanism
US20210263658A1 (en) Data system with flush views
Aguilera et al. Remote memory in the age of fast networks
US11438411B2 (en) Data storage system with redundant internal networks
CN101952814B (zh) 用于在虚拟环境中实施虚拟存储池的方法和系统
CN104750559B (zh) 跨多节点的存储器资源的池化
CN102110071B (zh) 一种虚拟机集群系统及其实现方法
CN105960639B (zh) 分布式存储系统中的优先化数据重构
CN103597451B (zh) 用于高可用性的存储器镜像和冗余生成
CN105843557B (zh) 冗余存储系统、冗余存储方法和冗余存储装置
US20150222705A1 (en) Large-scale data storage and delivery system
AU2017387063A1 (en) Data storage system with multiple durability levels
JP5946472B2 (ja) コンピュータ・システムにおけるアプリケーション処理の管理のための方法、システム、コンピュータ・プログラム
CN109471770A (zh) 一种系统管理方法和装置
US20210064234A1 (en) Systems, devices, and methods for implementing in-memory computing
CN105872031B (zh) 存储系统
CN104516832B (zh) 操作数据处理系统的方法、数据处理系统以及处理器
CN105867842A (zh) 对存储系统的访问控制方法及装置
CN104636269B (zh) 高可用性数据处理系统及其方法
KR20190048456A (ko) 컴퓨팅 디바이스 및 그것의 동작방법
TW202344971A (zh) 使用整合記憶體池化及直接交換快取的系統及方法
Krogh et al. System Planning
JP2023151189A (ja) ストレージシステム及びその制御方法

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