发明名称 即时编译器中一种基于云的热路径优化方法
摘要 本发明提供了即时编译器中一种基于云的热路径优化方法,当本地程序空闲时,将本地即时编译队列新生成的热路径上传到云端,热路径在上传时进行数据格式整理,将具有相同程序标识符的热路径整理为一个数据上传;在云端可获得同一程序多个上传数据,然后再进行统计整理,使得相同程序的热路径存储在一个数据中。当本地新启动程序或者程序空闲时,从云端下载对应程序的热路径并加入到虚拟机的即时编译队列中。本发明将各终端本地程序运行获取的“热路径”上传到云端进行整合统计,得到该程序运行时全面的“热路径”统计数据;并在用户程序空闲时,通过下载有效的云端数据来使程序中的“热路径”提前编译,从而提升了运行效率。
申请公布号 CN103793502A 申请公布日期 2014.05.14
申请号 CN201410033804.1 申请日期 2014.01.24
申请人 北京航空航天大学 发明人 范礼阳;史晓华;赵胜男;杨海燕
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 祗志洁
主权项 即时编译器中一种基于云的热路径优化方法,其特征在于,针对某一程序,进行如下步骤:步骤1:当程序空闲时,判断本地即使编译器中的热路径是否有更新,若有,执行步骤二,否则,执行步骤三;所述的本地即使编译器中的热路径存储为Jit‑Trace格式的数据结构,该数据结构包括一个字节码方法和包含该字节码方法的执行路径;步骤2:将本地Jit‑Trace格式数据转换为Native‑Jit‑Traces格式数据;所述的Native‑Jit‑Traces格式数据包括数据头和路径数据两部分;数据头包含程序标识符和版本号Cloud‑Jit,程序标识符包括程序的包名、签名和版本号;路径数据部分以<字节码方法,执行路径数组>的键值对方式组织,执行路径数组中包含对应字节码方法的Jit‑Trace格式中的各执行路径,一个键值对对应一个热路径;步骤3:将位于本地的Native‑Jit‑Traces格式数据上传到云端,云端对具有相同程序标识符的所有Native‑Jit‑Traces格式数据进行统计整理,生成Cloud‑Jit‑Traces格式数据,并存储在云端资源池中;所述的Cloud‑Jit‑Traces格式数据包括程序标识符,版本号Cloud‑Jit,以及路径数据,路径数据以<字节码方法,执行路径数组,统计数据>的键值对方式组织,其中,统计数据为相应字节码方法的统计次数,一个键值对对应一个热路径;步骤4:在本地程序初始化或者本地程序空闲时,从云端下载对应程序的经过统计处理的Cloud‑Jit‑Traces格式数据,并将热路径加入到虚拟机的即时编译队列中。
地址 100191 北京市海淀区学院路37号