CN117608835A - 面向无服务器数据中心的分布式内核架构 - Google Patents
面向无服务器数据中心的分布式内核架构 Download PDFInfo
- Publication number
- CN117608835A CN117608835A CN202311598388.5A CN202311598388A CN117608835A CN 117608835 A CN117608835 A CN 117608835A CN 202311598388 A CN202311598388 A CN 202311598388A CN 117608835 A CN117608835 A CN 117608835A
- Authority
- CN
- China
- Prior art keywords
- management module
- task
- resource pool
- storage
- computing
- 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
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000007726 management method Methods 0.000 claims description 148
- 238000004364 calculation method Methods 0.000 claims description 40
- 238000000034 method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 9
- 238000004148 unit process Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
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/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/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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种面向无服务器数据中心的分布式内核架构,涉及计算机技术领域,所述分布式内核架构包括:控制中心管理模块和解耦资源管理模块,其中,所述解耦资源管理模块部署在无服务器数据中心的各个存算资源池的IO处理单元中;所述控制中心管理模块,用于存储各个所述存算资源池的当前解耦存算资源的状态信息,并根据所述当前解耦存算资源的状态信息从所述存算资源池中确定目标存算资源池,将待处理任务发送至所述目标存算资源池;所述解耦资源管理模块,用于在所述目标存算资源池中确定目标存算单元,并利用所述目标存算单元响应所述待处理任务。本申请提供的分布式内核架构能够实现无服务器数据中心解耦资源的高效管理与使用。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种面向无服务器数据中心的分布式内核架构。
背景技术
现有的数据中心多是以服务器为部署单元,每个服务器包含运行用户程序的资源,如处理器、内存、SSD(Solid State Drive,即固态硬盘)等,这种架构资源拓展性不足、资源利用率低、容错性低等问题。随着网络技术的快速发展,存算资源解耦的架构可以有效地解决这些局限性,资源解耦的实现方案种类繁多,基于IPU(IO Processing Unit,输入输出处理单元)的无服务器数据(Serverless Datacenter)中心架构以IPU为核心,构建中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、随机存取存储器(Random Access Memory,RAM)、固态硬盘、机械硬盘(Hard Disk Drive,HDD)等异构存算资源池,并通过网络连接各个硬件资源池,实现资源池之间的互联互通,具有高资源利用率、高拓展性以及高容错性的特点。
目前,一种可在资源解耦的硬件架构下使用面向整机的操作系统的方式是将操作系统运行在主处理器上(如CPU),然后以访问远端资源的方式去使用其他资源,如内存、磁盘以及GPU等,但是,此方法会带来很多局限性:1)引入很高的网络时延;2)远端资源管理的高带宽消耗;3)无法利用本地设备的计算资源;4)使得处理单元成为故障的中心。另一种是多核方法,即在一个服务器内的不同核心、处理器或可编程器件分别运行一个内核,并通过消息的方式实现内核间通信,该方法同样不能支撑解耦资源的硬件架构,因为其仍然运行在单个服务器上。现有技术中,虽然有各种各样的分布式操作系统被很早地提出,但是它们都是用来管理整机服务器集群,而无法用于无服务器数据中心的解耦资源。
综上可见,如何实现无服务器数据中心解耦资源的高效管理与使用是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种面向无服务器数据中心的分布式内核架构,能够实现无服务器数据中心解耦资源的高效管理与使用。其具体方案如下:
第一方面,本申请公开了一种面向无服务器数据中心的分布式内核架构,包括:控制中心管理模块和解耦资源管理模块,其中,所述解耦资源管理模块部署在无服务器数据中心的各个存算资源池的IO处理单元中;
所述控制中心管理模块,用于存储各个所述存算资源池的当前解耦存算资源的状态信息,并根据所述当前解耦存算资源的状态信息从所述存算资源池中确定目标存算资源池,将待处理任务发送至所述目标存算资源池;
所述解耦资源管理模块,用于在所述目标存算资源池中确定目标存算单元,并利用所述目标存算单元响应所述待处理任务。
可选的,所述控制中心管理模块还用于:
每隔预设时间间隔将资源获取请求发送至各个所述存算资源池,以获取各个所述存算资源池针对所述资源获取请求返回的当前解耦存算资源的状态信息;
或,接收各个所述存算资源池发送的当前解耦存算资源的状态信息。
可选的,所述控制中心管理模块具体用于:
将待处理任务以消息原语的方式发送至所述目标存算资源池;其中,所述消息原语中包括所述目标存算资源池的地址以及与所述待处理任务对应的操作指令、操作地址、操作权限、数据中任意一种或几种元素。
可选的,所述解耦资源管理模块包括计算单元管理模块,所述计算单元管理模块用于:
当本地计算资源池生成待处理任务时,确定所述本地计算资源池的本地计算资源以及所述待处理任务所需目标计算资源,并判断所述本地计算资源是否满足所述目标计算资源;
若满足,则将所述待处理任务分配至所述目标计算单元,以便所述目标计算单元处理所述待处理任务;
若不满足,则发送资源池获取请求至所述控制中心管理模块,并获取所述控制中心管理模块针对所述资源池获取请求返回的资源池确定消息,将所述待处理任务发送至与所述资源池确定消息对应的目标计算资源池,以便所述目标计算资源池处理所述待处理任务
可选的,所述计算单元管理模块具体用于:
将所述待处理任务的当前级别子任务分配至当前计算核心,以便所述当前计算核心处理所述当前级别子任务,得到所述当前级别子任务的处理结果;
获取所述当前级别子任务的处理结果,并以推动模式或者拉动模式将所述当前级别子任务的处理结果返回至上一级别子任务的接收缓存中。
可选的,所述本地计算资源池的IO处理单元与所述本地计算资源池的通用计算单元通过非透明桥连接,所述计算单元管理模块还用于:
若存在待发送的中断信号,则通过所述非透明桥将所述中断信号发送至所述通用计算单元。
可选的,所述解耦资源管理模块包括内存单元管理模块,所述内存单元管理模块用于:
接收读写操作任务,对所述读写操作任务的权限标识进行校验,若通过校验,则响应所述读写操作任务。
可选的,所述内存单元管理模块具体用于:
基于所述读写操作任务确定源地址,并对所述源地址上的数据进行读取,以得到读取数据,基于所述读写操作任务确定目的地址,并将所述读取数据写入所述目的地址中。
可选的,所述解耦资源管理模块包括存储单元管理模块,所述存储单元管理模块用于:
接收数据存储任务,对所述数据存储任务进行权限校验,若通过所述权限校验,则响应所述数据存储任务。
可选的,所述存储单元管理模块具体用于:
利用哈希定位算法从各个存储块中确定出目标存储块,以便利用所述目标存储块响应所述数据存储任务。
本申请有益效果为:本申请面向无服务器数据中心的分布式内核架构包括:控制中心管理模块和解耦资源管理模块,其中,所述解耦资源管理模块部署在无服务器数据中心的各个存算资源池的IO处理单元中;所述控制中心管理模块,用于存储各个所述存算资源池的当前解耦存算资源的状态信息,并根据所述当前解耦存算资源的状态信息从所述存算资源池中确定目标存算资源池,将待处理任务发送至所述目标存算资源池;所述解耦资源管理模块,用于在所述目标存算资源池中确定目标存算单元,并利用所述目标存算单元响应所述待处理任务。由此可见,本申请的控制中心管理模块用于根据各个存算资源池的当前解耦存算资源的状态信息将待处理任务分配至合理的目标存算资源池中,也即控制中心管理模块对解耦存算资源进行粗粒度管理,简化其处理逻辑,并提供所有解耦存算资源的全局视角,使得待处理任务分配更加合理,为高效的资源管理与使用提供便利;进一步的,解耦资源管理模块在目标存算资源池中确定出目标存算单元,将待处理任务分配至具体的目标存算单元,实现对待处理任务的具体化处理,即解耦资源管理模块对所管理的存算资源池的存算资源进行细粒度的管理,如此一来,各个存算资源池只需对接收的待处理任务进行处理,各个存算资源池之间的处理逻辑相互独立,也因此无服务器数据中心的存算资源池的变化不影响其他存算资源池,极大提高了无服务数据中心的弹性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种面向无服务器数据中心的分布式内核架构图;
图2为本申请公开的一种具体的无服务器数据中心和分布式内核架构的结构图;
图3为本申请公开的一种具体的面向无服务器数据中心的分布式内核架构框架示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,一种可在资源解耦的硬件架构下使用面向整机的操作系统的方式是将操作系统运行在主处理器上(如CPU),然后以访问远端资源的方式去使用其他资源,如内存、磁盘以及GPU等,但是,此方法会带来很多局限性:1)引入很高的网络时延;2)远端资源管理的高带宽消耗;3)无法利用本地设备的计算资源;4)使得处理单元成为故障的中心。另一种是多核方法,即在一个服务器内的不同核心、处理器或可编程器件分别运行一个内核,并通过消息的方式实现内核间通信,该方法同样不能支撑解耦资源的硬件架构,因为其仍然运行在单个服务器上。现有技术中,虽然有各c种各样的分布式操作系统被很早地提出,但是它c们都是用来管理整机服务器集群,而无法用于无服务器数据中心的解耦资源。
为此本申请相应的提供了一种面向无服务器数据中心的分布式内核架构,能够实现无服务器数据中心解耦资源的高效管理与使用。
参照图1所示,本发明实施例公开了一种面向无服务器数据中心的分布式内核架构,所述分布式内核架构包括:控制中心管理模块和解耦资源管理模块,其中,所述解耦资源管理模块部署在无服务器数据中心的各个存算资源池的IO处理单元中;
所述控制中心管理模块11,用于存储各个所述存算资源池的当前解耦存算资源的状态信息,并根据所述当前解耦存算资源的状态信息从所述存算资源池中确定目标存算资源池,将待处理任务发送至所述目标存算资源池;
所述解耦资源管理模块12,用于在所述目标存算资源池中确定目标存算单元,并利用所述目标存算单元响应所述待处理任务。
如图2所示的一种具体的无服务器数据中心和分布式内核架构的结构图,可以理解的是,无服务器数据中心包含多个存算资源池,例如CPU、GPU、FPGA、ARM、RAM、和SSD,各个存算资源池中包含IO处理单元、若干个计算单元或存储单元或内存单元,控制中心和各个存算资源池通过网络互联,该控制中心是数个服务器构成;分布式内核架构包含控制中心管理模块11和解耦资源管理模块12,其中,控制中心管理模块11运行在控制中心,解耦资源管理模块12部署于各个存算资源池的IO处理单元中,例如部署在存算资源池GPU的解耦资源管理模块12,则为GPU管理模块,部署在存算资源池FPGA的解耦资源管理模块12,则为FPGA管理模块,以此类推。
所述控制中心管理模块11还用于:每隔预设时间间隔将资源获取请求发送至各个所述存算资源池,以获取各个所述存算资源池针对所述资源获取请求返回的当前解耦存算资源的状态信息;或,接收各个所述存算资源池发送的当前解耦存算资源的状态信息。控制中心管理模块11可以周期性主动向各个存算资源池询问当前解耦存算资源的状态信息,即每隔预设时间间隔将资源获取请求发送至各个存算资源池,各个存算资源池接收到资源获取请求后,将自身的当前解耦存算资源的大小被动发送至控制中心管理模块11,或者,控制中心管理模块11被动性接收各个存算资源池主动发送的当前解耦存算资源的状态信息,当控制中心管理模块11得到各个存算资源池的当前解耦存算资源的状态信息后,将存储的上一解耦存算资源的状态信息更新为当前解耦存算资源的状态信息,如此一来,控制中心管理模块11中记录各个存算资源池的最新的解耦存算资源的状态信息,当存在待处理任务时,可以根据最新的解耦存算资源的状态信息将待处理任务分配至目标存算资源池。
进行任务分配时可采取最小负载分配策略,也就是说,从所有存算资源池中筛选出当前解耦存算资源最大的(即负载值最小)作为目标存算资源池,控制中心管理模块11为分布式内核提供全局存算资源的视角,这有利于资源更优分配与隔离,保证资源的高利用率与安全性。需要注意的是,控制中心管理模块11只对资源做出粗粒度的分配策略,能够减少控制中心的负载以及保证各模块间的独立性。可以理解的是,存算资源池包括计算资源池和存储资源池,待处理任务可以主要分为以下两类:
1)一种是需要计算资源进行任务处理,那么控制中心管理模块11用于从各个计算资源池中确定目标计算资源池,也就是说,对于计算资源来说,控制中心管理模块11根据所有同类资源池的当前使用情况将计算任务分配到具体资源池,如最小负载分配策略,而计算任务最终的运行计算核心有该资源池所属的计算单元管理模块依据自身调度策略决定;
2)另一种是需要存储资源将数据进行存储,对于存储资源来说,所有资源的申请都必须经由控制中心管理模块11,其根据当前的全局资源视角可作出最优的资源分配和保证资源间的隔离,同样,控制中心管理模块11只做资源池级别的分配,具体的资源分配由资源池所属的管理模块依据自身分配策略决定。
所述控制中心管理模块11具体用于:将待处理任务以消息原语的方式发送至所述目标存算资源池;其中,所述消息原语中包括所述目标存算资源池的地址以及与所述待处理任务对应的操作指令、操作地址、操作权限、数据中任意一种或几种元素。在无服务器数据中心中,控制中心管理模块11与不同的存算资源池之间通过消息原语来协作。消息原语可分为控制类消息原语和数据类消息原语,控制类消息原语负责管理、配置无服务器数据中心的资源,由IPU上的通用处理器核来处理,数据类消息原语主要是用于数据的传输与处理,如内存访问,由IPU上的FPGA来处理。消息原语主要包含以下几个元素:目标存算资源池地址、与待处理任务对应的操作指令、操作地址、操作权限、数据等,可根据消息类型进行选择填充。本实施例中,通过消息原语完成控制中心管理模块11与存算资源池之间的信息协作,比较复杂的高层次应用程序接口(Application Programming Interface,API),如Socket、RDMA(Remote Direct Memory Access,即远程直接数据存取)等通信逻辑,也可基于消息原语实现,即使高层次应用程序接口存在不合法的情况,分布式内核的消息原语也能在底层保证操作的安全性,可见,丰富的消息原语为高层次API开发提供了便利,同时在底层保证了操作的合法性。
所述解耦资源管理模块12包括计算单元管理模块、内存单元管理模块、存储单元管理模块;其中,计算单元管理模块负责对本地计算资源池内部的计算单元进行管理,也是内部计算单元与外部存算资源池协作的出入口;内存单元管理模块主要对内存单元进行驱动和管理,并向外提供安全的读写接口;存储单元管理模块只提供底层的存储管理(块分配、块读写等)和I/O(input/output,即输入/输出)读写接口,以保证存储单元的高延展性。
本申请有益效果为:本申请面向无服务器数据中心的分布式内核架构包括:控制中心管理模块和解耦资源管理模块,其中,所述解耦资源管理模块部署在无服务器数据中心的各个存算资源池的IO处理单元中;所述控制中心管理模块,用于存储各个所述存算资源池的当前解耦存算资源的状态信息,并根据所述当前解耦存算资源的状态信息从所述存算资源池中确定目标存算资源池,将待处理任务发送至所述目标存算资源池;所述解耦资源管理模块,用于在所述目标存算资源池中确定目标存算单元,并利用所述目标存算单元响应所述待处理任务。由此可见,本申请的控制中心管理模块用于根据各个存算资源池的当前解耦存算资源的状态信息将待处理任务分配至合理的目标存算资源池中,也即控制中心管理模块对解耦存算资源进行粗粒度管理,简化其处理逻辑,并提供所有解耦存算资源的全局视角,使得待处理任务分配更加合理,为高效的资源管理与使用提供便利;进一步的,解耦资源管理模块在目标存算资源池中确定出目标存算单元,将待处理任务分配至具体的目标存算单元,实现对待处理任务的具体化处理,即解耦资源管理模块对所管理的存算资源池的存算资源进行细粒度的管理,如此一来,各个存算资源池只需对接收的待处理任务进行处理,各个存算资源池之间的处理逻辑相互独立,也因此无服务器数据中心的存算资源池的变化不影响其他存算资源池,极大提高了无服务数据中心的弹性。
参照图3所示,本发明实施例公开了一种具体的面向无服务器数据中心的分布式内核架构框架,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
所述解耦资源管理模块12包括计算单元管理模块121,所述计算单元管理模块121用于:当本地计算资源池生成待处理任务时,确定所述本地计算资源池的本地计算资源以及所述待处理任务所需目标计算资源,并判断所述本地计算资源是否满足所述目标计算资源;若满足,则将所述待处理任务分配至所述目标计算单元,以便所述目标计算单元处理所述待处理任务;若不满足,则发送资源池获取请求至所述控制中心管理模块,并获取所述控制中心管理模块针对所述资源池获取请求返回的资源池确定消息,将所述待处理任务发送至与所述资源池确定消息对应的目标计算资源池,以便所述目标计算资源池处理所述待处理任务。不同计算单元管理模块121功能因计算核心的特性会有所不同,特别是底层驱动逻辑,但是,上层任务执行逻辑基本一致,分为接收任务、分配任务、返回结果以及销毁任务。可以理解的是,对于计算资源池来说,待处理任务的来源有两种,一种是内部生成,另一种是外部下发。
对于本地计算资源池内部生成的待处理任务,如fork()、exec()等,计算单元管理模块121首先根据待处理任务的任务类型判断本地计算核心是否支持,如果支持再确定本地计算资源池中各个计算单元的计算资源,判断本地计算资源是否不小于处理待处理任务所需的目标计算资源,如果是,说明本地计算资源池可以处理该待处理任务,然后将待处理任务分配至目标计算单元,可以理解的是,目标计算单元可以为一个,也可以为多个,如果否,则说明本地计算资源池当前无法处理该待处理任务,可以向控制中心管理模块询问,即发送资源池获取请求至控制中心管理模块,控制中心管理模块返回资源池确定消息,该资源池确定消息中包含目标计算资源池的地址,计算单元管理模块121根据该地址将待处理任务发送至目标计算资源池,目标计算资源池处理该待处理任务。
外部下发的待处理任务可以是控制中心管理模块直接发送的,也可以是控制中心管理模块通过其他计算资源池间接发送的,计算单元管理模块121所在的本地计算资源池接收到待处理任务后,确定目标计算单元,并将该待处理任务发送至目标计算单元,以便目标计算单元处理该待处理任务。
所述计算单元管理模块具体用于:将所述待处理任务的当前级别子任务分配至当前计算核心,以便所述当前计算核心处理所述当前级别子任务,得到所述当前级别子任务的处理结果;获取所述当前级别子任务的处理结果,并以推动模式或者拉动模式将所述当前级别子任务的处理结果返回至上一级别子任务的接收缓存中。可以理解的是,一个待处理任务可以有多个子任务组成,也就是说,由不同的计算核心处理不同级别的子任务,任务之间的逻辑关系可以采用DAG(Directed Acyclic Graph,即有向无环图)来表示,其中,当前计算核心A处理当前级别子任务得到处理结果,即数据,将该处理结果返回上一级别子任务的接收缓存B中。处理结果返回的方式有两种模式,一种是推动(push)模式,另一种是拉动(pull)模式,处理结果返回的方式可由用户根据任务及结果数据的特性进行选择;在推动模式下,下级任务的执行结果由其对应计算单元管理模块告知处理结果所在的内存单元管理模块将处理结果发送到接收缓存B中;在pull模式下,下级任务对应的计算单元管理模块将运行结果已经产生以及结果所在的地址告知给接收缓存B所在的内存管理模块,而后由所述内存单元管理模块主动读取处理结果,以将处理结果保存至接收缓存B中。
当待处理任务的各个子任务均完成后,其对应的计算单元管理模块121告知控制中心管理模块,并由控制中心管理模块协调各解耦资源管理模块释放该任务所占用的资源,这有利于维护控制中心的全局资源视角。
所述本地计算资源池的IO处理单元与所述本地计算资源池的通用计算单元通过非透明桥连接,所述计算单元管理模块121还用于:若存在待发送的中断信号,则通过所述非透明桥将所述中断信号发送至所述通用计算单元。通用计算单元是计算单元中的一种类型,特指支持硬件中断的计算单元,x86CPU、ARM等,计算单元管理模块121与通用计算单元之间可以进行中断信号传输,以快速响应特定的操作,其中中断信号的传输依赖IO处理单元与通用计算单元的通信连接,也就是说,预先将IO处理单元与通用计算单元通过非透明桥(NTB,即Non-Transparent Bridging)进行连接,如此一来,才能够通过非透明桥将中断信号进行传输。
所述解耦资源管理模块12包括内存单元管理模块122,所述内存单元管理模块122用于:接收读写操作任务,对所述读写操作任务的权限标识进行校验,若通过校验,则响应所述读写操作任务。
内存单元管理模块122具体提供以下操作语义:读操作任务(R)、写操作任务(W)、读写操作任务(RW),为了保证操作的安全性,内存单元管理模块122以页为单位管理物理内存资源,每个页都有所属者(Process Identifier,即PID)以及权限标识(R/W/RW),所有的内存操作请求都必须包含相应的操作标识,只有对权限标识校验通过后,才会被执行,否则被拒绝。具体如下:
1)收到读操作任务,进行读权限标识校验,若通过,则读取指定地址的数据返回至请求方;
2)收到写操作任务,进行读权限标识校验,若通过,则向指定地址写入数据;
3)由于内存单元管理模块所运行的硬件设备IPU具有一定的计算能力,且计算核心与内存单元之间通过以太网连接,彼此间的通信具有较高的时延,因此,为了提高无服务器数据中心的内存相关操作的效率,内存单元管理模块提供读写语义的操作接口,即收到读写操作任务后,进行读写权限标识校验,若通过,则响应读写操作任务。
所述内存单元管理模块122具体用于:基于所述读写操作任务确定源地址,并对所述源地址上的数据进行读取,以得到读取数据,基于所述读写操作任务确定目的地址,并将所述读取数据写入所述目的地址中。响应读写操作任务具体过程如下:确定读写操作任务的源地址和目的地址,读取源地址上的数据,并将读取到的数据写入目的地址中。具体来说,读写操作有以下几类情况:a)读取本内存池的数据写入到本内存池的另一块存储区域(内存拷贝);b)读取本内存池的数据写入到其他内存池中(内存拷贝);c)读取本内存池数据写入到存储池(如swap out,即换出);d)读取存储池数据写入到本内存池对应的地址(如swap in,即换入)。
所述解耦资源管理模块12包括存储单元管理模块123,所述存储单元管理模块123用于:接收数据存储任务,对所述数据存储任务进行权限校验,若通过所述权限校验,则响应所述数据存储任务。为了保证数据的安全性,所有I/O操作必须从控制中心管理模块获取相应的权限,存储单元管理模块123会对I/O操作进行权限校验,只有通过权限校验,才会相应I/O操作,即数据存储任务。
所述存储单元管理模块123具体用于:利用哈希定位算法从各个存储块中确定出目标存储块,以便利用所述目标存储块响应所述数据存储任务。存储数据的元信息则由控制中心管理模块进行管理,如数据的大小、所属者、模式等。此外,无服务器数据中心存在大量的存储单元且是动态变化的:按需部署新的存储单元和因故障而下线的旧设备。为了保证数据的可靠性,存储单元管理模块123负责数据的迁移、冗余、故障检查以及故障恢复等,而所有的存储单元管理模块123协同为用户和控制中心提供统一的逻辑块存储。其中,逻辑块存储用于数据存储和管理,将数据划分为固定大小的数据块,并将这些数据块存储在物理存储介质上,使得数据可以按块进行读取和写入,以提供高效的数据访问和管理。响应数据存储任务具体过程为:利用哈希定位算法从各个存储块中确定出目标存储块,其中,哈希定位算法例如为CRUSH(Controlled Replication Under Scalable Hashing,即可扩展哈希下的受控复制)算法,然后将数据存储任务存储在目标存储块。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(Random Access Memory,即RAM)、内存、只读存储器(Read-Only Memory,即ROM)、电可编程EPROM(Erasable Programmable Read Only Memory)、电可擦除可编程EEPROM(Electrically Erasable Programmable read only memory)、寄存器、硬盘、可移动磁盘、CD-ROM(CoMP23030187act Disc Read-Only Memory,即紧凑型光盘只读储存器)、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种面向无服务器数据中心的分布式内核架构进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种面向无服务器数据中心的分布式内核架构,其特征在于,包括:控制中心管理模块和解耦资源管理模块,其中,所述解耦资源管理模块部署在无服务器数据中心的各个存算资源池的IO处理单元中;
所述控制中心管理模块,用于存储各个所述存算资源池的当前解耦存算资源的状态信息,并根据所述当前解耦存算资源的状态信息从所述存算资源池中确定目标存算资源池,将待处理任务发送至所述目标存算资源池;
所述解耦资源管理模块,用于在所述目标存算资源池中确定目标存算单元,并利用所述目标存算单元响应所述待处理任务。
2.根据权利要求1所述的分布式内核架构,其特征在于,所述控制中心管理模块还用于:
每隔预设时间间隔将资源获取请求发送至各个所述存算资源池,以获取各个所述存算资源池针对所述资源获取请求返回的当前解耦存算资源的状态信息;
或,接收各个所述存算资源池发送的当前解耦存算资源的状态信息。
3.根据权利要求1所述的分布式内核架构,其特征在于,所述控制中心管理模块具体用于:
将待处理任务以消息原语的方式发送至所述目标存算资源池;其中,所述消息原语中包括所述目标存算资源池的地址以及与所述待处理任务对应的操作指令、操作地址、操作权限、数据中任意一种或几种元素。
4.根据权利要求1所述的分布式内核架构,其特征在于,所述解耦资源管理模块包括计算单元管理模块,所述计算单元管理模块用于:
当本地计算资源池生成待处理任务时,确定所述本地计算资源池的本地计算资源以及所述待处理任务所需目标计算资源,并判断所述本地计算资源是否满足所述目标计算资源;
若满足,则将所述待处理任务分配至所述目标计算单元,以便所述目标计算单元处理所述待处理任务;
若不满足,则发送资源池获取请求至所述控制中心管理模块,并获取所述控制中心管理模块针对所述资源池获取请求返回的资源池确定消息,将所述待处理任务发送至与所述资源池确定消息对应的目标计算资源池,以便所述目标计算资源池处理所述待处理任务。
5.根据权利要求4所述的分布式内核架构,其特征在于,所述计算单元管理模块具体用于:
将所述待处理任务的当前级别子任务分配至当前计算核心,以便所述当前计算核心处理所述当前级别子任务,得到所述当前级别子任务的处理结果;
获取所述当前级别子任务的处理结果,并以推动模式或者拉动模式将所述当前级别子任务的处理结果返回至上一级别子任务的接收缓存中。
6.根据权利要求4所述的分布式内核架构,其特征在于,所述本地计算资源池的IO处理单元与所述本地计算资源池的通用计算单元通过非透明桥连接,所述计算单元管理模块还用于:
若存在待发送的中断信号,则通过所述非透明桥将所述中断信号发送至所述通用计算单元。
7.根据权利要求1所述的分布式内核架构,其特征在于,所述解耦资源管理模块包括内存单元管理模块,所述内存单元管理模块用于:
接收读写操作任务,对所述读写操作任务的权限标识进行校验,若通过校验,则响应所述读写操作任务。
8.根据权利要求7所述的分布式内核架构,其特征在于,所述内存单元管理模块具体用于:
基于所述读写操作任务确定源地址,并对所述源地址上的数据进行读取,以得到读取数据,基于所述读写操作任务确定目的地址,并将所述读取数据写入所述目的地址中。
9.根据权利要求1所述的分布式内核架构,其特征在于,所述解耦资源管理模块包括存储单元管理模块,所述存储单元管理模块用于:
接收数据存储任务,对所述数据存储任务进行权限校验,若通过所述权限校验,则响应所述数据存储任务。
10.根据权利要求9所述的分布式内核架构,其特征在于,所述存储单元管理模块具体用于:
利用哈希定位算法从各个存储块中确定出目标存储块,以便利用所述目标存储块响应所述数据存储任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311598388.5A CN117608835A (zh) | 2023-11-27 | 2023-11-27 | 面向无服务器数据中心的分布式内核架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311598388.5A CN117608835A (zh) | 2023-11-27 | 2023-11-27 | 面向无服务器数据中心的分布式内核架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117608835A true CN117608835A (zh) | 2024-02-27 |
Family
ID=89947642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311598388.5A Pending CN117608835A (zh) | 2023-11-27 | 2023-11-27 | 面向无服务器数据中心的分布式内核架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117608835A (zh) |
-
2023
- 2023-11-27 CN CN202311598388.5A patent/CN117608835A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Van Steen et al. | Distributed systems principles and paradigms | |
US8832174B2 (en) | System and method for dynamic task migration on multiprocessor system | |
CN108292235B (zh) | 使用选择性资源迁移的网络附连存储器 | |
JP5516744B2 (ja) | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 | |
US20200042454A1 (en) | System and method for facilitating cluster-level cache and memory space | |
US20140359050A1 (en) | Modular architecture for extreme-scale distributed processing applications | |
CN113674133A (zh) | Gpu集群共享显存系统、方法、装置及设备 | |
US20190146803A1 (en) | Fast boot | |
US11347413B2 (en) | Opportunistic storage service | |
US10579419B2 (en) | Data analysis in storage system | |
CN113703672A (zh) | 一种超融合系统及其io请求下发方法、物理服务器 | |
US10802748B2 (en) | Cost-effective deployments of a PMEM-based DMO system | |
Trivedi et al. | RStore: A direct-access DRAM-based data store | |
CN115543952A (zh) | 用于分布式系统中的共享存储器访问api的方法和系统 | |
US11687451B2 (en) | Memory allocation manager and method performed thereby for managing memory allocation | |
CN117608835A (zh) | 面向无服务器数据中心的分布式内核架构 | |
US11635919B1 (en) | Safe sharing of hot and cold memory pages | |
US20210357134A1 (en) | System and method for creating on-demand virtual filesystem having virtual burst buffers created on the fly | |
JPH1063525A (ja) | 情報処理装置、情報処理システム及びその制御方法 | |
CN115794368A (zh) | 业务系统、内存管理方法及装置 | |
CN114281765A (zh) | 分布式文件系统中的元数据处理方法及设备 | |
US11625180B1 (en) | Fault tolerant reservation state distribution for multi-partition logical volumes | |
JPH09319653A (ja) | 情報処理装置、情報処理システム及びその制御方法 | |
Abbasi et al. | An Analysis of QoS specific Coherence Issues in Distributed Networks | |
CN116708583A (zh) | 业务执行方法、存储介质、设备及分布式系统 |
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 |