当前位置: 首页 > 专利查询>南开大学专利>正文

基于持久存储既有计算结果来加速程序计算的方法及系统技术方案

技术编号:8532536 阅读:162 留言:0更新日期:2013-04-04 15:22
本发明专利技术公开了基于持久存储既有计算结果来加速程序计算的方法及系统,属于计算机领域。基于持久存储既有计算结果来加速程序计算的方法包括:设定所要监控的函数;监控受监控函数实例的执行;若受监控函数实例未运行过,则直接执行受监控函数代码,并将受监控函数执行实例的参数及执行结果存储在持久存储设备中;否则直接从持久存储设备中将受监控函数执行实例的执行结果取出来,作为本次受控函数执行实例的结果。基于持久存储既有计算结果来加速计算的系统包括:程序计算执行装置和程序计算结果的持久存储装置。本发明专利技术能够有效地加速程序运行效率,尤其是适合存在大量重复且费时函数的程序。

【技术实现步骤摘要】
基于持久存储既有计算结果来加速程序计算的方法及系统
本专利技术属于计算机领域,主要关注提高程序计算的执行效率。
技术介绍
目前提高程序计算的执行效率主要有两类手段,一类是提高计算机硬件CPU的处 理能力;另外一类是提高程序本身的并发执行度。本专利技术则从单个程序单次运行中多次调 用同一个函数及相同参数值、多个程序单次运行中多次调用同一个函数及相同参数值、程 序的多次执行中多次调用同一个函数及相同参数值,因此有效减少重复计算次数将会有效 地提闻程序计算的执行效率。
技术实现思路
本专利技术目的是为了提高程序计算的执行效率,提供一种基于持久存储既有计算结 果来加速程序计算的方法及系统。基于持久存储既有计算结果来加速程序计算的方法包括设定所要监控的函数; 动态监控受监控函数的执行实例;若受监控函数实例未运行过,则直接执行受监控函数代 码,并将受监控函数执行实例的执行结果存储在持久存储设备中;若受监控函数实例已运 行过,则直接从持久存储设备中将受监控函数执行实例的执行结果取出来,作为本次受控 函数执行实例的结果。基于持久存储既有计算结果来加速程序计算的方法,包括具体步骤如下第1、设定所要监控的函本文档来自技高网...

【技术保护点】
基于持久存储既有计算结果来加速程序计算的方法,其特征在于,所述方法包括具体步骤如下:第1、设定所要监控的函数;第2、获取受监控函数集合到内存;第3、加载待运行程序到内存;第4、扫描待运行程序并针对受监控函数增加监控钩子函数代码;第5、执行程序,直到执行到调用受监控函数点和程序结束点中的任意一个条件;第6、若运程程序运行到程序结束点,则执行步骤14;第7、若运行程序执行到调用受监控函数点处,则调用监控钩子函数代码,即执行步骤8;第8、监控钩子函数代码从持久存储设备读取并检索是否存在受监控函数及参数的历史执行结果,若存在受监控函数及参数的历史执行结果,则执行步骤9;否则执行步骤11;第9、监控钩子...

【技术特征摘要】
1.基于持久存储既有计算结果来加速程序计算的方法,其特征在于,所述方法包括具体步骤如下 第1、设定所要监控的函数; 第2、获取受监控函数集合到内存; 第3、加载待运行程序到内存; 第4、扫描待运行程序并针对受监控函数增加监控钩子函数代码; 第5、执行程序,直到执行到调用受监控函数点和程序结束点中的任意一个条件; 第6、若运程程序运行到程序结束点,则执行步骤14 ; 第7、若运行程序执行到调用受监控函数点处,则调用监控钩子函数代码,即执行步骤8 ; 第8、监控钩子函数代码从持久存储设备读取并检索是否存在受监控函数及参数的历史执行结果,若存在受监控函数及参数的历史执行结果,则执行步骤9 ;否则执行步骤11 ;第9、监控钩子函数代码获取受监控函数及参数的历史执行结果,并赋给当前受监控函数的调用者; 第10、跳过对受监控函数实例的执行,进一步执行步骤13 ; 第11、因为不存在受监控函数及参数的历史执行结果,因此直接执行受监控函数实例,获取执行结果,并赋给当前受监控函数的调用者; 第12、将当前受监控函数执行实例的参数及执行结果存储在持久存储设备中; 第13、继续执行程序,执行步骤5 ; 第14、程序执行结束。2.根据权利要求1所述的方法,其特征在于,第I步所述的设定所要监控的函数,是在操作系统运行下,任意时间动态设定所要监控的函数,包括增加新的监控函数、删除已有的监控函数,所有受监控的函数统称为“受监控函数集合”;每一个受监控函数的基本信息包括函数唯一索引号、函数名、参数个数、{参数名、参数类型}序列表、函数执行结果的有效时间,其中函数的返回值属于函数参数。3.根据权利要求1所述的方法,其特征在于第4步所述的扫描待运行程序,是扫描待运行程序的源程序,或者扫描待运行程序的二进制程序代码,二进制程序代码也包括由Java、C#源代码生成的中间代码。4.根据权利要求3所述的方法,其特征在于第4步所述的,扫描待运行程序的源程序并增加监控钩子函数代码的方法为首先增加一个与受监控函数对应的监控钩子函数代码,监控钩子函数与受监控函数的函数声明相同,监控钩子函数的实现代码流程为本发明方法中的第7至13步骤;最后将待运行程序源代码中所有调用受监控函数的语句改为调用监控钩子函数语句,其中监控钩子函数中调用受监控函数的语句除外。5.根据权利要求3所述的方法,其特征在于,扫描待运行程序的二进制程序代码并增加监控钩子函数代码的方法有两种,第I种方法为首先创建与受监控函数的函数声明...

【专利技术属性】
技术研发人员:李旭东
申请(专利权)人:南开大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1