测绘地理信息   2019, Vol. 44 Issue (5): 100-103
0
“高性能地理计算”课程建设探讨[PDF全文]
乐鹏1    
1. 武汉大学遥感信息工程学院,湖北 武汉,430079
摘要: 按照新增本科专业地理空间信息工程的特点与培养要求,从地理空间大数据与数据科学的背景需求出发,对“高性能地理计算”课程建设方案进行了探讨。并与“地图制图学与地理信息工程”学科研究生课程形成对接,并就初步实施情况进行了总结和展望。
关键词: 地理空间信息工程     高性能地理计算     课程设计    
Development of High-Performance Geocomputation Course
YUE Peng1    
1. School of Remote Sensing and Information Engineering, Wuhan University, Wuhan 430079, China
Abstract: This paper investigates the development of the course, "High-Performance Geocomputation", within a new major, i.e. Geospatial information engineering, set up recently in China. The course fits the goal of the new major and meets today demands in big geospatial data and data science. It also paves the way for future studies in the graduate programs in Cartography & Geographical Information Engineering in China. Practices on the course teaching are summarized, and lessons learned are provided.
Key words: geospatial information engineering     High-Performance Geocomputation     course development    

随着我国北斗与高分辨率对地观测系统两个重大专项实施与建设运行,测绘科学与技术重心从上游设备制造和数据采集向下游应用服务显著后移,催生全社会对于地理空间信息产业的巨大需求。2013年国务院学位委员会出版的学位授予和人才培养一级学科简介中,“测绘科学与技术”一级学科(工学)包含了6个二级学科:大地测量学与测量工程、摄影测量与遥感、地图制图学与地理信息工程、导航与位置服务、矿山与地下测量、海洋测绘[1]。虽然这些学科有“测绘工程”与“遥感科学与技术”工科本科专业支撑,但专业设置对地理信息应用所需的技术与工程化人才培养尚显不足。在此背景下,2016年根据《教育部关于公布2015年度普通高等学校本科专业备案和审批结果的通知》(教高函[2016]2号),新增本科专业“地理空间信息工程”(081205T)获批通过[2]。其旨在围绕地理空间数据采集、处理、可视化、分析、表示和服务的工程技术问题展开教学,培养具有地理空间信息工程设计、软件开发与项目管理能力的地理空间信息工程技术人才。其人才培养的去向,也不再局限于传统测绘地理行业,而走向了大量涉足地理信息产业的主流IT公司以及政府与社会公众服务领域。

地理空间信息工程专业课程体系的建设是一个系统工程,课程的设置可采用结构化的思想,涵盖地理信息工程领域的各个方面与环节,课程内容能够独立控制某个方面,同时能够互相有机联系,在空间结构上,参照工程教育专业认证的标准,支撑地理信息工程从工程基础类课程、专业基础类课程、到专业类课程的各个层面,在时序结构上,区分前导课程、低年级与高年级课程设置分配,以及与地图制图学与地理信息工程学科研究生课程体系的衔接等,形成地理空间信息工程工科人才从本科到硕士和博士的培养链路,使学生接受应用基础研究和技术开发方面的科学思维和科学实验训练,具备较好的科学素养及研究、开发和管理能力,掌握地理空间信息工程设计、开发、管理和服务的能力。

作为地理空间信息工程专业课程体系的建设的重要一环,“高性能地理计算”课程的建设列入了日程。地理信息系统管理和处理的数据已经从TB级增加到PB乃至EB级,时空大数据已经成为大数据的重要组成部分。其不仅表现在数据规模比以往更大,而且在类型、采集速度、价值密度、准确性及变化性等方面特点突出,增加了地理空间数据管理与处理的复杂性,同时也意味着传统的数据管理系统和计算能力也难以满足这些需求[3]。在时空大数据的背景下,有必要采用数据科学的思维,来学习与理解空间数据处理的新技术与新方法。虽然数据科学思维的培养非一日之功,但支撑其分析的高性能计算技术,近年来日臻成熟,有必要纳入本专业的建设中,探索其建设内容。

1 课程建设的目标与定位

在时空大数据的背景下,高性能计算技术已经成为地理空间信息工程中的一项重要技术。本课程的目的在于使学生了解和初步掌握高性能计算技术在地理空间信息工程中应用的基本原理和方法,包括空间数据的分布式存储管理与并行地理计算等功能。介绍高性能地理计算的若干典型应用实例,使学生能够在未来的生产实践和科学研究中自主地进行高性能地理计算应用的设计与优化,以适应科技和社会生产力发展的需求。

