CN109844723A - 使用基于服务的统计信息进行主控建立的方法和系统 - Google Patents
使用基于服务的统计信息进行主控建立的方法和系统 Download PDFInfo
- Publication number
- CN109844723A CN109844723A CN201780061345.XA CN201780061345A CN109844723A CN 109844723 A CN109844723 A CN 109844723A CN 201780061345 A CN201780061345 A CN 201780061345A CN 109844723 A CN109844723 A CN 109844723A
- Authority
- CN
- China
- Prior art keywords
- service
- data block
- subrange
- node
- access
- 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.)
- Granted
Links
Classifications
-
- 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
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3471—Address tracing
-
- 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- 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/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/465—Structured object, e.g. database record
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/507—Control mechanisms for virtual memory, cache or TLB using speculative control
-
- 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/6026—Prefetching based on access pattern detection, e.g. stride based prefetch
-
- 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/6042—Allocation of cache space to multiple users or processors
-
- 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/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
描述了一种用于将节点的主控权指派到数据块的方法和装置。一种方法涉及基于与多个会话相关联的服务将多个会话中的每个会话连接到节点集群的特定节点。多个会话中的每个会话与多个服务中的相应服务相关联。该方法还涉及收集通过服务和数据块地址的范围被聚合的基于服务的访问统计信息。每个范围与数据块地址的一个或多个连续的子范围对应。该方法还涉及基于与节点相关联的服务和所述基于服务的访问统计信息,将节点的主控权指派到具有数据块地址的所述范围内的地址的数据块。
Description
相关申请的交叉引用
本申请涉及标题为“Techniques For Multiple Window Resource RemasteringAmong Nodes Of A Cluster”的美国专利No.7,379,952,其全部内容通过引用并入本文用于所有目的,如同在本文完全阐述一样。
本申请涉及标题为“Dynamic Remastering For A Subset Of Nodes In ACluster Environment”的美国专利No.7,080,075,其全部内容通过引用并入本文用于所有目的,如同在本文完全阐述一样。
本申请涉及标题为“Remastering For Asymmetric Clusters In High-LoadScenarios”的美国专利No.7,389,293,其全部内容通过引用并入本文用于所有目的,如同在本文完全阐述一样。
本申请涉及标题为“Method and System For Mastering Locks In A MultipleServer Database System”的美国专利No.6,272,491,其全部内容通过引用并入本文用于所有目的,如同在本文完全阐述一样。
本申请涉及标题为“Techniques For DLM Optimization With Re-MasteringEvents”的美国专利No.6,529,906,其全部内容通过引用并入本文用于所有目的,如同在本文完全阐述一样。
本申请涉及标题为“Techniques For Adding A Master In A DistributedDatabase Without Suspending Database Operations At Extant Master Sites”的美国专利No.7,039,669,其全部内容通过引用并入本文用于所有目的,如同在本文完全阐述一样。
技术领域
本发明一般而言涉及计算机系统和数据处理,更具体而言,涉及用于基于服务访问进行节点的主控(master)建立和缓冲区高速缓存预热(warm up)的系统和方法。
背景技术
数据库管理系统(DBMS)将数据库数据存储在持久性存储装置中存储的数据文件的数据块中。为了读取和/或修改数据块中的数据,DBMS将数据的副本读入到缓冲区高速缓存中的缓冲区中,该缓冲区高速缓存驻留在诸如易失性RAM之类的RAM(随机存取存储器)中。缓冲区高速缓存存储从数据文件读取的数据块的副本。一般地,DBMS数据库系统通常将数据存储在更便宜的高延迟非易失性存储器(例如,盘)中以用于数据持久性以及更经济地存储大量数据。
一般地,缓冲区高速缓存只能保持数据库的数据块的一部分。为了增强高效的访问,对缓冲区高速缓存进行管理,使得最有可能被读取的数据块最有可能被存储并保留在缓冲区高速缓存中。
增长的数据量以及在线分析处理(OLAP)和数据即服务(DaaS)服务加速了具有更高存储装置、RAM和闪存能力的数据库系统的部署。在服务启动和/或重新定位的情况下,(重新)填充缓冲区高速缓存需要很长时间,并导致吞吐量降低和响应时间增加。由于云系统的动态本质,该问题在云系统中甚至更加明显。例如,在云系统中,服务经常在新节点上启动并在节点之间重新定位以执行已计划的升级和/或维护以及优化资源的利用。
数据库系统将受益于在启动和/或重新定位时用数据块主动填充高速缓存,并且用在启动之后最有可能被读取的数据块填充高速缓存的高效方法。
许多DBMS是多节点DBMS,其包括管理对数据库的访问的多个数据库服务器(数据库实例)。每个节点包括在耦合到RAM存储器的一个或多个处理器上运行的数据库实例。每个节点可以访问数据库的相同数据块。为了协调对数据块的访问,使用锁来授予对数据块的访问级别。
具体而言,为了让节点访问数据块并将数据块读入到节点的缓冲区高速缓存中,首先由节点获得锁。锁是从作为数据块的主控的节点获得的。主控负责管理在数据库的一组数据块上的锁。数据块的主控在本文可以被称为数据块的所有者。
在多节点DBMS中,在节点之间划分数据库的数据块的主控权(mastership)。一组数据块的主控接收对该组数据块中的任何数据块上的锁的请求、授予所请求的锁,并跟踪哪些节点具有哪些数据块上的锁。
由节点做出的对锁的请求由在节点上运行的进程做出。在节点上运行的进程可以请求由该节点拥有的或由另一个节点拥有的数据块上的锁。当数据块由另一个节点拥有时,对锁的请求需要节点间通信,这延迟了对锁请求的处置。至少由于这个原因,当数据块由节点主控时,该节点可以更快地访问该数据块。此外,当一组块的主控权被指派给相对于另一个节点更频繁地访问该组块的主控时,可以使得对数据块的访问在系统范围内更高效。
本节中描述的方法是可以贯彻的方法,但不一定是以前已被设想或贯彻的方法。因此,除非另有指示,否则不应当假设本节中描述的任何方法仅仅由于它们被包括在本节中而被认为是现有技术。
附图说明
通过示例的方式而非限制的方式在附图的各图中图示了本发明,并且其中相同的标号指代类似的元素,并且其中:
图1是用于收集、管理和存储基于服务的访问统计信息(即,统计信息收集和管理(SCM))的示例性方法的图示;
图2A和图2B是示例性基于服务的间隙(slot)边界的图示;
图3是图示用于将节点的主控权指派到数据块的处理的流程图;
图4是图示用于预热缓冲区高速缓存的处理的流程图;以及
图5是图示可以在其上实现本发明的实施例的计算机系统的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明的透彻理解。但是,显而易见的是,可以在没有这些具体细节的情况下实践本发明。在其它情况下,以框图形式示出了众所周知的结构和设备,以便避免不必要地模糊本发明。
总体概述
本文描述了用于一经启动时利用被确定为被节点最频繁访问的数据块来填充多节点DBMS的节点的缓冲区高速缓存的方法。此外,将数据块的主控权指派给节点,使得每个节点拥有该节点比其它节点更频繁访问的数据块。这些方法通过跟踪由节点上运行的服务进行的对数据块的访问来实现。
服务与在DBMS上运行的会话相关联。可以使用数据定义语言(DDL)语句在数据字典中定义服务。为了在DBMS上建立会话,客户端请求会话。对会话的请求可以指定服务。这样的请求在本文被称为对服务的请求。服务也可以以其它方式被指派,例如,基于客户端设备处的用户认证。DBMS将对服务的请求定向到已经被指派为运行该服务的节点。此节点也被称为运行或托管该服务。服务可以由多于一个节点托管,并且节点可以托管多个服务。
托管服务的节点倾向于访问数据库中的某组数据块,而不访问数据库中的其它组数据块。其原因是服务通常根据应用来定义。应用倾向于访问保持由该应用使用的表的数据的数据块,而不访问未由该应用使用的表的数据。因此,托管服务的节点倾向于访问存储用于该服务的各个应用的数据的数据块,并且倾向于不访问存储用于其它服务的应用的数据的数据块。
当节点比其它节点更多地倾向于访问某组数据块时,该节点被称为对该组数据块具有亲和性(affinity)。类似地,当节点为了服务的会话而倾向于访问某些数据块多于数据库的其它数据块时,该服务被称为对某组数据块具有亲和性。因此,托管服务的节点可以对该服务对其具有亲和性的数据块具有亲和性。
节点在该节点对其具有亲和性的数据块上的主控权减少了锁定数据块所需的节点间交互,从而改善了高效的缓冲区高速缓存和数据块访问。重要的是,因为托管服务的节点可以对服务对其具有亲和性的数据块具有亲和性,因此该节点在这些数据块上的主控权也减少了锁定数据块所需的节点间交互并改善了高效的缓冲区高速缓存和数据块访问。
根据实施例,由服务跟踪由会话对数据块的访问。该信息用于确定哪些服务可以对哪些数据块具有亲和性。基于该信息,一经启动,托管服务的节点可以被指派在信息显示该服务对其具有亲和性的数据块上的主控权。当在其它时间确定主控权时,可以以这种方式使用该信息。
此外,在启动时,托管服务的节点的缓冲区高速缓存可以用信息显示该服务对其具有亲和性的数据块来填充。因此,数据库中最有可能被该节点访问的数据块已经在缓冲区高速缓存中,从而增加了高速缓存命中的机会。
DBMS概述
在数据库管理系统的上下文中使用本发明的实施例。因此,DBMS的描述是有用的。DBMS管理数据库。DBMS可以包括一个或多个数据库服务器。数据库包括被存储在持久存储器机制(诸如硬盘集合)上的数据库数据和数据库字典。数据库数据可以被存储在一个或多个数据容器中。每个容器包含记录。每条记录内的数据被组织成一个或多个字段。在关系DBMS中,数据容器被称为表,记录被称为行,并且字段被称为列。在面向对象的数据库中,数据容器被称为对象类,记录被称为对象,并且字段被称为属性。其它数据库体系架构可能使用其它术语。
用户可以通过向数据库服务器实例提交使数据库服务器实例对存储在数据库中的数据执行操作的命令,来与DBMS的数据库服务器的实例交互。例如,客户端设备处的用户经由数据库客户端向该数据库客户端维持与其的连接的数据库服务器实例提交数据库命令。用户可以是在客户端设备上运行的使得数据库客户端与数据库服务器实例交互的一个或多个应用。多方可以通过给定的应用访问数据库资源。多方和/或用户也可以在本文中被统称为用户。
为了使客户端与数据库服务器交互,为客户端建立会话。会话(诸如数据库会话)是为客户端建立的到服务器(诸如数据库实例)的特定连接,客户端通过该连接发出一系列请求(对执行数据库语句的请求)。对于在数据库实例上建立的每个数据库会话,维护反映数据库会话的当前状态的会话状态数据。这样的信息包含例如为其建立会话的客户端的身份、由在数据库会话内执行软件的进程生成的临时变量值,以及与会话相关联的服务。
如上所述,会话可以与服务相关联。在运行时将服务指派给节点,以便使节点托管服务。服务也可以与服务级别协议相关联,服务级别协议用于向服务指派多个节点并在节点内为这些服务分配资源。
可以跟踪服务活动以测量亲和性。当服务访问具有数据块地址范围内的地址的数据块时,可以通过基于服务的访问统计信息来跟踪该访问,以测量服务和该范围之间的亲和性。更高的访问频率可以与更大的亲和性相关。对于每个范围,可以通过将服务对该范围的总访问数除以服务对地址空间区域中的所有范围的累积访问数量来测量亲和性。如下面详细讨论的,对于跨数据块地址的范围的每个子范围,通过调整由每个子范围覆盖的区域来均衡特定服务的访问。因此,在调整子范围之后,跨该范围的子范围的亲和性是相对相等的。
数据块是数据库服务器可以请求从存储设备读取的以及写入到该存储设备的数据的原子单位,存储设备在例如块模式存储设备中存储表数据。为了从存储设备中检索行,将包含该行的数据块读入到存储器中,并进一步检查数据块以确定该行在数据块内的位置。
出于分页(paging)的目的,数据块可以被约束到离散数量的物理地址(即,离散大小)。数据块可以包括数据项和用于数据块特定信息的头部元数据,诸如数据块内的数据项的事务历史。在实施例中,数据项对应于以行为主的格式被组织到物理列中的一组逻辑连续行。例如,数据块可以包含在离散数量的连续存储器地址中的两行数据项:R1C1、R1C2、R1C3、R2C1、R2C2、R2C3以及关于所述数据项的元数据。
每个数据块具有对应的“主控节点”。主控节点协调对特定块和客户端节点的访问和修改。请求访问特定块的任何节点必须通过网络向主控节点发送锁请求以获得所需的许可。主控节点接收锁请求并将锁发送到进行请求的节点。
基于服务的访问统计信息
可以使用数据结构来跟踪访问。数据结构可以被划分到与数据块地址空间的范围的子范围相关联的间隙中。每个间隙具有相关联的起始地址点和结束地址点(即边界)。具有特定间隙的边界内的地址的数据块与该特定间隙相关联。可以调整间隙边界以改变哪些数据块和/或多少数据块与该间隙相关联。
每个服务可以具有指定的“协调器节点”。协调器节点可以针对特定服务在集群范围内收集和/或处理基于服务的访问统计信息。协调器节点针对特定服务在数据块地址空间的范围中创建和/或管理固定或可变数量的间隙。协调器节点收集由特定服务对具有落在数据块地址空间内的地址的数据块的聚合访问。
如果数据块具有特定间隙的边界内的地址,则该数据块的由特定服务进行的访问可以与该特定间隙“相关联”。间隙边界可以是动态的并且由协调器节点周期性地更新。间隙边界可以响应于特定事件被更新。例如,协调器节点可以调整间隙边界以均衡针对范围内的每个间隙聚合的由特定服务进行的访问的数量。即,可以调整范围内的每个间隙以跟踪相对相等数量的访问。由于这个原因,由不同间隙的范围所覆盖的地址的数量可能不同。协调器节点管理间隙边界,并将间隙和边界信息发送到其中特定服务处于活动状态的节点。与静态边界相比,动态间隙边界的使用可以显著提高高速缓存命中率。
对于每个间隙,特定服务的间隙“访问密度”可以通过将具有该间隙内的地址的数据块的由特定服务进行的访问的总数量除以具有该间隙内的地址的数据块的总数量来计算。即,访问密度是该间隙的每个数据块的访问数量。具有较低访问密度的间隙可以比具有较高访问密度的间隙覆盖更大部分的地址空间的范围。在实施例中,可以基于访问密度来指派数据块主控权。例如,托管具有特定间隙的最高访问密度的服务的节点被指派对具有该间隙内的地址的块的主控权。在另一个示例中,如果间隙在稳定状态下针对特定服务具有处于或高于阈值密度的访问密度,则协调器节点可以将对具有该间隙中的地址的数据块的主控权指派给托管服务的节点。
协调器节点可以基于各种算法来管理间隙边界。例如,如下面的表1中的算法所展示的,如果协调器节点确定范围内的第一间隙具有比该范围内的两个其它相邻间隙的组合更多的由特定服务进行的访问的数量,则可以分割第一间隙和/或可以合并其它这两个间隙。每个间隙具有索引值(例如,“i”、“i+1”等)以表示该间隙在地址的范围内的位置。可以在已经合并和/或分割间隙之后更新索引。在这个示例中,协调器节点可以继续合并和/或分割间隙,直到该范围中没有具有比任何两个其它间隙组合更多的访问的间隙为止。但是,如果在特定间隙中仅包含单个数据块地址,那么即使该特定间隙比两个其它间隙组合具有更多的访问,该特定间隙也不会被分割。
表1-用于管理间隙的算法
图1是根据实施例的用于收集、管理和存储基于服务的访问统计信息(即,统计信息收集和管理(SCM))的示例性方法的图示。可以以时间间隔执行该方法中的步骤。在102处,一个或多个进程访问一个或多个数据块。当进程访问数据块时,与该数据块相关联的间隙被调整。在一些情况下,生成包含各种信息的记录,诸如数据块元数据(例如,数据块地址)和做出了访问请求的服务的名称。
在104处,生成的记录可以用于更新由各个服务在节点处对每个块和/或间隙的访问计数。每个节点可以收集与每个间隙对应的由本地服务进行的访问。
在106处,节点将访问统计信息发送到集群网络内的节点(例如,协调器节点)。协调器节点在108处使用记录来更新和聚合集群范围内的统计信息。在110处,协调器节点处理记录并将信息存储在持久共享存储装置上。
图2A和图2B是根据实施例的示例性基于服务的间隙边界的图示。图2A和图2B图示了数据结构(例如,对应于从0延伸到(m+2)n的数据块地址的范围。图2A中的数据结构在n、2n、4n和mn处具有间隙边界。这些间隙边界是用于示例性目的。数据结构可以具有任何数量的间隙边界,并且间隙边界可以不必根据如图2中为了示例性目的而示出的间隔额来设置。
可以针对每个服务收集数据块访问。在实施例中,这可以由协调器节点执行。例如,如以上所讨论的,当服务请求访问特定数据块时,记录被创建并存储。对于每个服务,可以将包括多个数据块的数据块地址空间的范围划分成间隙(即,子范围)以均衡由服务进行的访问的数量。例如,参考图2A,数据块访问统计信息可以指示间隙“1”比间隙“2”或“3”中的任一个具有更多数量的由特定服务进行的访问。在这种情况下,可以分割间隙“1”和/或可以组合间隙“2”和“3”。图2B图示了数据结构在被修改之后可能的样子。
在设置间隙边界之后,间隙“1”、“2”和“3”可以具有相等或相似数量的由特定服务进行的访问。因为在数据结构处不同服务的访问可能不同,因此相同的数据结构对于不同的服务可以具有不同的间隙边界。
图3是图示根据实施例的用于将节点的主控权指派到数据块的处理的流程图。在步骤305处,多个会话中的每个会话基于与该多个会话相关联的服务连接到节点集群中的节点。每个会话都与特定服务相关联。因此,特定服务也可以与特定节点相关联。在实施例中,协调器节点促进会话与节点之间的连接。
在步骤310处,收集基于服务的访问统计信息。基于服务的访问统计信息通过服务和数据块地址的范围被聚合,并跟踪由特定服务对特定数据块的访问。数据块具有范围内的地址。范围对应于数据块地址的一个或多个连续的子范围。在实施例中,协调器节点收集基于服务的访问统计信息。
在步骤315处,基于与节点相关联的服务和基于服务的访问统计信息,将节点的主控权指派到数据块。基于服务的访问统计信息指示服务和数据块的子范围之间的访问密度。如果特定服务频繁地访问具有特定子范围内的地址的数据块,则该特定服务和该特定子范围之间的访问密度可能高。在实施例中,如果该特定服务和该特定子范围之间的访问密度处于或高于阈值水平,则在该特定子范围中的数据块和与该特定服务相关联的节点之间指派主控权。在另一个实施例中,无论是哪个服务具有特定子范围中的最高访问密度,该服务都被指派具有在该子范围内的地址的数据块的主控权。主控权可以由协调节点指派。
以上步骤可以以任何次序执行,并且不一定彼此具有因果关系。在实施例中,当服务启动和/或重新定位时指派主控权。即,可以不响应于会话连接到服务来完成指派主控权。当服务启动和/或重新定位时,可以基于先前收集和存储的基于服务的统计信息来指派主控权。因此,可以立即指派主控权,而没有收集新的基于服务的统计信息的延迟。可以在任何时间收集基于服务的统计信息,并且可以周期性地或以其它方式更新基于服务的统计信息以考虑变化。
图4是图示根据实施例的用于预热缓冲区高速缓存的处理的流程图。在步骤405处,服务开始启动或重新定位处理。第一服务具有连接到第一节点的相关联会话。服务可能由于升级或维护而重新定位。
在步骤410处,第一节点收集服务的数据块访问信息。该节点可以从协调器节点或从共享存储装置收集块访问信息。
在步骤415处,协调器节点和/或第一节点计算服务和数据块的各个范围之间的访问密度。
在步骤420处,选择数据块以预热高速缓存。服务可以访问缓冲区高速缓存和/或闪存高速缓存。在实施例中,高速缓存被指派来自地址空间的范围中的每个间隙中的一个或多个数据块。可以从各个间隙中随机指派块。从每个间隙为特定服务指派的块的数量可以基于针对特定服务计算出的间隙的访问密度。例如,具有相对高的访问密度的第一间隙可能具有已经由特定服务频繁访问的一个或多个数据块。因此,可以从第一间隙指派许多数据块,以提高指派被大量访问的块的可能性。作为对照,具有与特定服务的相对低的访问密度的第二间隙可以具有较少的指派的块,因为这些块不太可能已经由特定服务大量访问。为每个间隙指派的块数量可以与间隙的访问密度成比例。
在替代实施例中,可以不指派来自具有低访问密度的间隙中的数据块。例如,可以“忽略”在地址空间的范围内具有最低访问密度的间隙,因为该间隙内的任何数据块不太可能已经由特定服务频繁地访问。在这样的实施例中,高速缓存仅被指派来自具有相对高的访问密度的间隙中的数据块。
在另一个替代实施例中,在具有与具有间隙内的地址的其它数据块相比相对高的由特定服务进行的访问的数量的间隙内的数据块,可以被识别并且被选择为在具有较低的访问数量的其它数据块之前被指派。以这种方式,高速缓存仅被指派具有相对较高的访问数量的数据块。但是,因为存在许多数据块,因此根据逐块比较来指派数据块可能是低效的。因此,如以上所讨论的,可以从间隙中随机指派数据块。通过从具有较高访问密度的间隙中选择更多数量的数据块,很有可能为高速缓存指派具有高访问数量的数据块,而没有对资源造成比较每个单独数据块的不必要的负担。此外,通过基于访问密度主动填充高速缓存,可以通过快速将高速缓存恢复到稳定状态并使服务可用来改善服务可用性。
硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线的以执行所述技术,或者可以包括诸如被持久性地编程以执行所述技术的一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)之类的数字电子设备,或者可以包括被编程为按照固件、存储器、其它存储装置或者其组合中的程序指令来执行所述技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、ASIC或FPGA与定制的编程组合来实现所述技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或者结合硬连线和/或程序逻辑来实现所述技术的任何其它设备。
例如,图5是示出本发明的实施例可以在其上实现的计算机系统500的框图。计算机系统500包括总线502或者用于传送信息的其它通信机制,以及与总线502耦合以用于处理信息的硬件处理器504。硬件处理器504可以是例如通用微处理器。
计算机系统500还包括耦合到总线502以用于存储信息和要由处理器504执行的指令的主存储器506,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器506还可以用于在要由处理器504执行的指令的执行期间存储临时变量或其它中间信息。当存储在处理器504可访问的存储介质中时,这种指令使计算机系统500成为被定制为执行指令中指定的操作的专用机器。
计算机系统500还包括耦合到总线502的只读存储器(ROM)508或者其它静态存储设备,用于存储静态信息和用于处理器504的指令。诸如磁盘或光盘之类的存储设备510被提供并且耦合到总线502,用于存储信息和指令。
计算机系统500可以经总线502耦合到诸如阴极射线管(CRT)之类的显示器512,用于向计算机用户显示信息。包括字母数字键和其它键的输入设备514被耦合到总线502,用于向处理器504传送信息和命令选择。另一种类型的用户输入设备是游标控件516,诸如鼠标、轨迹球或者游标方向键,以用于向处理器504传送方向信息和命令选择以及用于控制显示器512上的游标移动。这种输入设备通常具有在两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,这允许设备在平面内指定位置。
计算机系统500可以利用与计算机系统相结合使计算机系统500成为专用机器或者把计算机系统500编程为专用机器的定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文所述的技术。根据一个实施例,本文的技术由计算机系统500响应于处理器504执行被包含在主存储器506中的一条或多条指令的一个或多个序列而被执行。这种指令可以从诸如存储设备510之类的另一存储介质被读入主存储器506中。被包含在主存储器506中的指令序列的执行使处理器504执行本文所述的处理步骤。在可替代实施例中,硬连线的电路系统可以代替软件指令使用或者与软件指令结合使用。
如在本文所使用的,术语“存储介质”是指存储使机器以特定方式操作的指令和/或数据的任何介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备510。易失性介质包括动态存储器,诸如主存储器506。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带、或者任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔模式的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒式带。
存储介质与传输介质不同但是可以与传输介质结合使用。传输介质参与在存储介质之间转移信息。例如,传输介质包括同轴线缆、铜线和光纤,包括包含有总线502的导线。传输介质还可以采取声波或光波的形式,诸如在无线电波数据通信和红外数据通信期间产生的声波或光波。
把一条或多条指令的一个或多个序列携带到处理器504以供执行可以涉及各种形式的介质。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以把指令加载到其动态存储器中并且利用调制解调器通过电话线发送指令。位于计算机系统500本地的调制解调器可以接收电话线上的数据并且使用红外发送器把数据转换成红外信号。红外检测器可以接收在红外信号中携带的数据并且适当的电路系统可以把数据放在总线502上。总线502把数据携带到主存储器506,处理器504从主存储器506检索并执行指令。由主存储器506接收的指令可以可选地在由处理器504执行之前或之后被存储在存储设备510上。
计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供耦合到网络链路520的双向数据通信,网络链路520被连接到本地网络522。例如,通信接口518可以是综合业务数字网络(ISDN)卡、线缆调制解调器、卫星调制解调器、或者提供到对应类型的电话线的数据通信连接的调制解调器。作为另一个示例,通信接口518可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。无线链路也可以被实现。在任何此类实现中,通信接口518发送和接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
网络链路520通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路520可以通过本地网络522提供到主机计算机524或者到由互联网服务提供商(ISP)526操作的数据装备的连接。ISP 526继而通过现在通常称为“互联网”528的全球分组数据通信网络提供数据通信服务。本地网络522和互联网528都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路520上并通过通信接口518的信号是传输介质的示例形式,其把数字数据携带到计算机系统500或者携带来自计算机系统500的数字数据。
计算机系统500可以通过(一个或多个)网络、网络链路520和通信接口518发送消息和接收数据,包括程序代码。在互联网示例中,服务器530可以通过互联网528、ISP 526、本地网络522和通信接口518发送对于应用程序的请求代码。
接收到的代码可以在它被接收时由处理器504执行和/或被存储在存储设备510或其它非易失性存储装置中,以供以后执行。
在前面的说明书中,已经参考可以依据实施方式而不同的众多的具体细节描述了本发明的实施例。因此,本发明的内容的唯一且排他的指示、以及申请人所预期的作为本发明的内容是以这些权利要求发布的具体形式从本申请发布的权利要求的集合,包括任何后续的补正。对于这些权利要求中包含的术语,本文明确阐述的任何定义应当适用于如权利要求中所使用的这些术语的含义。因此,权利要求中未明确记载的限制、元素、特性、特征、优点或属性不应以任何方式限制这些权利要求的范围。因此,说明书和附图应当被认为是说明性的而不是限制性的。
Claims (12)
1.一种方法,包括:
基于与多个会话相关联的服务将所述多个会话中的每个会话连接到节点集群中的特定节点,所述多个会话中的每个会话与多个服务中的相应服务相关联;
收集通过服务和数据块地址的范围被聚合的基于服务的访问统计信息,每个范围与数据块地址的一个或多个连续的子范围对应;
基于与所述节点相关联的服务和所述基于服务的统计信息,将所述节点的主控权指派到具有数据块地址的所述范围内的地址的数据块。
2.如权利要求1所述的方法,
对于所述多个服务中的每个服务,根据所述子范围聚合由所述每个服务进行的访问。
3.如权利要求2所述的方法,
对于所述多个服务中的特定服务,调整所述特定服务的相应子范围以均衡针对所述相应子范围中的每个子范围聚合的访问数量。
4.如权利要求2所述的方法,还包括响应于确定所述子范围中的第一子范围具有比所述子范围中的任何两个子范围组合更多的访问数量,分割第一子范围。
5.如权利要求2所述的方法,还包括响应于确定所述子范围中的第一子范围具有比所述子范围中的任何两个子范围组合更多的访问数量,组合所述两个子范围。
6.如权利要求1所述的方法,还包括基于所述基于服务的统计信息,将与第一服务相关联的第一节点的主控权指派到具有数据块地址的第一子范围内的地址的每个数据块。
7.一种方法,包括:
基于与多个会话相关联的服务将所述多个会话中的每个会话连接到节点集群中的特定节点,所述多个会话中的每个会话与多个服务中的相应服务相关联;
收集通过服务和数据块地址的范围被聚合的基于服务的访问统计信息,每个范围与数据块地址的一个或多个连续的子范围对应;
基于所述基于服务的统计信息来填充与所述多个服务相关联的高速缓存。
8.如权利要求7所述的方法,其中所述高速缓存用具有数据块地址的所述子范围内的地址的数据块来随机地填充。
9.如权利要求7所述的方法,还包括:对于数据块地址的所述一个或多个连续的子范围中的每个子范围,确定具有数据块地址的该子范围内的地址的每个数据块的访问数量。
10.如权利要求9所述的方法,其中所述填充高速缓存还基于对于数据块地址的所述一个或多个连续的子范围中的每个子范围所确定的每个数据块的访问数量。
11.如权利要求7所述的方法,
对于所述多个服务中的每个服务,根据所述子范围聚合由所述每个服务进行的访问。
12.如权利要求11所述的方法,
对于所述多个服务中的特定服务,调整所述特定服务的相应子范围以均衡针对所述相应子范围中的每个子范围聚合的访问数量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/252,076 US10853253B2 (en) | 2016-08-30 | 2016-08-30 | Method and systems for master establishment using service-based statistics |
US15/252,076 | 2016-08-30 | ||
PCT/US2017/048377 WO2018044674A1 (en) | 2016-08-30 | 2017-08-24 | Method and systems for master establishment using service-based statistics |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109844723A true CN109844723A (zh) | 2019-06-04 |
CN109844723B CN109844723B (zh) | 2023-09-15 |
Family
ID=59799482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780061345.XA Active CN109844723B (zh) | 2016-08-30 | 2017-08-24 | 使用基于服务的统计信息进行主控建立的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10853253B2 (zh) |
EP (1) | EP3507699B1 (zh) |
CN (1) | CN109844723B (zh) |
WO (1) | WO2018044674A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851487B (zh) * | 2018-07-30 | 2023-05-30 | 创新先进技术有限公司 | 数据统计方法和装置 |
CN110046187B (zh) * | 2018-12-25 | 2023-10-27 | 创新先进技术有限公司 | 数据处理系统、方法及装置 |
US11144252B2 (en) * | 2020-01-09 | 2021-10-12 | EMC IP Holding Company LLC | Optimizing write IO bandwidth and latency in an active-active clustered system based on a single storage node having ownership of a storage object |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571879A (zh) * | 2001-06-28 | 2009-11-04 | 甲骨文国际公司 | 在不同数据库服务器之间划分一个数据库所有权以控制访问数据库 |
CN101888398A (zh) * | 2009-05-20 | 2010-11-17 | 中国科学院声学研究所 | 基于(d,k)摩尔图的网络存储结构的数据存储方法 |
CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储系统 |
US20150280959A1 (en) * | 2014-03-31 | 2015-10-01 | Amazon Technologies, Inc. | Session management in distributed storage systems |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901433B2 (en) | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
US6389513B1 (en) * | 1998-05-13 | 2002-05-14 | International Business Machines Corporation | Disk block cache management for a distributed shared memory computer system |
US6272491B1 (en) | 1998-08-24 | 2001-08-07 | Oracle Corporation | Method and system for mastering locks in a multiple server database system |
US6529906B1 (en) | 2000-01-28 | 2003-03-04 | Oracle Corporation | Techniques for DLM optimization with re-mastering events |
US7389293B2 (en) | 2000-12-20 | 2008-06-17 | Oracle International Corporation | Remastering for asymmetric clusters in high-load scenarios |
US7080075B1 (en) | 2004-12-27 | 2006-07-18 | Oracle International Corporation | Dynamic remastering for a subset of nodes in a cluster environment |
US7039669B1 (en) | 2001-09-28 | 2006-05-02 | Oracle Corporation | Techniques for adding a master in a distributed database without suspending database operations at extant master sites |
US20050091215A1 (en) | 2003-09-29 | 2005-04-28 | Chandra Tushar D. | Technique for provisioning storage for servers in an on-demand environment |
US7379952B2 (en) | 2004-01-30 | 2008-05-27 | Oracle International Corporation | Techniques for multiple window resource remastering among nodes of a cluster |
US7984073B1 (en) * | 2004-07-09 | 2011-07-19 | Crossroads Systems, Inc. | System and method for providing service management in a distributed database system |
US7788243B2 (en) * | 2006-09-08 | 2010-08-31 | Sybase, Inc. | System and methods for optimizing data transfer among various resources in a distributed environment |
US20090144388A1 (en) * | 2007-11-08 | 2009-06-04 | Rna Networks, Inc. | Network with distributed shared memory |
US8965921B2 (en) * | 2012-06-06 | 2015-02-24 | Rackspace Us, Inc. | Data management and indexing across a distributed database |
US9225806B2 (en) * | 2012-06-15 | 2015-12-29 | Citrix Systems, Inc. | Systems and methods for generating IPID across a cluster network |
US9317435B1 (en) * | 2012-12-18 | 2016-04-19 | Netapp, Inc. | System and method for an efficient cache warm-up |
US9692820B2 (en) * | 2013-04-06 | 2017-06-27 | Citrix Systems, Inc. | Systems and methods for cluster parameter limit |
US9058274B2 (en) * | 2013-05-20 | 2015-06-16 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method of selective READ cache retention for a rebooted node of a multiple-node storage cluster |
US9292204B2 (en) * | 2013-05-24 | 2016-03-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method of rebuilding READ cache for a rebooted node of a multiple-node storage cluster |
US10303682B2 (en) | 2013-09-21 | 2019-05-28 | Oracle International Corporation | Automatic verification and triage of query results |
US20150363319A1 (en) * | 2014-06-12 | 2015-12-17 | Netapp, Inc. | Fast warm-up of host flash cache after node failover |
US9679004B2 (en) | 2014-07-21 | 2017-06-13 | Oracle International Corporation | Planned cluster node maintenance with low impact on application throughput |
US9900275B2 (en) | 2015-06-01 | 2018-02-20 | Apple Inc. | Tracking object across processes |
US20170017680A1 (en) | 2015-07-13 | 2017-01-19 | Codership Oy | Method for handling writes in database clusters with temporarily disjoint nodes |
CN106708819A (zh) * | 2015-07-17 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种数据缓存的预热方法及其装置 |
US10001983B2 (en) * | 2016-07-27 | 2018-06-19 | Salesforce.Com, Inc. | Rolling version update deployment utilizing dynamic node allocation |
US10474653B2 (en) | 2016-09-30 | 2019-11-12 | Oracle International Corporation | Flexible in-memory column store placement |
-
2016
- 2016-08-30 US US15/252,076 patent/US10853253B2/en active Active
-
2017
- 2017-08-24 WO PCT/US2017/048377 patent/WO2018044674A1/en active Search and Examination
- 2017-08-24 CN CN201780061345.XA patent/CN109844723B/zh active Active
- 2017-08-24 EP EP17762289.1A patent/EP3507699B1/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101571879A (zh) * | 2001-06-28 | 2009-11-04 | 甲骨文国际公司 | 在不同数据库服务器之间划分一个数据库所有权以控制访问数据库 |
CN101888398A (zh) * | 2009-05-20 | 2010-11-17 | 中国科学院声学研究所 | 基于(d,k)摩尔图的网络存储结构的数据存储方法 |
CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储系统 |
US20150280959A1 (en) * | 2014-03-31 | 2015-10-01 | Amazon Technologies, Inc. | Session management in distributed storage systems |
Also Published As
Publication number | Publication date |
---|---|
EP3507699A1 (en) | 2019-07-10 |
WO2018044674A1 (en) | 2018-03-08 |
US20180060236A1 (en) | 2018-03-01 |
EP3507699B1 (en) | 2022-12-07 |
CN109844723B (zh) | 2023-09-15 |
US10853253B2 (en) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9952753B2 (en) | Predictive caching and fetch priority | |
US10785322B2 (en) | Server side data cache system | |
US10409781B2 (en) | Multi-regime caching in a virtual file system for cloud-based shared content | |
CN110046133B (zh) | 一种存储文件系统的元数据管理方法、装置及系统 | |
US6961835B2 (en) | System and method for autonomically reallocating memory among buffer pools | |
KR100954624B1 (ko) | 개인 선호도에 따라서 콘텐츠를 제공하기 위한 방법 및시스템 | |
US9614925B2 (en) | Intelligent file pre-fetch based on access patterns | |
CN101169785A (zh) | 集群数据库系统的动态负载均衡方法 | |
CN102355596B (zh) | 一种适用于视频服务的缓存服务器部署方法 | |
CN102331986A (zh) | 一种数据库缓存管理方法及一种数据库服务器 | |
CN103023982A (zh) | 一种云存储客户端的低延迟元数据访问方法 | |
CN102243660A (zh) | 一种数据访问方法及设备 | |
CN105683928B (zh) | 用于数据高速缓存策略的方法、服务器和存储器设备 | |
CN109844723A (zh) | 使用基于服务的统计信息进行主控建立的方法和系统 | |
JP2018513454A (ja) | カラム・ストアにおける挿入およびポイント・クエリ・オペレーションの効率的パフォーマンス | |
US8335760B1 (en) | Grid computing system to manage utility service content | |
CN114697683A (zh) | 流媒体文件的智能调度方法、设备和计算机程序产品 | |
CN100429622C (zh) | 数据管理方法 | |
CN114265814B (zh) | 一种基于对象存储的数据湖文件系统 | |
Pan et al. | Penalty-and locality-aware memory allocation in Redis using enhanced AET | |
Ye et al. | GRACE: A Scalable Graph-Based Approach to Accelerating Recommendation Model Inference | |
Aksu et al. | Graph aware caching policy for distributed graph stores | |
US20220417325A1 (en) | System and method for content management with intelligent data store access across distributed stores | |
Su et al. | SACache: Size-Aware Load Balancing for Large-Scale Storage Systems | |
Song et al. | MHDFS: A Memory‐Based Hadoop Framework for Large Data Storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |