发明名称 一种在线迭代编译的优化方法和优化系统
摘要 本发明公开一种在线迭代编译的优化方法及优化系统,该优化方法包括如下步骤:步骤100,控制模块将相应程序的源代码或是编译器进一步优化的中间表示的形式发送到工作模块,并在所述程序并行处理存于工作模块的数据记录的过程中,预测处理完剩余数据记录所需时间;步骤200,工作模块对所述程序进行迭代编译优化操作,并将优化结果数据反馈给控制模块;步骤300,将所述程序的运行时间和迭代编译优化操作所花的时间存储于性能数据库中,所述性能数据库存储全部数据迭代优化操作的开销和收益,以供控制模块使用。
申请公布号 CN102622260B 申请公布日期 2014.12.10
申请号 CN201210048483.3 申请日期 2012.02.27
申请人 中国科学院计算技术研究所;国家信息及自动化研究院;根特大学 发明人 陈洋;房双德;吴承勇;奥里维·特曼;利文·艾可霍特
分类号 G06F9/45(2006.01)I;G06F11/36(2006.01)I 主分类号 G06F9/45(2006.01)I
代理机构 北京律诚同业知识产权代理有限公司 11006 代理人 梁挥;祁建国
主权项 一种在线迭代编译的优化方法,其特征在于,包括如下步骤:步骤100,控制模块将相应程序的源代码或是编译器进一步优化的中间表示的形式发送到工作模块,并在所述程序并行处理存于工作模块的数据记录的过程中,预测处理完剩余数据记录所需时间;步骤200,工作模块对所述程序进行迭代编译优化操作,并将优化结果数据反馈给控制模块;步骤300,将所述程序的运行时间和迭代编译优化操作所花的时间存储于性能数据库中,所述性能数据库存储全部数据迭代优化操作的开销和收益,以供控制模块使用;所述步骤100还包括:步骤400,进行总结和维护所述数据每次运行中迭代优化操作的开销和所带来的性能收益;步骤500,控制模块对于全部工作模块发送的最优组合的局部决策进行挑选,选择出全局最优的优化组合,作为全局决策推荐给全部工作模块;所述步骤100还包括:步骤210,所述程序为程序函数时,将该程序函数并行处理存于工作模块的数据记录的过程中,预测处理完剩余数据记录所需时间;步骤220,控制模块决定迭代编译优化操作的时间开销,并通知工作模块进行相应的迭代编译优化操作;所述步骤400还包括:步骤510,将所述程序函数不同次运行中迭代优化操作的开销和所带来的性能收益总结并维护于性能积蓄中;步骤520,根据性能积蓄中的数据信息对迭代编译的时机和频率进行控制,以达到保证开销始终只占收益的预定义小比例的目标;所述控制的方式是当通过性能数据库得知性能收益的一部分与一次迭代编译操作的开销相当时,则进行一次迭代编译操作,所述部分具体值由用户在0%到100%之间设定;步骤530,从由应用高性能的优化组合所得到的性能积蓄中,分配一部分用于迭代编译操作,所述部分具体值可由用户在0%到100%之间设定;步骤540,利用评估数据记录来对性能收益进行评估;每个工作模块在其评估数据记录上评估新的优化组合相对于默认优化组合的加速比,将其发送回控制模块;控制模块利用加速比信息和待处理的数据记录个数总量的信息来估算出使用这个新的优化组合所能带来的性能积蓄;步骤550,基于所预测到的性能积蓄,控制模块决定能够在工作模块上进行评估的优化组合的个数,并通知工作模块完成相应的运算工作。
地址 100080 北京市海淀区中关村科学院南路6号