5.2 测试环境
a)单节点
CPU:两颗Intel(R) Quad Core E5645 Xeon(R) CPU,共12核;
内存:80GB ;操作系统:Linux CentOS 64位。
b)高性能集群(4个计算节点,1个存储节点)
CPU:两颗Intel(R) Quad Core E5645 Xeon(R) CPU,共12核;
内存:32GB;操作系统:Linux CentOS 64位;
节点间文件系统:Network File System (NFS)。
c)测试数据
两个相同数据量( 18640×22260 )的二值栅格图像,一个连通域为3个(简单图),一个连通域为10433个(复杂图)
6 效率测试结果
6.1 结果1:复杂图和简单图的运行时间
6.2 为什么复杂图计算时间更长?
6.3 结果2:单节点环境下,复杂图和简单图的加速比
6.4 问题1:为什么会出现超线性加速比?
原因:并查集链表的影响。
连通域标记算法很多时间用于对并查集链表进行大量查询和插入操作。
6.5 问题2:为什么复杂图比简单图加速比高?
6.6 结果3:集群环境下,复杂图和简单图的加速比
6.7 问题:为什么进程数超过12时,复杂图加速比不再上升,而简单图加速比继续上升?
6.8 结果4:OpenMP版本与MPI版本的比较?
6.9问题:为什么MPI 1个进程比OpenMP 1个线程更高效?
6.10 OpenMP开辟线程的开销?
6.11 OpenMP编译制导语句会影响编译结果?
OpenMP编译制导语句会影响编译结果,这也可以解释单线程OpenMP程序比串行程序慢这一现象。