| 中文摘要 | 第1-4页 |
| Abstract | 第4-9页 |
| 第 1 章 引 言 | 第9-17页 |
| ·并行计算技术和并行计算模型 | 第9-13页 |
| ·并行计算技术 | 第9页 |
| ·并行计算模型 | 第9-11页 |
| ·消息传递计算模型的优势及其主要代表 | 第11-13页 |
| ·并行程序调试技术 | 第13-14页 |
| ·并行程序正确性调试技术 | 第13-14页 |
| ·并行程序性能调试技术 | 第14页 |
| ·并行程序性能调试的意义 | 第14-15页 |
| ·并行程序性能调试环境 | 第15-16页 |
| ·论文各部分的主要内容 | 第16-17页 |
| 第 2 章 消息传递并行程序性能调试环境 | 第17-25页 |
| ·性能调试的定义 | 第17-18页 |
| ·性能调试的关键技术 | 第18-22页 |
| ·不确定性问题 | 第18-20页 |
| ·干扰问题 | 第20-21页 |
| ·可视化问题 | 第21-22页 |
| ·现有性能调试工具的主要代表 | 第22-24页 |
| ·MPE和XMPI | 第22页 |
| ·Paragraph | 第22-23页 |
| ·Paradyn | 第23页 |
| ·AIMS | 第23页 |
| ·Vampire/Vampiretrace | 第23-24页 |
| ·本章小结 | 第24-25页 |
| 第 3 章 PBuster性能调试环境的概要设计 | 第25-37页 |
| ·PBuster系统的主要特点 | 第25-29页 |
| ·交互式调试模式 | 第25-26页 |
| ·状态冻结的控制方式 | 第26-27页 |
| ·性能数据可视化 | 第27-29页 |
| ·PBuster的系统结构 | 第29-32页 |
| ·PBuster主控制模块 | 第29-31页 |
| ·PBusterDaemon模块 | 第31-32页 |
| ·性能数据可视化模块和图形用户界面 | 第32页 |
| ·PBuster系统的运行模型 | 第32-36页 |
| ·MPI程序运行模型 | 第33-34页 |
| ·PBuster系统运行模型 | 第34-36页 |
| ·本章小结 | 第36-37页 |
| 第 4 章 PBuster性能调试环境的详细设计和关键技术 | 第37-63页 |
| ·PBuster主控模块 | 第37-40页 |
| ·执行流程 | 第37-39页 |
| ·CreatePBusterDaemons函数 | 第39页 |
| ·UnixDomainHandler函数 | 第39-40页 |
| ·UDPHandler函数 | 第40页 |
| ·PBusterDaemon模块 | 第40-43页 |
| ·执行流程 | 第41-42页 |
| ·MutateeInitialize | 第42页 |
| ·CommandParser | 第42页 |
| ·DataHandler | 第42-43页 |
| ·性能数据可视化和图形用户界面模块 | 第43-45页 |
| ·执行流程 | 第43-44页 |
| ·主要的类和方法 | 第44-45页 |
| ·控制命令和性能数据的格式 | 第45-48页 |
| ·控制命令的格式 | 第46-48页 |
| ·性能数据的格式 | 第48页 |
| ·测量代码插装 | 第48-55页 |
| ·动态代码插装技术 | 第48-50页 |
| ·动态代码插装的代表工具--Dyninst API | 第50-51页 |
| ·获得时间戳信息 | 第51-52页 |
| ·获得消息传递的信息 | 第52-53页 |
| ·获得过程的出入口信息 | 第53-54页 |
| ·获得初始化及结束信息 | 第54页 |
| ·其他 | 第54-55页 |
| ·关键路径分析 | 第55-62页 |
| ·时钟问题 | 第55-57页 |
| ·关键路径算法 | 第57-59页 |
| ·关键路径分析 | 第59-62页 |
| ·本章小结 | 第62-63页 |
| 第 5 章 本文总结及进一步的工作 | 第63-65页 |
| ·本文总结 | 第63-64页 |
| ·进一步的工作 | 第64-65页 |
| 参考文献 | 第65-68页 |
| 致 谢 | 第68页 |
| 声明 | 第68-69页 |
| 个人简历 | 第69页 |
| 攻读硕士学位期间发表的学术论文 | 第69页 |