[发明专利]基于指数增长的多硬件事件监控计数值估计方法在审
申请号: | 202010678027.1 | 申请日: | 2020-07-15 |
公开(公告)号: | CN111858243A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 王一超;王杰;文敏华;韦建文;林新华 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/30 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 指数 增长 硬件 事件 监控 数值 估计 方法 | ||
1.一种基于指数增长的多硬件事件监控计数值估计方法,其特征在于,分别通过主线程维护工作流程的生命周期、创建和初始化相关数据结构和从线程,发送从线程控制信号以及运行被监控应用,通过从线程响应主线程的生命周期信号、进行硬件事件调度、定时轮流监控和后处理估计,通过读取CPU内置的硬件事件计数寄存器得到多硬件事件监控计数值。
2.根据权利要求1所述的基于指数增长的多硬件事件监控计数值估计方法,其特征是,所述的后处理估计,具体包括:
步骤1)从线程对所有硬件事件时间序列数据进行一阶差分得到硬件事件时间序列数据的差分值,即:实际的单时间片计数值C、被监控程序的单时间片已运行时长R、被监控硬件事件的单时间片已监控时长E;
步骤2)从线程读取一个硬件事件的时间序列数据,这里定义这个时间序列数据的第i个差分计数值Ci,第i+1个差分计数值Ci+1,第i个差分已运行时长Ri,第i个差分已监控时长Ei,并依次计算第i+1个计数值和第i个计数值的比例单个时间片的增长倍数未监控时间片个数
步骤3)重复估计:第i个计数值和第i+1个计数值之间的第j个未监控计数值直到估计全部n个未监控时间片上的计数值;累加所有的监控数值与估计数值,获得当前硬件事件总计数值;
步骤4)重复步骤2~步骤3,直到获得所有监控硬件事件的总计数值,硬件事件监控计数后处理工作结束。
3.根据权利要求1所述的基于指数增长的多硬件事件监控计数值估计方法,其特征是,所述的定时轮流监控,具体包括:
步骤1:调度系统创建与事件寄存器数量相等的队列,各个队列与事件寄存器一对一对应;
步骤2:对于任意一个硬件事件,将其存放入所有能够监控该事件的事件寄存器对应的队列中;
步骤3:对所有的队列做随机排序;
步骤4:检查当前所有队头的事件,当队头事件有重复,则将排位靠后的队头事件放到队尾,并将之后的事件排序向前推一位;
步骤5:重复步骤4直到所有队头事件均不重复,将所有的与当前队头事件重复的非队头事件放到队尾,并将重复事件之后的事件排序向前推一位;
步骤6:将当前队头事件放到对应的事件寄存器上监控;
步骤7:当前时间片到期后,将事件寄存器上的事件取下并放到对应队列的队尾;
步骤8:重复步骤4到步骤7,直至接收到主线程的结束信号。
4.根据权利要求1~3中任一所述的基于指数增长的多硬件事件监控计数值估计方法,其特征是,具体包括:
步骤1、PAPI硬件性能采集框架主线程对当前状态初始化并创建一个用于监控硬件事件的从线程;
步骤2、主线程完成全局初始化之后创建用于保存待监控事件的事件集,并将事件集绑定到从线程上,启动工作流程的生命周期;
步骤3、主线程向步骤2事件集中添加待监控的硬件事件;
步骤4、主线程向从线程发送监控开始信号,从线程开始从CPU内置的硬件事件计数寄存器按照步骤1中设定的时间片长度定期读取监控结果,并将其写入到当前硬件事件对应的文件描述符中;
步骤5、被监控程序在主线程启动,从线程按照初始化设置的监控时间片定时轮流监控步骤3中添加的待监控的硬件事件,并由步骤4收集监控结果写入文件描述符得到硬件事件时间序列数据;
步骤6、被监控程序结束后主线程向从线程发送停止信号,从线程停止监控,并进入步骤7;
步骤7、从线程对步骤5收集到的硬件事件时间序列数据进行后处理估计,并将结果发送给主线程,主线程输出结果。
5.根据权利要求4所述的基于指数增长的多硬件事件监控计数值估计方法,其特征是,所述的硬件事件时间序列数据包括:实际的硬件事件累计计数值c、被监控程序的累计已运行时长r、被监控硬件事件的累计已监控时长e。
6.根据权利要求5所述的基于指数增长的多硬件事件监控计数值估计方法,其特征是,所述的状态初始化包括:初始化PAPI内部全局变量、获取当前操作系统信息、创建用于记录硬件事件计数值的文件描述符、启用MPX模式和设置监控时间片长度。
7.根据权利要求5所述的基于指数增长的多硬件事件监控计数值估计方法,其特征是,所述的监控结果是指:被监控硬件事件计数值、程序运行时长、当前硬件事件监控时长序列数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010678027.1/1.html,转载请声明来源钻瓜专利网。