[发明专利]一种开发与运行透明的异构计算系统及其实现方法在审
申请号: | 201911095097.8 | 申请日: | 2019-11-11 |
公开(公告)号: | CN111045755A | 公开(公告)日: | 2020-04-21 |
发明(设计)人: | 韩飞;季统凯 | 申请(专利权)人: | 国云科技股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448;G06F8/30;G06F8/41 |
代理公司: | 广东勤诺律师事务所 44595 | 代理人: | 尚俊 |
地址: | 523808 广东省东莞市松山湖高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 开发 运行 透明 计算 系统 及其 实现 方法 | ||
本发明涉及一种开发与运行透明的异构计算系统及其实现方法。本发明在解释器上增加代码热点分析模块、异构计算调度模块、代码编译及编程模块以及异构处理器适配模块;代码热点分析模块跟踪分析业务代码的执行情况,识别预期会高频次执行的热点代码;异构计算调度模块根据代码的热点分析判断是由CPU执行还是由FPGA等加速机制执行,并根据结果对业务代码的执行进行调度;异构处理器适配模块对不同异构加速方案进行抽象封装;代码编译及编程模块,对特定异构计算组件进行代码编译;然后通过异构处理器适配模块提供的通用接口写入FPGA;对于GPU类加速组件生成对应平台的加速代码。本发明解决了传统方异构计算需要针对平台专门开发、部署等问题。
技术领域
本发明涉及异构计算技术领域,特别涉及一种开发与运行透明的异构计算系统及其实现方法。
背景技术
目前高性能、异构计算领域,都需要针对特定应用,对专门设备进行定制开发才能实现对异构计算设备的使用;如英伟达GPU的CUDA开发,FPGA芯片的Verilog、VHDL开发等。
现有异构计算方案,主要有两个缺陷。一是要专门针对异构计算环境开发业务逻辑代码,开发效率低下;要求掌握更多领域的开发技术,开发和使用无法做到计算平台透明。二是缺乏灵活性,每个应用和业务都要进行针对性开发,不能自动适应业务对高性能异构计算需求的变化。
因此,现有的异构计算方案开发成本高,开发效率低,业务响应速度慢。
发明内容
本发明解决的技术问题在于提供一种开发与运行透明的异构计算系统及其实现方法;解决传统异构计算解决方案要针对异构计算平台进行专门开发和专门部署运行、以及无法实时自动调整和调度加速执行的缺陷。
本发明解决上述技术问题的技术方案是:
所述的系统在解释器上增加代码热点分析模块、异构计算调度模块、代码编译及编程模块以及异构处理器适配模块;
所述代码热点分析模块,以函数为单位,跟踪分析业务代码的执行情况,识别预期会高频次执行的热点代码;
所述异构计算调度模块,根据代码热点分析模块对代码的分析,判断是由CPU执行还是由异构加速机制执行,并根据结果对业务代码的执行进行调度;
所述异构处理器适配模块对不同异构加速方案进行抽象封装;
所述代码编译及编程模块,将代码热点分析模块识别出来的热点代码,对FPGA类加速组件编译成电路描述语言,然后通过异构处理器适配模块提供的通用接口写入FPGA;对于GPU类加速组件生成对应平台的加速代码。
所述的解释器为编程语言解释器,包括python解释器、javascript解释器和lua解释器;
所述异构加速机制包括FPGA和GPU加速机制。
所述的方法包括如下步骤:
S01:程序语言解释器执行一段业务代码;
S02:异构计算调度模块判断该段业务代码是否已经被加速;如果已经加速,则调度到FPGA类异构加速机制执行;如果未加速,则调度到CPU执行;
S03:CPU直接执行业务代码;
S04:代码热点分析模块基于统计及分析判断业务代码是否需要加速;如果不需要加速,则结束此轮代码执行;如果需要加速,则调用代码编译及编程模块进一步处理;
S05:代码编译及编程模块把对应业务逻辑的热点代码转换为对应异构加速机制可以执行的代码,包括对于FPGA编译为电路描述语言,把生成的描述逻辑对FPGA加速组件进行动态重配置,同时对该热点代码标记为加速,并结束此轮代码执行。
所述统计及分析的方法包括人工标记和自动分析;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911095097.8/2.html,转载请声明来源钻瓜专利网。