倍思鹿数值仿真-实现本地开发+云部署的高效算法工具链
倍思鹿数值仿真-国产冷、热、电数值模拟平台(更新至6.07)
第一章 功能介绍、使用简介
第二章 模块编辑器使用教程
第三章 便捷化流体物性库调用
第四章 自动化流体管网/电网解算
第五章 简便的安装与配置
第六章 实现云服务器部署
第七章 Matlab算法嵌入倍思鹿仿真并支持便捷化云部署
第八章 实现低频直流电路的暂态智能解算-千次每秒实时解算
第九章 实现-18度NH3冷库(CO2载冷)的动态数值模拟与可训练的人工智能自运行节能控制系统验证
第十章 实现最高72万数据刷新每秒的瞬态曲线绘制,支持跟随“步进”刷新的“瞬态逐帧调试”
第十一章 如何打开自带项目并运行演示
第十二章 实现串口通讯的图形化绑定、傻瓜式配置、协议自定义、曲线绘制
第十三章 实现模块debug测试+项目Debug可调试开发+Release高效发布无缝融合
第十四章 实现设备型号库的可编辑、便捷导入项目
第十五章 实现各类提示、快捷键功能,提高工作效率
文章目录
前言
官网:https://www.baselu.cn
------云部署,几乎是近几年数字孪生、仿真、节能等系统的标准需求,但是,能够满足真正全功能云部署的算法平台少之又少。
------支持云部署的算法平台,少之又少的原因,一方面是能做算法的系统,如matlab、ansys等,发展三四十年了,其早期底层、中期优化、优秀模块均是基于PC版本编写,追求高性能、高准确度,可以说这一脉的血统就是C/C++。
------另一方面,期待使用java等技术栈自研云算法平台的团队,成本太高,需要工科、前后端两类团队协同合作,有过写复杂算法经验的小伙伴应该会明白,成本巨高。
------这导致很多数字孪生、仿真、节能系统等,很难小成本的、真正的用上由工科人员精心编辑的算法平台云服务。
------倍思鹿数值仿真,决心解决这一问题,基于能够多进程并行的能力,实践并验证了一个能够支持windows本地开发、云部署并且能够完全发挥服务器多核性能的解决方案。
一、倍思鹿数值仿真的云部署架构
1.基于windowsServer的云部署(工科人员即可维护,无需招聘前后端)
模块化高速数据库
------首先进行了数据库模块化改造,支持以用户文件路径为区分的高速数据库,并不追求大而全的“编程政治正确”。每一个文件夹路径下的算法平台,都是可以独立启动算法、配置数据、pipe通讯。
仅需文件管理的部署方式,方便快捷易自动化
------新增一个用户,仅需复制一份文件夹,并将文件夹名称改为用户名,即可完成部署,其他全部自动,谁写的算法谁来部署,极限降低运维成本与难度,示例如下:

支持C服务、.Net服务、Java后端服务的自动化管理对接
1、可提供C++后端管理工具,以及测试样例,有测试需求联系我即可。
2、如下图所示,仅需调用1个函数,进行数据中转,函数的协议如下图所示。C++后端、Java后端,可调用下图左侧函数,C#提供原生C#通讯代码,请见下图右侧。
3、调用方式很简单,仅需要验证Token权限后,做信息中转即可,如下一张图所示:


Get请求实测“获取某一模块变量列表”效果

性能测试(上图)
1、实测i7-13700K处理器、64G内存的服务器,开启界面、步长设为100ms的情况下(算法每秒迭代10次),跑11个用户的算法,CPU占用率49%左右、多进程管理顺畅、内存占用可控,如下面三图所示。
2、界面是可选的,关闭界面的情况下,中小型算法项目,11个用户的CPU占用率可降低到30%左右。一台13700K服务器,可同时支持30个左右用户的算法计算需求。若换成intel的36核高核数处理器,或者EPYC,可以满足同时50个用户同时在线的算法需求。



二、支持web端与服务器端可视化联调调试
以用户为单位调试对接
------开发平台界面支持以用户为单位打开,并打印收发的信息,请见下图左侧,是语句通讯函数,右侧是打开的开发平台消息打印。
链接哪个用户,需要测试的话,就进文件夹测试打开开发界面联调即可。

前后端分离,后台算法独立运行。
当后台算法在运行中时,可直接关闭开发界面,不影响服务做支持。
再次打开开发界面可完全还原内容显示。
三、选择windowsServer做服务部署方式的好处
1、最大好处就是,省岗位成本!。咱倍思鹿数值仿真的目标,就是为工科团队提供一个不用学习复杂编程即可实现专业算法的系列化工具,目标用户大都是工科专业,如果一个不需要java\UVE岗位即可部署的云服务,无疑对节省成本非常友好。
2、目标用户最熟悉windows,算法体系大都是在windows上建立的,没有几个成熟的算法平台,是能够在linux上用的,跑都跑不起来。有限元在linux上只有一个OpenFOAM。写工科算法、模拟计算的人,都是熟悉windows的。
3、倍思鹿数值仿真还有一个作用,是可以兼容并调用其他算法平台的程序的,例如matlab发布的exe程序,调用、自动管理其运行并接收计算结果,将其部署到云上,也是需要为这方面的兼容度考虑的,这个后面会单独开篇说明。
总结
------倍思鹿数值仿真实现本地开发+云部署的方案,这里就介绍完啦。很多大佬看了会觉得有取巧的成分在里面,就是加了个网络接口嘛,不难呀。确实有很多牛人能够实现上述的功能。这里也不是为了炫耀,而是讲述小路数值仿真的一个进步:真正为用户考虑如何解决其在“越来越云”的市场环境下,怎样实现低成本的算法编写、云部署、数据对接的问题,做一套覆盖云算法项目全流程的便捷工具链。
------此方案的实现难度,对于很多友商们(编译成单线程执行的方式)并不难,但是前文提到他们依赖单核性能,服务器低主频效果大打折扣;对于咱这种解析运行、多进程并行的底层执行方式来说,要做出这种语句命令完全控制后台的操作,需要增加非常多的多线程处理(不能影响主线程计算)、内存保护(新开线程初始化、扩容、不影响主内存、消息互相传递等),其实还是很难实现的,花了不小的功夫。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)