在传统的地理信息课程体系中,地理计算是其的核心内容之一,主要研究地理算法、建模和计算体系。传统的教学,突出地理算法与建模,计算体系的应用略显不足。而高性能地理计算,则可以理解为利用高性能计算快速求解空间问题的科学与技术,作为对已有地理分析、建模与计算相关课程的补充。以遥感影像非监督分类中的经典算法k-means聚类算法为例,其通过迭代计算,将数据聚类成k个簇。从并行策略上来分析,即可采用数据并行策略,也可采用任务并行的策略,前者将数据切分,分发到各个计算节点上进行k-means聚类计算,往往适用于数据量较大的分类场景;后者将不同的聚类中心分发到各个计算节点,进行聚类计算,适用于数据量较小的应用场景。同时,在时间代价上,还要考虑到数据切分、数据分发与任务调度带来的额外时间消耗以及不同的并行运行环境。因此,高性能地理计算课程的教学,不仅涉及到地理问题时空域问题的并行分解策略,还涉及到相应并行计算技术的适用范围,是一门需要理论与技术结合、实例驱动教学的课程。由于该课涉及的知识面与基础技能较多,目前国内外多在研究生阶段有所讲授,在本科生阶段尚未开展系统的教学。而随着生产实践与科学研究的需求,有必要针对高年级本科生开展该方面的教学,可以初步通过专业选修课的形式对感兴趣或学有余力的学生提供服务,并在有条件的高校推荐设立与推广,逐步过渡成为国内地理空间信息工程专业的核心课程。

通过该课程的学习,学生应该学习和掌握高性能地理计算的基础理论知识和实践经验,并为相关研究打下坚实基础。课程教学强调计算机科学理论与地理信息工程技术相结合,课堂教学与动手实践相结合。学生能够根据高性能地理计算的需要,清晰表达高性能地理计算应用的思想、思路、方案、所采取的措施和效果等,在学习过程中,培养和锻炼学生获取解决问题所需的文献能力、研究能力、表达能力,并能进行有效沟通和交流;能够利用高级编程语言编程实现高性能地理计算算法,能够撰写高性能地理计算应用报告。

该课程的设置需要与计算机领域的相关课程区分[4]。高性能计算在计算机领域的理论较广[5, 6],涉及的实现技术种类也多,如OpenMP/MPI/GPGPU/MapReduce等,不少技术具有较高的复杂度[7]。同时由于高性能计算、云计算等相关技术发展较快,本课程并不要求学生掌握每讲内容涉及的技术,重在各分支基本概念及入门知识介绍,学生在了解相关技术和方向的基础上,选取特定的实现技术加以熟悉和实践。

2 课程内容的探讨

作为近年来开设的一门新课程,在课程内容设置上,“高性能地理计算”尽量避免增加新的前导课程,影响课程体系结构的稳定性,内容上尽量围绕开展高性能计算在地理信息领域应用所需的核心知识开展教学,保证基础知识的相对系统性与完整性。表 1展示了本课程设计的具体内容及对应的教学要求:

表 1 高性能地理计算课程内容探讨 Tab.1 Contents of High-Performance Geocomputation Course

1) 在导言部分,介绍高性能地理计算的概念,与地理计算的区分,对地理信息工程的意义,开展高性能地理计算的时空大数据与数据科学背景,地理信息技术的发展趋势,包括大数据背景下数据存储、计算架构的变革和发展,高性能地理计算可以涵盖的内容等。

2) 针对高性能地理计算所需的计算机领域并行计算基础知识。包括并行计算的概念,并行计算机分类,并行计算设计方法常用方法与设计过程,并行算法复杂度分析,并行算法性能评估,加速比定律,并行编程基础介绍等。

3) 针对地理信息领域的应用,分析空间数据处理与分析的计算特征,从不同并行策略(数据并行/任务并行)角度,选取不同的案例进行分析,提升对理论知识的感性认识与应用能力。

4) 针对高性能空间数据存储,比较介绍传统关系数据库与近年来涌现的NoSQL与分布式数据库/文件系统,分析其适用场景,介绍其在空间数据管理中的应用。

5) 针对地理云计算展开介绍,包括云计算概念、服务模式、MapReduce编程模式,以云GIS平台软件设计与实现开展实例讲解。

6) 结合传感网环境下实时动态GIS需求,展开地理流计算的介绍。包括实时空间数据的组织与服务,基于流计算的实时空间数据处理方法与案例讲解等。

此外,安排课后开展课程设计,与授课同步进行,让学生根据授课内容自选命题,达到即学即用,在课程教学末期,安排对课程设计结果进行课堂讨论,培养学生开展并行地理计算设计的能力,提升学生的动手能力和表达能力。

3 武汉大学的教学实践

