发明名称 | 一种动态多线程划分方法 | ||
摘要 | 本发明公开了一种动态多线程划分方法,该方法使虚拟机加载用户程序,并生成线程单元;由线程单元执行用户程序中的指令,在执行用户程序过程中:当遇到用户程序要求产生新对象时,给新对象分配线程单元;当遇到用户程序中的方法调用时,根据方法调用的目标对象,将方法调用分派到目标对象所在的线程单元;当遇到用户程序要求内存访问时,根据线程单元当时所处的模式决定内存访问方式。本发明不依赖样本输入,能够根据程序的运行情况来实时地决定划分方案,对不同输入具有更好的适应性。 | ||
申请公布号 | CN101923460A | 申请公布日期 | 2010.12.22 |
申请号 | CN201010230483.6 | 申请日期 | 2010.07.19 |
申请人 | 西安交通大学 | 发明人 | 赵银亮;杜延宁;韩博;李远成 |
分类号 | G06F9/38(2006.01)I | 主分类号 | G06F9/38(2006.01)I |
代理机构 | 西安通大专利代理有限责任公司 61200 | 代理人 | 汪人和 |
主权项 | 一种动态多线程划分方法,其特征在于:使虚拟机加载用户程序,并生成线程单元;由线程单元执行用户程序中的指令,在执行用户程序过程中:(1)当遇到用户程序要求产生新对象时,给新对象分配线程单元;(2)当遇到用户程序中的方法调用时,根据方法调用的目标对象,将方法调用分派至目标对象所在的线程单元;(3)当遇到用户程序要求内存访问时,根据线程单元当时所处的模式决定内存访问方式;以上分配的各个线程单元并行执行分派给自己的方法调用,并且线程单元在获得非推测控制后对之前的推测执行进行验证,如果正确,就提交推测执行的成果;否则,就丢弃推测执行的成果;所述的线程单元是具有独立计算能力的执行单元,线程单元有三种不同的工作模式:非推测模式、推测模式、返回值预测模式;虚拟机有一个或多个线程单元,但任何时刻只有一个线程单元处在非推测模式。 | ||
地址 | 710049 陕西省西安市咸宁路28号 |