中文摘要 | 第1-6页 |
Abstract(英文摘要) | 第6-8页 |
目录 | 第8-14页 |
第一章 引言 | 第14-37页 |
1.1 并行计算机系统 | 第14-18页 |
1.1.1 并行处理的背景 | 第14-15页 |
1.1.2 并行计算机系统的组成与特点 | 第15-18页 |
1.2 并行计算机系统 | 第18-21页 |
1.2.1 隐式并行编程模型 | 第18页 |
1.2.2 共享存储编程模型 | 第18-19页 |
1.2.3 消息传递编程模型 | 第19-20页 |
1.2.4 数据并行编程模型 | 第20-21页 |
1.3 机群系统的关键技术 | 第21-23页 |
1.3.1 单一系统映像技术(single system map) | 第21页 |
1.3.2 通信技术 | 第21页 |
1.3.3 负载平衡和调度策略 | 第21-22页 |
1.3.4 并行编译技术 | 第22页 |
1.3.5 并行调试技术 | 第22页 |
1.3.6 故障恢复与容错 | 第22-23页 |
1.3.7 并行程序设计环境 | 第23页 |
1.4 并行调试技术的意义 | 第23-24页 |
1.5 并行调试面临的困难 | 第24-33页 |
1.5.1 不确定性问题 | 第25-26页 |
1.5.2 机群系统的时钟 | 第26-27页 |
1.5.3 干扰问题 | 第27-28页 |
1.5.4 时间开销 | 第28页 |
1.5.5 性能调试/诊断、预测 | 第28-29页 |
1.5.6 可视化问题 | 第29页 |
1.5.7 通信问题 | 第29-30页 |
1.5.8 全局状态一致性 | 第30-31页 |
1.5.9 自动并行化程序的调试 | 第31-32页 |
1.5.10 其它问题 | 第32-33页 |
1.6 本文研究的内容及主要贡献 | 第33-37页 |
1.6.1 本文的主要内容 | 第33-35页 |
1.6.2 本文的创新工作及主要贡献 | 第35-37页 |
第二章 并行调试技术和机群系统并行程序调试环境 | 第37-50页 |
2.1 并行调试的关键技术及研究的现状 | 第37-42页 |
2.1.1 不确定性问题 | 第37-38页 |
2.1.2 时钟问题 | 第38-39页 |
2.1.2.1 物理时钟 | 第38页 |
2.1.2.2 逻辑时钟 | 第38-39页 |
2.1.3 干扰问题 | 第39-40页 |
2.1.3.1 造成干扰的原因 | 第39页 |
2.1.3.2 消除干扰的各种技术 | 第39-40页 |
2.1.4 调试时间开销问题 | 第40-41页 |
2.1.5 性能调试问题 | 第41页 |
2.1.6 工具集成技术和规模调试(tuninginthelarge) | 第41页 |
2.1.7 关于HPDF[Jeff97][Jonh98] | 第41-42页 |
2.2 机群系统并行性能调试的概念 | 第42-47页 |
2.2.1 并行程序正确性调试模型 | 第43-45页 |
2.2.1.1 并行调试 | 第43-44页 |
2.2.1.2 模型分析 | 第44-45页 |
2.2.2 并行程序性能调试模型 | 第45-47页 |
2.2.2.1 性能调试 | 第45-46页 |
2.2.2.2 模型分析 | 第46页 |
2.2.2.3 新的研究课题 | 第46-47页 |
2.3 机群系统并行程序调试环境的概念 | 第47-48页 |
2.3.1 技术的融合与渗透 | 第47-48页 |
2.3.2 统一的界面 | 第48页 |
2.4 小结 | 第48-50页 |
第三章 基于事件的物理时钟 | 第50-66页 |
3.1 引言 | 第50-51页 |
3.2 物理时钟 | 第51页 |
3.3 逻辑时钟 | 第51-53页 |
3.4 基于事件的物理时钟 | 第53-60页 |
3.4.1 基本思想 | 第53-54页 |
3.4.2 最小传输延时矩阵 | 第54-56页 |
3.4.3 调整算法正确性和收敛性证明 | 第56-60页 |
3.4.3.1 基本调整操作 | 第56页 |
3.4.3.2 非负调整算法的证明 | 第56-59页 |
3.4.3.3 调零算法的证明 | 第59-60页 |
3.5 调整算法 | 第60-61页 |
3.6 实验结果 | 第61-64页 |
3.7 基于事件的物理时钟的实现 | 第64页 |
3.8 小结 | 第64-66页 |
第四章 基于状态冻结的确定性检查点 | 第66-78页 |
4.1 引言 | 第66-67页 |
4.2 检查点与记录/重放技术 | 第67-73页 |
4.2.1 全局一致性状态[熊96] | 第67-69页 |
4.2.2 检查点设置与回卷恢复时出现的问题 | 第69-71页 |
4.2.2.1 中途消息和孤儿消息[张昱97][黄97a] | 第69-70页 |
4.2.2.2 多米诺效应和活锁现象 | 第70-71页 |
4.2.3 记录与重放 | 第71-73页 |
4.2.3.1 不确定性 | 第71页 |
4.2.3.2 记录与重放 | 第71-72页 |
4.2.3.3 向量时钟 | 第72-73页 |
4.3 基于状态冻结的确定性检查点技术 | 第73-76页 |
4.3.1 基本思想 | 第73-74页 |
4.3.1.1 确定性检查点技术 | 第73页 |
4.3.1.2 基于状态冻结的检查点设置技术 | 第73-74页 |
4.3.2 算法描述 | 第74-75页 |
4.3.3 基于状态冻结的确定性检查点分析 | 第75-76页 |
4.4 小结 | 第76-78页 |
第五章 调试器对并行程序干扰特性研究 | 第78-92页 |
5.1 概述 | 第78-80页 |
5.1.1 造成干扰的原因 | 第78-79页 |
5.1.2 消除干扰的各种技术 | 第79页 |
5.1.3 研究的内容 | 第79-80页 |
5.2 基本概念 | 第80-82页 |
5.2.1 状态函数与等价执行 | 第80页 |
5.2.2 机群系统消息通信模型的特征 | 第80-81页 |
5.2.3 同步冻结与异步冻结 | 第81-82页 |
5.3 理想模型下的干扰特性分析 | 第82-83页 |
5.4 一般模型 | 第83-86页 |
5.5 基本算法 | 第86-90页 |
5.5.1 冻结算法 | 第87-88页 |
5.5.2 解冻算法 | 第88页 |
5.5.3 测试与分析 | 第88-90页 |
5.6 无干扰调试模式 | 第90-91页 |
5.7 小结 | 第91-92页 |
第六章 动态插装的快速条件断点 | 第92-105页 |
6.1 概述 | 第92-93页 |
6.1.1 条件断点 | 第92页 |
6.1.2 快速条件断点的意义 | 第92-93页 |
6.2 快速条件断点原理 | 第93-94页 |
6.3 系统设计 | 第94-97页 |
6.3.1 代码生成 | 第95页 |
6.3.2 代码插装 | 第95-96页 |
6.3.3 源程序对应 | 第96-97页 |
6.4 Dyninst | 第97-98页 |
6.5 系统实现 | 第98-102页 |
6.5.1 源程系统对应 | 第98-99页 |
6.5.2 Dyninst的修改与扩展 | 第99-100页 |
6.5.3 快速条件断点的实现 | 第100-102页 |
6.6 与相关工作的比较 | 第102-104页 |
6.6.1 可移植性更好 | 第102页 |
6.6.2 测试数据及分析 | 第102-104页 |
6.7 小结 | 第104-105页 |
第七章 基于状态冻结的交互式性能调试 | 第105-115页 |
7.1 概述 | 第105-106页 |
7.2 相关的研究工作 | 第106-108页 |
7.2.1 PARADYN计划 | 第106-107页 |
7.2.2 AIMS | 第107页 |
7.2.3 GRADE[Roland00] | 第107-108页 |
7.3 基于状态冻结的交互式性能调试工具--pbuster | 第108-113页 |
7.3.1 pbuster的插装技术特点 | 第108-110页 |
7.3.2 性能数据可视化方面的特点 | 第110-111页 |
7.3.3 交互式性能调试模式 | 第111-113页 |
7.3.4 基于状态冻结的交互式性能调试模式 | 第113页 |
7.4 小结 | 第113-115页 |
第八章 DENNET系统的设计与实现 | 第115-128页 |
8.1 概述 | 第115-116页 |
8.1.1 正确性调试和性能调试的集成环境 | 第115页 |
8.1.2 支持PVM和MPI | 第115-116页 |
8.2 系统环境 | 第116-119页 |
8.2.1 操作系统接口和dyninstAPI工具 | 第116-118页 |
8.2.2 PVM和MPI | 第118页 |
8.2.3 源代码符号表信息 | 第118-119页 |
8.3 DENNET系统结构 | 第119-121页 |
8.3.1 功能结构 | 第119-121页 |
8.3.2 层次化的模块结构 | 第121页 |
8.4 设计方案 | 第121-122页 |
8.5 与其它系统的比较 | 第122-124页 |
8.6 DENNET系统的主要特点分析 | 第124-126页 |
8.6.1 记录/重放 | 第124-125页 |
8.6.2 动态调试 | 第125页 |
8.6.3 动态条件断点 | 第125页 |
8.6.4 检查点 | 第125-126页 |
8.6.5 交互性能调试模式 | 第126页 |
8.7 小结 | 第126-128页 |
第九章 本文的总结和进一步的工作 | 第128-133页 |
9.1 总结 | 第128-130页 |
9.2 进一步的工作 | 第130-133页 |
参考文献 | 第133-149页 |
致谢 | 第149-151页 |
攻读博士学位期间的研究成果及发表的学术论文 | 第151-152页 |