遥感科学中的高性能计算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
遥感图像并行计算中间件
• 应用需求:
– 开发困难
– 运行易出错
– 性能瓶颈
遥感图像并行计算中间件
• 应用案例:定量遥感算法集成系统
遥感图像并行计算中间件
• 应用案例:卫星热红外图像并行处理与分 布系统
遥感图像并行计算中间件
• 版本升级计划
V2.0:计划于2010年年底发布,增加基于并行网 络架构的分布式文件系统,让一张遥感影像 可以存储在多台计算机上。 V3.0:计划于2011年10月发布,计划收集遥感行 业内常用的大部分算法,进行系统集成。
63 37 20 18 15
233 133 73 63 54
利用显卡并行计算技术的实验
• 相同的数据做几何校正:
– 利用显卡G250可以让计算速度达到3s以内 – 而常规单台计算机将所有内核全部用上最快也 需要38s – GT250显卡比CPU-i5提高近13倍
并行处理中间件技术
• 系统模块灵活定制 • 二次开发简单
CPU:Xeon3.6单核HT*2 Disk:SCSI
128
496
493
488
1
2-1
2( HT*2)
CPU:Xeon3.6单核HT*2 Disk:SCSI
71
287
278
277
1
4-1
2( HT*2)
CPU:Xeon3.6单核HT*2 Disk:SCSI
58
214
212
213
1
1-2
2( HT*2)
设计思路-任务分解模型
• 算法分解通用模式
设计思路-总体流程
• 总体处理流程
设计思路-并行流程
设计思路-简化的并行流程
设计思路-算法流程应用
设计思路-基于并行IO的数据流
计算单体
Text in here
任务
SAN Or DataServer
管理器
综合结果 输出
计算单体
任务都采用分离内容 (inputSpilit)的设计思 想
– 为CUDA技术预留接口,让CPU和GPU都转起来的系统成为可能。
– 采用C/C++开发,整体系统非常注重整体并行的效率,任务分解 开销非常小,利用最简单的算法进行并行都可以取得非常高的效 率。
设计思路-总体架构
• • • • • • • • 标准三层架构,即数据层—业务层—界面层。进一步分解为7大模块,如下 图所示,分别为: Disk I/O Service[磁盘I/O服务] NetWork High Speed Memory Cache Service[网络高速内存缓存服务] Single Calculation Cell[计算单体] Task Assemble Manager[任务分配管理器] Command Input/Output UI[命令输入输出交互] Auto Servo UI[自动伺服器] Self-Listen Service[自检服务]
子系统
遥感图像并行计算中间件
• 系统概述
- 遥感图像并行处理中间件主要面对网络计算环境设计研发,特别针 对多核CPU以及多路千兆网设计。但最小配置时,可以在现有桌面系 统中,根据CPU的核数,将常规的遥感图像处理提高最高达1.6(2核 CPU)至3.2倍(4核CPU)。或者根据各种硬件设备建立不同规模的群集 系统。 - 该系统基于并行处理系统框架开发的,采用了插件机制,可以衍生 许多其它并行算法。如卫星热红外图像并行处理与分布系统,定量遥 感算法集成系统等,均是基于该系统开发的。参与开发过众多项目及 产品,如遥感同化系统、海量GPS监控指挥平台、矢量栅格并行发布 系统等。
设计思路-网络分流
• 网络分流技术
实现的通用算法
• 并行实现算法包括:
– 遥感常规算法:几何校正、镶嵌、正射校正、分类等 – 石油相关算法:道数据统计求和
实验结果
计 算 机 数 量
1
进 CPU逻 程 辑 — 内核 线 数量 程
1-1 2( HT*2)
运行时间(s)
运行环境
几何矫 正 PCA融 合 HIS融合 BROVEY融 合
200 时间 100 几何矫正 PCA融合
0
4-1
8-1
16-1
32-1
40-1
66-1
方案
实验结果
实验结果
计算 机数 量 进 程 — 线 程 1-1 2-1 4-1 4-2 8-1 CPU 内核 数量 运行环境 几何 IHS融 矫正 合(s) (s) 与单线 程的加 速比(几 何矫正) 1.2 3.1 3.5 4.1 与单线 程的加 速比 (PCA融 合) 1.8 3.2 3.1 4.3
设计思路-插件式架构
• 为二次开发提供插件式架构
二次开发的接口调用
设计思路-部署结构
• 软件部署结构:
总体效果
• 完全基于并行体系结构实现,计算速度可以提升10倍以上。 • 跨操作系统运行,目前支持Windows/Linux。 • 通过标准I/O读取接口和并行计算接口,支持新算法的快速二次开发。
1 1 1 1 1
4( HT) 4( HT) 4( HT) 4( HT) 4( HT)
CPU:I7-920 Disk: SATA-RAID0 CPU:I7-920 Disk: SATA-RAID0 CPU:I7-920 Disk: SATA-RAID0 CPU:I7-920 Disk: SATA-RAID0 CPU:I7-920 Disk: SATA-RAID0
CPU:Xeon3.6单核HT*2 Disk:SCSI
94
353
374
266
1
2-2
2( HT*2)
CPU:Xeon3.6单核HT*2 Disk:SCSI
63
239
238
256
实验结果
600
400 时间 200 几何矫正 PCA融合 HIS融合 BROVEY融合
0
1-1
2-1
4-1 方案
1-2
2-2
目
• • • • • 遥感科学计算的背景 遥感科学并行计算的创新 通用总体架构 设计思路 遥感并行中间件介绍
录
遥感科学计算的背景
• 需求迫切,但成熟系统较少
1. 目前国内外基本上没有成熟知名的遥感并行处理系统,大多 数遥感处理系统存在于桌面级应用软件。 2. 遥感数据量巨大,并行系统总是在性能上受制于IO和网速, 无法大规模地实现。
8 (7+1)
40-1
2( HT*2)+8 核
7.5
35.5
17.0
14.0
12 (9+1+2)
66-1
CPU:Xeon3.6单核HT*2 2( Disk:SCSI HT*2)+8 CPU:Xeon 5520×2 核+4核*2 Disk:STATRAID0
4.9
37.5
26.0
13.2
实验结果
300
遥感图像并行计算中间件
• 软件情况说明
- 用户数:2个 - 用户类型:大专院校、科研院所、企业 - 软件销售套数:4套 (1)北京师范大学地理学与遥感科学学院: 购买软件3套,包括:定量遥感算法集成系统、并行空间 信息发布系统、地质建模系统 (2)民图众慧(北京)科技有限公司: 购买软件1套:卫星热红外图像并行处理与分布系统
Hale Waihona Puke Baidu
2.
网络带宽小,无法迅速传输海量遥感数据
3.
CPU占用率低,导致系统资源浪费
遥感科学并行计算的创新
– 采用Map/Reduce的实现思路的同时,将新的基于 IPv6/IPv4的组播通信技术融入其中,大量减少数据传输时 间。 – 采用内存共享及数据预读取技术,让一台计算机内部多CPU 或者多核的计算单元在进程之间直接共享预读取数据,大量 减少磁盘IO读取操作,对于处理大量遥感数据来说,性能提 升非常明显。 – 超越MPI的网络带宽合并技术,针对每块网卡实现物理负载 均衡,让拥有多块网卡的计算机实现N千兆的网络传输效果, 让计算更加高效,群集规模更大。
实验结果
计算机数 量 进程—线 程 CPU 内核 数量 2( HT*2) 2( HT*2) 2( HT*2) 2( HT*2) 运行环境 几何矫 正(s) PCA融合 (s) 与单线 程的加 速比(几何矫 正) 2.2 4.4 7.8 13.8 与单线 程的加 速比(PCA融 合) 2.3 4.4 7.5 11.0 1 2 4 8 4-1 8-1 16-1 32-1 CPU:Xeon3.6单核HT*2 Disk:SCSI CPU:Xeon3.6单核HT*2 Disk:SCSI CPU:Xeon3.6单核HT*2 Disk:SCSI CPU:Xeon3.6单核HT*2 Disk:SCSI CPU:Xeon3.6单核HT*2 Disk:SCSI CPU:Xeon 5520×2 Disk:STATRAID0 58 28.8 16.4 9.3 214 111.7 65.8 45.2
例如:一组1GB大小的遥感数据需要用5分钟从本地磁盘读入内存, 三台电脑的CPU并行处理这组数据1分钟即可完成,但还要花大约6 分钟的时间把处理过的数据保存进本地磁盘。由此可见,并行处理 对时间的影响不明显。系统瓶颈存在与IO与网速方面。
遥感科学计算的背景
• 大规模的资源利用是需解决的问题
1. IO瓶颈使系统的大量时间花费在数据读 取与写入阶段
遥感科学并行计算的创新
– 节点运维故障控制技术,让计算节点死机或者网络断线的情况下, 仍然能够顺利完成并行任务,让遥感并行计算享受到金融系统的 运行保障待遇。 – 计算节点无值守,采用统一升级、统一服务控制,让操作人员无 需一个节点一个节点进行设置。 – 二次开发既非常专业,又很简单。底层提供完整的面向对象式的 GIS数据运算和操作对象接口以及遥感数据运算访问对象接口。接 口开发支持C/C++及Fortran。