CN117170858A - 动态可伸缩的拟态计算方法及系统 - Google Patents
动态可伸缩的拟态计算方法及系统 Download PDFInfo
- Publication number
- CN117170858A CN117170858A CN202310815205.4A CN202310815205A CN117170858A CN 117170858 A CN117170858 A CN 117170858A CN 202310815205 A CN202310815205 A CN 202310815205A CN 117170858 A CN117170858 A CN 117170858A
- Authority
- CN
- China
- Prior art keywords
- resource
- computing
- application
- task
- resources
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 42
- 238000012544 monitoring process Methods 0.000 claims abstract description 36
- 238000003860 storage Methods 0.000 claims abstract description 30
- 238000011176 pooling Methods 0.000 claims abstract description 24
- 238000013507 mapping Methods 0.000 claims abstract description 9
- 238000007726 management method Methods 0.000 claims description 234
- 239000000306 component Substances 0.000 claims description 106
- 238000000034 method Methods 0.000 claims description 54
- 238000005516 engineering process Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 28
- 230000006978 adaptation Effects 0.000 claims description 21
- 238000011084 recovery Methods 0.000 claims description 19
- 238000005457 optimization Methods 0.000 claims description 18
- 230000003993 interaction Effects 0.000 claims description 16
- 238000009826 distribution Methods 0.000 claims description 15
- 239000008358 core component Substances 0.000 claims description 14
- 230000001133 acceleration Effects 0.000 claims description 12
- 238000013439 planning Methods 0.000 claims description 10
- 238000013468 resource allocation Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 8
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000002265 prevention Effects 0.000 claims 1
- 238000004458 analytical method Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003818 cinder Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种动态可伸缩的拟态计算方法及系统,包括:平台管理单元对用户操作进行鉴权;用户管理单元对用户进行管理;应用管理单元进行应用编排、应用部署和应用监控;资源管理单元提供资源软件定义、资源弹性管理、资源重构及资源调度分配服务;异质异构资源池对异构计算资源、异构存储资源、异构通信资进行池化管理;计算任务管理单元对计算任务进行监控、调度管理;算核库对领域共性算核、领域专用算核进行管理和版本控制;构件池是算核的物理映射和实现,对计算任务管理单元进行任务处理。本发明通过软件定义资源和软件定义应用任务,使得计算任务和资源优化匹配,提高计算效率/效能,同时提供了任务可重构、资源可重构能力。
Description
技术领域
本发明涉及先进计算与新兴软件的技术领域,具体地,涉及动态可伸缩的拟态计算方法及系统。
背景技术
云计算、大数据、物联网等ICT领域重大技术发展使得AI、暴力计算等强算力消耗型应用对计算能力需求的增速逐年提升,算力作为新型核心生产力要素,已成为当前整个数字信息社会发展的关键。中国信通院发布的《中国算力发展指数白皮书(2022年)》显示近年来算力规模年平均增长率达45%左右,2021年我国算力核心产业规模达1.5万亿元,关联产业规模超过8万亿元算力产业支柱作用越发凸显。国家数字经济发展规划、东数西算工程等为先进计算在多样化算力适配、高效能算力结构、分布式算力集成方面提出了技术挑战和发展机遇。
拟态计算在“结构决定功能、结构决定性能、结构决定效能”的思想下,通过软件定义互连和软件定义节点的新一代先进计算体系架构,对计算、存储、网络、能源进行软硬件协同持续强化和计算生态体系持续优化,突破联通墙、功耗墙、存储墙,为跨领域融合创新和产业数字化提供高能效多样化算力网络。
目前软件定义计算机、异构计算系统等新型计算技术主要针对计算资源的动态扩展、计算/存储元器件的高效定义和互连,而在异构计算资源的统一管理和规划、计算任务/计算资源的可重构/可伸缩方面工作较为欠缺。现有的异构计算平台虽然实现了对FPGA、GPU等异构计算资源的统一管理,但所提供的高效能计算服务与应用深度绑定,高效能计算资源重用度较低、应用适配场景较为单一。如:微软异构计算平台只能进行网络通信加速和查询排序算法加速,难以为其他应用提供高效能计算服务。现阶段,新一代先进计算技术中,计算结构适应计算需求的定义适配、异构资源的抽象供给、弹性可伸缩动态可重构的计算系统架构是实现多样化算力适配、高效能算力结构的算力供给所需突破的难题。
在公开好为CN201910001229.X的专利文献中公开了基于拟态计算的处理装置及数据处理方法,本发明实施例公开基于拟态计算的处理装置及数据处理方法。其中,所述处理装置包括:拟态调度器、多个异构处理模块、计算处理模块和输入输出模块,拟态调度器与多个异构处理模块相连,拟态调度器分别与计算处理模块和输入输出模块相连;拟态调度器用于识别计算操作数据和非计算操作数据,并将计算操作数据发送至计算处理模块和将非计算操作数据分别发送至多个异构处理模块,并根据各个异构处理模块对非计算操作数据处理后的输出结果获取满足一致性条件的输出结果;计算处理模块用于处理计算操作数据,多个异构处理模块用于处理非计算操作数据。本发明实施例提供的基于拟态计算的处理装置及数据处理方法,降低了处理装置的能耗。该专利(基于拟态计算的处理装置及数据处理方法)中,没有应用的部署、监控等应用级管理功能;该专利通过将同一计算任务发送到多个异构处理模块进行处理,并对出来结构进行一致性判定,通过计算操作数据和非计算操作数据的分别处理,实现处理效能优化。该专利系统架构包括拟态调度器、异构处理模块、计算处理模块和输入输出模块,架构没有层次化。
在公开号为CN202010351085.3的专利文献中公开了一种基于多种计算资源的拟态计算服务器系统,包括:第二终端模块,一种可扩展且具备多种计算资源的计算板卡;主板模块,用于把电脑的各个部件紧密连接在一起,各个部件通过主板进行数据传输;CPU模块,用于解释计算机指令以及处理计算机软件中的数据;硬盘模块,用于计算机数据的外部储存。本发明通过设置的第二终端模块、第二终端分析系统模块、计算机分析模块、第二终端分析模块、业务分流模块和维护模块,实现了第二终端分析系统模块可以对计算业务和第二终端内的计算资源类型和状态进行识别分析,然后业务分流模块将任务分配给能效高的处于空闲状态的第二终端计算资源对业务进行处理。该专利(一种基于多种计算资源的拟态计算服务器系统)由主板模块、CPU模块、光驱模块、显示器模块等组成,这些模块更偏物理硬件,形态为物理器件;该专利中,系统的核心功能是计算资源的板卡集成、元器件数据传输、资源状态识别和分析等,可以对外提供基础计算资源。
在公开号为CN201610510228.4的专利文献中公开了一种基于服务器的混合可变计算系统,服务器内插入若干块拟态计算板卡来根据并发业务特点的不同从硬件和软件层面自动或半自动的配置成高性效比模式;所述拟态计算板卡包括现场可编程门阵列FPGA、图像处理单元GPU和数字信号处理器DSP中的一个或多个;所述的并发业务包括图形业务、计算业务和通信业务。本发明的系统是基于仿生学技术、认知技术、可重构技术和高性能计算技术,通过基于认知的元结构的拟态变换生成应用目标所需的物理解算结构集合,依靠动态变结构、软硬件结合实现计算结构的函数化。该专利(一种基于服务器的混合可变计算系统)强调的是硬件系统,由服务器中插入若干块拟态计算板卡实现;该专利主要处理的是并发业务,包括图形业务、通信业务等。
因此,需要提出一种新的技术方案以改善上述技术问题。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种动态可伸缩的拟态计算方法及系统。
根据本发明提供的一种动态可伸缩的拟态计算方法,所述方法包括如下步骤:
步骤S1:平台管理单元对用户操作进行鉴权,通过调用应用管理单元、资源管理单元对用户业务请求进行处理,并进行日志记录;
步骤S2:用户管理单元对用户进行管理,并对用户身份进行认证;
步骤S3:应用管理单元进行应用编排、应用部署和应用监控;
步骤S4:资源管理单元提供资源软件定义、资源弹性管理、资源重构及资源调度分配服务,对应用管理单元、构件池进行资源供给;
步骤S5:异质异构资源池对异构计算资源、异构存储资源、异构通信资进行池化管理,使用虚拟化技术通过统一的接口对外提供资源;
步骤S6:计算任务管理单元对计算任务进行监控、调度管理,使用算核库、构件池对外提供计算任务服务;
步骤S7:算核库对领域共性算核、领域专用算核进行管理和版本控制,并对算核特性进行分析,根据计算任务需求调用算核进行使用;
步骤S8:构件池是算核的物理映射和实现,对计算任务管理单元进行任务处理。
优选地,所述步骤S3中:
应用编排:提供应用编排模板,描述应用镜像信息、算核信息、通信交互关系,形成应用编排实例,供应用部署使用;
应用部署:根据应用编排实例,通过资源管理单元查询所需的应用镜像资源和算核资源,然后根据默认配置设置应用各组件的初始化操作以及通信交互方式和接口,接着根据用户权限和配置调用资源管理单元,为应用镜像分配相应的资源进行部署和初始化,同时查询可用的已部署算核构件资源,如果不存在则需申请相应的资源进行算核部署和初始化;待应用镜像、算核部署和初始化后,对部署好的应用进行检测通过后,完成应用部署过程,返回应用接口。
优选地,所述步骤S4中:
资源软件定义:根据应用任务需求,在资源虚拟化的基础上,对CPU、GPU、FPGA、高速缓存、PCIe资源进行整合,形成软件定义节点供应用统一使用,实现应用任务和资源的优化适配;
资源弹性管理:在资源池化管理的基础上,对资源进行横向弹性扩展和闲置资源弹性回收;
资源重构:通过任务的路由调度,实现应用处理资源的定义和重构;通过FPGA可重构资源、软件定义网络技术、软件定义存储技术,实现资源项级的重构;
资源调度分配:包括资源预调度和调度分配,其中预调度作为一种资源分配探索方法,形成资源从局部最优到整体最优的分配方案;资源调度分配则是按照某些调度策略实现资源的统一规划、分配、任务资源切换。
优选地,所述步骤S5中的异质异构资源池对资源的状态进行实时监控,检测资源异常事件,并通过资源冗余、重置、基础资源调度技术进行基本都故障恢复,并且检测预防资源冲突、资源死锁,为其他单元提供基础资源;
所述步骤S6中的算任务管理单元接收用户的待处理任务,负责任务的计算,并返回任务处理结果;除了计算任务加速服务外,计算任务管理单元还为应用管理单元提供任务编排调度、任务状态监控、任务切换、任务软件定义、任务资源弹性管理、任务同步协同服务。
优选地,所述步骤S7中的算核库使用镜像管理服务进行实现;算核部署为构件进行计算任务的处理,一个算核部署为多个构件;一个构件由多个相同或不同的算核部署而成;
所述步骤S8中的构件池使用资源管理单元对算核进行部署,并对已部署的构件进行池化管理,提供统一的构件使用和管理接口;构件池具有构件监控、故障检测恢复功能,为计算任务管理单元提供构件。
本发明还提供一种动态可伸缩的拟态计算系统,所述系统包括如下模块:
模块M1:平台管理单元对用户操作进行鉴权,通过调用应用管理单元、资源管理单元对用户业务请求进行处理,并进行日志记录;
模块M2:用户管理单元对用户进行管理,并对用户身份进行认证;
模块M3:应用管理单元进行应用编排、应用部署和应用监控;
模块M4:资源管理单元提供资源软件定义、资源弹性管理、资源重构及资源调度分配服务,对应用管理单元、构件池进行资源供给;
模块M5:异质异构资源池对异构计算资源、异构存储资源、异构通信资进行池化管理,使用虚拟化技术通过统一的接口对外提供资源;
模块M6:计算任务管理单元对计算任务进行监控、调度管理,使用算核库、构件池对外提供计算任务服务;
模块M7:算核库对领域共性算核、领域专用算核进行管理和版本控制,并对算核特性进行分析,根据计算任务需求调用算核进行使用;
模块M8:构件池是算核的物理映射和实现,对计算任务管理单元进行任务处理。
优选地,所述模块M3中:
应用编排:提供应用编排模板,描述应用镜像信息、算核信息、通信交互关系,形成应用编排实例,供应用部署使用;
应用部署:根据应用编排实例,通过资源管理单元查询所需的应用镜像资源和算核资源,然后根据默认配置设置应用各组件的初始化操作以及通信交互方式和接口,接着根据用户权限和配置调用资源管理单元,为应用镜像分配相应的资源进行部署和初始化,同时查询可用的已部署算核构件资源,如果不存在则需申请相应的资源进行算核部署和初始化;待应用镜像、算核部署和初始化后,对部署好的应用进行检测通过后,完成应用部署过程,返回应用接口。
优选地,所述模块M4中:
资源软件定义:根据应用任务需求,在资源虚拟化的基础上,对CPU、GPU、FPGA、高速缓存、PCIe资源进行整合,形成软件定义节点供应用统一使用,实现应用任务和资源的优化适配;
资源弹性管理:在资源池化管理的基础上,对资源进行横向弹性扩展和闲置资源弹性回收;
资源重构:通过任务的路由调度,实现应用处理资源的定义和重构;通过FPGA可重构资源、软件定义网络技术、软件定义存储技术,实现资源项级的重构;
资源调度分配:包括资源预调度和调度分配,其中预调度作为一种资源分配探索系统,形成资源从局部最优到整体最优的分配方案;资源调度分配则是按照某些调度策略实现资源的统一规划、分配、任务资源切换。
优选地,所述模块M5中的异质异构资源池对资源的状态进行实时监控,检测资源异常事件,并通过资源冗余、重置、基础资源调度技术进行基本都故障恢复,并且检测预防资源冲突、资源死锁,为其他单元提供基础资源;
所述模块M6中的算任务管理单元接收用户的待处理任务,负责任务的计算,并返回任务处理结果;除了计算任务加速服务外,计算任务管理单元还为应用管理单元提供任务编排调度、任务状态监控、任务切换、任务软件定义、任务资源弹性管理、任务同步协同服务。
优选地,所述模块M7中的算核库使用镜像管理服务进行实现;算核部署为构件进行计算任务的处理,一个算核部署为多个构件;一个构件由多个相同或不同的算核部署而成;
所述模块M8中的构件池使用资源管理单元对算核进行部署,并对已部署的构件进行池化管理,提供统一的构件使用和管理接口;构件池具有构件监控、故障检测恢复功能,为计算任务管理单元提供构件。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过软件定义资源和软件定义应用任务,使得计算任务和资源优化匹配,提高计算效率/效能,同时提供了任务可重构、资源可重构能力;
2、本发明通过异质异构资源池、构件池等,使得进行任务处理的计算/存储/通信资源能够根据需要弹性伸缩,并保障资源的高可靠和高可用;
3、本发明通过平台管理模块和多级任务资源管理,使得拟态计算系统业务透明化,提高了拟态计算系统的服务提供能力。同时,层次化的管理使得拟态计算系统在系统功能扩展、分布式/集群式部署方面具有简单化和易用性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明拟态计算系统平台架构图;
图2为本发明拟态计算系统级模块交互图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例1:
根据本发明提供的一种动态可伸缩的拟态计算方法,方法包括如下步骤:
步骤S1:平台管理单元对用户操作进行鉴权,通过调用应用管理单元、资源管理单元对用户业务请求进行处理,并进行日志记录;
步骤S2:用户管理单元对用户进行管理,并对用户身份进行认证;
步骤S3:应用管理单元进行应用编排、应用部署和应用监控;
应用编排:提供应用编排模板,描述应用镜像信息、算核信息、通信交互关系,形成应用编排实例,供应用部署使用;
应用部署:根据应用编排实例,通过资源管理单元查询所需的应用镜像资源和算核资源,然后根据默认配置设置应用各组件的初始化操作以及通信交互方式和接口,接着根据用户权限和配置调用资源管理单元,为应用镜像分配相应的资源进行部署和初始化,同时查询可用的已部署算核构件资源,如果不存在则需申请相应的资源进行算核部署和初始化;待应用镜像、算核部署和初始化后,对部署好的应用进行检测通过后,完成应用部署过程,返回应用接口。
步骤S4:资源管理单元提供资源软件定义、资源弹性管理、资源重构及资源调度分配服务,对应用管理单元、构件池进行资源供给;
资源软件定义:根据应用任务需求,在资源虚拟化的基础上,对CPU、GPU、FPGA、高速缓存、PCIe资源进行整合,形成软件定义节点供应用统一使用,实现应用任务和资源的优化适配;
资源弹性管理:在资源池化管理的基础上,对资源进行横向弹性扩展和闲置资源弹性回收;
资源重构:通过任务的路由调度,实现应用处理资源的定义和重构;通过FPGA可重构资源、软件定义网络技术、软件定义存储技术,实现资源项级的重构;
资源调度分配:包括资源预调度和调度分配,其中预调度作为一种资源分配探索方法,形成资源从局部最优到整体最优的分配方案;资源调度分配则是按照某些调度策略实现资源的统一规划、分配、任务资源切换。
步骤S5:异质异构资源池对异构计算资源、异构存储资源、异构通信资进行池化管理,使用虚拟化技术通过统一的接口对外提供资源;异质异构资源池对资源的状态进行实时监控,检测资源异常事件,并通过资源冗余、重置、基础资源调度技术进行基本都故障恢复,并且检测预防资源冲突、资源死锁,为其他单元提供基础资源。
步骤S6:计算任务管理单元对计算任务进行监控、调度管理,使用算核库、构件池对外提供计算任务服务;算任务管理单元接收用户的待处理任务,负责任务的计算,并返回任务处理结果;除了计算任务加速服务外,计算任务管理单元还为应用管理单元提供任务编排调度、任务状态监控、任务切换、任务软件定义、任务资源弹性管理、任务同步协同服务。
步骤S7:算核库对领域共性算核、领域专用算核进行管理和版本控制,并对算核特性进行分析,根据计算任务需求调用算核进行使用;算核库使用镜像管理服务进行实现;算核部署为构件进行计算任务的处理,一个算核部署为多个构件;一个构件由多个相同或不同的算核部署而成;
步骤S8:构件池是算核的物理映射和实现,对计算任务管理单元进行任务处理;构件池使用资源管理单元对算核进行部署,并对已部署的构件进行池化管理,提供统一的构件使用和管理接口;构件池具有构件监控、故障检测恢复功能,为计算任务管理单元提供构件。
本发明还提供一种动态可伸缩的拟态计算系统,所述动态可伸缩的拟态计算系统可以通过执行所述动态可伸缩的拟态计算方法的流程步骤予以实现,即本领域技术人员可以将所述动态可伸缩的拟态计算方法理解为所述动态可伸缩的拟态计算系统的优选实施方式。
实施例2:
本发明还提供一种动态可伸缩的拟态计算系统,所述系统包括如下模块:
模块M1:平台管理单元对用户操作进行鉴权,通过调用应用管理单元、资源管理单元对用户业务请求进行处理,并进行日志记录;
模块M2:用户管理单元对用户进行管理,并对用户身份进行认证;
模块M3:应用管理单元进行应用编排、应用部署和应用监控;
应用编排:提供应用编排模板,描述应用镜像信息、算核信息、通信交互关系,形成应用编排实例,供应用部署使用;
应用部署:根据应用编排实例,通过资源管理单元查询所需的应用镜像资源和算核资源,然后根据默认配置设置应用各组件的初始化操作以及通信交互方式和接口,接着根据用户权限和配置调用资源管理单元,为应用镜像分配相应的资源进行部署和初始化,同时查询可用的已部署算核构件资源,如果不存在则需申请相应的资源进行算核部署和初始化;待应用镜像、算核部署和初始化后,对部署好的应用进行检测通过后,完成应用部署过程,返回应用接口。
模块M4:资源管理单元提供资源软件定义、资源弹性管理、资源重构及资源调度分配服务,对应用管理单元、构件池进行资源供给;
资源软件定义:根据应用任务需求,在资源虚拟化的基础上,对CPU、GPU、FPGA、高速缓存、PCIe资源进行整合,形成软件定义节点供应用统一使用,实现应用任务和资源的优化适配;
资源弹性管理:在资源池化管理的基础上,对资源进行横向弹性扩展和闲置资源弹性回收;
资源重构:通过任务的路由调度,实现应用处理资源的定义和重构;通过FPGA可重构资源、软件定义网络技术、软件定义存储技术,实现资源项级的重构;
资源调度分配:包括资源预调度和调度分配,其中预调度作为一种资源分配探索方法,形成资源从局部最优到整体最优的分配方案;资源调度分配则是按照某些调度策略实现资源的统一规划、分配、任务资源切换。
模块M5:异质异构资源池对异构计算资源、异构存储资源、异构通信资进行池化管理,使用虚拟化技术通过统一的接口对外提供资源;异质异构资源池对资源的状态进行实时监控,检测资源异常事件,并通过资源冗余、重置、基础资源调度技术进行基本都故障恢复,并且检测预防资源冲突、资源死锁,为其他单元提供基础资源。
模块M6:计算任务管理单元对计算任务进行监控、调度管理,使用算核库、构件池对外提供计算任务服务;算任务管理单元接收用户的待处理任务,负责任务的计算,并返回任务处理结果;除了计算任务加速服务外,计算任务管理单元还为应用管理单元提供任务编排调度、任务状态监控、任务切换、任务软件定义、任务资源弹性管理、任务同步协同服务。
模块M7:算核库对领域共性算核、领域专用算核进行管理和版本控制,并对算核特性进行分析,根据计算任务需求调用算核进行使用;算核库使用镜像管理服务进行实现;算核部署为构件进行计算任务的处理,一个算核部署为多个构件;一个构件由多个相同或不同的算核部署而成;
模块M8:构件池是算核的物理映射和实现,对计算任务管理单元进行任务处理;构件池使用资源管理单元对算核进行部署,并对已部署的构件进行池化管理,提供统一的构件使用和管理接口;构件池具有构件监控、故障检测恢复功能,为计算任务管理单元提供构件。
实施例3:
本发明通过计算任务管理模块的计算任务软件定义技术实现,对计算任务进行任务流程的动态重构、计算资源的优化调整等,使计算结构最大程度适应计算任务需求,提高计算效能。本发明通过资源管理模块对异质异构计算资源进行互连和路由通信,实现计算资源的软件定义以及计算资源和计算任务的适配,提高了计算资源的利用率。本发明提供算核库、构件池等基础高效能计算逻辑单元和物理单元,提高了高效能资源的共享和复用。
为满足“弹性可伸缩”、“动态可重构”的系统特性需求,拟态计算系统划分为6个层次,自底向上依次为:异质异构资源层、运行时环境层、管理适配层、资源管理层、任务管理层和平台管理层。其中:
异质异构资源层:包含CPU、GPU、FPGA等异构计算资源;片上缓存、板卡内存、磁盘等异构存储资源;高速总线、USB总线、网卡/交换机、光口/接口资源等异构通信资源。这些计算资源、存储资源和通信资源处理能力、应用成本和适用场景各有突出和区别,可根据各种资源的特征进行优化组合,实现对计算任务的高效率/高效能处理。
运行时环境层:该层提供了基础的驱动程序、底层函数库等对下层的异质异构资源进行使用和管理,如:内存通信协议接口、TCP/IP协议栈、Runtime函数库、底层开发包等。运行时环境层将计算、存储、通信等基础任务直接下发到具体的异质异构资源执行,并采集资源状态信息,捕获资源异常,获取资源对任务的处理结果,同时,向上层提供库函数、命令接口等供其较简单透明地管理资源。
管理适配层:该层为可选层,可根据硬件资源的异构程度有选择地增减该层,但建议保留该层。该层主要对底层资源的管理接口或函数进行规范和适配,为上层资源管理提供统一的接口或方法。如:对于xilinx FPGA和Intel FPGA资源提供的驱动、库函数等不同运行时环境接口,由管理适配层进行一致性处理和转换适配,使得资源管理层能够使用同一函数调用等对不同的FPGA进行管理。除了对异构计算资源运行时管理接口进行规范和适配外,管理适配层对不同的通信协议、数据读写等也进行转换和适配。通过管理适配层对资源接口的转换和适配,可以对异质异构资源进行统一规范地使用和管理。
资源管理层:该层主要对资源进行抽象,以便进行更高粒度的资源使用和管理,通过虚拟化技术、软件定义技术等提供灵活的资源配给和资源使用途径。该层的主要功能包括:资源感知、构件管理、资源分配和回收等管理功能,以及资源预调度、资源调度和监控等调度功能,另外还有软件定义节点、软件定义互连等软件定义和虚拟化功能。通过这些功能,实现拟态计算系统对资源的软件定义和弹性可伸缩管理,提供计算/存储/通信优化组合的软件定义资源和虚拟化资源,以及对资源的池化管理、均衡分配和优化使用。
任务管理层:该层主要对计算任务进行管理和调度等,根据任务特征将其分配到最优点资源上进行处理。同时,该层还负责任务的协同、同步、监控等任务自身的完整性保障和任务间的关系维持。另外,该层还对针对特定任务/算法等优化的计算逻辑——算核进行管理,为任务处理分配最优化的计算逻辑,以便映射到硬件资源上进行任务的高效率/高效能处理。该层主要功能模块包括:任务感知、软件定义任务、算核管理等任务处理流程优化功能模块,这些模块通过任务分析和软件定义,使用优化的算核库,实现了任务处理流程的最优化;任务监控、任务编排与调度等基本管理功能模块,这些模块在任务监控等基础管理功能的同时,实现了单任务、多任务的处理过程协同,实现了任务整体处理最优化。
平台管理层:该层主要为用户提供平台使用交互界面、接口、高级命令等UI,便于用户使用拟态计算系统进行应用部署、计算任务请求、应用资源监控等通用基本操作。另外,该层还提供了用户角色权限管理、镜像管理、配置管理等系统应用辅助功能。该层主要功能模块包括:用户管理、应用管理、镜像管理、配置管理等管理模块,以及任务和资源监控、日志管理等监控模块,这些功能模块为用户对拟态计算系统的友好使用、全方位监控、便捷管理提供了支撑。
基于上述系统分层设计,拟态计算系统大体上可分为平台管理模块、用户管理模块、应用管理模块、计算任务管理模块、资源管理模块、算核库、构件池、异质异构资源池等若干个系统架构级功能模块,其中主要模块如下所述:
平台管理模块:作为拟态计算系统的业务功能实现枢纽,提供用户交互接口,实现用户的应用部署、镜像管理、应用编排、应用监控、计算请求等拟态计算系统功能需求。作为系统的直接数据输入/输出接口,平台管理模块首先对用户操作进行鉴权,然后通过RESTful接口调用应用管理模块、资源管理模块等对用户的应用部署、应用监控、镜像上传、任务计算等业务请求进行处理,并进行日志记录。
用户管理模块:负责用户、角色、权限管理,以及用户密钥管理,为平台管理模块等提供用户注册、操作鉴权、用户身份认证等服务。
应用管理模块:为平台管理模块提供应用编排、应用部署、应用监控等服务,其中主要特色功能服务有:
应用编排:提供应用编排模板,描述应用镜像信息、算核信息、通信交互关系等,形成应用编排实例,供应用部署使用;
应用部署:根据应用编排实例,通过资源管理模块查询所需的应用镜像资源和算核资源等,然后根据默认配置设置应用各组件的初始化操作以及通信交互方式和接口,接着根据用户权限和配置调用资源管理模块,为应用镜像分配相应的资源进行部署和初始化,同时查询可用的已部署算核构件资源,如果不存在则需申请相应的资源进行算核部署和初始化。待应用镜像、算核部署和初始化后,对部署好的应用进行检测通过后,完成应用部署过程,返回应用接口。
应用弹性调整:根据用户权限和配置的弹性边界,对应用进行瓶颈分析,弹性扩充应用瓶颈部件,并回收闲置资源。
应用任务软件定义:对应用处理流程进行分析和探索优化,分为编译时应用任务软件定义、部署时应用任务软件定义和运行时应用任务软件定义。编译时应用任务软件定义是在应用开发过程中,通过应用特征分析与任务划分、计算任务规划编排、多目标优化编译等,实现应用二进制流/镜像的优化处理;部署时应用任务软件定义是在应用部署过程中通过优化加速算核的替代等优化处理逻辑部件资源,并通过通信/存储/计算资源的优化分配,在部署过程中实现应用任务的软件定义和优化部署;运行时应用任务软件定义是在应用运行过程中,通过应用任务监控和分析,动态优化重构应用部件部署位置和数量等,利用切换任务计算节点、缩短应用部件间的通信距离、优化通信方式和存储/缓存方式、调整计算/存储/通信资源量等方式实现运行时应用任务的软件定义和应用处理的最优化。
资源管理模块:提供计算/存储/通信资源和镜像资源等各种软硬件资源的管理、分配、调度和监控等服务,对应用管理模块、构件池等进行资源供给。主要特色功能服务有:
资源软件定义:根据应用任务需求,在资源虚拟化的基础上,对CPU、GPU、FPGA、高速缓存、PCIe等资源进行整合,形成软件定义节点供应用统一使用,实现应用任务和资源的优化适配。
资源弹性管理:在资源池化管理的基础上,对资源进行横向弹性扩展和闲置资源弹性回收。
资源重构:通过任务的路由调度,实现应用处理资源的定义和重构。另外通过FPGA等可重构资源、软件定义网络技术、软件定义存储技术等,实现资源项级的重构。
资源调度分配:包括资源预调度和调度分配,其中预调度作为一种资源分配探索方法,形成资源从局部最优到整体最优的分配方案;资源调度分配则是按照某些调度策略实现资源的统一规划、分配、任务资源切换等。
异质异构资源池:对异构计算资源、异构存储资源、异构通信资源等进行池化管理,使用虚拟化技术通过统一的接口对外提供基础的可用资源。异质异构资源池对资源的状态进行实时监控,检测资源异常事件,并通过资源冗余、重置、基础资源调度等技术进行基本都故障恢复,并且检测预防资源冲突、资源死锁,为其他模块提供高可靠高可用的基础资源。
计算任务管理模块:对计算任务进行监控、调度等管理,使用算核库、构件池等对外提供优化加速的计算任务服务。计算任务管理模块接收用户的待处理任务,负责任务的计算,并返回任务处理结果。除了计算任务加速服务外,计算任务管理模块还为应用管理模块等提供任务编排调度、任务状态监控、任务切换、任务软件定义、任务资源弹性管理、任务同步协同等服务。
算核库:对领域共性算核、领域专用算核进行管理和版本控制,并对算核特性进行分析,根据计算任务需求调用适当的算核进行使用。算核库可以使用镜像管理服务等进行实现。算核可以部署为构件进行计算任务的处理,一个算核可以部署为多个构件;同时,一个构件可以由多个相同或不同的算核部署而成。在算核的使用过程中,为保障知识产权等,对算核的使用权限和范围也有严格的要求。
构件池:是算核的物理映射和实现,作为计算器件进行高效率/高效能算力构件供给,用于计算任务管理模块进行任务处理使用。构件池使用资源管理模块,对算核进行部署,并对已部署的构件进行池化管理,提供统一的构件使用和管理接口。另外,构件池具有构件监控、故障检测恢复等功能,为计算任务管理模块等提供高可靠高可用的构件。
系统整体可使用FaaS框架实现,为用户提供单独的任务加速能力,也可以使用SaaS框架对用户应用进行整体部署和局部加速。平台管理模块使用OpenFaaS对用户请求进行处理,同时通过Dashborad和Restful接口对外提供服务。镜像管理可以使用OpenstackGlance模块实现,而算核库可以通过扩展Openstack Glance模块实现。存储资源管理可以通过扩展Openstack Swift和Cinder模块实现。通信资源管理方面,对TCP/IP的通信可在Openstack Quantum基础上使用SDN技术实现,对高速总线等通信资源的管理需要在相应硬件开发包的基础上,扩展Openstack Quantum,并进行协议转换,制定统一管理接口实现。用户管理方面可使用开源用户管理组件和Openstack identity实现。在异质异构资源池管理方面,基于基础硬件厂商提供的开发环境,对Openstack cyborg扩展,增加TCP/IP管理、状态检测相关功能等,实现资源的池化管理。
本领域技术人员可以将本实施例理解为实施例1、实施例2的更为具体的说明。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种动态可伸缩的拟态计算方法,其特征在于,所述方法包括如下步骤:
步骤S1:平台管理单元对用户操作进行鉴权,通过调用应用管理单元、资源管理单元对用户业务请求进行处理,并进行日志记录;
步骤S2:用户管理单元对用户进行管理,并对用户身份进行认证;
步骤S3:应用管理单元进行应用编排、应用部署和应用监控;
步骤S4:资源管理单元提供资源软件定义、资源弹性管理、资源重构及资源调度分配服务,对应用管理单元、构件池进行资源供给;
步骤S5:异质异构资源池对异构计算资源、异构存储资源、异构通信资进行池化管理,使用虚拟化技术通过统一的接口对外提供资源;
步骤S6:计算任务管理单元对计算任务进行监控、调度管理,使用算核库、构件池对外提供计算任务服务;
步骤S7:算核库对领域共性算核、领域专用算核进行管理和版本控制,并对算核特性进行分析,根据计算任务需求调用算核进行使用;
步骤S8:构件池是算核的物理映射和实现,对计算任务管理单元进行任务处理。
2.根据权利要求1所述的动态可伸缩的拟态计算方法,其特征在于,所述步骤S3中:
应用编排:提供应用编排模板,描述应用镜像信息、算核信息、通信交互关系,形成应用编排实例,供应用部署使用;
应用部署:根据应用编排实例,通过资源管理单元查询所需的应用镜像资源和算核资源,然后根据默认配置设置应用各组件的初始化操作以及通信交互方式和接口,接着根据用户权限和配置调用资源管理单元,为应用镜像分配相应的资源进行部署和初始化,同时查询可用的已部署算核构件资源,如果不存在则需申请相应的资源进行算核部署和初始化;待应用镜像、算核部署和初始化后,对部署好的应用进行检测通过后,完成应用部署过程,返回应用接口。
3.根据权利要求1所述的动态可伸缩的拟态计算方法,其特征在于,所述步骤S4中:
资源软件定义:根据应用任务需求,在资源虚拟化的基础上,对CPU、GPU、FPGA、高速缓存、PCIe资源进行整合,形成软件定义节点供应用统一使用,实现应用任务和资源的优化适配;
资源弹性管理:在资源池化管理的基础上,对资源进行横向弹性扩展和闲置资源弹性回收;
资源重构:通过任务的路由调度,实现应用处理资源的定义和重构;通过FPGA可重构资源、软件定义网络技术、软件定义存储技术,实现资源项级的重构;
资源调度分配:包括资源预调度和调度分配,其中预调度作为一种资源分配探索方法,形成资源从局部最优到整体最优的分配方案;资源调度分配则是按照某些调度策略实现资源的统一规划、分配、任务资源切换。
4.根据权利要求1所述的动态可伸缩的拟态计算方法,其特征在于,所述步骤S5中的异质异构资源池对资源的状态进行实时监控,检测资源异常事件,并通过资源冗余、重置、基础资源调度技术进行基本都故障恢复,并且检测预防资源冲突、资源死锁,为其他单元提供基础资源;
所述步骤S6中的算任务管理单元接收用户的待处理任务,负责任务的计算,并返回任务处理结果;除了计算任务加速服务外,计算任务管理单元还为应用管理单元提供任务编排调度、任务状态监控、任务切换、任务软件定义、任务资源弹性管理、任务同步协同服务。
5.根据权利要求1所述的动态可伸缩的拟态计算方法,其特征在于,所述步骤S7中的算核库使用镜像管理服务进行实现;算核部署为构件进行计算任务的处理,一个算核部署为多个构件;一个构件由多个相同或不同的算核部署而成;
所述步骤S8中的构件池使用资源管理单元对算核进行部署,并对已部署的构件进行池化管理,提供统一的构件使用和管理接口;构件池具有构件监控、故障检测恢复功能,为计算任务管理单元提供构件。
6.一种动态可伸缩的拟态计算系统,其特征在于,所述系统包括如下模块:
模块M1:平台管理单元对用户操作进行鉴权,通过调用应用管理单元、资源管理单元对用户业务请求进行处理,并进行日志记录;
模块M2:用户管理单元对用户进行管理,并对用户身份进行认证;
模块M3:应用管理单元进行应用编排、应用部署和应用监控;
模块M4:资源管理单元提供资源软件定义、资源弹性管理、资源重构及资源调度分配服务,对应用管理单元、构件池进行资源供给;
模块M5:异质异构资源池对异构计算资源、异构存储资源、异构通信资进行池化管理,使用虚拟化技术通过统一的接口对外提供资源;
模块M6:计算任务管理单元对计算任务进行监控、调度管理,使用算核库、构件池对外提供计算任务服务;
模块M7:算核库对领域共性算核、领域专用算核进行管理和版本控制,并对算核特性进行分析,根据计算任务需求调用算核进行使用;
模块M8:构件池是算核的物理映射和实现,对计算任务管理单元进行任务处理。
7.根据权利要求6所述的动态可伸缩的拟态计算系统,其特征在于,所述模块M3中:
应用编排:提供应用编排模板,描述应用镜像信息、算核信息、通信交互关系,形成应用编排实例,供应用部署使用;
应用部署:根据应用编排实例,通过资源管理单元查询所需的应用镜像资源和算核资源,然后根据默认配置设置应用各组件的初始化操作以及通信交互方式和接口,接着根据用户权限和配置调用资源管理单元,为应用镜像分配相应的资源进行部署和初始化,同时查询可用的已部署算核构件资源,如果不存在则需申请相应的资源进行算核部署和初始化;待应用镜像、算核部署和初始化后,对部署好的应用进行检测通过后,完成应用部署过程,返回应用接口。
8.根据权利要求6所述的动态可伸缩的拟态计算系统,其特征在于,所述模块M4中:
资源软件定义:根据应用任务需求,在资源虚拟化的基础上,对CPU、GPU、FPGA、高速缓存、PCIe资源进行整合,形成软件定义节点供应用统一使用,实现应用任务和资源的优化适配;
资源弹性管理:在资源池化管理的基础上,对资源进行横向弹性扩展和闲置资源弹性回收;
资源重构:通过任务的路由调度,实现应用处理资源的定义和重构;通过FPGA可重构资源、软件定义网络技术、软件定义存储技术,实现资源项级的重构;
资源调度分配:包括资源预调度和调度分配,其中预调度作为一种资源分配探索系统,形成资源从局部最优到整体最优的分配方案;资源调度分配则是按照某些调度策略实现资源的统一规划、分配、任务资源切换。
9.根据权利要求6所述的动态可伸缩的拟态计算系统,其特征在于,所述模块M5中的异质异构资源池对资源的状态进行实时监控,检测资源异常事件,并通过资源冗余、重置、基础资源调度技术进行基本都故障恢复,并且检测预防资源冲突、资源死锁,为其他单元提供基础资源;
所述模块M6中的算任务管理单元接收用户的待处理任务,负责任务的计算,并返回任务处理结果;除了计算任务加速服务外,计算任务管理单元还为应用管理单元提供任务编排调度、任务状态监控、任务切换、任务软件定义、任务资源弹性管理、任务同步协同服务。
10.根据权利要求6所述的动态可伸缩的拟态计算系统,其特征在于,所述模块M7中的算核库使用镜像管理服务进行实现;算核部署为构件进行计算任务的处理,一个算核部署为多个构件;一个构件由多个相同或不同的算核部署而成;
所述模块M8中的构件池使用资源管理单元对算核进行部署,并对已部署的构件进行池化管理,提供统一的构件使用和管理接口;构件池具有构件监控、故障检测恢复功能,为计算任务管理单元提供构件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310815205.4A CN117170858A (zh) | 2023-07-04 | 2023-07-04 | 动态可伸缩的拟态计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310815205.4A CN117170858A (zh) | 2023-07-04 | 2023-07-04 | 动态可伸缩的拟态计算方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117170858A true CN117170858A (zh) | 2023-12-05 |
Family
ID=88938187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310815205.4A Pending CN117170858A (zh) | 2023-07-04 | 2023-07-04 | 动态可伸缩的拟态计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117170858A (zh) |
-
2023
- 2023-07-04 CN CN202310815205.4A patent/CN117170858A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A survey on edge computing systems and tools | |
Schor et al. | Scenario-based design flow for mapping streaming applications onto on-chip many-core systems | |
Cao et al. | Edge computing: a primer | |
KR101239082B1 (ko) | 멀티코어 아키텍처 내의 리소스 관리 | |
US10387179B1 (en) | Environment aware scheduling | |
Hashem et al. | MapReduce scheduling algorithms: a review | |
KR102103596B1 (ko) | 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법 | |
CN111694789A (zh) | 嵌入式可重构异构测定方法、系统、存储介质、处理器 | |
Hu et al. | Software-defined edge computing (SDEC): Principles, open system architecture and challenges | |
Bermbach et al. | On the future of cloud engineering | |
Pandey et al. | A heuristic method towards deadline-aware energy-efficient mapreduce scheduling problem in Hadoop YARN | |
Ghoneem et al. | An adaptive MapReduce scheduler for scalable heterogeneous systems | |
CN105100180A (zh) | 集群节点动态加载的方法、装置及系统 | |
Tang et al. | A survey on scheduling techniques in computing and network convergence | |
Benini et al. | Resource management policy handling multiple use-cases in mpsoc platforms using constraint programming | |
Deng et al. | Cloud-native computing: A survey from the perspective of services | |
Sahoo et al. | Real time task execution in cloud using mapreduce framework | |
CN117170858A (zh) | 动态可伸缩的拟态计算方法及系统 | |
Lei et al. | DCSPARK: Virtualizing spark using docker containers | |
Zhang et al. | Dynamic load-balanced multicast based on the Eucalyptus open-source cloud-computing system | |
Wang et al. | Millipedes: Distributed and set-based sub-task scheduler of computing engines running on yarn cluster | |
Hsiao et al. | Cloud Computing, Internet of Things (IoT), Edge Computing, and Big Data Infrastructure | |
Wang et al. | Nbuflow: A dataflow based universal task orchestration and offloading platform for low-cost development of IoT systems with cloud-edge-device collaborative computing | |
Nickschas et al. | CARISMA-A Service-Oriented, Real-Time Organic Middleware Architecture. | |
Thaman et al. | Extending dynamic scheduling policies in workflowsim by using variance based approach |
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 |