多线程复制系统的确定性调度框架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页 |