CN104508647B - 用于扩大超大规模计算系统的存储器容量的方法和系统 - Google Patents
用于扩大超大规模计算系统的存储器容量的方法和系统 Download PDFInfo
- Publication number
- CN104508647B CN104508647B CN201280075200.2A CN201280075200A CN104508647B CN 104508647 B CN104508647 B CN 104508647B CN 201280075200 A CN201280075200 A CN 201280075200A CN 104508647 B CN104508647 B CN 104508647B
- Authority
- CN
- China
- Prior art keywords
- memory
- ultra
- computing system
- memcached
- memory blade
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/26—Using a specific storage system architecture
- G06F2212/264—Remote server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
提供了用于扩大存储器容量的方法,系统和计算机可读和可执行指令。扩大存储器容量可以包括:经由互连把存储器刀片连接到超大规模计算系统,其中超大规模计算系统包括存储器内键‑值高速缓存器;以及针对超大规模计算系统使用存储器刀片扩大存储器容量。
Description
背景技术
存储器中键-值(key-value)高速缓存器可以用来针对交互式Web层应用改进性能。为了实现改进的性能,键-值高速缓存器具有如下的同时要求:提供对对象的低延时、高吞吐量访问并且提供存储大量这种对象的容量。
附图说明
图1是图示根据本公开的系统的示例的框图。
图2是图示根据本公开的用于提供存储器容量的方法的示例的框图。
图3是图示根据本公开的处理资源、存储器资源和计算机可读介质的框图。
具体实施方式
存储器刀片可以被用于为存储器受限的超大规模计算系统提供扩张的容量,该超大规模计算系统诸如例如包括存储器内键-值高速缓存器的超大规模计算系统。与其它高速缓存器相比,键-值高速缓存器可能需要由高速存储装置(例如动态随机存取存储器(DRAM)速度存储装置)提供更大存储器容量,并且还可能需要向外延展(scale-out)的部署。超大规模计算系统可以提供键-值高速缓存器的这种向外延展部署,但是可能不具有提供足够存储器容量的能力,这是因为物理约束和特定处理器(例如32位处理器)的使用这两者。经由高速互连(例如外围部件快速互连(PCIe))附接存储器刀片可以使超大规模系统能够达到针对键-值高速缓存器的必要存储器容量,这通过提供比键-值高速缓存器自己更大的存储器容量存储器来实现。
本公开的示例可以包括方法、系统以及计算机可读和可执行指令和/或逻辑。用于扩大存储器容量的示例性方法可以包括:经由互连把存储器刀片连接到超大规模计算系统,其中超大规模计算系统包括存储器内键-值高速缓存器;以及使用存储器刀片对超大规模计算系统扩大存储器容量。
在本公开的以下详细描述中,参考形成本文一部分的附图,并且在附图中通过图示的方式示出本公开的示例可以如何实践。这些示例被足够详细地描述以使得本领域普通技术人员能够实践本公开的示例,并且要理解的是,在不脱离本公开的范围的情况下,可以利用其它示例并且可以做出过程、电气和/或结构的改变。
本文中的图遵循编号惯例,其中开头的一个或多个数字对应于绘图编号,并且其余数字标识附图中的元件或部件。不同图之间的类似元件或部件可以通过使用类似数字来标识。本文中各个示例中示出的元件可以被添加、交换和/或消除,以便提供本公开的多个附加示例。
此外,图中所提供的元件的比例和相对尺度意图图示本公开的示例,并且不应当以限制的意义进行理解。如本文使用的,尤其关于附图中的附图标记的标志符“N”、“P”、“R”和“S”指示:这样指定的多个特定特征可以被包括在本公开的多个示例中。而且,如本文所使用的,“多个”元件和/或特征可以指示一个或多个这样的元件和/或特征。
存储器内键-值高速缓存器(诸如memcached(分布式高速缓存系统))可以用来针对交互式Web层应用改进性能。特别地,在这个背景中使用的键-值高速缓存器具有如下的同时要求:提供对对象的低延时、高吞吐量访问并且提供存储许多这种对象的容量。键-值高速缓存器可能需要许多千兆字节的容量(例如每个节点至少64GB存储器)来高速缓存足够的数据以便实现需要的命中率。超大规模系统可以利用如下设计:该设计中计算刀片是高度存储器受限的,这归因于物理空间限制并且因为它们利用32位处理器。这些约束可以把这种系统限制到近似4GB的存储器,远低于memcached服务器的期望容量。然而,这样的超大规模系统另外具有针对键-值高速缓存器系统(例如memcached)的期望属性,其要求高I/O性能和高向外延展,但不需要大量的计算能力。
如将在本文中进一步讨论的,通过使用分列存储器提供扩张的存储器容量,超大规模计算系统可以与存储器内键-值高速缓存器一起使用。分列存储器可以包括例如把存储器资源的部分与服务器分离并且组织和共享存储器资源。这可以使数据中心管理员能够提供满足期望吞吐量的数量的超大规模服务器,同时独立利用存储器刀片以满足期望的存储器容量。分列存储器架构可以通过经由高速互连(诸如快速PCI(PCIe))连接的存储器刀片提供远程存储器容量。在这样的架构中,本地动态随机存取存储器(DRAM)可以被扩大为具有远程DRAM。通过使存储器刀片的设计专用化,这个远程容量可以大于本地DRAM,并且能够以减小的成本提供这些容量。
在存储器内键-值高速缓存器的情况下,分列存储器能够提供所需的DRAM容量,并且可以使用过滤器来避免系统性能的降级。例如,过滤器可以被用于提供对在远程存储器上存在数据可能性的检测,从而允许系统确定是否必须访问远程存储器。在一些示例中,可以避免远程存储器访问,从而防止相对于键-值高速缓存器的基准实施方式添加附加延时。在一些示例中, 如果超大规模计算系统是物理上存储器受限的,则分列存储器可以被用于提供分离的存储器刀片设备,该设备能够寻址存储器区的整个容量(例如数百GB到数十TB)。这个能力可以把提供扩张的键-值高速缓存器容量与超大规模服务器寻址大存储器的能力解耦。
当被部署有与其它规模(例如数百万个体服务器)相比可以更大的目标规模时,超大规模计算系统被设计为相对于传统机架或刀片安装的服务器实现性能/成本优势。那些效率水平的驱动因素之一是每立方英尺体积增加的计算机密度水平。因此,这种超大规模系统的重要设计目标是利用有限的热预算和有限的物理不动产来实现性能(例如最大性能)。超大规模计算可以包括微刀片设计,其中个体服务器非常小以实现非常密集的服务器部署。因此,可能存在对用于DRAM的空间的物理约束。此外,这种超大规模系统可以利用比其它系统低成本和低功率的处理器来实现在特定热预算内的向外延展。例如,目前的低功率处理器可以包括32位处理器。这些约束的组合可以导致这样的超大规模计算系统,其无法具有足够的DRAM容量用于键-值高速缓存器,诸如memcached。
图1是图示根据本公开的系统100的示例的框图。系统100可以包括存储器刀片102,存储器刀片102经由互连108和母板112连接到超大规模计算系统104。互连108可以包括例如PCIe。
在一些示例中,PCIe附接的存储器刀片102被用于为超大规模计算系统104提供扩张的容量。存储器刀片102包括互连108(例如PCIe桥)、轻量(例如32位)处理器106和DRAM容量。轻量处理器106可以处置通用功能以支持memcached扩展。存储器刀片102可以被多个服务器同时使用,每个服务器具有其自身的专用互连通道,该互连通道把服务器连接到存储器刀片102。在一些实施例中,存储器刀片102是物理上的远程存储器。
存储器刀片102可以包括例如:具有容量优化板的托架、与板上缓冲器芯片一起的多个双列直插存储器模块(DIMM)槽、多个千兆字节到百万兆字节的DRAM、轻量处理器(例如处理器106)、用于与DRAM通信的多个存储器控制器以及互连桥(诸如PCIe桥)。存储器刀片可以是与计算机刀片相同形状因子的刀片,或者取决于空间约束而具有独立的形状因子。
为了向目标为memcached使用情况的超大规模计算系统104提供扩张的容量,可以通过与典型memcached服务器输出相同的命令(put、get、incr、decr、remove)的窄接口访问存储器刀片102。在一些实施例中,超大规模计算系统104可以包括多个超大规模服务器。
在接收到memcached请求(例如,对数据的memcached请求)时,超大规模计算系统104内的超大规模服务器可以检查其本地memcached内容以查看它是否能够服务该请求。如果它命中了它的本地高速缓存器,则操作可以如在未修改系统中那样进行,未修改系统为具有标准独立服务器的部署(例如不具有远程存储器刀片),然而,如果它未命中它的本地高速缓存器,则服务器可以确定它是否应当把该请求发送到存储器刀片102。
在接收到请求时,存储器刀片102可以检验(例如查找)它的与那个服务器相关联的高速缓存器内容,以所请求的数据进行答复,更新所请求的数据,或者答复它不具有该数据。当memcached条目由于容量约束而被从服务器驱出时,存储器刀片自身可以被填入数据。代替删除该数据,那些项目可以被放入存储器刀片中。如果存储器刀片的空间溢出,则它也可以驱出项目,并且那些项目可以被删除。当返回项目时,如果该项目将被推进到服务器的高速缓存器,存储器刀片102可以可选地从其高速缓存器移除那些项目;这可以通过服务器来完成,该服务器主动地指示它想要推进当发送对存储器刀片的访问时它正在请求的项目。
因为访问远程存储器可能要求额外时间,所以在一些实施例中当可能不具有有用的内容时,对远程存储器的访问可以被减少。过滤器110可以被用于减少对存储器刀片102的访问,并且过滤器110可以被保持在超大规模计算系统104内的服务器上。可以通过使键散列(hash)而生成过滤器索引来访问过滤器110,并且键/值对可以被查找,其中键/值对指示在存储器刀片上项目的可能存在。
在一些示例中,如果对应于键的值大于1,则存储器刀片102可能潜在地具有该键;否则如果它是0,则保证存储器刀片104不具有该键。在这样的设计中,过滤器110将不产生假否定。当项目被从本地高速缓存器驱出到存储器刀片102时,过滤器110可以被更新,并且在该时间,过滤器110可以被索引并且在该索引的值可以递增。当该项目被从存储器刀片102返回(或驱出)时,针对该索引的过滤器100的值可以递减。通过在访问存储器刀片102之前访问过滤器110,可以更快速地确定是否应当访问存储器刀片。
在一些实施例中,由于超大规模计算系统104内本地存储器的有限容量,可以采用如下策略:增加(例如优化)对本地存储器容量的使用。例如,到期项目可以从本地存储器被主动驱出。默认地,memcached使用到期项目的迟钝驱出;如果项目经过了其到期时间,则它仅在它被再次访问时被驱出。在本公开的一些示例中,超大规模服务器可以主动地发现到期项目并且把它们从本地高速缓存器驱出。可以在访问存储器刀片102期间执行这些操作,同时服务器正在等待来自存储器刀片102的响应。例如,这可能导致在把访问和转移时间重叠到存储器刀片102时工作被执行。
在一些示例中,存储器刀片102可以由超大规模计算系统104内的多个超大规模服务器共享。存储器刀片102的内容可以被静态地划分,从而为每个服务器提供一组量的存储器,或者存储器刀片102的内容可以在所有服务器(假设它们是相同memcached集群的所有部分并且被允许访问相同的内容)之间共享。静态划分可以帮助隔离每个服务器的服务质量,从而确保一个服务器不会独占高速缓存器容量。
图2是图示根据本公开的用于扩大存储器容量的方法220的示例的框图。在222,存储器刀片经由互连连接到超大规模计算系统。在多个实施例中,超大规模计算系统包括存储器内键-值高速缓存器。在一些示例中,互连可以包括PCIe。
在224,针对超大规模计算系统使用存储器刀片扩大存储器容量。在一些示例中,互连附接存储器刀片可以被用于为超大规模计算系统提供扩展的容量,如关于图1所讨论的。例如,memcached容量可以在本地高速缓存器和存储器刀片之间被划分,从而导致扩张的高速缓存器。
在一些示例中,可以利用过滤器来确定是否访问针对扩张的存储器容量的存储器刀片。例如,过滤器可以用于确定是否访问针对客户端所请求数据的存储器刀片。
图3图示根据本公开的示例的示例性计算设备330。计算设备330可以利用软件、硬件、固件和/或执行多个功能的逻辑。
计算装置330可以是硬件和程序指令的组合,该程序指令被配置为执行多个功能。该硬件例如可以包括一个或多个处理资源332、计算机可读介质(CRM)336等。程序指令(例如计算机可读指令(CRI)344))可以包括存储在CRM336上并且可由处理资源332执行以实施期望功能(例如扩大用于超大规模计算系统的存储器容量等)的指令。
CRM336可以与多于或少于332的多个处理资源通信。处理资源332可以与有形非临时性CRM336通信,该有形非临时性CRM336存储可由一个或多个处理资源332执行的一组CRI344,如本文所描述的。CRI344还可以被存储在由服务器管理的远程存储器中并且可以表示能够下载、安装和执行的安装包。计算设备330可以包括存储器资源334,并且处理资源332可以与存储器资源334耦合。
处理资源332可以执行CRI344,CRI344可以被存储在内部或外部非临时性CRM336上。处理资源332可以执行CRI344以执行各种功能,包括图1和图2中描述的功能。
CRI344可以包括多个模块338、340和342。该多个模块338、340和342可以包括如下CRI:当被处理资源332执行时,CRI可以执行多个功能。
该多个模块338、340和342可以是其它模块的子模块。例如,接收模块338和确定模块340可以是单个模块的子模块和/或被包含在单个模块中。另外,该多个模块338、340和342可以包括彼此分离和不同的个体模块。
接收模块338可以包括CRI344并且可以由处理资源332执行以接收到超大规模计算系统的memcached请求。在一些示例中,超大规模计算系统可以包括本地memcached高速缓存系统并且经由互连(例如PCIe)被连接到存储器刀片。
确定模块364可以包括CRI344并且可以由处理资源332执行以通过分析本地memcached高速缓存系统的内容来确定memcached请求是否可以在超大规模计算系统上被服务。
执行模块342可以包括CRI344并且可以由处理资源332执行以基于所述确定来执行动作。例如,用于执行动作的可执行指令可以包括用于响应于确定memcached请求不能在超大规模计算系统上被服务而把memcached请求发送到存储器刀片的可执行指令。
在多个实施例中,用于执行动作的可执行指令可以包括用于响应于确定该请求不能在超大规模计算系统上被服务并且基于从memcached请求滤除请求数据和从memcached请求驱出请求数据中的至少一个而不把该请求发送到存储器刀片的可执行指令。例如,CRM336可以包括用于在执行用于查找存储器刀片内的高速缓存器内容的指令时从本地memcached高速缓存系统驱出到期数据的可执行指令。
在多个实施例中,用于把请求发送到存储器刀片的指令可以包括用于查找存储器刀片内高速缓存器内容并且以来自memcached请求的所请求数据来答复超大规模计算系统的可执行指令。用于把请求发送到存储器刀片的可执行指令可以包括用于查找存储器刀片内高速缓存器内容并且以来自memcached请求的更新的所请求数据来答复超大规模计算系统的可执行指令。在一些示例中,用于把请求发送到存储器刀片的可执行指令可以包括用于查找存储器刀片内高速缓存器内容并且以所述存储器刀片不包括来自memcached请求的所请求数据来答复超大规模计算系统的可执行指令。
在本公开的一些示例中,用于执行动作的可执行指令可以包括用于响应于确定请求可以在超大规模计算系统(比如未修改(例如默认)系统)上被服务而进行的可执行指令,其中未修改系统指代独立服务器的部署的行为(例如不具有远程存储器刀片的超大规模系统,和/或标准非超大规模服务器)。
本文所使用的非临时性CRM336可以包括易失性和/或非易失性存储器。易失性存储器可以特别包括依赖于电力功率来存储信息的存储器,诸如各种类型的动态随机存取存储器(DRAM)等等。非易失性存储器可以包括不依赖于电力功率来存储信息的存储器。非易失性存储器的示例可以包括固态介质,诸如闪存、电可擦除可编程只读存储器(EEPROM)、相变随机存取存储器(PCRAM)、磁性存储器(诸如硬盘、磁带驱动器、软盘和/或磁带存储器)、光盘、数字通用盘(DVD)、蓝光盘(BD)、紧凑盘(CD)和/或固态驱动器(SSD)等,以及其它类型的计算机可读介质。
非临时性CRM336可以是与计算设备为一体的,或者以有线和/或无线方式通信耦合到计算设备。例如,非临时性CRM336可以是内部存储器、便携存储器、便携盘或与另一计算资源相关联的存储器(例如使CRI344能够被横跨网络(诸如因特网)转移和/或执行)。
CRM336可以经由通信路径346与处理资源332通信。通信路径346可以相对于与处理资源332相关联的机器(例如计算机)在本地或是远程的。本地通信路径346的示例可以包括机器(例如计算机)内部的电子总线,其中CRM336是易失性、非易失性、固定、和/或可移除存储介质之一,其经由电子总线与处理资源332通信。除了其它类型的电子总线及其变型之外,这种电子总线的示例可以特别包括工业标准架构(ISA)、外围部件互连(PCI)、高级技术附件(ATA)、小型计算机系统界面(SCSI)、通用串行总线(USB)。
通信路径346可以使得CRMA336距处理资源(例如处理资源332)为远程的,通信路径346诸如为在CRM336和处理资源(例如处理资源332)之间的网络连接。即,通信路径346可以是网络连接。这种网络连接的示例可以特别包括局域网(LAN)、广域网(WAN)、个域网(PAN)和因特网。在这样的示例中,CRM336可以与第一计算设备相关联并且处理资源332可以与第二计算设备(例如Java®服务器)相关联。例如,处理资源332可以与CRM336通信,其中CRM336包括指令集并且其中处理资源332被设计为执行该指令集。
如本文使用的,“逻辑”是替代或附加的处理资源,用于执行本文描述的特定动作和/或功能等,其包括硬件(例如各种形式的晶体管逻辑、专用集成电路(ASIC)等),与存储在存储器中并可由处理器执行的计算机可执行指令(例如,软件、固件等)相反。
说明书示例提供了对本公开的系统和方法的应用和使用的描述。因为可以在不脱离本公开的系统和方法的精神和范围的情况下做出许多示例,本说明书阐述了许多可能示例性配置和实施方式中的一些。
Claims (14)
1.一种用于扩大超大规模计算系统的存储器容量的方法,包括:
经由互连把存储器刀片连接到超大规模计算系统,其中超大规模计算系统包括存储器内键-值高速缓存器;以及
针对超大规模计算系统使用存储器刀片扩大存储器容量;
使用过滤器基于散列键确定在所述存储器刀片上存在期望的键值的可能性; 和
基于所确定的可能性针对期望的键值访问存储器刀片。
2.根据权利要求1所述的方法,其中存储器内键-值高速缓存器包括memcached高速缓存系统。
3.根据权利要求1所述的方法,其中互连包括外围部件快速互连扩张总线。
4.一种用于针对超大规模计算系统扩大存储器容量的方法,所述方法包括:
接收到超大规模计算系统的memcached请求,其中超大规模计算系统包括本地memcached高速缓存系统并且经由外围部件快速互连扩张总线被连接到存储器刀片;
通过分析本地memcached高速缓存系统的内容来确定memcached请求是否能够在超大规模计算系统上被服务;以及
基于所述确定来执行动作。
5.根据权利要求4的方法,其中执行动作包括:响应于确定memcached请求不能在超大规模计算系统上被服务而把memcached请求发送到存储器刀片。
6.根据权利要求5的方法,其中把所述请求发送到存储器刀片还包括:查找存储器刀片内高速缓存器内容并且以来自memcached请求的所请求数据来答复超大规模计算系统。
7.根据权利要求5的方法,其中把所述请求发送到存储器刀片还包括:查找存储器刀片内高速缓存器内容并且以来自memcached请求的更新的所请求数据来答复超大规模计算系统。
8.根据权利要求5的方法,其中把所述请求发送到存储器刀片还包括:查找存储器刀片内高速缓存器内容并且以所述存储器刀片不包括来自memcached请求的所请求数据来答复超大规模计算系统。
9.根据权利要求4的方法,其中,执行动作包括:响应于确定所述请求不能在超大规模计算系统上被服务并且基于从memcached请求滤除所请求数据和从memcached请求驱出所请求数据中的至少一个而不把所述请求发送到存储器刀片。
10.根据权利要求4的方法,其中,执行动作包括:响应于确定请求能够在作为未修改系统的超大规模计算系统上被服务而进行。
11.根据权利要求6的方法,还包括在存储器刀片内查找高速缓存器内容时从本地memcached高速缓存系统驱出到期数据。
12.一种用于扩大存储器容量的系统,包括:
存储器刀片,用于针对超大规模计算系统扩大存储器容量;以及
超大规模计算系统,经由外围部件快速互连扩张总线连接到存储器刀片,超大规模计算系统包括:
memcached高速缓存系统;以及
过滤器,用于基于散列键检测存储器刀片上数据的存在并且确定是否访问所述数据。
13.根据权利要求12的系统,其中,所述过滤器产生非假否定。
14.根据权利要求12的系统,其中,所述存储器刀片由超大规模计算系统的多个服务器共享,并且存储器刀片的内容在所述多个服务器之间被静态划分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/041536 WO2013184124A1 (en) | 2012-06-08 | 2012-06-08 | Augmenting memory capacity for key value cache |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104508647A CN104508647A (zh) | 2015-04-08 |
CN104508647B true CN104508647B (zh) | 2018-01-12 |
Family
ID=49712379
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280075200.2A Expired - Fee Related CN104508647B (zh) | 2012-06-08 | 2012-06-08 | 用于扩大超大规模计算系统的存储器容量的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20150177987A1 (zh) |
EP (1) | EP2859456A4 (zh) |
CN (1) | CN104508647B (zh) |
TW (1) | TWI510922B (zh) |
WO (1) | WO2013184124A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491667B1 (en) * | 2015-03-16 | 2019-11-26 | Amazon Technologies, Inc. | Customized memory modules in multi-tenant service provider systems |
US10225344B2 (en) | 2016-08-12 | 2019-03-05 | International Business Machines Corporation | High-performance key-value store using a coherent attached bus |
US10831404B2 (en) * | 2018-02-08 | 2020-11-10 | Alibaba Group Holding Limited | Method and system for facilitating high-capacity shared memory using DIMM from retired servers |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702848B2 (en) * | 2004-06-10 | 2010-04-20 | Marvell World Trade Ltd. | Adaptive storage system including hard disk drive with flash interface |
US20060259733A1 (en) * | 2005-05-13 | 2006-11-16 | Sony Computer Entertainment Inc. | Methods and apparatus for resource management in a logically partitioned processing environment |
WO2010002411A1 (en) * | 2008-07-03 | 2010-01-07 | Hewlett-Packard Development Company, L.P. | Memory server |
CN101562543B (zh) * | 2009-05-25 | 2013-07-31 | 阿里巴巴集团控股有限公司 | 一种缓存数据的处理方法、处理系统和装置 |
WO2011002437A1 (en) * | 2009-06-29 | 2011-01-06 | Hewlett-Packard Development Company, L.P. | Memory agent to access memory blade as part of the cache coherency domain |
US8521962B2 (en) * | 2009-09-01 | 2013-08-27 | Qualcomm Incorporated | Managing counter saturation in a filter |
US9767070B2 (en) * | 2009-11-06 | 2017-09-19 | Hewlett Packard Enterprise Development Lp | Storage system with a memory blade that generates a computational result for a storage device |
US8433695B2 (en) * | 2010-07-02 | 2013-04-30 | Futurewei Technologies, Inc. | System architecture for integrated hierarchical query processing for key/value stores |
US20120054440A1 (en) * | 2010-08-31 | 2012-03-01 | Toby Doig | Systems and methods for providing a hierarchy of cache layers of different types for intext advertising |
US8499121B2 (en) * | 2011-08-31 | 2013-07-30 | Hewlett-Packard Development Company, L.P. | Methods and apparatus to access data in non-volatile memory |
-
2012
- 2012-06-08 EP EP12878548.2A patent/EP2859456A4/en not_active Withdrawn
- 2012-06-08 CN CN201280075200.2A patent/CN104508647B/zh not_active Expired - Fee Related
- 2012-06-08 WO PCT/US2012/041536 patent/WO2013184124A1/en active Application Filing
- 2012-06-08 US US14/405,899 patent/US20150177987A1/en not_active Abandoned
-
2013
- 2013-06-07 TW TW102120305A patent/TWI510922B/zh not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
System-level Implications of Disaggregated Memory;Lim et al;《IEEE International Symposium on High-Performance Comp Architecture》;20120229;第1-3、6节 * |
Also Published As
Publication number | Publication date |
---|---|
WO2013184124A1 (en) | 2013-12-12 |
TWI510922B (zh) | 2015-12-01 |
EP2859456A1 (en) | 2015-04-15 |
CN104508647A (zh) | 2015-04-08 |
TW201411349A (zh) | 2014-03-16 |
US20150177987A1 (en) | 2015-06-25 |
EP2859456A4 (en) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102044023B1 (ko) | 키 값 기반 데이터 스토리지 시스템 및 이의 운용 방법 | |
JP5932043B2 (ja) | 不揮発性記憶装置セットの揮発メモリ表現 | |
KR101786871B1 (ko) | 원격 페이지 폴트 처리 장치 및 그 방법 | |
KR102569545B1 (ko) | 키-밸류 스토리지 장치 및 상기 키-밸류 스토리지 장치의 동작 방법 | |
JP2019508765A (ja) | 記憶システムおよびソリッドステートディスク | |
US10235047B2 (en) | Memory management method, apparatus, and system | |
TW201220197A (en) | for improving the safety and reliability of data storage in a virtual machine based on cloud calculation and distributed storage environment | |
WO2019053534A1 (en) | DYNAMIC DATA TRANSLATION USING CLOUD LEVELS | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
CN107969153B (zh) | 一种资源分配方法、装置及numa系统 | |
US10198180B2 (en) | Method and apparatus for managing storage device | |
WO2023035646A1 (zh) | 一种扩展内存的方法、装置及相关设备 | |
US9063667B2 (en) | Dynamic memory relocation | |
CN114625762A (zh) | 一种元数据获取方法、网络设备及系统 | |
CN104158863A (zh) | 基于事务级别全程高速缓冲的云存储机制 | |
CN104508647B (zh) | 用于扩大超大规模计算系统的存储器容量的方法和系统 | |
WO2016029524A1 (zh) | 一种用于闪存的网络存储设备及其处理方法 | |
WO2017020757A1 (en) | Rebalancing and elastic storage scheme with elastic named distributed circular buffers | |
US9547590B2 (en) | Managing memory | |
JP6343722B2 (ja) | マルチコアシステムにおいてデータ訪問者ディレクトリにアクセスするための方法及びデバイス | |
US11875152B2 (en) | Methods and systems for optimizing file system usage | |
CN107102898B (zh) | 一种基于numa架构的内存管理、构建数据结构的方法及装置 | |
US11016666B2 (en) | Memory system and operating method thereof | |
CN116644006B (zh) | 一种内存页面管理方法、系统、装置、设备及计算机介质 | |
CN117667987A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20161221 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, L.P. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180112 Termination date: 20190608 |