CN115509702A - 集群计算系统及其操作方法 - Google Patents
集群计算系统及其操作方法 Download PDFInfo
- Publication number
- CN115509702A CN115509702A CN202210700427.7A CN202210700427A CN115509702A CN 115509702 A CN115509702 A CN 115509702A CN 202210700427 A CN202210700427 A CN 202210700427A CN 115509702 A CN115509702 A CN 115509702A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- host
- computing system
- processor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 230000006835 compression Effects 0.000 claims description 32
- 238000007906 compression Methods 0.000 claims description 32
- 238000011010 flushing procedure Methods 0.000 claims description 11
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 240000008790 Musa x paradisiaca Species 0.000 description 1
- 235000018290 Musa x paradisiaca Nutrition 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
-
- 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
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种集群计算系统及其操作方法。集群计算系统包括:主机,其包括第一处理器和第一缓冲存储器;计算节点,每一个计算节点包括第二处理器和被配置为存储从主机接收到的数据的第二缓冲存储器;网络,其被配置为连接主机和计算节点;以及存储装置,其分别对应于计算节点。第一处理器被配置为:控制任务分配器监测每一个计算节点的任务执行状态,基于每一个计算节点的任务执行状态来选择至少一个计算节点作为任务节点,并且向任务节点分发后台任务,任务节点的第二处理器被配置为:对存储在任务节点的第二缓冲存储器中的经排序的文件执行后台任务,经排序的文件由任务节点的第二缓冲存储器经由网络从第一缓冲存储器接收。
Description
相关申请的交叉引用
本申请基于并要求于2021年6月23日在韩国知识产权局提交的韩国专利申请No.10-2021-0081824的优先权,该韩国专利申请的公开内容通过引用整体地并入本文。
技术领域
本公开涉及一种计算系统,并且更具体地,涉及一种用于在异构集群环境中分发资源的集群计算系统以及集群计算系统的操作方法。
背景技术
为了实现大容量数据库,已提出了将多个计算节点连接到高速网络的集群计算系统。可以在集群的多个计算节点具有不同的资源配置和操作性能的异构集群环境中提供集群计算系统。集群计算系统可以包括分发任务的主机作为单独的元件。
发明内容
一个或更多个示例实施例提供一种在异构集群环境中基于可用资源分发任务的集群计算系统以及集群计算系统的操作方法。
根据示例实施例的一个方面,一种集群计算系统包括:主机,所述主机包括第一处理器和第一缓冲存储器;多个计算节点,所述多个计算节点中的每一个计算节点包括第二处理器和被配置为存储从所述主机接收到的数据的第二缓冲存储器;网络,所述网络被配置为连接所述主机和所述多个计算节点;以及多个存储装置,所述多个存储装置分别对应于所述多个计算节点。所述第一处理器被配置为:控制任务分配器监测所述多个计算节点中的每一个计算节点的任务执行状态,基于所述多个计算节点中的每一个计算节点的所述任务执行状态来选择所述多个计算节点中的至少一个计算节点作为任务节点,并且向所述任务节点分发后台任务。所述任务节点的所述第二处理器被配置为对存储在所述任务节点的所述第二缓冲存储器中的经排序的文件执行所述后台任务,所述经排序的文件由所述任务节点的所述第二缓冲存储器经由所述网络从所述第一缓冲存储器接收。
根据示例实施例的一个方面,一种集群计算系统包括:主机,所述主机包括第一处理器和第一缓冲存储器;多个计算节点,所述多个计算节点中的每一个计算节点包括第二处理器;网络,所述网络被配置为连接所述主机和所述多个计算节点;以及多个存储装置,所述多个存储装置分别对应于所述多个计算节点。所述第一处理器被配置为:根据从客户端接收到的包括键信息(在本申请中,键信息与键可以互换使用)的数据搜索请求,在所述第一缓冲存储器中搜索对应于所述键信息的数据。所述多个计算节点中的每一个计算节点的所述第二处理器被配置为:从所述主机接收所述键信息,搜索连接到该计算节点的存储装置以搜索对应于所述键信息的所述数据,并且向所述主机返回对应于所述键信息的所述数据。
根据示例实施例的一个方面,一种集群计算系统的操作方法包括:由主机从客户端接收数据插入请求;由所述主机监测多个计算节点中的每一个计算节点的任务执行状态;由所述主机基于所述多个计算节点中的每一个计算节点的所述任务执行状态来选择至少一个计算节点作为任务节点;由所述主机向所述任务节点的第二缓冲存储器发送存储在所述主机的第一缓冲存储器中的数据;由所述任务节点执行后台任务;以及由所述主机更新所述多个计算节点中的每一个计算节点的所述任务执行状态。
附图说明
根据结合附图进行的以下详细描述,将更清楚地理解上述及其他方面、特征和优点,在附图中:
图1是示出根据示例实施例的集群计算系统的框图;
图2是示出根据示例实施例的集群计算系统的框图;
图3是示出根据示例实施例的集群计算系统的框图;
图4是示出根据示例实施例的主机的框图;
图5是示出根据示例实施例的第一计算节点的框图;
图6是示出根据示例实施例的集群计算系统的框图;
图7是示出根据示例实施例的集群计算系统的框图;
图8是示出根据示例实施例的集群计算系统的后台任务执行方法的流程图;
图9是示出根据示例实施例的集群计算系统的数据搜索方法的流程图;
图10是根据示例实施例的包括集群计算系统的数据中心的框图。
具体实施方式
在下文中,将参考附图详细地描述示例实施例。在下文中,在附图和描述中,被示出或描述为一个块的元件可以是硬件块或软件块。例如,元件可以是用于在其之间传送和接收信号的独立硬件块,或者可以是由一个或更多个处理器运行的软件块。另外,本文描述的术语“系统”或“数据库”可以表示包括至少一个处理器和由处理器访问的存储器的计算系统。
图1是示出根据示例实施例的集群计算系统10的框图。
参考图1,集群计算系统10可以包括主机100、网络120和多个计算节点140。集群计算系统10可以表示将独立地操作的多个计算节点140连接到网络120的一个系统。集群计算系统10可以将从客户端110接收到的数据分发给多个计算节点140以及存储在多个计算节点140中,多个计算节点140可以并行处理所存储的数据。例如,可以在数据库和分布式并行计算系统中使用集群计算系统10。
根据示例实施例的集群计算系统10可以包括键-值数据库或键-值存储器(key-value store)。集群计算系统10可以通过使用键-值对来插入、搜索和删除数据。键-值对可以表示包括作为唯一标识符的键以及与该键相对应的数据的键-值对。例如,键-值对可以称为键-值元组(tuple)。集群计算系统10可以从客户端110接收键信息,并且可以识别与键信息相对应的数据,从而提高数据的搜索速度。
主机100可以包括集群计算系统10中的与客户端110协作的前端服务器。主机100可以根据从客户端110接收到的数据处理请求,将任务卸载到多个计算节点140。主机100可以监测多个计算节点140中的每一个计算节点的任务执行状态,基于任务执行状态来选择多个计算节点中的一个计算节点作为任务节点,并且实时地向任务节点分发后台任务。例如,当主机100从客户端110接收到数据写入请求时,主机100可以将用于写入数据的后台任务卸载到任务节点。当主机100从客户端110接收到数据搜索请求时,主机100可以将对存储在存储装置136中的数据执行的搜索任务卸载到任务节点。主机100可以接收由任务节点获得的搜索结果,并且将搜索结果传送到客户端110。
主机100可以包括第一处理器101和第一缓冲存储器104。第一处理器101可以包括任务分配器102,并且任务分配器102可以监测多个计算节点140中的每一个计算节点的任务执行状态。例如,任务分配器102可以基于由多个计算节点140中的每一个计算节点执行的任务的类型和数量以及执行任务的任务执行时间中的至少一个,来确定任务执行状态。任务分配器102可以基于任务执行状态从多个计算节点140当中选择至少一个计算节点作为任务节点。任务分配器102可以经由网络120向任务节点发送数据。任务分配器102可以实时地更新多个计算节点140中的每一个计算节点的任务执行状态,并且可以基于任务执行状态来选择任务节点,从而在多个计算节点140之间调整工作负载的平衡。
主机100可以根据从客户端110接收到的数据处理请求来执行前台任务。前台任务可以表示在第一缓冲存储器104中处理数据的任务。第一缓冲存储器104可以被用作高速缓存存储器以便防止性能因访问存储层的速度而降低。当从客户端110接收到数据处理请求时,主机100可以优先地向客户端110提供通过在第一缓冲存储器104中执行的处理所获得的数据值,从而提高响应时间。例如,当主机100从客户端110接收到数据写入请求时,主机100可以优先地在第一缓冲存储器104中写入数据。当主机100从客户端110接收到数据搜索请求时,主机100可以从第一缓冲存储器104读取数据并且可以将数据提供给客户端110。随后,当经过特定时间或者存储在第一缓冲存储器104中的数据量大于阈值时,主机100可以将存储在第一缓冲存储器104中的数据冲刷(flush)到存储装置136以将数据永久地存储在其中。
网络120可以将主机100连接到多个计算节点140。多个计算节点140可以连接到网络120,并且节点之间以及节点与主机100之间的通信可以经由网络120来执行。主机100可以经由网络120将从客户端110接收到的数据发送到多个计算节点140以分发任务。例如,当任务分配器102选择第一计算节点130作为任务节点时,主机100可以经由网络120向第一计算节点130发送数据。任务节点可以经由网络120将获得的计算结果发送到主机100。例如,网络120可以利用网络交换机、交换集线器、路由器或端口交换集线器来实现。
多个计算节点140中的每一个计算节点可以包括第二处理器132和第二缓冲存储器134,第二处理器132对从任务分配器102分发的数据执行算术操作。例如,当任务分配器102选择第一计算节点130作为任务节点时,主机100可以经由网络120将数据发送到第一计算节点130的第二缓冲存储器134。第二处理器132可以针对第二缓冲存储器134执行后台任务。后台任务可以表示将存储在主机100的第一缓冲存储器104中的数据传送到第二缓冲存储器134并且合并(例如,压缩)数据或者将数据冲刷到存储装置136的任务。后台任务可以是在后台中执行并且不向客户端110提供单独输出的任务。
在一些示例实施例中,多个计算节点140中的每一个计算节点可以被配置有单板计算机。例如,第二处理器132和第二缓冲存储器134可以安装在单板上。多个计算节点140中的每一个计算节点还可以包括安装在单板上的输入/输出(I/O)电路,并且I/O电路可以连接到存储装置136。例如,多个计算节点140中的每一个计算节点可以利用Raspberry Pi、Banana Pi或MarsBoard来实现。多个计算节点140中的每一个计算节点可以利用具有最小规格的单板计算机来实现,并且可以提高功率效率。
多个计算节点140中的每一个计算节点可以连接到存储装置136。存储装置136可以将数据存储在磁盘区域中。例如,存储装置136可以利用固态驱动器(SSD)或硬盘驱动器(HDD)来实现。根据示例实施例,两个或更多个不同的计算节点可以共享存储装置136。
主机100可以将后台任务卸载到异构集群环境中的多个计算节点140,因此,根据示例实施例的集群计算系统10可以防止由主机100执行前台任务的性能降低,并且可以提供稳定性能。
图2是示出根据示例实施例的集群计算系统20的框图。在下文中,将参考图1描述图2。
参考图2,集群计算系统20可以包括第一缓冲存储器200和第二缓冲存储器230。第一缓冲存储器200可以设置在主机100中,并且可以对应于第一缓冲存储器104。第二缓冲存储器230可以设置在计算节点140中,并且可以对应于第二缓冲存储器134。集群计算系统可以包括键-值数据库或键-值存储器,并且可以执行诸如数据的插入、删除或搜索的数据操作。键-值存储器可以通过使用日志结构化合并(LSM)树结构来存储键-值对。例如,集群计算系统20可以利用LevelDB、RocksDB、Cassandra或Hbase来实现。
第一处理器101可以根据来自客户端110的数据写入请求,将键-值对存储在第一缓冲存储器200中,并且当经过特定时间或者存储在第一缓冲存储器200中的数据量大于阈值时,第一处理器101可以控制键-值对存储在第二缓冲存储器230中。
集群计算系统20可以对分别由主机100和多个计算节点140执行的数据处理任务进行分类。主机100可以在第一缓冲存储器200中处理数据。由任务分配器102从多个计算节点140当中选择的任务节点可以在第二缓冲存储器230中处理数据,并且可以将数据从第二缓冲存储器230冲刷到存储装置136。
当集群计算系统20从客户端110接收到数据写入请求时,数据可以存储在第一缓冲存储器200的内存表(memtable)210中。当存储在内存表210中的数据量大于阈值时,集群计算系统20可以生成新内存表210,并且可以将大于阈值的内存表210转换成不可变内存表220。不可变内存表220可以被转换成针对键排序的排序字符串表(SST,sorted stringtable)文件,并且可以被存储在第二缓冲存储器230中。
可以以多个层级(level)配置第二缓冲存储器230,例如,第二缓冲存储器230可以被设置为从层级0LEVEL_0起直到层级M LEVEL_M。可以从层级0LEVEL_0起插入SST文件。包括在层级0LEVEL_0中的多个SST文件的键可以交叠。例如,可以在层级0LEVEL_0中存储每一个都具有1至100的键范围的多个SST文件。
随着数据被连续地写入到第二缓冲存储器230,存储在每个层级中的数据量可能超过预定阈值。第二处理器132可以将其中存储的数据量超过预定阈值的层级中包括的至少一些SST文件与较低层级的SST文件合并(压缩)。例如,当存储在层级1LEVEL_1中的数据量大于预定阈值时,第二处理器132可以将层级2LEVEL_2的SST文件与层级1LEVEL_1的SST文件(即,键范围交叠的SST文件)合并。例如,层级1LEVEL_1的键范围为51至100的SST文件可以与层级2LEVEL_2的键范围为31至70的SST文件和层级2LEVEL_2的键范围为71至120的SST文件一起合并并排序。集群计算系统10可以基于压缩任务来去除交叠的键,从而提高与数据搜索请求相对应的响应时间。
图3是示出根据示例实施例的集群计算系统30的框图。
参考图3,集群计算系统30可以包括主机300、网络340、第一计算节点350和存储装置360。图3可以是描述任务分配器(图1的102)选择第一计算节点350作为任务节点并且将后台任务卸载到第一计算节点350的过程的图。例如,可以从多个计算节点当中选择第一计算节点350作为任务节点。
主机300可以包括第一处理器310和第一缓冲存储器320。当从客户端370接收到数据插入请求时,第一处理器310可以将数据存储在第一缓冲存储器320中。第一处理器310可以将数据存储在第一缓冲存储器320的内存表322中。内存表322可以是存储键-值对的基于存储器的存储装置,并且可以具有预定存储容量。当存储在内存表322中的数据的大小大于预定存储容量时,第一处理器310可以将内存表322转换成不可能改变数据的内存表(例如,不可变内存表324)。不可变内存表324可以被实现为只读。当不可变内存表324被生成时,第一处理器310可以将不可变内存表324转换成按键顺序排序的SST文件,并且可以经由网络340将该SST文件发送到第一计算节点350。
根据示例实施例,当从客户端370接收到数据插入请求时,第一处理器310可以在日志区域(LOG)330中写入日志文件。当在集群计算系统30中发生系统崩溃或断电时,尚未被写入在存储装置360中的数据可能在第一缓冲存储器320中丢失。主机300可以在将数据存储在存储装置360中之前在日志区域330中写入日志文件,并且可以基于日志文件恢复数据,从而保证数据的完整性。当将数据从第一缓冲存储器320冲刷到存储装置360的操作完成时,可以删除与所冲刷的数据相对应的日志文件。
第一处理器310可以将对SST文件执行的压缩任务和冲刷任务卸载到第一计算节点350。第一计算节点350可以包括执行压缩任务和冲刷任务的第二处理器352。第二处理器352可以经由网络340从主机300接收SST文件。第二处理器352可以通过使用LSM树结构在第二缓冲存储器354中划分地存储被划分成多个层级的SST文件。当存储在一个层级中的数据量大于预定阈值时,第二处理器352可以将包括在该层级中的至少一些SST文件与较低层级的SST文件合并并排序。
第二处理器352可以将压缩完成的SST文件冲刷到与第一计算节点350连接的存储装置360。第二处理器352可以基于配置集群计算系统30的多个计算节点(图1的140)中的每一个计算节点的任务执行状态,将压缩完成的SST文件发送到除第一计算节点以外的计算节点350。
图4是示出根据示例实施例的主机400的框图。图4中示出的主机400可以对应于图3的主机300。在下文中,将参考图3描述图4。
参考图4,主机400的第一处理器410可以包括任务分配器412、日志写入器414、内存表写入器416和数据发送器418。
任务分配器412可以监测多个计算节点(图1的140)中的每一个计算节点的任务执行状态。任务分配器412可以基于任务执行状态来选择用于执行存储在不可变内存表324中的数据的冲刷和压缩的至少一个任务节点。例如,基于任务执行状态来选择任务节点可以基于由多个计算节点(图1的140)中的每一个计算节点执行的任务的类型和数量、执行任务的任务执行时间、以及已针对每个节点执行冲刷的文件的数量中的至少一个。此外,任务分配器412可以从多个计算节点(图1的140)接收关于任务执行状态的信息,因此,可以实时地更新多个计算节点(图1的140)的任务状态。在本申请中,任务状态和任务执行状态可以互换地使用。
日志写入器414可以在数据被存储在存储装置360中之前在日志区域330中写入从客户端370接收到的数据。当在集群计算系统30中发生系统崩溃或断电时,主机400可以基于在日志区域330中写入的数据来恢复数据,从而确保数据的原子性(atomicity)和持久性。
内存表写入器416可以将已被写入在日志区域330中的数据存储在内存表322中。当存储在内存表322中的数据的大小大于预定阈值时,内存表写入器416可以将内存表322转换成不可改变数据的内存表(例如,不可变内存表324)。内存表写入器416可以生成新内存表322,以用于添加新数据。
数据发送器418可以控制存储在不可变内存表324中的数据发送到任务节点。例如,任务分配器412可以基于多个计算节点(图1的140)中的每一个计算节点的任务执行状态,来选择第一计算节点350作为任务节点。数据发送器418可以从任务分配器412接收关于第一计算节点350的信息,并且可以控制存储在不可变内存表324中的数据发送到第一计算节点350。此时,数据发送器418可以将存储在不可变内存表324中的数据转换成按键顺序排序的SST文件,并且可以控制将SST文件发送到第一计算节点350。
图5是示出根据示例实施例的第一计算节点500的框图。图5中示出的第一计算节点500可以对应于图1的多个计算节点140中的一个计算节点。
参考图5,第一计算节点500可以包括第二处理器510和第二缓冲存储器520,并且可以连接到存储装置530。第二处理器510可以包括压缩管理器512以及冲刷管理器514,压缩管理器512执行第二缓冲存储器520中的数据的压缩,冲刷管理器514将数据从第二缓冲存储器520冲刷到存储装置530。
压缩管理器512可以监测第二缓冲存储器520中的压缩执行条件并且可以执行压缩任务。例如,当第二缓冲存储器520中的至少一个层级中存储的SST文件的数量多于预定数量时,压缩管理器512可以选择要被执行压缩的SST文件,并且可以在这些SST文件之间执行压缩任务。压缩管理器512可以向任务分配器(图1的102)发送关于压缩的初始状态和结束状态的信息。任务分配器(图1的102)可以基于从压缩管理器512接收到的关于任务状态的信息来实时地更新多个计算节点(图1的140)中的每一个计算节点的任务状态,并且基于此,可以选择任务节点。
当存储在第二缓冲存储器520中的数据量大于预定阈值时,压缩管理器512可以向冲刷管理器514发送冲刷开始命令。根据冲刷开始命令,冲刷管理器514可以将在第二缓冲存储器520中完成压缩的SST文件冲刷到与第一计算节点500连接的存储装置530。可选择地,冲刷管理器514可以将完成压缩的SST文件发送到与网络(图1的120)连接的另一计算节点。
图6是示出根据示例实施例的集群计算系统60的框图。
参考图6,集群计算系统60可以包括主机600、网络640、多个计算节点660以及分别与多个计算节点660相对应的多个存储装置680。可以将存储在多个存储装置680中的数据划分成多个层级,并且多个计算节点660中的每一个计算节点可以对应于多个层级中的一个层级。
主机600可以从客户端670接收数据搜索请求。例如,数据搜索请求可以是包括单个键的点查询,或者可以是包括介于上限与下限之间的多个键的范围查询。
从客户端670接收到的数据搜索请求可以包括键信息。主机600可以在第一缓冲存储器610的内存表612和不可变内存表614中搜索与数据搜索请求中包括的键信息相对应的数据。当在第一缓冲存储器610中找到与数据搜索请求中包括的键信息相对应的数据时,主机600可以对所找到的数据执行有效性测试并且可以对有效数据进行分类。主机600可以将有效数据返回给客户端670。
另一方面,当在第一缓冲存储器610中未找到与数据搜索请求中包括的键信息相对应的数据时,主机600可以将从客户端670接收到的键信息发送到多个计算节点660。多个计算节点660可以在存储在对应预定层级中的SST文件中搜索与键信息相对应的数据。
参考作为比较示例的图2,键-值数据库可以按顺序搜索包括在层级0LEVEL_0至层级M LEVEL_M中的内存表210、不可变内存表220和SST文件,因此,可以找到有效数据。特别地,包括在层级0LEVEL_0中的每一个SST文件可以包括交叠的键信息,并且可能需要顺序地搜索包括在层级0LEVEL_0中的所有SST文件。因此,可能存在数据库的响应时间变慢的问题。
根据示例实施例的集群计算系统60可以在主机600和多个计算节点660中并行地执行数据搜索任务,从而提高响应时间。多个计算节点660中的每一个计算节点可以搜索存储在对应预定层级中的文件。例如,第一计算节点661、第二计算节点662和第三计算节点663中的每一个可以在层级0LEVEL_0中包括的SST文件中并行地搜索与所请求的键信息相对应的数据。同时,第N计算节点664可以在层级M LEVEL_M中包括的SST文件中搜索与所请求的键信息相对应的数据。在多个计算节点660的每一个计算节点中找到的有效数据可以返回给主机600。
图7是示出根据示例实施例的集群计算系统70的框图。在下文中,将参考图6描述图7。
参考图7,集群计算系统70可以包括主机700、第一计算节点720和存储装置740。图7中示出的主机700可以对应于图6的主机600,并且第一计算节点720可以对应于图6的第一计算节点661。
主机700可以包括第一处理器710,并且第一处理器710可以包括内存表读取器712和第一数据聚合器716。内存表读取器712可以在第一缓冲存储器610中搜索与数据搜索请求中包括的键信息相对应的数据。内存表读取器712可以在内存表612和不可变内存表614中搜索数据。例如,当在内存表612和不可变内存表614中未找到与键信息相对应的多条数据时,第一处理器710可以将键信息发送到多个计算节点660以卸载数据搜索处理。
第一数据聚合器716可以接收从多个计算节点660中的至少一个计算节点找到的数据值,并且可以生成有效数据值或有效数据集。例如,当从多个计算节点660接收到与键信息相对应的多条数据时,第一数据聚合器716可以比较包括在多条数据中的时间戳,以将最近的数据分类为有效数据。第一数据聚合器716可以生成有效数据集,并且可以将有效数据集返回给客户端750。
第一计算节点720可以包括第二处理器730,并且第二处理器730可以包括SST迭代器732和第二数据聚合器736。在图7中示出了仅第一计算节点720,但是多个计算节点660中的每一个计算节点可以配置为与第一计算节点720相同。
SST迭代器732可以迭代存储在存储装置740中的SST文件,以搜索与数据搜索请求中包括的键信息相对应的数据。对于多个计算节点(图6的660)中的每一个计算节点,SST迭代器732可以迭代包括在预定层级中的文件,并且可以使用多个计算节点中的每个计算节点中的SST迭代器732在多个计算节点(图6的660)中并行地搜索数据。第二数据聚合器736可以对在存储装置740中找到的数据执行有效性测试以将有效数据进行分类,并且可以生成有效数据集。第二数据聚合器736可以将有效数据集返回给主机700。
图8是示出根据示例实施例的集群计算系统60的后台任务执行方法的流程图。
参考图8,在操作S100中,主机600可以监测多个计算节点660中的每一个计算节点的任务状态。当在第一缓冲存储器610中生成不可变内存表时,主机600可以从多个计算节点660当中选择用于执行后台任务的任务节点。基于多个计算节点660中的每一个计算节点660的任务状态,主机600可以选择当前未在执行当前后台任务并且没有要在不久将来执行的后台任务的节点作为任务节点。
在操作S102中,主机600可以识别出第一计算节点661未在当前执行后台任务并且不具有被调度为在不久将来执行的后台任务,因此可以选择第一计算节点661作为任务节点。也就是说,主机600可以将后台任务卸载到第一计算节点661。例如,后台任务可以是对存储装置的压缩任务或冲刷任务。
在操作S104中,主机600可以经由网络640将存储在不可变内存表中的数据发送到第一计算节点661。主机600可以将存储在不可变内存表中的数据转换成SST文件,并且可以发送SST文件。
在操作S106中,第一计算节点661可以确定是否满足后台任务条件。例如,当包括在至少一个层级中的SST文件的数量多于预定数量时,第一计算节点661可以开始执行SST文件之间的压缩任务。
在操作S108中,第一计算节点661可以向主机600(例如,任务分配器102或412)通知后台任务的开始(例如,指示压缩的开始时间的信息)。在操作S110中,主机600可以基于根据从第一计算节点661接收到的信息被通知后台任务的开始,来更新多个计算节点中的每一个计算节点的任务状态。主机600可以将第一计算节点661的任务状态改变为正在执行后台任务的状态,并且可以选择除第一计算节点661以外的节点作为任务节点。
在操作S112中,第一计算节点661可以执行后台任务。例如,第一计算节点661可以执行SST文件之间的压缩任务,或者可以将压缩完成的SST文件冲刷到存储装置。
在操作S114中,第一计算节点661可以向主机600通知后台任务的结束(例如,指示压缩的结束时间的信息)。在操作S116中,主机600可以基于根据从第一计算节点661接收到的信息被通知后台任务的结束,来更新第一计算节点661的任务状态。主机600可以将第一计算节点661的任务状态改变为后台任务结束的状态,并且可以选择第一计算节点661作为用于执行下一后台任务的任务节点。
图9是示出根据示例实施例的集群计算系统60的数据搜索方法的流程图。
参考图9,在操作S200中,客户端670可以向主机600请求数据搜索。数据搜索请求可以是点查询并且可以包括单个键信息,或者可以是范围查询并且可以包括具有上限和下限的键范围信息。
在操作S202中,主机600可以搜索存储在第一缓冲存储器610中的内存表612和不可变内存表614。在操作S204中,当在内存表612或不可变内存表614中找到与键信息相对应的数据时,主机600可以向客户端670返回数据集。
另一方面,在操作S206中,当在内存表612或不可变内存表614中未找到与键信息相对应的数据时,主机600可以将键信息发送到多个计算节点660。
在操作S208中,多个计算节点660可以在SST文件中搜索与接收到的键信息相对应的数据。在一些示例实施例中,多个计算节点660中的每一个计算节点可以搜索包括在预定层级中的SST文件,并且数据搜索可以在多个计算节点660中并行地执行。
在操作S210中,当在SST文件中找到与键信息相对应的数据时,多个计算节点660可以将数据返回给主机600。
在操作S212中,主机600可以对从多个计算节点660接收到的数据执行有效性测试。例如,当接收到与键信息相对应的多条数据时,主机600可以比较包括在多条数据中的时间戳,以将最近的数据分类为有效数据。
在操作S214中,主机600可以从分类后的有效数据生成数据集,并且可以将数据集返回给客户端670。可选择地,主机600可以向客户端670返回有效的单个数据。
图10是应用了根据示例实施例的集群计算系统的数据中心1000的框图。
参考图10,数据中心1000可以包括前端服务器1200、网络1300和多个数据库服务器1400。数据中心1000可以接收客户端1100的请求,以提供计算机系统的资源。例如,数据中心1000可以用于网页服务器、数据库、虚拟机、软件应用等。
当从客户端1100接收到数据写入请求时,前端服务器1200可以优先地在第一缓冲存储器中处理数据,并且将经处理的数据返回给客户端1100,从而提高响应时间。前端服务器1200可以监测多个数据库服务器1400中的可用资源,并且可以实时地分发后台任务,从而向客户端1100提供具有稳定性能的服务。
多个数据库服务器1400中的每一个数据库服务器可以包括服务器1500和数据库1600。多个数据库服务器1400可以经由网络1300从前端服务器1200接收数据。多个数据库服务器1400可以对从前端服务器1200接收到的数据执行后台任务。例如,多个数据库服务器1400可以执行数据的压缩和对数据库1600的冲刷任务。
配置多个数据库服务器1400的每个服务器1500可以实现为单板计算机。单板计算机可以作为低功率服务器操作,并且可以在数据中心1000中高效地使用电力。此外,单板计算机可以作为超小型服务器操作,并且可以在数据中心1000中高效地使用空间。
当前端服务器1200从客户端1100接收到数据读取请求时,多个数据库服务器1400中的每一个数据库服务器可以并行地搜索存储在数据库1600中的数据。由于在数据库1600中并行地执行搜索,因此可以提高数据中心1000的性能和响应时间。
虽然已经具体示出并描述了示例实施例的各方面,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中做出形式和细节上的各种改变。
Claims (20)
1.一种集群计算系统,包括:
主机,所述主机包括第一处理器和第一缓冲存储器;
多个计算节点,所述多个计算节点中的每一个计算节点包括第二处理器和第二缓冲存储器,所述第二缓冲存储器被配置为存储从所述主机接收到的数据;
网络,所述网络被配置为连接所述主机和所述多个计算节点;以及
多个存储装置,所述多个存储装置分别对应于所述多个计算节点,
其中,所述第一处理器被配置为:控制任务分配器监测所述多个计算节点中的每一个计算节点的任务执行状态,基于所述多个计算节点中的每一个计算节点的所述任务执行状态来选择所述多个计算节点中的至少一个计算节点作为任务节点,并且向所述任务节点分发后台任务,
其中,所述任务节点的所述第二处理器被配置为对存储在所述任务节点的所述第二缓冲存储器中的经排序的文件执行所述后台任务,所述经排序的文件由所述任务节点的所述第二缓冲存储器经由所述网络从所述第一缓冲存储器接收。
2.根据权利要求1所述的集群计算系统,其中,所述集群计算系统为:配置有多个层级的键-值数据库。
3.根据权利要求2所述的集群计算系统,其中,所述任务节点的所述第二处理器还被配置为:控制压缩管理器基于所述多个层级中的至少一个层级中存储的所述经排序的文件的数量超过阈值,执行所述经排序的文件之间的压缩。
4.根据权利要求3所述的集群计算系统,其中,所述任务节点的所述第二处理器进一步被配置为:控制所述压缩管理器监测是否对所述任务节点的所述第二缓冲存储器中的所述经排序的文件执行所述压缩,并且向所述任务分配器传送指示执行所述压缩的开始时间或结束时间的信息。
5.根据权利要求4所述的集群计算系统,其中,所述第一处理器还被配置为:控制所述任务分配器基于指示执行所述压缩的所述开始时间或所述结束时间的所述信息,来更新所述多个计算节点中的每一个计算节点的任务执行状态。
6.根据权利要求1所述的集群计算系统,其中,所述第二处理器和所述第二缓冲存储器被设置在单板上。
7.根据权利要求1所述的集群计算系统,其中,所述第一处理器还被配置为:控制所述任务分配器基于在所述多个计算节点的每一个计算节点中执行的任务的任务类型、任务数量、和任务执行时间中的任何一个或任何组合来确定所述任务执行状态。
8.根据权利要求1所述的集群计算系统,其中,所述后台任务包括:执行所述经排序的文件的压缩。
9.根据权利要求8所述的集群计算系统,其中,所述后台任务包括:将压缩后的文件冲刷到与所述任务节点相对应的存储装置。
10.根据权利要求1所述的集群计算系统,其中,所述任务节点的所述第二处理器还被配置为:控制冲刷管理器基于存储在所述任务节点的所述第二缓冲存储器中的数据的大小超过阈值,将压缩后的文件冲刷到与所述任务节点相对应的存储装置。
11.根据权利要求1所述的集群计算系统,其中,所述第一处理器还被配置为控制数据发送器,所述数据发送器被配置为:基于存储在所述第一缓冲存储器中的数据的大小超过阈值,将所述数据的至少一部分冲刷到所述任务节点的所述第二缓冲存储器。
12.一种集群计算系统,包括:
主机,所述主机包括第一处理器和第一缓冲存储器;
多个计算节点,所述多个计算节点中的每一个计算节点包括第二处理器;
网络,所述网络被配置为连接所述主机和所述多个计算节点;以及
多个存储装置,所述多个存储装置分别对应于所述多个计算节点,
其中,所述第一处理器被配置为:根据从客户端接收到的包括键信息的数据搜索请求,在所述第一缓冲存储器中搜索对应于所述键信息的数据,
其中,所述多个计算节点中的每一个计算节点的所述第二处理器被配置为:从所述主机接收所述键信息,搜索连接到该计算节点的存储装置以搜索对应于所述键信息的所述数据,并且向所述主机返回对应于所述键信息的所述数据。
13.根据权利要求12所述的集群计算系统,其中,所述集群计算系统为:配置有多个层级的键-值数据库。
14.根据权利要求13所述的集群计算系统,其中,所述多个存储装置中的每一个存储装置对应于所述多个层级当中的预定层级,
其中,所述多个计算节点中的每一个计算节点的所述第二处理器还被配置为:控制排序字符串表迭代器搜索包括在所述预定层级中的多个排序字符串表文件,以搜索对应于所述键信息的所述数据。
15.根据权利要求12所述的集群计算系统,其中,所述多个计算节点被配置为并行地搜索对应于所述键信息的所述数据。
16.根据权利要求12所述的集群计算系统,其中,所述第一处理器还被配置为:基于识别出均对应于所述键信息的多条数据,将所述多条数据中的最近的一条数据分类为有效数据。
17.根据权利要求12所述的集群计算系统,其中,所述第一处理器还被配置为:控制数据聚合器生成从所述多个计算节点中的至少一个计算节点返回的数据的集合,并且向所述客户端提供所述数据的集合。
18.一种集群计算系统的操作方法,所述操作方法包括:
由主机从客户端接收数据插入请求;
由所述主机监测多个计算节点中的每一个计算节点的任务执行状态;
由所述主机基于所述多个计算节点中的每一个计算节点的所述任务执行状态来选择至少一个计算节点作为任务节点;
由所述主机向所述任务节点的第二缓冲存储器发送存储在所述主机的第一缓冲存储器中的数据;
由所述任务节点执行后台任务;以及
由所述主机更新所述多个计算节点中的每一个计算节点的所述任务执行状态。
19.根据权利要求18所述的操作方法,其中,所述的执行后台任务包括:
由所述任务节点执行所述第二缓冲存储器中的数据的压缩,或者由所述任务节点将压缩后的数据冲刷到与所述任务节点相对应的存储装置。
20.根据权利要求19所述的操作方法,其中,所述的执行后台任务包括:
由所述任务节点确定所述第二缓冲存储器中的所述数据的压缩的条件是否被满足,或者
由所述任务节点确定冲刷的条件是否被满足。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0081824 | 2021-06-23 | ||
KR1020210081824A KR20220170674A (ko) | 2021-06-23 | 2021-06-23 | 클러스터 컴퓨팅 시스템 및 이의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509702A true CN115509702A (zh) | 2022-12-23 |
Family
ID=84500755
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700427.7A Pending CN115509702A (zh) | 2021-06-23 | 2022-06-20 | 集群计算系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220413940A1 (zh) |
KR (1) | KR20220170674A (zh) |
CN (1) | CN115509702A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024152644A1 (zh) * | 2023-01-18 | 2024-07-25 | 华为云计算技术有限公司 | 数据查询方法、系统、设备集群、介质以及程序产品 |
-
2021
- 2021-06-23 KR KR1020210081824A patent/KR20220170674A/ko unknown
-
2022
- 2022-06-20 CN CN202210700427.7A patent/CN115509702A/zh active Pending
- 2022-06-22 US US17/846,651 patent/US20220413940A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024152644A1 (zh) * | 2023-01-18 | 2024-07-25 | 华为云计算技术有限公司 | 数据查询方法、系统、设备集群、介质以及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
US20220413940A1 (en) | 2022-12-29 |
KR20220170674A (ko) | 2022-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11153380B2 (en) | Continuous backup of data in a distributed data store | |
US10019459B1 (en) | Distributed deduplication in a distributed system of hybrid storage and compute nodes | |
US9563423B1 (en) | System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service | |
US20160350302A1 (en) | Dynamically splitting a range of a node in a distributed hash table | |
US9378067B1 (en) | Automated load balancing across the distributed system of hybrid storage and compute nodes | |
US9712427B1 (en) | Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model | |
US10394782B2 (en) | Chord distributed hash table-based map-reduce system and method | |
US11347647B2 (en) | Adaptive cache commit delay for write aggregation | |
KR20160124743A (ko) | 클러스터링된 인-메모리 데이터베이스의 고안 및 구현 | |
CN101375241A (zh) | 集群文件系统中的有效数据管理 | |
US9232000B1 (en) | Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server | |
US10719554B1 (en) | Selective maintenance of a spatial index | |
US11755557B2 (en) | Flat object storage namespace in an object storage system | |
US11314431B2 (en) | Distributed data blocks using storage path cost values | |
US9591099B1 (en) | Server connection establishment over fibre channel using a block device access model | |
US11216421B2 (en) | Extensible streams for operations on external systems | |
US20180004430A1 (en) | Chunk Monitoring | |
US9407601B1 (en) | Reliable client transport over fibre channel using a block device access model | |
CN115509702A (zh) | 集群计算系统及其操作方法 | |
Cao et al. | Is-hbase: An in-storage computing optimized hbase with i/o offloading and self-adaptive caching in compute-storage disaggregated infrastructure | |
US9237057B1 (en) | Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain | |
US20220342888A1 (en) | Object tagging | |
Fazul et al. | Improving data availability in HDFS through replica balancing | |
CN116595015B (zh) | 数据处理方法、装置、设备及存储介质 | |
US9473590B1 (en) | Client connection establishment over fibre channel using a block device access model |
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 |