CN111880900A - 一种面向超融合设备的近数据处理系统的设计方法 - Google Patents
一种面向超融合设备的近数据处理系统的设计方法 Download PDFInfo
- Publication number
- CN111880900A CN111880900A CN202010743780.4A CN202010743780A CN111880900A CN 111880900 A CN111880900 A CN 111880900A CN 202010743780 A CN202010743780 A CN 202010743780A CN 111880900 A CN111880900 A CN 111880900A
- Authority
- CN
- China
- Prior art keywords
- data
- virtual machine
- module
- data block
- cache
- 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
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/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/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/45562—Creating, deleting, cloning virtual machine instances
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
- 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/45595—Network integration; Enabling network access in virtual machine instances
Abstract
本发明涉及一种面向超融合设备的近数据处理系统的设计方法,属于计算机技术领域。本发明通过在超融合设备中进行近数据处理设计,其中在虚拟机模块和共享存储模块之间构建缓存模块,实现了对当前虚拟机访问的热点数据的缓存,当虚拟机需要访问共享存储模块的数据时,可以先在本地高速硬盘中查找,命中即可直接访问,从而避免访问底层数据带来的时间延迟,能够拉近存储与处理部件的距离,减少数据处理过程中的I/O路径,降低数据处理时的I/O延迟,可以有效提升信息系统的数据处理能力。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种面向超融合设备的近数据处理系统的设计方法。
背景技术
当前,计算机存储性能的提升速度严重滞后于处理器性能,存储瓶颈导致高性能处理器难以发挥应有的功效。随着物联网、智能终端、智能感知设备的兴起和广泛应用,信息系统中产生了海量半结构化、非结构化数据,受到I/O性能尤其是网络传输、硬盘读写带宽的限制,现有信息系统难以满足海量数据处理的应用需求,以计算为中心的数据处理方式面临着内存容量有限、缓存命中率低,尤其是数据I/O压力大等诸多挑战。因此,信息系统数据处理方式的变革势在必行,计算存储融合成为了当前主流的发展方向。
近年来,超融合架构在民用领域得到了快速发展,2019年,全球超融合基础设施市场规模达到146亿,年复合增长率为23.8%。目前,超融合设备产品国外厂商主要有Nutanix、VMware、Maxta、DELL、HDS等。国内超融合技术起步较晚,目前正处在快速发展、逐渐完善的阶段。华为已经发布了FusionCube超融合基础设施,新华三推出了UIS系列超融合产品,深信服提出了aCloud超融合解决方案。
但是,国内外超融合产品大多存在计算存储深度融合调度能力不足的问题,普遍是基于现有分布式存储、虚拟机管理平台的组合应用,没有实现计算存储的深度融合,对近数据处理的支撑不足。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何有效提升信息系统的数据处理能力。
(二)技术方案
为了解决上述技术问题,本发明提供了一种面向超融合设备的近数据处理系统的设计方法,该方法基于多个计算节点进行设计实现,将每个计算节点配置多个普通硬盘、多个本地高速硬盘,该近数据处理系统设计为包括虚拟机模块、缓存模块和共享存储模块;
所述虚拟机模块用于完成多个计算节点上虚拟机的创建、删除,实现对计算资源的统一管理;
所述缓存模块设计为用于针对每个创建的虚拟机,在多个计算节点上本地高速硬盘上划分出对应独立的存储空间,缓存对应虚拟机访问的热点数据;
所述共享存储模块设计为用于实现对多个计算节点上普通硬盘的统一管理,为虚拟机模块创建的虚拟机提供共享存储空间。
优选地,所述缓存模块采用基于访问行为的惰性缓存调度算法实现数据缓存。
优选地,所述缓存模块采用基于访问行为的惰性缓存调度算法实现数据缓存,其中假设:在预设短时间内被访问至少两次比被访问一次的数据块更有可能成为热点,并且针对数据块在不同时间段的访问行为对判断该数据块成为热点的影响不同;
该惰性缓存调度算法借助两级缓存进行热点数据的筛选:在内存中管理两个链表C1和C2,分别对应一级缓存和二级缓存。
优选地,所述缓存模块采用基于访问行为的惰性缓存调度算法实现数据缓存时,对热点数据的识别的过程为:
当数据块A第一次被访问时,首先插入链表C1的尾部,当数据块A在预设短时间内被再次访问时,将数据块A从链表C1中删除,并插入链表C2的尾部;链表C1中各节点按照数据块的访问先后顺序进行排序,最晚被访问的节点位于链表的尾部,设Ti表示数据块i的访问时间,访问时间越早Ti值越小;
链表C2中各节点按照数据块在过去一段时间内的访问频度估值进行排序,估值最大的节点位于链表的尾部,Vi表示数据块i的访问频度估值;
针对数据块i的访问频度估值Vi统计过去M分钟内数据块i的访问次数,并将M分钟划分为R个时间间隔,每个时间间隔所对应的权重不同,距离当前时间越近的时间间隔所对应的权重越大;
记当前时间为t,Nik为从t-(M/R-k+1)R时刻到t-(M/R-k)R时刻内数据块i的访问次数,则
其中,k为正整数;
每隔M/R分钟重新计算链表C2上各节点的访问频度估值,并进行排序,当有节点的估值为0时,将该节点从链表C2中删除,插入链表C1尾部。
优选地,所述普通硬盘设计为磁盘。
优选地,所述普通硬盘设计为SSD。
优选地,所述本地高速硬盘设计为NVMe SSD。
优选地,所述虚拟机模块设计为对虚拟机的分配算法进行优化设计,同时依据虚拟机实例所需资源大小以及资源池内各节点的负载情况,以及各计算节点存储的虚拟机实例数据量,进行虚拟机创建或迁移。
本发明还提供了一种利用所述的方法得到的近数据处理系统的应用,,包括以下步骤:当虚拟机访问文件时,首先在本地高速硬盘中查找,若本地高速硬盘命中,则直接从缓存模块返回数据至虚拟机处理;若本地高速硬盘未命中,则再从共享存储模块中三个计算节点的普通硬盘上分别获取数据,并把本次访问的数据写入本地高速硬盘,待下次访问该文件时,直接从本地高速硬盘读取。
本发明还提供了一种利用所述的方法得到的近数据处理系统实现读、写数据块的方法。
(三)有益效果
本发明通过在超融合设备中进行近数据处理设计,其中在虚拟机模块和共享存储模块之间构建缓存模块,实现了对当前虚拟机访问的热点数据的缓存,当虚拟机需要访问共享存储模块的数据时,可以先在本地高速硬盘中查找,命中即可直接访问,从而避免访问底层数据带来的时间延迟,能够拉近存储与处理部件的距离,减少数据处理过程中的I/O路径,降低数据处理时的I/O延迟,可以有效提升信息系统的数据处理能力。
附图说明
图1为本发明的近数据处理系统架构设计原理图;
图2为未采用近数据处理系统的数据访问流程原理图;
图3为本发明的采用近数据处理机制的数据访问流程原理图;
图4为本发明设计中链表C1组织示意图;
图5为本发明设计中链表C2组织示意图;
图6为本发明设计的读数据流程图;
图7为本发明设计的写数据流程图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
超融合设备通常由多个计算节点(服务器或刀片)组成,本发明涉及的一种面向超融合设备的近数据处理系统的设计方法的原理如图1所示,该方法基于多个计算节点进行设计实现,将每个计算节点配置多个普通硬盘(如磁盘或SSD)、多个本地高速硬盘(如NVMeSSD),该近数据处理系统设计为包括虚拟机模块、缓存模块和共享存储模块。
所述虚拟机模块设计为用于完成多个计算节点上虚拟机的创建、删除,实现对计算资源的统一管理;
所述缓存模块设计为用于针对每个创建的虚拟机,在多个计算节点上本地高速硬盘(NVMe SSD)上划分出对应独立的存储空间,用于缓存对应虚拟机访问的热点数据;
所述共享存储模块设计为用于实现对多个计算节点上普通硬盘的统一管理,为虚拟机模块创建的虚拟机提供共享存储空间。
本发明的近数据处理系统的设计要点主要在于在虚拟机模块和共享存储模块之间构建了缓存模块,实现了对当前虚拟机访问的热点数据的缓存,当虚拟机需要访问共享存储模块的数据时,可以先在本地高速硬盘中查找,命中即可直接访问,避免访问底层数据带来的时间延迟;此外,虚拟机模块采用虚拟机优化调度技术,优先在存储数据较多的计算节点上进行虚拟机创建、迁移。
未应用本发明的近数据处理系统时,由于底层采用分布式存储技术,一个文件会被分片存储在共享存储模块中多个计算节点上(图2中为三个),此时虚拟机访问该文件,需要从共享存储模块中三个计算节点上分别获取数据,会涉及节点间的数据网络传输,造成很大延迟,影响数据处理效率,如图2所示。
应用本发明的近数据处理系统之后,当虚拟机访问文件时,如图3所示,会首先在本地高速硬盘中查找,若本地高速硬盘命中,则直接从缓存模块返回数据至虚拟机处理,省去了节点间数据传输时延,能够极大提升虚拟机数据处理效率;若本地高速硬盘未命中,则再从共享存储模块中三个计算节点上分别获取数据,并把本次访问的数据写入本地高速硬盘,待下次访问该文件时,可直接从本地高速硬盘读取。
在设计近数据处理系统的缓存模块时,可通过设置尽可能大的缓存空间,并采用基于访问行为的惰性缓存调度算法,从而尽可能避免从多个计算节点上读取数据带来的传输时延。
基于访问行为的惰性缓存调度算法中针对热数据的识别基于以下经验假设:在短时间内被访问至少两次的数据块更有可能成为热点,并且针对数据块在不同时间段的访问行为对判断该数据块成为热点的影响不同。该惰性缓存调度算法借助两级缓存进行热点数据的筛选,在内存中管理两个链表C1和C2,分别对应一级缓存和二级缓存。当数据块A第一次被访问时,会首先插入链表C1的尾部,当数据块A在预设短时间内被再次访问时,将数据块A从链表C1中删除,并插入链表C2的尾部。
链表C1中各节点按照数据块的访问先后顺序进行排序,最晚被访问的节点位于链表的尾部,如图4所示,Ti表示数据块i的访问时间,访问时间越早Ti值越小。
链表C2中各节点按照数据块在过去一段时间内的访问频度估值进行排序,估值最大的节点位于链表的尾部,如图5所示,Vi表示数据块i的访问频度估值。
针对数据块i的访问频度估值Vi统计过去M分钟内数据块i的访问次数,并将M分钟划分为R个时间间隔,每个时间间隔所对应的权重不同,距离当前时间越近的时间间隔所对应的权重越大。记当前时间为t,Nik为从t-(M/R-k+1)R时刻到t-(M/R-k)R时刻内数据块i的访问次数,则
k为正整数,系统每隔M/R分钟重新计算链表C2上各节点的访问频度估值,并进行排序,当有节点的估值为0时,将该节点从链表C2中删除,插入链表C1尾部。
本发明提供的一种利用该系统基于所述惰性缓存调度算法实现的读数据块A的方法,其流程如图6所示,又提供了一种利用该系统基于所述惰性缓存调度算法实现的写数据块A的方法,流程如图7所示。
本发明近数据处理系统的所述虚拟机模块对虚拟机的分配算法进行优化设计,在进行虚拟机创建或迁移时,同时依据虚拟机实例所需资源大小以及资源池内各节点的负载情况,以及各计算节点存储的虚拟机实例数据量,从而实现尽可能在剩余资源较多、负载较轻、存储虚拟机实例数据较多的计算节点上创建或迁移。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种面向超融合设备的近数据处理系统的设计方法,其特征在于,该方法基于多个计算节点进行设计实现,将每个计算节点配置多个普通硬盘、多个本地高速硬盘,该近数据处理系统设计为包括虚拟机模块、缓存模块和共享存储模块;
所述虚拟机模块设计为用于完成多个计算节点上虚拟机的创建、删除,实现对计算资源的统一管理;
所述缓存模块设计为用于针对每个创建的虚拟机,在多个计算节点上本地高速硬盘上划分出对应独立的存储空间,缓存对应虚拟机访问的热点数据;
所述共享存储模块设计为用于实现对多个计算节点上普通硬盘的统一管理,为虚拟机模块创建的虚拟机提供共享存储空间。
2.如权利要求1所述的方法,其特征在于,所述缓存模块采用基于访问行为的惰性缓存调度算法实现数据缓存。
3.如权利要求2所述的方法,其特征在于,所述缓存模块采用基于访问行为的惰性缓存调度算法实现数据缓存,其中假设:在预设短时间内被访问至少两次比被访问一次的数据块更有可能成为热点,并且针对数据块在不同时间段的访问行为对判断该数据块成为热点的影响不同;
该惰性缓存调度算法借助两级缓存进行热点数据的筛选:在内存中管理两个链表C1和C2,分别对应一级缓存和二级缓存。
4.如权利要求3所述的方法,其特征在于,所述缓存模块采用基于访问行为的惰性缓存调度算法实现数据缓存时,对热点数据的识别的过程为:
当数据块A第一次被访问时,首先插入链表C1的尾部,当数据块A在预设短时间内被再次访问时,将数据块A从链表C1中删除,并插入链表C2的尾部;链表C1中各节点按照数据块的访问先后顺序进行排序,最晚被访问的节点位于链表的尾部,设Ti表示数据块i的访问时间,访问时间越早Ti值越小;
链表C2中各节点按照数据块在过去一段时间内的访问频度估值进行排序,估值最大的节点位于链表的尾部,Vi表示数据块i的访问频度估值;
针对数据块i的访问频度估值Vi统计过去M分钟内数据块i的访问次数,并将M分钟划分为R个时间间隔,每个时间间隔所对应的权重不同,距离当前时间越近的时间间隔所对应的权重越大;
记当前时间为t,Nik为从t-(M/R-k+1)R时刻到t-(M/R-k)R时刻内数据块i的访问次数,则
其中,k为正整数;
每隔M/R分钟重新计算链表C2上各节点的访问频度估值,并进行排序,当有节点的估值为0时,将该节点从链表C2中删除,插入链表C1尾部。
5.如权利要求1所述的方法,其特征在于,所述普通硬盘设计为磁盘。
6.如权利要求1所述的方法,其特征在于,所述普通硬盘设计为SSD。
7.如权利要求1所述的方法,其特征在于,所述本地高速硬盘设计为NVMe SSD。
8.如权利要求1所述的方法,其特征在于,所述虚拟机模块设计为对虚拟机的分配算法进行优化设计,同时依据虚拟机实例所需资源大小以及资源池内各节点的负载情况,以及各计算节点存储的虚拟机实例数据量,进行虚拟机创建或迁移。
9.一种利用如权利要求1至8中任一项所述的方法得到的近数据处理系统的应用,其特征在于,包括以下步骤:当虚拟机访问文件时,首先在本地高速硬盘中查找,若本地高速硬盘命中,则直接从缓存模块返回数据至虚拟机处理;若本地高速硬盘未命中,则再从共享存储模块中三个计算节点的普通硬盘上分别获取数据,并把本次访问的数据写入本地高速硬盘,待下次访问该文件时,直接从本地高速硬盘读取。
10.一种利用如权利要求1至8中任一项所述方法得到的近数据处理系统实现读、写数据块的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743780.4A CN111880900A (zh) | 2020-07-29 | 2020-07-29 | 一种面向超融合设备的近数据处理系统的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743780.4A CN111880900A (zh) | 2020-07-29 | 2020-07-29 | 一种面向超融合设备的近数据处理系统的设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111880900A true CN111880900A (zh) | 2020-11-03 |
Family
ID=73201955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010743780.4A Pending CN111880900A (zh) | 2020-07-29 | 2020-07-29 | 一种面向超融合设备的近数据处理系统的设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880900A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535330A (zh) * | 2021-07-26 | 2021-10-22 | 北京计算机技术及应用研究所 | 一种基于节点评价函数的超融合系统数据本地化存储方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760101A (zh) * | 2012-05-22 | 2012-10-31 | 中国科学院计算技术研究所 | 一种基于ssd 的缓存管理方法及系统 |
CN108932150A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 基于ssd和磁盘混合存储的缓存方法、装置及介质 |
-
2020
- 2020-07-29 CN CN202010743780.4A patent/CN111880900A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760101A (zh) * | 2012-05-22 | 2012-10-31 | 中国科学院计算技术研究所 | 一种基于ssd 的缓存管理方法及系统 |
CN108932150A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 基于ssd和磁盘混合存储的缓存方法、装置及介质 |
Non-Patent Citations (2)
Title |
---|
刘秉煦;张文军;李小勇;: "面向 SSD/HDD 混合存 储的动态缓存调度算法 DRC", 微型电脑应用, 04 * |
詹玲;门勇;汤陈蕾;徐鹏;万继光;: "SHCA:基于 RAID 的两级缓存算法设 计与实现", 小型微型计算机系统, 05 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535330A (zh) * | 2021-07-26 | 2021-10-22 | 北京计算机技术及应用研究所 | 一种基于节点评价函数的超融合系统数据本地化存储方法 |
CN113535330B (zh) * | 2021-07-26 | 2023-08-08 | 北京计算机技术及应用研究所 | 一种基于节点评价函数的超融合系统数据本地化存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657101B2 (en) | Techniques for implementing hybrid flash/HDD-based virtual disk files | |
CN102467408B (zh) | 一种虚拟机数据的访问方法和设备 | |
US9182927B2 (en) | Techniques for implementing hybrid flash/HDD-based virtual disk files | |
CN109558084B (zh) | 一种数据处理方法以及相关设备 | |
US10922316B2 (en) | Using computing resources to perform database queries according to a dynamically determined query size | |
US9280300B2 (en) | Techniques for dynamically relocating virtual disk file blocks between flash storage and HDD-based storage | |
CN102831222A (zh) | 一种基于重复数据删除的差量压缩方法 | |
CN104156380A (zh) | 一种分布式存储器哈希索引方法及系统 | |
CN107209714A (zh) | 分布式存储系统及分布式存储系统的控制方法 | |
CN110795363B (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
CN108733306A (zh) | 一种文件合并方法及装置 | |
CN110532200B (zh) | 一种基于混合内存架构的内存系统 | |
US11372568B2 (en) | System and method for storing and accessing blockchain data | |
CN109407985B (zh) | 一种数据管理的方法以及相关装置 | |
CN107665219A (zh) | 一种日志管理方法及装置 | |
CN104050057B (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
CN106528451A (zh) | 针对小文件的二级缓存预取的云存储框架及构建方法 | |
CN110888600A (zh) | 一种面向nand闪存的缓冲区管理方法 | |
CN112799597A (zh) | 面向流数据处理的分级存储容错方法 | |
Zhou et al. | Improving big data storage performance in hybrid environment | |
CN109460406A (zh) | 一种数据处理方法及装置 | |
KR101686346B1 (ko) | 하이브리드 ssd 기반 하둡 분산파일 시스템의 콜드 데이터 축출방법 | |
CN106547484A (zh) | 一种基于raid5的实现内存数据可靠性方法及系统 | |
CN104376094A (zh) | 一种考虑访问随机性的文件分级存储方法和系统 | |
US11010091B2 (en) | Multi-tier 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 |