全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210716896.8 (22)申请日 2022.06.23 (71)申请人 华东师范大学 地址 200241 上海市闵行区东川路5 00号 (72)发明人 刘通宇 牟文龙 于兆熙 黄波  郭健美  (74)专利代理 机构 上海麦其知识产权代理事务 所(普通合伙) 31257 专利代理师 董红曼 (51)Int.Cl. G06F 9/50(2006.01) G06F 11/30(2006.01) (54)发明名称 热点驱动的、 结合插桩与性能事件采样的工 作负载特 征分析方法及分析系统 (57)摘要 本发明公开了一种热点 驱动的、 结合插桩与 性能事件采样的工作 负载特征分析方法, 所述分 析方法针对工作负载, 使用热点 分析器进行热点 定位, 使用基于时间的采样方法, 得到工作负载 热点特征信息; 使用插桩分析器结合热点代码段 和/或热点函数的起止地址对工作负载热点内部 动态执行指令进行统计, 得到工作负载热点内部 的指令分布特征信息; 使用性能剖析器对工作 负 载热点内部执行时发生的特定性能事件进行采 样与统计, 得到工作 负载内部的性能事件发生次 数与性能指标特征信息; 结合热点特征、 热点内 部指令分布特征、 热点内部性能事件发生次数与 性能指标特征, 以工作 负载热点的起止地址为媒 介, 使用工作负载特征合成器, 获得热点驱动的 工作负载特 征信息。 权利要求书2页 说明书10页 附图3页 CN 115328643 A 2022.11.11 CN 115328643 A 1.一种热点驱动的、 结合插桩与性能事件采样的工作负载特征分析方法, 其特征在于, 所述分析方法针对工作负载, 使用热点分析器进 行热点定位, 使用基于时间的采样方法, 得 到工作负载的热点特征信息; 使用插桩分析器结合热点代码段和/或热点函数 的起止地址 对工作负载热点内部动态执行指令进行统计, 得到工作负载热点内部的指令分布特征信 息; 使用性能剖析器对工作负载热点内部执行时发生的特定性能事件进行采样与 统计, 得 到工作负载内部的性能事件发生次数与性能指标特征信息; 最终, 结合热点特征、 热点内部 指令分布特征、 热点内部性能事件发生次数与性能指标特征, 以工作负载热点的起止地址 为媒介, 使用工作负载特征合成器, 整合为热点驱动的、 结合插桩与性能事件采样的工作负 载特征信息。 2.如权利要求1所述的分析 方法, 其特 征在于, 所述分析 方法包括如下步骤: 步骤一、 输入工作负载, 使用热点分析器定位工作负载 热点, 并输出 热点特征信息; 步骤二、 使用插桩分析器对工作负载热点进行分析, 统计输出热点内部动态执行指令 分布的特 征信息; 和, 使用性能剖析器对工作负载热点进行分析, 获得热点内部性能事件发生次数与性 能指标的特 征信息; 步骤三、 使用工作负载特征合成器对步骤一中输出的热点特征信息、 步骤二中输出的 热点内部动态执行指令分布的特征信息及热点内部性能事件发生次数与性能指标 的特征 信息进行综合, 输出 热点驱动的工作负载 特征。 3.如权利要求2所述的分析方法, 其特征在于, 步骤一中, 所述热点分析器以10~ 1000Hz的采样频率对计算机的运行情况进行采样, 捕获并保存系统运行时的上下文信息, 通过上下文信息并结合二进制可执行文件, 通过程序计数器与段寄存器分析采样时刻计算 机执行的机器指令, 通过可执行文件的编译时产生的函数调用帧信息结合采样时刻栈的段 寄存器与栈顶指针寄存器得到采样时刻的调用栈。 4.如权利要求3所述的分析方法, 其特征在于, 所述上下文信息包括程序计数器、 栈顶 指针寄存器、 栈的段寄存器以及内存中工作负载的调用栈; 所述二进制可执行文件来源于 对输入的工作负载程序的编译。 5.如权利要求3所述的分析方法, 其特征在于, 若热点分析器在对计算机运行情况进行 基于时间的采样并获得采样样本后, 对样本的调用栈指向的函数名称进行统计, 通过落在 不同代码段和/或函数的样本数量选出工作负载 热点。 6.如权利要求5所述的分析方法, 其特征在于, 统计落在每一个代码段和/或函数的样 本个数, 并依此降序排列, 其中样本个数最多的前1个或n个代码段和/或函数为热点代码段 和/或函数; 热点分析器以固定频率采样, 一个代码段和/或函数包含的样本个数能够反映 该代码段和/或函数消耗的时间, 通过统计代码段和/或函数上包含的样本, 包含样本的个 数越多, 说明对应的代码段和/或函数消耗的时间越长, 越容 易成为工作负载的热点。 7.如权利要求2所述的分析方法, 其特征在于, 步骤一中, 所述热点分析器输出工作负 载的热点特征信息, 所述热点特征信息包括热点代码段和/或函数的样本数量、 热点代码段 和/或函数的开销占比、 热点代码段和/或函数的符号名称与调用栈以及来自于有函数调用 帧信息的二进制可 执行文件中获得的热点代码段和/或热点 函数的起止地址 。 8.如权利要求2所述的分析方法, 其特征在于, 步骤二中, 所述插桩分析器在步骤一中权 利 要 求 书 1/2 页 2 CN 115328643 A 2获得的热点代码段和/或热点函数的起止地址内进 行插桩分析, 获得热点代码段和/或热点 函数内部动态执行指令分布的统计信息; 所述插桩操作通过在代码 中插入探针实现, 通过 在一个或多个工作负载热点内部注入插桩代码, 在执行时获得当前工作负载动态执行时的 指令, 依据指令的功 能类型划分进行指令数量统计, 最终输出热点内部动态执行指令分布 的特征信息。 9.如权利要求8所述的分析方法, 其特征在于, 不同功能类型的指令包括算术运算指 令、 逻辑运算指令、 访存指令、 向量 化指令。 10.如权利要求2所述的分析方法, 其特征在于, 步骤二中, 所述性 能剖析器通过对热点 代码段和/或热点函数内部的、 基于性能事件的采样对工作负载进 行分析; 所述基于性能事 件的采样是借助计算机内部性能监测单元中硬件性能计数器与对应的性能事件选择寄存 器实现的; 所述硬件性能计数器支持触发溢出中 断, 当溢出中断发生时, 操作系统 能够响应 中断并保存运行时的上 下文信息, 以此进行采样。 11.如权利要求2所述的分析方法, 其特征在于, 步骤二中, 所述性 能剖析器仅保留落在 步骤一中给出的热点代码段和/或热点函数起止地址内部的样本, 对落在热点代码段和/或 热点函数起止地址内的样本数量进行计数获得热点代码段和/或热点函数运行时发生指定 性能事件的次数, 导出性能指标, 形成热点内部性能事件发生次数与性能指标的特征; 所述 性能指标包括每条指令平均时钟周期数、 分支预测正确率、 每千条指令缓存未命中次数。 12.如权利要求2所述的分析方法, 其特征在于, 步骤三中, 工作负载特征合成器以热点 代码段和/或热点函数的地址为媒介, 将插桩分析器与性能剖析器给出的结果进 行整合, 输 出的工作负载综合特征分析结果以工作负载热点为主体, 再加入热点内部动态执行指 令分 布特征与性能事件发生次数与性能指标特征, 形成工作负载特征分析; 所述工作负载特征 分析内容包括热点本身对应的源代码、 工作负载热点的开销占比、 起止地址、 调用栈、 热点 内部动态执 行指令分布特 征与性能事 件发生次数与性能指标 特征。 13.如权利要求1 ‑12之任一项所述的分析方法, 其特征在于, 所述分析方法能够用于实 际应用程序和/或基准测试程序。 14.如权利要求1 ‑12之任一项所述分析方法在工作负载特征比较、 基准性能测试程序 的精简中的应用。 15.一种实现如权利要求1 ‑12之任一项所述分析方法的分析系统, 其特征在于, 所述分 析系统包括热点分析器、 插 桩分析器、 性能剖析器、 工作负载 特征合成器; 所述热点分析器 基于时间进行采样, 分析采样获得的样本信息, 获得 热点特征信息; 所述插桩分析器通过对获得的热点代码段和/或热点函数的起止地址范围内进行插桩 分析, 基于插 桩的指令类型统计, 获得 热点内部执 行指令分布特 征; 所述性能剖析器基于性能事件进行采样, 对获得的热点代码段和/或热点函数的起止 地址内进行性能剖析, 筛 选后获得 热点内性能事 件发生次数与性能指标 特征; 所述工作负载特征合成器用于对热点特征信息、 热点内部执行指令分布特征、 热点内 性能事件发生次数与性能指标 特征进行关联与整合, 输出完整的工作负载 特征分析信息 。权 利 要 求 书 2/2 页 3 CN 115328643 A 3

.PDF文档 专利 热点驱动的、结合插桩与性能事件采样的工作负载特征分析方法及分析系统

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 热点驱动的、结合插桩与性能事件采样的工作负载特征分析方法及分析系统 第 1 页 专利 热点驱动的、结合插桩与性能事件采样的工作负载特征分析方法及分析系统 第 2 页 专利 热点驱动的、结合插桩与性能事件采样的工作负载特征分析方法及分析系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:33:15上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。