武汉大学2015年在地球空间信息国际暑期学校开设了“时空大数据分析与数据科学”课程,2016年正式开设了“高性能地理计算”本科课程,并延续发展为武汉大学研究生课程。“高性能地理计算”本科课程强调基础知识与入门实践,而“时空大数据分析与数据科学”研究生课程则继承与发展本科内容,更强调方法的前沿性与探索性,涵盖数据科学中涉及的地学计算/存储/建模基础设施、空间数据生命周期管理和地理空间大数据分析方面的前沿方法与技术标准等。

武汉大学“高性能地理计算”安排为大学三年级下学期选修课程,一方面考虑到经过前两年的专业教学和实践积累,本科生在知识储备与编程技能上都有了较好的积累;另一方面考虑到武汉大学本科生具有较高的深造率,而这学期正是大三学生相对可以投入较多时间开展课后实践的较佳时间节点。作为选修课,该课程安排36个学时,重在基础知识的掌握与相关技术的了解。不要求对每项技术进行考核,但对课后课程设计占总成绩的比重加重,要求选用某种技术实现并行算法设计。

学生可选择易于操作的OpenMP、MPI等并行编程模型进行实践,同时鼓励MapReduce、GPGPU的选题,可在多核PC机、多CPU服务器、配置众核GPU的PC机、或PC集群上, 实现自己的并行地理算法并进行性能分析,亦可选取流计算或数据存储相关内容开展案例设计与实现。结合承担的多个国家级相关科研项目和实验室服务器设备,丰富课程内涵和实验环境。通过并行算法实现课程作业,掌握并行计算基本概念和技能,同时通过以个人为单位的课程项目成果演讲报告,提高口头表达能力和内容组织能力。

在评价和考核方式上,采取课程项目作业与期末考试相结合的方式,突出课程项目设计与编程占的比重,引导学生课下自主学习和技能训练投入。授课过程采取学生被动听讲和主动演讲相结合的方式。以2016年授课为例,《高性能地理计算》选课23人,强调个人实践,要求每人自选一个地理算法,开展并行化实践,通过提早安排确定题目、中间跟踪实现指导、后期课堂讨论等,圆满完成了23个算法实现汇报,其中,选择OpenMP算法实现19人,MPI算法实现2人、MapReduce算法实现1人、GPGPU算法实现1人。这23个算法中,矢量算法并行化改造2人,遥感图像处理算法改造20人,地学统计算法改造1人。

通过《高性能地理计算》课程,学生学习和掌握了高性能地理计算的基础理论知识和实践经验,并为相关研究打下坚实基础。但同时也要看到,两个本科生班只有将近一半的人选了该课,而在选课的学生里,大部分人选择了相对较为简单的OpenMP技术开展课程设计。该课程的难度与技术实践的复杂度,从某种程度上,提高了课程学习的门槛。因此尚有待在课后辅导方面加强,提供范例及参与实验室实习的机会,同时需要抓紧教材的编制。

4 结束语

“高性能地理计算”是近年来适应时空大数据分析与计算需求而设置的一门新课,也体现了地理空间信息工程专业的技术与工程实践特点,将为地图制图学与地理信息工程学科的人才培养提供良好的基础,有助于培养支持大数据研究与应用的开发技能,能在未来的工程应用中发挥作用,并适应技术发展的需要。同时,其作为一门技术复杂度突出、与时代应用结合特色鲜明的课程,在内容设置、教学方法、教材编制等上还有待进一步探索。

参考文献
[1]
国务院学位委员会第六届学科评议组. 学位授予和人才培养一级学科简介[M]. 北京: 高等教育出版社, 2013.
[2]
中华人民共和国教育部.教育部关于公布2015年度普通高等学校本科专业备案和审批结果的通知[EB/OL]. [2018-01-26]. http://www.moe.gov.cn/srcsite/A08/moe_1034/s4930/201603/t20160304_231794.html
[3]
Yue P, Ramachandran R, Baumann P, et al. Recent Activities in Earth Data Science[J]. IEEE Geoscience and Remote Sensing Magazine, 2016, 4(4): 84-89. DOI:10.1109/MGRS.2016.2600528
[4]
梁毅, 易小琳, 方娟, 等. 高性能机群计算本科教学研究[J]. 计算机教育, 2011, 16(10): 71-74. DOI:10.3969/j.issn.1672-5913.2011.10.018
[5]
迟学斌, 王彦棡, 王珏, 等. 并行计算与实现技术[M]. 北京: 科学出版社, 2015.
[6]
陈国良. 并行计算——结构·算法·编程[M]. 北京: 高等教育出版社, 2011.
[7]
都志辉. 高性能计算之并行编程技术——MPI并行程序设计[M]. 北京: 清华大学出版社, 2001.