第1章 绪论 1
1.1 概述 2
1.2 分布式分形图形处理的研究内容 3
1.3 分布式分形图形处理的研究意义 4
1.4 分布式分形图形处理系统的定义 5
1.5 分布式分形图形处理的研究概况 5
1.5.1 消息传递环境 5
1.6.1 分布式分形图形标准化 6
1.6 分布式分形图形处理技术发展展望 6
1.5.2 分形图形生成平台 6
1.6.2 面向对象的分布式分形图形处理 7
第2章 分布式分形处理基础 9
2.1 并行处理的基本概念 10
2.1.1 并行算法的目标 10
2.1.2 并行加速比定律与可扩展性 10
2.1.3 分布并行处理模型 12
2.1.4 并行图形生成算法的评价标准 15
2.2.2 分形生成过程 17
2.2.1 分形简介 17
2.2 分形图形及其生成算法 17
2.2.3 分形类型及其并行化分析 18
2.2.4 分形的维数 19
2.2.5 复动力分形算法 20
2.3 分形图形开发平台参数确定准则 22
2.4 本章小结 22
第3章 开发环境简介 23
3.1.2 Linux图形界面 24
3.1.1 Linux概述 24
3.1 Linux简介 24
3.1.3 Linux下的开发工具 25
3.2 GTK+简介 25
3.2.1 GTK+简介 25
3.2.2 GTK+与 Gnome及各种软件之间的关系 26
3.2.3 GTK+的基本编程过程 27
3.3 PVM系统分析 29
3.3.1 PVM的特点 29
3.3.2 PVM系统的结构 29
3.3.3 pvmd启动过程 30
3.3.4 PVM系统通信方式 32
3.3.5 PVM系统性能分析 33
3.4 操作环境 34
3.4.1 设备 34
3.4.2 支持软件 34
3.4.3 安装与配置 35
3.5 本章小结 36
第4章 分形语言设计 37
4.1.2 FDL语言设计思路 38
4.1 定义 38
4.1.1 对分形公式的分析 38
4.1.3 单词 39
4.1.4 EBNF语法规则 39
4.2 FDL语法说明 41
4.2.1 一般说明 41
4.2.2 系统内建函数库 42
4.2.3 典型分形公式的FDL描述 43
4.3 本章小结 44
第5章 软件设计 45
5.1.1 研究内容的定义 46
5.1.2 可行性分析 46
5.1 系统分析 46
5.1.3 需求分析 47
5.2 总体设计 48
5.2.1 程序的流程结构 48
5.2.2 系统的模块划分 49
5.3 关键部分的详细设计 50
5.3.1 编译程序设计方法 50
5.2.3 模块间数据流动说明 50
5.3.2 Compiler模块的B级蓝图设计 51
5.3.3 PVM模块的蓝图设计 61
5.4 本章小结 65
第6章 系统实现 67
6.1 系统描述 68
6.2 系统总体说明 68
6.3 程序说明 69
6.3.1 编译模块 69
6.3.2 子程序 73
6.3.3 检测并处理由标识符引起的语义错误 80
6.3.4 并行模块 81
6.3.5 Slave中的函数库 83
6.3.6 GTK模块的编程实现 88
6.4 实现各模块之间的接口 95
6.4.1 实现PVM与编译模块接口 95
6.4.2 实现编译模块与GTK+模块接口 95
6.4.3 模块接口涉及的表 95
6.5 本章小结 97
第7章 绘制分形图形 99
7.1 使用16种颜色绘制分形图形的弊端 100
7.2 使用多种颜色绘制分形图形 100
7.2.1 需要考虑的因素 100
7.2.2 浏览器安全模式调色板 100
7.2.3 分布式分形图形生成系统调色板的构造过程 102
7.2.4 自动颜色循环功能的实现 103
7.3 本章小结 104
第8章 提高DFGGS的并行性 105
8.2 任务均衡分配的启发式搜索算法 106
8.1 PVM自动分配任务策略的缺点 106
8.3 一种提高DFGGS并行性的方案 108
8.3.1 任务的求模划分方法 109
8.3.2 任务的动态队列调度机制 109
8.3.3 性能分析 111
8.4 本章小结 112
第9章 MPI和MPI程序设计 113
9.1.1 什么是MPI 114
9.1.2 MPI的目的 114
9.1 MPI简介 114
9.2 MPI程序设计 115
9.2.1 MPI程序的基本结构 115
9.2.2 MPI并行编程模式 116
9.2.3 MPI调用参数 117
9.2.4 MPI的通信机制 118
9.2.5 MPI类型匹配规则和数据转换 120
9.2.6 MPI消息 121
9.3 本章小结 121
第10章 Linux进程和进程间通信 123
10.1.2 C程序的存储空间布局 124
10.1 Linux进程的环境 124
10.1.1 main函数和环境表 124
10.2 Linux进程控制 125
10.2.1 进程标识 125
10.2.2 用fork函数创建进程 125
10.2.3 exec系统调用 126
10.2.4 wait和exit系统调用 127
10.3.1 概述 128
10.3.2 管道 128
10.3 UNIX/Linux中的进程间通信 128
10.3.3 系统VIPC 129
10.4 本章小结 131
第11章 MPI模块的设计与实现 133
11.1 PVM和MPI比较 134
11.2 MPI模块设计 134
11.3 性能分析 137
11.4 本章小结 138
第12章 分布式分形图形应用实例 139
12.1.2 配置调试PVM 140
12.1.1 安装PVM 140
12.1 配置和调试网络并行计算环境PVM 140
12.1.3 网络并行计算环境的配置和调试 141
12.1.4 PVM的典型程序——hello程序 142
12.2 并行分布式处理matrix程序 142
12.3 经典Mandelbrot分形图形使用与未使用WHILE循环比较 143
12.4 其他分形图形程序生成实例 143
12.5 安装与配置MPI 143
12.5.1 获得MPI的实现版本 143
12.5.2 安装MPI 144
12.5.3 MPI编译命令 145
12.5.4 MPI程序运行命令和配置 145
附录A 147
A1 hello源程序代码清单 148
A2 matrix源程序代码清单 149
A3 Mandelbrot源程序代码清单 152
A4 其他公式变换 153
A5 本系统生成的一些分形图形的图例 153
参考文献 155