多线程复制系统的确定性调度框架MDSF的研究与实现
摘要 | 第1-5页 |
ABSTRACT | 第5-9页 |
第一章 概述 | 第9-16页 |
·研究背景 | 第9-12页 |
·复制 | 第9-10页 |
·对象复制 | 第10-11页 |
·多线程复制及确定性 | 第11-12页 |
·研究现状 | 第12-14页 |
·算法研究现状 | 第12-13页 |
·代码截获现状 | 第13-14页 |
·本文工作 | 第14页 |
·论文结构 | 第14-16页 |
第二章 MDSF框架 | 第16-22页 |
·框架简介 | 第16-17页 |
·系统模型 | 第17-19页 |
·通信模型 | 第17页 |
·同步模型 | 第17-18页 |
·同步机制细节 | 第18-19页 |
·同步操作的截获 | 第19-22页 |
第三章 线程调度模块 | 第22-39页 |
·现有的确定性调度算法 | 第22-24页 |
·顺序请求执行算法(SRE) | 第22-23页 |
·单一活动线程算法(SAT) | 第23页 |
·松散同步算法(LSA) | 第23页 |
·抢占确定性调度算法(PDS) | 第23-24页 |
·多重活动线程算法(MAT) | 第24页 |
·MAT算法详解 | 第24-27页 |
·数据结构 | 第24-25页 |
·算法细节 | 第25-27页 |
·MAT算法缺点 | 第27-30页 |
·最后锁定的释放 | 第28-30页 |
·无冲突锁 | 第30页 |
·AMAT算法 | 第30-39页 |
·算法前提 | 第31页 |
·算法思想 | 第31-33页 |
·确定性保证 | 第33-34页 |
·算法优点 | 第34页 |
·锁参数的分析 | 第34-39页 |
第四章 代码分析、转换目标 | 第39-47页 |
·调度模块接口 | 第39-42页 |
·简单示例 | 第42-44页 |
·分析、转换思路 | 第44-47页 |
·入口方法 | 第44-45页 |
·目标方法 | 第45页 |
·同步操作 | 第45页 |
·锁参数的预测 | 第45-47页 |
第五章 代码分析模块 | 第47-61页 |
·静态代码分析 | 第47-49页 |
·方法调用关系图 | 第47页 |
·数据流分析 | 第47-49页 |
·Soot简介 | 第49-52页 |
·基本的实体类 | 第49-50页 |
·CallGraph类 | 第50-51页 |
·数据流分析框架 | 第51-52页 |
·工作流程 | 第52-53页 |
·实现细节 | 第53-61页 |
·数据结构 | 第53-56页 |
·方法实现 | 第56-61页 |
第六章 代码转换模块 | 第61-69页 |
·Eclipse AST简介 | 第61-64页 |
·AST类 | 第62页 |
·ASTNode类 | 第62-63页 |
·ASTVisitor类 | 第63页 |
·ASTRewrite类 | 第63-64页 |
·工作流程 | 第64页 |
·实现细节 | 第64-69页 |
第七章 测试结果 | 第69-77页 |
·功能测试 | 第69-71页 |
·代码分析、转换模块功能测试 | 第69-70页 |
·线程调度模块功能测试 | 第70-71页 |
·线程调度模块性能测试 | 第71-73页 |
·测试用例 | 第71页 |
·测试结果 | 第71-72页 |
·结果分析 | 第72-73页 |
·代码分析模块性能测试 | 第73-74页 |
·测试用例 | 第73-74页 |
·测试结果 | 第74页 |
·结果分析 | 第74页 |
·代码转换模块性能测试 | 第74-77页 |
·测试用例 | 第75页 |
·测试结果 | 第75页 |
·结果分析 | 第75-77页 |
第八章 总结和展望 | 第77-79页 |
·论文总结 | 第77页 |
·下一步工作 | 第77-79页 |
参考文献 | 第79-81页 |
致谢 | 第81-82页 |
攻读学位期间发表的学术论文目录 | 第82页 |