CN116578413B - 一种基于云+端架构的信号级仿真模型云化方法 - Google Patents
一种基于云+端架构的信号级仿真模型云化方法 Download PDFInfo
- Publication number
- CN116578413B CN116578413B CN202310464143.7A CN202310464143A CN116578413B CN 116578413 B CN116578413 B CN 116578413B CN 202310464143 A CN202310464143 A CN 202310464143A CN 116578413 B CN116578413 B CN 116578413B
- Authority
- CN
- China
- Prior art keywords
- simulation
- gpu
- service
- container
- simulation model
- 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.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 206
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 24
- 238000012544 monitoring process Methods 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 239000002699 waste material Substances 0.000 abstract description 7
- 238000012360 testing method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 239000000178 monomer Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 208000024780 Urticaria Diseases 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 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/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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书公开了一种基于云+端架构的信号级仿真模型云化方法,涉及信号级仿真技术领域,方法包括基于仿真模型,获得仿真服务容器;基于上述仿真模型,获得参数配置表并基于上述参数配置表启动上述仿真服务容器;基于GPU管理模块,对上述仿真模型的GPU进行虚拟化处理和资源调度管理,以解决目前传统的单体模式仿真平台存在系统稳定性差、透明度低以及资源浪费的问题。
Description
技术领域
本发明属于信号级仿真技术领域,具体涉及一种基于云+端架构的信号级仿真模型云化方法。
背景技术
随着各种电磁设备的投入使用,雷达系统已面临着十分复杂的电磁环境。为提高在复杂电磁环境下的适应能力,最有效的方式是通过进行实际试验对雷达系统进行评估,切实摸清雷达系统抗干扰能力边界底数。受试验成本约束、边界条件难以构建、客观环境影响等限制,外场试验难以开展雷达系统抗干扰性能“摸边探底”工作。全数字仿真具有灵活性高、遍历性好等优势,逐渐成为仿真试验的有效手段。
根据仿真模型对信号处理过程建模的细致度,可将作为雷达系统仿真方法分类的基本依据,并由此将雷达系统仿真方法分为两大类:功能级仿真方法和信号级仿真方法。随着电磁环境的愈发复杂,功能级仿真方法已不能满足仿真试验的要求,然而信号级仿真模型涉及各种复杂波形信号的生成与采样、时域卷积、频域滤波、快速傅里叶变换、数字滤波器设计等,通常都只能实现非实时仿真。在信号级仿真系统中,为了提高仿真运算速度,一方面要对模型算法进行优化设计,另一方面是引入高性能并行计算技术加快模型求解速度,从而提高仿真试验效率。
基于"云+端"架构的仿真模型云化方法即是一种高性能并行计算技术,针对仿真试验在高度分布、互操作、高实时、可扩展的需求,解决传统的单体模式仿真平台遇到的瓶颈问题。传统的单体模式仿真平台存在诸多难以解决的问题:①由于缺乏故障隔离机制,所有仿真模型都在同一个进程中运行,一旦某个仿真模型出现代码错误,就会造成整个仿真系统崩溃,系统的稳定性和可靠性较差;②由于缺乏链路监控能力,当系统出现故障或者崩溃时,试验人员不清楚试验进度,开发运维人员难以准确找到发生故障的程序,系统透明度差;③信号级仿真中,不同仿真模型对资源的需求差异大,当仿真任务增加时,只能以应用整体资源需求为单位为所有模块增加物理资源,对各个模块的生命周期管理差,导致资源浪费。因此,目前传统的单体模式仿真平台存在系统稳定性差、透明度低以及资源浪费的问题。
发明内容
本发明的目的是提供一种基于云+端架构的信号级仿真模型云化方法,以解决目前传统的单体模式仿真平台存在系统稳定性差、透明度低以及资源浪费的问题。
为实现上述目的,本发明采用如下技术方案:
一方面,本说明书提供一种基于云+端架构的信号级仿真模型云化方法,包括:
步骤102,基于仿真模型,获得仿真服务容器;
步骤104,基于上述仿真模型,获得参数配置表并基于上述参数配置表启动上述仿真服务容器;
步骤106,基于GPU管理模块,对上述仿真模型的GPU进行虚拟化处理和资源调度管理。
另一方面,本说明书提供一种基于云+端架构的信号级仿真模型云化装置,包括:
模型容器化模块,用于基于仿真模型,获得仿真服务容器;
模型参数化模块,用于基于上述仿真模型,获得参数配置表并基于上述参数配置表启动上述仿真服务容器;
GPU虚拟化模块,用于基于GPU管理模块,对上述仿真模型的GPU进行虚拟化处理和资源调度管理。
基于上述技术方案,本说明书能够获得如下技术效果:
本方法通过对仿真模型参数化改造,然后将仿真模型进行容器化,将仿真模型之间隔离,通过不同的启动参数,实现不同的需求,针对实际使用场景的不同,将GPU虚拟化,通过编排调度将需大量交互数据的仿真模型容器调度至同一物理GPU上,避免跨GPU传输数据带来的通信延迟,提高仿真加速比和硬件资源的利用效率,支撑模型并行和大样本仿真试验的开展,以解决目前传统的单体模式仿真平台存在系统稳定性差、透明度低以及资源浪费的问题。
附图说明
图1是本发明一实施例中一种基于云+端架构的信号级仿真模型云化方法的流程示意图。
图2是本发明一实施例中一种基于云+端架构的信号级仿真模型云化方法的流程示意图。
图3是本发明一实施例中一种基于云+端架构的信号级仿真模型云化方法的流程示意图。
图4是本发明一实施例中一种基于云+端架构的信号级仿真模型云化装置的结构示意图。
图5是本发明一实施例中一种电子设备的结构示意图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明,根据下面说明和权利要求书,本发明的优点和特征将更清楚。需要说明的是,附图均采用非常简化的形式且均适用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
需要说明的是,为了清楚地说明本发明的内容,本发明特举多个实施例以进一步阐释本发明的不同实现方式,其中,该多个实施例是列举式而非穷举式。此外,为了说明的简洁,前实施例中已提及的内容往往在后实施例中予以省略,因此,后实施例中未提及的内容可相应参考前实施例。
实施例1
请参照图1,图1所示为本实施例提供的一种基于云+端架构的信号级仿真模型云化方法。本实施例中,该方法包括:
步骤102,基于仿真模型,获得仿真服务容器;
本实施例中,步骤102的一种实现方式为:
步骤202,对上述仿真模型的程序做适应Linux的改造,获得Linux化仿真模型;
具体地,首先检查模型代码,使用标准C/C++库,严格区分大小,数据类型不可以使用VS独有的数据类型,如(_int32、_int64、WORD、DWORD等),不适用VS特有的关键字(_asm),不使用Windowns特有依赖库(如windowns.h)。然后确定模型运行时环境,确定依赖的软件版本、编程语言、编译环境(有些会集成到某个容器中做线程,或者是依赖编译的版本不同,实际也不能加载,如MSVC编译的库在MinGW下是无法加载的)、依赖库版本。
本实施例中,在步骤202之后还包括:
修改上述Linux化仿真模型的参数,使得模型参数配置化;
具体地,任何在服务运行时存在变更可能的参数配置,都需要进行形参替换,可以给一个默认值,但是不能固定写死参数值,需在模型服务运行时进行服务参数热更新操作。
对上述Linux化仿真模型的数据进行持久化处理。
具体地,容器化之后,模型服务运行时的数据将会随着容器的销毁而同时销毁,所以需要对数据持久化存储,将需要持久化存储的数据存储到数据库中。
步骤204,基于上述Linux化仿真模型的仿真服务,获得容器构建文件;
具体地,为模型服务编写Dockerfile(容器化构建定义文件)。确定容器的基础镜像版本(确定服务依赖的是C++、Java、Python等任意基础运行时环境),确定默认运行时参数,确定环境变量参数、定义启动命令等。
步骤206,基于上述容器构建文件和上述仿真服务的源代码,获得仿真服务容器。
具体地,根据容器构建文件以及模型服务源码,构建镜像,即仿真服务容器。
然后将构建好的仿真服务容器上传至容器仓库,即将上述镜像上传至镜像仓库,等待使用。
基于此,本实施例首先对仿真模型程序进行Linux化改造,对程序的编译环境、文件名、数据类型、关键字、依赖库和程序设计架构进行重构,然后将程序所有依赖库打包到同一镜像中,编写Dockerfile配置文件,构建容器镜像,并进行测试验证,将仿真模型之间隔离,通过不同的启动参数,实现不同的需求。
步骤104,基于上述仿真模型,获得参数配置表并基于上述参数配置表启动上述仿真服务容器;
具体地,在模型启动时,制作参数配置表,设置形参的值,启动容器时,指定参数配置表,容器云平台根据参数配置表中的形参值自动替换模型的形参,然后服务模型根据设置的形参值启动。
本实施例中,在步骤104之前还包括:
采用形参对上述仿真服务的源代码进行编写。
具体地,在对仿真模型的仿真服务进行编码时,尽量使用形参,如${jdbc.url},不要将需要更高的配置参数定义为明确的值,最好使用与系统环境变量不一样的参数形式,防止出现冲突。
基于此,本实施例通过在仿真模型容器化之后,将运行时参数配置提取出来,与容器镜像分离,做到配置变,镜像无需重新构建,满足仿真模型通过设置不同的参数来应对不同运行环境的需求。
步骤106,基于GPU管理模块,对上述仿真模型的GPU进行虚拟化处理和资源调度管理。
本实施例中,步骤106的一种实现方式为:
步骤302,基于GPU管理模型,封装上述仿真模型的CUDA库、改造容器云设备插件模块以及完善容器云集群调度模块;
具体地,其中GPU管理模块主要分为封装CUDA库,改造容器云设备插件模块,完善容器云集群调度模块,封装CUDA库包括利用LD_LIBRARY_PATH机制劫持CUDA库中与内存和计算相关的API。LD_LIBRARY_PATH是Linux系统中的一个环境变量,能够影响程序的运行时链接(Runtime link),LD_LIBRARY_PATH中包含的目录会在加载标准库目录之前加载,所涉及到被劫持的CUDA-API有:cuMemAlloc、cuMemAllocManaged、cuMemAllocPitch、cuArrayCreate、cuArray3DCreate、cuMipmappedArrayCreate、cuLaunch、cuLaunchKernel、cuLaunchCooperativeKernel、cuLaunchGrid、cuDeviceTotalMem、cuMemGetInfo。劫持后的CUDA-API将显存粒度划分,以若干M(兆)为一个单位,进行显存分配,限制显存使用,再次更新应用的资源请求配置信息,基于限制后的GPU资源使用量,运行容器应用,达到多个进程/容器应用在无监控情况下同时使用GPU资源的目的;改造容器云设备插件模块包括通过vCUDA库监控GPU设备的内存以及计算资源信息,其中内存以若干M(兆)为一个单元,计算资源以1%作为一个单元,建立起虚拟设备到物理设备的映射。然后根据请求资源的具体情况(少于一块GPU、等于一块GPU、大于一块GPU)分别按照最小化树的资源碎片、单叶子节点数量最少、最小化GPU间通信成本的原则筛选出拥有足够GPU资源,且最合适的工作节点,完善容器云集群调度模块包括实现调度模块的预选接口,调度模块在调度“vcuda-core”资源请求的仿真应用服务Pod时,调度容器云设备插件模块,传入GPU资源参数,调用容器云设备插件模块申请GPU资源并映射上层容器。
步骤304,基于上述仿真服务容器的资源请求和上述容器云集群调度模块,调度分配上述GPU的资源。
具体地,创建应用,填写应用所需的资源参数,GPU资源调度参数包含两种:GPU-count(显存卡数)、GPU-mem(显存大小),同一节点只支持一种调度方式;管理节点控制模块接收到资源请求,判断出需要GPU资源,管理节点保存请求相关信息;应用调度模块监听到管理节点接收到了GPU资源请求,调度容器云集群调度模块,容器云集群调度模块再调度容器云设备插件模块,监控GPU设备,形成拓补树,整卡GPU资源调度选择性能最优GPU,如不是整卡资源调度,将所属仿真应用调度到非整卡GPU,宿主机GPU驱动库映射到仿真服务应用容器中;仿真应用服务启动运行,容器服务开始进行资源处理,VCUDA库劫持CUDA调用请求,线程创建(限制CUDA核心数)、显卡内存限制(限制内存使用)、资源上限配置文件写入(写入到vcuda.config),服务正常启动。
基于此,本实施例利用GPU-Manager(GPU管理模块)将物理GPU池化为逻辑GPU,接收仿真模型的资源请求,将对应的仿真模型调度至同一物理GPU中,降低因数据传输带来的通信延迟,通过资源虚拟化技术,按需为仿真模型提供计算、存储、网络等硬件资源,并提供共享、重用和隔离控制,CPU控制粒度可到毫核级别,内存控制粒度可到MB,GPU控制粒度可到MB,计算节点上的计算资源可以100%被业务负载使用,满足不同仿真模型资源需求的同时,提高硬件资源的利用率。
本实施例中,在步骤106之后还包括:
基于GPU设备和容器集群管理系统,对上述云化仿真模型进行调度和部署管理。
具体地,创建应用,填写应用所需的资源参数,GPU资源调度参数包含两种:GPU-count(显存卡数)、GPU-mem(显存大小),同一节点只支持一种调度方式;当调度模块接收到相关仿真样本的创建请求时,通过VCUDA库监控GPU设备的内存以及计算资源信息,以及样本资源请求,将一个仿真样本的所有仿真模型调度到同一节点的同一GPU上,并将GPU驱动库映射到仿真服务应用容器上,再调度应用模块;应用创建模块获取到GPU驱动库,将GPU驱动库目录复制到容器的/dev/目录下,多个仿真服务应用调用容器内部GPU驱动库调度同一个GPU资源,共享显存地址信息,同时,仿真服务模型容器亦可通过读写同一个GPU来进行数据交换和工作协同;仿真应用服务启动运行,容器服务开始进行资源处理,模型容器将会直接和GPU资源模块交互,服务正常启动。
基于此,本实施例通过基于GPU设备驱动与Kubernetes的ListAndWatch机制,实现多个仿真模型同时访问GPU中数据的需求,减少信号级仿真中大量中频的数据传输时延,提升模型进程间的数据交换速率。
本实施例中,在步骤106之后还包括:
对上述仿真模型配置若干治理接口,上述治理接口用于对仿真服务的服务分组、流量以及数据进行治理和监控。
本实施例中,上述若干治理接口包括:
服务分组接口,用于对仿真服务进行区分和分组管理;
流量治理接口,用于对仿真服务的访问次数进行控制;
服务监控接口,用于对仿真服务的数据进行收集分析。
具体地,增加服务分组接口:设置仿真模型服务规则和虚拟服务路由规则,如(App-service),将一样的路由前缀的仿真服务模型分组并将流量标记分组,并根据服务分组存储仿真模型服务与IP地址的映射关系。其他仿真服务模型根据server name仿真当前的仿真服务模型时根据仿真模型服务与IP地址的映射关系表并路由到具体服务,同时支持通过仿真模型服务版本标签对服务进行区分与分组管理。增加流量治理接口:在Istio中通过限制客户端对目标仿真模型服务的连接数、访问请求数等,避免对一个服务的过量访问,如果超过配置的阈值,则快速断路请求。还会限制重试次数,如果多次访问,则会加入路由黑名单,记录客户端IP地址,设置一段时间,该客户端发送请求时,会先查找黑名单,如果客户端已经加入到黑名单,则会直接返回请求失败,避免重试次数过多导致系统压力变大并加剧故障的传播。如果某个服务实例频繁超时或者出错,则将该实例隔离,将该服务杀死或者重启,避免影响整个服务。增加服务监控接口:使用服务监控模块将仿真模型服务数据如GPU使用量,内存使用量,磁盘使用量等数据收集,并将收集到的数据持久化存储到数据库中,访问监控面板,监控面板读取数据库中的仿真模型数据,并显示到web页面。并且使用追踪模块对请求的链路跟踪,每请求一次,就会存储调用的链路,并以图表的形式进行数据分析。
基于此,本实施例通过增加上云之后云平台对仿真模型治理所需的接口,包括健康检查接口、日志、监控,并按要求的格式进行输出,从而对平台日志进行审计,使资源使用透明化,基于链路监控实现数据复盘,对仿真过程各环节运行数据整合联动,帮助运维人员定位故障原因,对业务进行持续运维,辅助优化系统,提升系统整体性能。
本实施例中,在步骤106之后还包括:
对上述仿真模型之间的的通信链路进行监控。
本实施例中,对上述仿真模型之间的的通信方式进行改造,包括DDS改造、HTTP通信协议改造、RPC改造以及消息队列改造。
具体地,仿真模型间如果需要云平台对其通信链路进行监控,则需将原通信方式改为Http协议。如果不需要,则不用进行改造,云平台不会对模型间通信进行拦截。例如,提供DDS(数据分发服务)、Restful(HTTP)、RPC(远程调用)、消息中间件等数据总线支持。DDS无需改造,通过发布订阅机制,可以将模型服务所产生的数据,在发布者与订阅者之间快速传递。本身就符合云计算架构设计部署的的理念。改造Http请求:容器部署是需要指定自己的server name(服务名),数据总线会注册该服务,并保存server name(服务名)和IP地址的映射表,Http客户端发送请求时无需填写具体的IP地址,只需填写server name(服务名),由数据总线完成负载均衡和请求转发。改造RPC:需要将服务提供者与服务消费者中的地址信息参数进行替换,替换为容器云平台中的Service Name(服务名),从具体地址更换为服务名称即可。代码改造成本较为巨大时,在通信层框架选择上,需要重新引入grpc这类的RPC通信框架,数据传输包序列化与反序列的Protobuf库,进行二进制数据的序列化与反序列化;服务的API设计需要重新进行,以符合RPC通信规范与定义。最后是服务代码中需要引入生成后的API库,定义服务提供者与服务消费者。
基于此,本实施例在需要云平台对其通信链路进行监控,则需将原通信方式改为Http协议,如果不需要,则不用进行改造,云平台不会对模型间通信进行拦截,以适应平台间的交互通信。
本方法能够对仿真模型运行状态进行实时监控,对发生的系统异常及时向运维人员告警,并进行故障恢复,对仿真服务进行主/被动迁移,对仿真敏感数据进行加密,对持久化数据进行容灾保护。
综上,本方法通过对仿真模型参数化改造,然后将仿真模型进行容器化,将仿真模型之间隔离,通过不同的启动参数,实现不同的需求,针对实际使用场景的不同,将GPU虚拟化,通过编排调度将需大量交互数据的仿真模型容器调度至同一物理GPU上,避免跨GPU传输数据带来的通信延迟,提高仿真加速比和硬件资源的利用效率,支撑模型并行和大样本仿真试验的开展,以解决目前传统的单体模式仿真平台存在系统稳定性差、透明度低以及资源浪费的问题。
实施例2
请参照图4,图4所示为本实施例提供一种基于云+端架构的信号级仿真模型云化装置,包括:
模型容器化模块,用于基于仿真模型,获得仿真服务容器;
模型参数化模块,用于基于上述仿真模型,获得参数配置表并基于上述参数配置表启动上述仿真服务容器;
GPU虚拟化模块,用于基于GPU管理模块,对上述仿真模型的GPU进行虚拟化处理和资源调度管理。
可选的,还包括:
GPU共享模块,用于基于GPU设备和容器集群管理系统,对上述云化仿真模型进行调度和部署管理。
可选的,还包括:
服务治理模块,用于对上述仿真模型配置若干治理接口,上述治理接口用于对仿真服务的服务分组、流量以及数据进行治理和监控。
可选的,还包括:
通信云化模块,用于对上述仿真模型之间的的通信链路进行监控。
可选的,模型容器化模块包括:
Linux化改造模块,用于对上述仿真模型的程序做适应Linux的改造,获得Linux化仿真模型;
容器文件构建模块,用于基于上述Linux化仿真模型的仿真服务,获得容器构建文件;
服务容器构建模块,用于基于上述容器构建文件和上述仿真服务的源代码,获得仿真服务容器。
可选的,GPU虚拟化模块包括:
基于GPU管理模型,封装上述仿真模型的CUDA库、改造容器云设备插件模块以及完善容器云集群调度模块;
基于上述仿真服务容器的资源请求和上述容器云集群调度模块,调度分配上述GPU的资源。
基于此,本装置通过对仿真模型参数化改造,然后将仿真模型进行容器化,将仿真模型之间隔离,通过不同的启动参数,实现不同的需求,针对实际使用场景的不同,将GPU虚拟化,通过编排调度将需大量交互数据的仿真模型容器调度至同一物理GPU上,避免跨GPU传输数据带来的通信延迟,提高仿真加速比和硬件资源的利用效率,支撑模型并行和大样本仿真试验的开展,以解决目前传统的单体模式仿真平台存在系统稳定性差、透明度低以及资源浪费的问题。
实施例3
请参照图5,本实施例提供一种电子设备,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成一种基于云+端架构的信号级仿真模型云化方法。当然,除了软件实现方式外,本说明书并不排除其他实现方式,比如逻辑器件亦或软硬件结合的方式等等,也就是以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。上述总线可以分为地址总线、数据总线、控制总线等。
存储器用于存放程序。具体地,程序可以包括程序代码,上述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。
处理器,用于执行上述存储器存放的程序,并具体执行:
步骤102,基于仿真模型,获得仿真服务容器;
步骤104,基于上述仿真模型,获得参数配置表并基于上述参数配置表启动上述仿真服务容器;
步骤106,基于GPU管理模块,对上述仿真模型的GPU进行虚拟化处理和资源调度管理。
处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器的硬件的集成逻辑电路或者软件形式的指令完成。
基于同样的发明创造,本说明书实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储一个或多个程序,上述一个或多个程序当被包括多个应用程序的电子设备执行时,使得上述电子设备执行图1至图3对应的实施例提供的一种基于云+端架构的信号级仿真模型云化方法。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或者结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质上实施的计算机程序产品的形式。
另外,对于上述装置具体实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。而且,应当注意的是,在本申请的系统的各个模块中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本申请不受限于此,可以根据需要对各个部件进行重新划分或者组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例之间的不同之处。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或者步骤可以按照不同于实施例中的顺序来执行并且依然可以实现期望的结果。另外,在附图描绘的过程中不一定要求示出的特定顺序或者连续顺序才能实现期望的结果,在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上上述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (5)
1.一种基于云+端架构的信号级仿真模型云化方法,其特征在于,包括:
基于仿真模型,获得仿真服务容器;
所述基于仿真模型,获得仿真服务容器的步骤包括:
对所述仿真模型的程序做适应Linux的改造,获得Linux化仿真模型;
基于所述Linux化仿真模型的仿真服务,获得容器构建文件;
基于所述容器构建文件和所述仿真服务的源代码,获得仿真服务容器;
基于所述仿真模型,获得参数配置表并基于所述参数配置表启动所述仿真服务容器;
在所述基于所述仿真模型,获得参数配置表并基于所述参数配置表启动所述仿真服务容器的步骤之前还包括:
采用形参对所述仿真服务的源代码进行编写
基于GPU管理模块,对所述仿真模型的GPU进行虚拟化处理和资源调度管理;
对所述仿真模型的GPU进行虚拟化处理和资源调度管理之后还包括基于GPU设备和容器集群管理系统,对所述仿真模型进行调度和部署管理;
所述基于GPU管理模块,对所述仿真模型的GPU进行虚拟化处理和资源调度管理的步骤包括:
基于GPU管理模型,封装所述仿真模型的CUDA库、改造容器云设备插件模块以及完善容器云集群调度模块;
基于所述仿真服务容器的资源请求和所述容器云集群调度模块,调度分配所述GPU的资源;
所述基于GPU设备和容器集群管理系统,对所述仿真服务容器进行调度和部署管理的步骤包括:
基于仿真服务应用的GPU资源调度参数,调用仿真模型并将GPU驱动库映射到所述仿真服务应用对应的所述仿真服务容器上;
所述仿真服务应用调用所述仿真服务容器内所述GPU驱动库的同一GPU资源进行数据交换和工作协调。
2.根据权利要求1所述的方法,其特征在于,在基于GPU管理模块,对所述仿真模型的GPU进行虚拟化处理和资源调度管理之后还包括对所述仿真模型配置治理接口,所述治理接口用于对仿真服务的服务分组、流量以及数据进行治理和监控。
3.根据权利要求2所述的方法,其特征在于,在基于GPU管理模块,对所述仿真模型的GPU进行虚拟化处理和资源调度管理之后还包括对所述仿真模型之间的的通信链路进行监控。
4.根据权利要求3所述的方法,其特征在于,所述对所述仿真模型之间的的通信链路进行监控的方式为对所述仿真模型之间的的通信方式进行改造,包括DDS改造、HTTP通信协议改造、RPC改造以及消息队列改造。
5.根据权利要求2所述的方法,其特征在于,所述治理接口包括:
服务分组接口,用于对仿真服务进行区分和分组管理;
流量治理接口,用于对仿真服务的访问次数进行控制;
服务监控接口,用于对仿真服务的数据进行收集分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310464143.7A CN116578413B (zh) | 2023-04-26 | 2023-04-26 | 一种基于云+端架构的信号级仿真模型云化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310464143.7A CN116578413B (zh) | 2023-04-26 | 2023-04-26 | 一种基于云+端架构的信号级仿真模型云化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116578413A CN116578413A (zh) | 2023-08-11 |
CN116578413B true CN116578413B (zh) | 2024-04-12 |
Family
ID=87536847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310464143.7A Active CN116578413B (zh) | 2023-04-26 | 2023-04-26 | 一种基于云+端架构的信号级仿真模型云化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578413B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710352A (zh) * | 2008-09-17 | 2010-05-19 | 埃森哲环球服务有限公司 | 配置仿真器以仿真多个设备的方法、系统和图形用户界面 |
CN110096797A (zh) * | 2019-04-29 | 2019-08-06 | 中国人民解放军92942部队 | 一种集群系统任务可靠性建模仿真方法 |
CN111459621A (zh) * | 2020-04-10 | 2020-07-28 | 中国人民解放军国防科技大学 | 云仿真集成与调度方法、装置、计算机设备和存储介质 |
CN114546594A (zh) * | 2015-05-29 | 2022-05-27 | 英特尔公司 | 对图形处理单元资源的容器访问 |
CN114625482A (zh) * | 2022-03-23 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 一种设备管理方法和装置 |
CN115185627A (zh) * | 2021-04-07 | 2022-10-14 | 中国航发商用航空发动机有限责任公司 | 用于实时仿真的方法、系统和计算机可读存储介质 |
CN115454636A (zh) * | 2022-09-16 | 2022-12-09 | 城云科技(中国)有限公司 | 一种容器云平台gpu资源调度方法、装置及应用 |
CN116502437A (zh) * | 2023-04-26 | 2023-07-28 | 中国人民解放军92942部队 | 一种基于云+端架构的信号级仿真平台云化方法 |
CN116578416A (zh) * | 2023-04-26 | 2023-08-11 | 中国人民解放军92942部队 | 一种基于gpu虚拟化的信号级仿真加速方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130125092A1 (en) * | 2011-11-11 | 2013-05-16 | General Electric Company | Generating deployable code from simulation models |
-
2023
- 2023-04-26 CN CN202310464143.7A patent/CN116578413B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710352A (zh) * | 2008-09-17 | 2010-05-19 | 埃森哲环球服务有限公司 | 配置仿真器以仿真多个设备的方法、系统和图形用户界面 |
CN114546594A (zh) * | 2015-05-29 | 2022-05-27 | 英特尔公司 | 对图形处理单元资源的容器访问 |
CN110096797A (zh) * | 2019-04-29 | 2019-08-06 | 中国人民解放军92942部队 | 一种集群系统任务可靠性建模仿真方法 |
CN111459621A (zh) * | 2020-04-10 | 2020-07-28 | 中国人民解放军国防科技大学 | 云仿真集成与调度方法、装置、计算机设备和存储介质 |
CN115185627A (zh) * | 2021-04-07 | 2022-10-14 | 中国航发商用航空发动机有限责任公司 | 用于实时仿真的方法、系统和计算机可读存储介质 |
CN114625482A (zh) * | 2022-03-23 | 2022-06-14 | 阿里巴巴(中国)有限公司 | 一种设备管理方法和装置 |
CN115454636A (zh) * | 2022-09-16 | 2022-12-09 | 城云科技(中国)有限公司 | 一种容器云平台gpu资源调度方法、装置及应用 |
CN116502437A (zh) * | 2023-04-26 | 2023-07-28 | 中国人民解放军92942部队 | 一种基于云+端架构的信号级仿真平台云化方法 |
CN116578416A (zh) * | 2023-04-26 | 2023-08-11 | 中国人民解放军92942部队 | 一种基于gpu虚拟化的信号级仿真加速方法 |
Non-Patent Citations (3)
Title |
---|
HLA-based distributed simulation model for multimodal operation system on container terminals;Peng Gao 等;《2008 Asia Simulation Conference - 7th International Conference on System Simulation and Scientific Computing》;20081117;第338-343页 * |
基于GPU计算的虚拟现实仿真系统设计模型;顾钦;《微处理机》;20050512;第41-43+49页 * |
基于组件的分布式仿真系统;宋海凌 等;《指挥控制与仿真》;20090525;第81-86页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116578413A (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795219B (zh) | 适用于多种计算框架的资源调度方法及系统 | |
US11405300B2 (en) | Methods and systems to adjust resources and monitoring configuration of objects in a distributed computing system | |
US10965733B2 (en) | Efficient, automated distributed-search methods and systems | |
US11294758B2 (en) | Automated methods and systems to classify and troubleshoot problems in information technology systems and services | |
US20100205604A1 (en) | Systems and methods for efficiently running multiple instances of multiple applications | |
US20190340048A1 (en) | Methods and systems to manage alerts in a distributed computing system | |
US10057377B2 (en) | Dynamic resolution of servers in a distributed environment | |
US10212045B2 (en) | Method and system for testing and analyzing management servers | |
US11442725B1 (en) | Software modernization refactoring of local calls to network calls | |
US10872007B2 (en) | Methods and systems to compound alerts in a distributed computing system | |
CN114168255A (zh) | 容器云平台中异构指令集容器的运行方法和装置 | |
US11500628B1 (en) | Isolated code detection from application code analysis | |
CN112596762A (zh) | 一种滚动升级方法及装置 | |
CN116502437B (zh) | 一种基于云+端架构的信号级仿真平台云化方法 | |
CN115103012A (zh) | 一种地理空间信息微服务集成系统及方法 | |
Raharjo et al. | Reliability Evaluation of Microservices and Monolithic Architectures | |
CN112700004B (zh) | 基于容器技术的深度学习模型训练方法、设备及存储介质 | |
CN116578416B (zh) | 一种基于gpu虚拟化的信号级仿真加速方法 | |
CN113760499A (zh) | 调度计算单元的方法、装置、计算设备及介质 | |
CN116578413B (zh) | 一种基于云+端架构的信号级仿真模型云化方法 | |
US20180095731A1 (en) | Methods and systems to identify log write instructions of a source code as sources of event messages | |
CN111897684A (zh) | 磁盘故障模拟测试的方法、装置及电子设备 | |
CN111324332A (zh) | 大数据任务的处理方法及系统、电子设备、存储介质 | |
US11720348B2 (en) | Computing node allocation based on build process specifications in continuous integration environments | |
CN113326098B (zh) | 支持kvm虚拟化与容器虚拟化的云管平台 |
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 |