System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于信息,尤其是用于信创适配的跨cpu架构二进制文件性能优化系统及方法。
技术介绍
1、现有的应用程序性能优化一般有以下几种方法
2、1.链接时优化(link-time optimization,lto)
3、lto在链接阶段进行的优化,允许编译器在整个程序范围内进行优化,而不仅仅是单个文件。这种优化可以消除冗余代码、内联跨文件的函数调用,并进行更有效的寄存器分配,从而提高程序的性能。
4、2.配置文件驱动优化(profile-guided optimization,pgo)
5、pgo使用运行时收集的配置文件数据来指导编译器进行优化。通过了解程序的实际运行情况,编译器可以进行更有针对性的优化,例如函数内联、循环展开和分支预测优化,从而提高程序的执行效率。
6、3.样本驱动优化(sample-based profiling)
7、这种技术通过采样程序的运行时行为来收集性能数据,而不是通过插桩。这种方法的开销较低,可以在生产环境中使用。收集到的数据可以用于指导代码布局、函数重排等优化。
8、4.自动矢量化(auto-vectorization)
9、自动矢量化是编译器将标量代码转换为矢量代码的过程,从而利用现代cpu的simd(单指令多数据)指令集。这种优化可以显著提高数据并行计算的性能。
10、5.内存布局优化(memory layout optimization)
11、内存布局优化通过重新排列数据
12、6.二进制重写(binary rewriting)
13、二进制重写是直接修改已编译的二进制文件,以应用各种优化技术。这种方法可以在不重新编译源代码的情况下进行优化,适用于没有源码的第三方库。
14、现有技术存在的缺点:
15、通常依赖于开发者的经验和手动调优。这需要深入理解程序的结构和性能瓶颈,耗时且容易出错。
16、往往侧重于局部优化,容易陷入局部最优解,难以找到全局最优解。
17、优化策略通常是固定的,难以适应动态变化的工作负载和环境。
18、通常依赖静态分析和有限的运行时数据,数据利用效率较低。
19、在面对复杂的系统和大规模应用时,优化难度和复杂性显著增加,且可扩展性较差。
20、通常基于已有的优化技术和经验,创新性较低,难以快速适应新技术和新环境。
技术实现思路
1、本专利技术的目的在于克服现有技术的不足,提出用于信创适配的跨cpu架构二进制文件性能优化系统及方法,利用深度强化学习和elf二进制文件训练的transformer预训练模型(命名为bincode-transformer),构建一个性能优化的智能系统。该系统通过深度强化学习框架创建优化环境和智能体,利用docker容器技术动态生成二进制文件运行环境。通过perf工具采集各种性能指标和关键事件,提取采样特征。
2、本专利技术解决其技术问题是采取以下技术方案实现的:
3、用于信创适配的跨cpu架构二进制文件性能优化系统,包括环境模型docker和智能体模型,其中环境模型docker和智能体模型相互连接,环境模型docker包括二进制代码执行容器、perf指标采集模块、指标库、执行信息库、奖励计算模块和bincode-transformer编码器,其中,二进制代码执行容器分别连接执行信息库和bincode-transformer编码器,perf指标采集模块分别连接指标库和执行信息库,执行信息库连接奖励计算模块。
4、而且,所述二进制代码执行容器用于使用docker容器动态生成二进制文件的执行环境,确保生成的二进制文件在一个一致且隔离的环境中运行;
5、perf指标采集模块用于在二进制文件执行过程中收集各种性能指标和关键事件数据;
6、奖励计算模块用于通过cpu、网络io、磁盘io和内存四个指标维度进行衡量;
7、bincode-transformer编码器用于使用bincode-transformer预训练模型的编码器生成反应二进制语义以及调用方式的特征表达。
8、而且,所述智能体模型包括状态特征抽取模块、特征融合模块、bincode-transformer解码器、生成二进制文件模块、元强化学习模型、策略网络、价值网络模型、动作空间构筑模型和强化学习优化策略,其中状态特征抽取模块连接特征融合模块,特征融合模块分别连接bincode-transformer解码器、元强化学习模型和策略网络、价值网络模型,元强化学习模型和策略网络、价值网络模型均分别相互连接动作空间构筑模型和强化学习优化策略,bincode-transformer解码器连接生成二进制文件模块。
9、而且,所述状态特征抽取模块用于对bincode-transformer预训练模型的编码器反应二进制文件静态特征以及调用特征,perf采集的profile data反应该二进制执行文件的动态执行特征进行状态空间构建;
10、特征融合模块用于对bincode-transformer预训练模型的编码器生成的特征,profile data特征以及经过策略网络优化后的action特征进行融合,并输出融合特征;
11、bincode-transformer解码器用于使用融合特征向量作为输入利用bincode-transformer预训练模型进行二进制文件的优化,重新生成新的反应优化后二进制文件的特征向量;
12、生成二进制文件模块用于根据生成的优化后二进制文件的特征向量生成优化后的二进制可执行文件;
13、元强化学习模型用于通过在多个任务上进行训练,使智能体能够学习到如何快速适应新任务;
14、策略网络、价值网络模型用于训练优化;
15、动作空间构筑模型用于生成新的优化操作构建动作空间;
16、强化学习优化策略用于从性能数据中提取的状态特征和奖励反馈生成优化策略,指导优化过程以实现更好的性能。
17、一种用于信创适配的跨cpu架构二进制文件性能优化系统的优化方法,包括以下步骤:
18、步骤1、二进制代码执行容器进行环境创建;
19、通过dockerfile将二进制代码以及perf采集程序自动化构建docker容器,构建完成后自动启动docker容器,同时自动启动在容器内运行被优化的二进制程序以及启动perf采集程序。
20、步骤2、perf性能指标采集模块进行采集;
21、perf采集程序采集二进制程序的性能指标以及profile data,通过perf工具采集各种性能指标和关键事件,并保存到“指标库”和“执行信息库”。数据库为“本文档来自技高网...
【技术保护点】
1.用于信创适配的跨CPU架构二进制文件性能优化系统,其特征在于:包括环境模型Docker和智能体模型,其中环境模型Docker和智能体模型相互连接,环境模型Docker包括二进制代码执行容器、Perf指标采集模块、指标库、执行信息库、奖励计算模块和BinCode-Transformer编码器,其中,二进制代码执行容器分别连接执行信息库和BinCode-Transformer编码器,Perf指标采集模块分别连接指标库和执行信息库,执行信息库连接奖励计算模块。
2.根据权利要求1所述的用于信创适配的跨CPU架构二进制文件性能优化系统及方法,其特征在于:所述二进制代码执行容器用于使用Docker容器动态生成二进制文件的执行环境,确保生成的二进制文件在一个一致且隔离的环境中运行;
3.根据权利要求1所述的用于信创适配的跨CPU架构二进制文件性能优化系统及方法,其特征在于:所述智能体模型包括状态特征抽取模块、特征融合模块、BinCode-Transformer解码器、生成二进制文件模块、元强化学习模型、策略网络、价值网络模型、动作空间构筑模型和强化学习优化策略,其
4.根据权利要求3所述的用于信创适配的跨CPU架构二进制文件性能优化系统及方法,其特征在于:所述状态特征抽取模块用于对BinCode-Transformer预训练模型的编码器反应二进制文件静态特征以及调用特征,Perf采集的Profile Data反应该二进制执行文件的动态执行特征进行状态空间构建;
5.一种如权利要求1至4任一项所述的用于信创适配的跨CPU架构二进制文件性能优化系统的优化方法,其特征在于:包括以下步骤:
...【技术特征摘要】
1.用于信创适配的跨cpu架构二进制文件性能优化系统,其特征在于:包括环境模型docker和智能体模型,其中环境模型docker和智能体模型相互连接,环境模型docker包括二进制代码执行容器、perf指标采集模块、指标库、执行信息库、奖励计算模块和bincode-transformer编码器,其中,二进制代码执行容器分别连接执行信息库和bincode-transformer编码器,perf指标采集模块分别连接指标库和执行信息库,执行信息库连接奖励计算模块。
2.根据权利要求1所述的用于信创适配的跨cpu架构二进制文件性能优化系统及方法,其特征在于:所述二进制代码执行容器用于使用docker容器动态生成二进制文件的执行环境,确保生成的二进制文件在一个一致且隔离的环境中运行;
3.根据权利要求1所述的用于信创适配的跨cpu架构二进制文件性能优化系统及方法,其特征在于:所述智能体模型包括状态特征抽取模块、特征融合模块、bincode-tra...
【专利技术属性】
技术研发人员:张鹏超,李伟,田虎,赵金彪,孙社宾,张开羽,
申请(专利权)人:天地伟业技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。