肖 健, 于 策, 崔辰州, 李长华, 何勃亮, 樊东卫, 刘 梁, 陈 肖, 张海龙, 王传军
(1. 天津大学 软件学院, 天津 300350; 2. 天津大学 计算机科学与技术学院, 天津 300350;3. 中国科学院 国家天文台, 北京 100012; 4. 中国科学院 紫金山天文台, 江苏 南京 210008;5. 中国科学院 上海天文台, 上海 200030; 6. 中国科学院 新疆天文台, 新疆 乌鲁木齐 830011;7. 中国科学院 云南天文台, 云南 昆明 650011)
天文科技领域云:大数据时代的天文教育和科研信息化平台
肖 健1, 于 策2, 崔辰州3, 李长华3, 何勃亮3, 樊东卫3, 刘 梁4, 陈 肖5, 张海龙6, 王传军7
(1. 天津大学 软件学院, 天津 300350; 2. 天津大学 计算机科学与技术学院, 天津 300350;3. 中国科学院 国家天文台, 北京 100012; 4. 中国科学院 紫金山天文台, 江苏 南京 210008;5. 中国科学院 上海天文台, 上海 200030; 6. 中国科学院 新疆天文台, 新疆 乌鲁木齐 830011;7. 中国科学院 云南天文台, 云南 昆明 650011)
天文科技领域云以中国天文数据中心的数据资源为基础,旨在为天文望远镜的观测时间申请、数据归档、检索、分析以及科研课题提供服务。通过利用云计算和虚拟化技术,系统集成了国内主要天文台站的存储、数据、计算、软件等资源,形成了一个物理上分散、逻辑上统一的网络化科学研究平台。天文科技领域云既为现代观测天文学研究提供了全生命周期的支持,又为数据驱动的天文教育和科普提供了开放平台。
天文科技领域云; 天文学教育; 科研信息化; 大数据; 云计算; 虚拟天文台
现在,天文学已经进入了大数据时代,以大数据、云计算、高性能计算为基础的教育科研信息化环境建设更加重要和紧迫[1]。天文学是基于观测的科学,国内新一代观测设施(LAMOST、FAST、AST3、天马望远镜等)和观测计划(SCUSS、BASS、SONG、盱眙巡天、银河画卷、UVBY巡天等)正在形成中国的天文大数据资源库[2]。新成立的中国科学院天文大科学研究中心将完成对天文科技资源的统筹,实现观测数据开放共享,为天文学研究带来更多的发展机遇。
然而要充分发掘天文大数据的科学价值,需要在数据存储、管理、检索、分析、计算等方面突破分布式数据融合、访问与获取效率、数据与计算资源协同调度等一系列关键技术屏障,还要优化大数据下的天文研究工作流程,借助虚拟天文台[3]和云计算等技术,构建一个完整的科研信息化平台。
近年来,欧美天文台和天文数据中心相继推出了天文大数据服务。法国Strasbourg天文数据中心(CDS)维护着世界最大的天文星表数据库,它与欧洲航天局(ESA)联合开发的VizieR集成了近1.5万个星表数据;CDS提供坐标查询服务的SIMBAD共收集了近4 000万条天体的基本信息。美国航空航天局(NASA)与加州理工红外处理分析中心(IPAC)联合建设的河外星系数据库(NED)[4]集成了数百个大型巡天项目以及数万份科研出版物的信息,能提供目前能观测到的所有波段的河外天体数据,且新发现的数据通过交叉证认或者统计计算与现有数据融合,从而形成了一个统一的超级数据库。此外,欧洲南方天文台(ESO)除提供常规的在线数据检索服务外,还提供专用的客户端软件,用于较复杂的数据处理分析。
目前,上述平台都侧重于数据存储和检索服务,还无法全面支持现代天文学研究,而且大型观测设备和大规模巡天项目基本是各自独立的,研究人员常常需要从各个分散的门户网站搜集和下载所需的数据,不利于开展基于天文大数据的研究。
中国虚拟天文台将大数据与云计算技术有机地结合起来,设计开发了我国天文科技领域云系统(以下简称“天文云”)。该系统首先是大数据平台,基于国家科技基础条件平台、地球系统科学数据共享平台和天文数据中心的现有数据资源,将国内各观测台站分散的数据资源和计算资源整合到一起,结合不同天文望远镜的特点,将其新产生的观测数据持续地集成到该平台。大数据平台之上是基于虚拟化技术的中间层以及各类应用,包括望远镜观测申请、数据检索、数据处理分析等科研工作流,系统监控、资源使用情况统计分析等运维工具,以及面向公众的科普教育类产品。
天文云是一个复杂的大系统,全部采用开源技术构建,并根据天文数据和天文研究的特点在存储节能、数据布局、索引、缓存等方面进行了优化。
天文数据具有规范性、交叉性、分布性等显著特点。规范性是指天文数据的格式和结构相对统一、类型固定、异构性和不确定性较小,现代天文数据一般都遵守国际虚拟天文台联盟(IVOA)制定的相关规范。交叉性是指某个数据集(观测设备)只能包含特定天区内的天体在特定波段上的信息,而天文学家需要综合不同数据集(多波段)的数据对目标天体进行研究,这需要高效的海量数据融合机制[5]。分布性是指数据存储在分散的观测台站,由于数据量巨大且持续产生,很难归档到单一的数据中心。
为避免大量数据的移动,将计算推向数据[6-7],又结合天文数据的特点,我们提出了大数据时代的天文学研究工作模式,如图1所示。该模式以共享的云存储为基础,以原位(in situ)计算为主要方式,借助虚拟化技术,使天文学研究流程整体上在云计算环境内完成。该模式的逻辑流程可分为以下4个环节,具体任务会涉及部分或全部的环节。
图1 大数据和云计算环境下天文学研究的工作模式
(1) 数据分析。一般会先进行数据检索和定位,用户通过云门户进行资源定位,找到所需的数据。
(2) 预处理。为计算环节准备输入数据,例如对检索结果的进一步过滤,生成模拟计算的初始状态等。
(3) 分析计算。一般在云环境中的高性能计算平台上完成,可以是高度并行的数值模拟,也可以是数据分析、数据挖掘。如果计算量或数据量较小,该过程可转移到预处理或后处理环节的虚拟机进行。
(4) 后处理。对计算的结果进行分析、可视化等,最终成果可下载到用户本地计算机。
在整个流程中,共享云存储是核心,用来存储原始数据、检索得到的结果集、预处理及后处理产生的数据。云环境的虚拟机、高性能计算集群均可直接访问共享云存储。在传统模式下,受高性能计算环境的限制,预处理和后处理环节的工作通常只能在用户的本地计算机完成,因而不可避免地存在大量数据移动。本文的解决办法是在云环境中为用户实例化专用的虚拟机,定制具体程序,系统则通过统一协调数据与虚拟机,使用户只需要利用本地计算机通过远程桌面操作云计算环境中的虚拟机,便可就近完成数据的处理,本地也无需配备存储和数据处理服务器。
上述模式中,资源定位需要高效的数据融合和检索机制[8],需要将分散的数据资源统一管理起来,大规模的计算分析还需要数据资源与计算资源的协同调度[9],并在系统层面上为用户提供一个统一的门户。
天文云的体系结构如图2所示,主要由6个独立运行的子系统和连接子系统的门户网站组成,云存储以共享的方式起桥梁的作用。天文云在整体上采用以数据为中心的模式[10],涵盖了数据采集(望远镜观测计划)、数据归档、存储、数据检索、数据分析、计算等天文学研究的主要环节。在整个数据驱动的流程中,绝大部分工作都可以在天文云内部完成,但望远镜的观测过程控制和大部分望远镜的数据预处理部分例外。
图2 天文科技领域云的体系结构
由于观测过程本身的复杂性,每个望远镜都有专用的数据系统(data pipeline)把含有噪声的原始数据转变成高质量的发布数据。该过程类似于通常意义上的数据清洗。
(2) 数据归档子系统。观测数据进入天文云的接口,负责关联观测数据与观测申请,并加入数据所有者等元信息,用来提供数据保护期内的授权访问。将观测数据异步传输到相关的数据中心和备份中心;在观测数据之上构建一个统一的标准化元数据层,支持后续的数据管理和检索功能。
(3) 数据检索子系统。提供天文云内已归档数据的检索服务,检索引擎默认搜索所有的数据集,用户也可自定检索的数据集范围。检索结果可导入天文云内部的用户存储空间,避免大量数据在广域网内的移动。
(4) 云资源子系统。利用云计算和虚拟化技术将各个天文台站分散的存储和计算资源连接起来,统一管理云存储和系统内所有的虚拟机资源,提供各类虚拟机模板和远程访问接口。
(5) 高性能计算系统。通过高速网络连接到云存储,可直接访问天文云内的数据资源,当虚拟机无法满足计算要求时,用户依旧可使用传统的计算集群,同时避免大量数据传输的等待时间。
(6) 公众频道。提供基于天文大数据的科普服务,代表性项目包括中国传统星空图、超新星搜寻以及基于万维望远镜(WWT)的数据天象厅等。
天文云还提供了一些辅助模块,包括为用户发表论文提供图片、视频、实验数据等永久存储地址的论文储藏库,观测台址和望远镜周边气象实时信息,月相、曝光时间计算、星表可视化等在线工具,天文常用软件和工具的资源列表,以及天文名词术语库等。
为安全起见,天文云各子系统均独立部署在不同的虚拟机上。除天文云门户和望远镜子系统外,其他子系统都是分布式的主从结构,负责管理和调度的主程序运行在国家天文台主节点,负责执行具体任务的从程序运行在各个台站的本地节点。此外,天文云门户中的大部分功能实现都借鉴了微服务(microservices)模式,用户认证、访问控制等基础功能被封装为独立的组件,从而更适合在云环境下部署和维护。
病险水库除险加固事关百姓安危。每逢暴雨洪水,那些病险水库就成为悬在百姓头上的一把利剑,给人民群众生命财产安全带来极大威胁。为此,水利部大力实施病险水库除险加固工程,截至2009年年底,列入专项规划的6240座病险水库各项前期工作全面完成,已开工建设6124座,开工率超过98%。除险一座水库,造福一方百姓,让人们不再为头顶上的一盆危水而悬心。
值得一提的是,天文云的用户认证基于中国科技网通行证,实现了支持OAuth2.0协议的单点登录功能,部分功能支持无状态的授权访问模式,便于在脚本程序中调用天文云的服务。
天文云的核心是天文数据,这些海量数据分布在国家天文台的中国天文数据中心以及其他台站的本地数据中心。天文数据一般遵循2年的保护期,2年之后,正式发布的数据要向全世界开放访问,而保护期内的数据需要经过授权才能访问。
如图3所示,为了统一管理地理上分散的数据,天文云构建了天文大数据的技术框架。该框架自底向上分为3层:(1)物理存储层,包括各个台站的数据中心;(2)数据管理层,主要实现对天文大数据的优化策略;(3)数据访问层,维护着全局的元数据,把查询请求调度到具体的物理节点上执行。
图3 天文科技领域云的数据框架
数据管理层是天文大数据中承上启下的核心模块,涵盖了节能存储、数据融合、数据检索等3个主要方面。数据存储使用了基于文件的存储与传统数据库相结合的方式,将图像、星表的元数据按照IVOA的标准规范化之后,保存到本地的数据库。为了节约能源,我们设计了节能存储策略,使系统能够自动关闭在一段时间没有访问过的硬盘[11]。通过在元数据库中建立虚拟文件目录(数据的实际保存位置),可以在实际需要时再次激活硬盘。为了避免数据磁盘频繁地开启和关闭,利用固态硬盘(SSD)设立了二级缓存,并根据访问日志自动识别访问模式,对数据实行预取。
在多波段数据融合方面,天文云借鉴了NED预处理的策略[4],即每当有新数据集加入时,就启动交叉证认计算,将证认结果保存到元数据库中。这样检索时可直接返回融合后的数据,节省了实时计算的时间。大规模数据集之间的交叉证认非常耗时,天文云采用了MapReduce模型(Hadoop框架)来完成交叉证认计算过程的优化[12]。
检索性能是大数据应用的关键指标之一,我们基于HEALPix伪球面索引设计开发了一种高效的天文大数据时序子集检索方法。HEALPix使用的是一种递归分级的算法,在检索范围RA、DEC(赤经、赤纬)以及索引级数确定的情况下,就可以计算出HEALPix编号;HEALPix还可以保证编号相近的区块在物理位置上也邻近。当查询请求到来时,查询坐标会被转换为对应的HEALPix编号,再匹配索引记录,便可快速定位数据所在的物理位置。为进一步提升检索速度,利用了内存数据库来缓存索引信息[13]。
云存储位于天文云的虚拟层,检索得到的数据通过共享的云存储与计算资源在云环境中对接。天文云利用虚拟化技术将各个天文台站分散的硬件资源整合成一个虚拟资源池,整个系统分为4个层次,自底向上依次为物理层、虚拟层、服务层和用户层,如图4所示。
(1) 物理层。物理层是由中国科技网(CSTNET)连接的各个台站的硬件资源,目前包括了国家天文台、紫金山天文台、上海天文台、新疆天文台、云南天文台和南京大学天文与空间科学学院,其中国家天文台作为整个系统的主节点,除了提供计算和存储资源外,还运行着门户网站以及其他监控管理服务。
(2) 虚拟层。虚拟层提供统一的云存储服务以及虚拟机的运行环境。云存储系统基于开源的集群文件系统GlusterFS构建,云计算平台基于功能全面、易于使用的CloudStack,虚拟机则使用了简单易用的KVM,虚拟层的元数据和配置信息保存在PostgreSQL数据库中(见图5)。云存储通过支持CIFS(common internet file system)协议的SMB(server message block)服务器,为虚拟机提供访问网络存储的功能,通过定制虚拟机模板的初始化程序,虚拟机在启动时将自动执行挂载云存储的脚本。
图5 基于虚拟机的数据处理
(3) 服务层。服务层运行于虚拟层统一管理的资源之上,提供各类应用服务。服务分为3类:为用户提供虚拟机实例和模板,为天文云各个子系统提供运行环境,为整个系统提供管理和监控服务。
(4) 用户层。用户层包括可接入平台的各类终端设备,即用户的本地设备,目前对桌面终端的支持比较完整,对移动终端的支持尚不完善。
天文云在物理层上是分布式的,在虚拟层之上又是统一的。用户在使用之前可以根据实际情况选择要创建的虚拟机的物理位置;在使用时遵循统一的访问和操作规则,不必关心虚拟机的实际位置,确保了用户体验的一致性。
图5展示了天文数据从获取到处理的过程,也可以看作对云环境工作模式的实例化。首先,用户通过数据检索系统得到所需的元数据;然后,将元数据对应的星表或图像保存到云存储的用户空间中;最后,在云资源中创建合适的虚拟机,并通过远程桌面或WebVNC登录,直接处理已经导入个人空间的数据。
为方便用户过滤检索结果,数据检索系统还支持SAMP协议[14],检索结果可直接发送到在线的分析和可视化工具,也能够与用户终端机或者虚拟机上的天文软件进行交互。
如图5所示,天文数据的后期分析经常需要在图形界面下进行。为保证广域网环境下通过远程桌面访问虚拟机的通信质量,考虑到天文云的核心用户集中在各个天文台以及少数高校,而IPv6网络在这些单位已经普及,我们提出了一种IPv4和IPv6的混合方案[15],即外部广域网通过IPv6接入,内部局域网采用IPv4网络。该方案既提高了通信质量,又保证了内部系统的安全。实际应用情况表明,通过IPv6网络访问虚拟机远程桌面十分流畅。
天文云是一个地理上分散的系统,在所需数据比较单一的情况下,系统可以保证用户要求的全部虚拟机在数据节点内就近创建。但是,在一些规模较大的计算和分析中,经常需要来自不同望远镜以及不同波段的数据,这时候难免发生虚拟机和所需数据不在同一个节点的情况,而大量数据在广域网范围内的移动势必导致系统性能下降。因此,要保证云环境工作模式的可用性,除了前面提到的软件架构、数据存储与检索、资源虚拟化之外,必要时还须统一协调数据与计算资源。当数据移动不可避免时,尽量将数据移动对系统可用性的影响降至最低。
为此,我们设计了一种“映射—再分配”两阶段的调度算法。该算法主要针对跨节点的后台计算要求,先将计算任务按照数据节点分组(映射),然后再根据预计完成时间选择部分任务(数据)进行迁移(再分配)。在虚拟机使用和计算任务的高峰时段,该方法可以达到20%以上的整体性能提升。
天文云于2014年5月推出试用版,一年后发布正式版。天文云是一个开放的平台,用户在科技网通行证(http://passport.escience.cn)注册后,登录门户网站(astrocloud.china-vo.org)就可以使用系统的全部功能。天文云自上线以来,新的模块和功能不断增加,目前已连接14台望远镜,注册用户超过1.8万个,其中核心用户来自国内外近40家科研院所,集成科学数据200 TB,总存储能力达1.5 PB,虚拟机总数近400台,在辅助科学研究、教育以及科普方面已取得初步成果,并入选了中科院科研信息化十大优秀案例。
在科研方面,科研团队开始通过天文云管理望远镜的观测时间申请,并利用虚拟机完成观测结果的初步分析。2014年底,北京大学和云南天文台的团队利用丽江2.4 m光学望远镜(首个加入到天文云的望远镜)观测发现了遥远宇宙中迄今为止光度最大的类星体。2015年初,LAMOST DR1巡天光谱数据借助天文云正式对全世界发布,发布数据包含有220万条光谱,是目前世界上最大的天体光谱库。
在教育方面,中国科学院大学的研究生已连续3年基于天文云开展课程学习,天文云已累计为300余名研究生和教师提供服务。“多波段天文数据获取与处理”“实测天体物理”等天文学基础课程涉及到行星、太阳、光学红外、高能、射电数据的获取与处理等多个专题,需要准备实验数据并安装配置多种软件。利用天文云提供的数据检索功能以及虚拟机模板,学生在数分钟之内便可创建一个完备的课程实验环境。
在科普方面,最具代表性的是公众超新星搜寻项目。该项目是新疆星明天文台借助天文云平台开展的首个基于国内业余天文观测数据的全民科学项目。目前公众与天文学家已经从大量图像中辨识出超新星候选体11颗,其中7颗获得光谱认证。
天文云的软环境全部采用开源技术构建,节约了成本,特别针对天文数据及其应用特点,在数据融合、缓存、检索、虚拟化、虚拟机调度等方面进行了专门的优化,取得了较好的应用效果,同时也为其他领域的大数据平台和云计算环境的建设提供了参考。
由于天文云的应用示范效果,国内的天文望远镜正加速向天文云集成。一些民间天文台,设立有天文学、天体物理等相关专业以及从事天文信息学相关研究的国内高校和研究单位也有计划加入天文云的大平台,厦门大学天文系、国家超级计算天津中心正在建设天文云的专用节点。2017年初,国家天文台与阿里云计算有限公司正式达成战略合作,共同推进大数据时代的天文学科学研究和科普教育工作。在未来的几年内,天文云的规模将会持续扩大,底层架构以及关键技术也会不断优化。
目前,天文云尚没有覆盖天文大数据科研的全部常用功能,尤其缺少专门针对天文大数据应用的计算框架,大数据节能存储、数据和计算的协同调度等算法还有很大的改进空间。针对天文数据的区域属性和天区密度优化数据布局,也是我们正在进行的工作。在教育和科普方面,如何利用好阿里云强大的功能,规范各类项目接入的流程和标准,进一步提高天文云的开放性和多样性,也是未来的工作重点之一。
References)
[1] 周宏仁.信息化:从计算机科学到计算科学[J].中国科学院院刊,2016,31(6):591-598.
[2] 崔辰州,于策,肖健,等.大数据时代的天文学研究[J].科学通报,2015(增刊1):445-449.
[3] 崔辰州,薛艳杰,李建,等.虚拟天文台:天文学研究的科研信息化环境[J].中国科学院院刊,2013,28(4):511-518.
[4] The NASA/IPAC Extragalactic Database [EB/OL]. http://ned.ipac.caltech.edu.
[5] 钟守波,韩波,张彦霞,等,天文大数据管理工具的设计与实现[J].天文研究与技术,2015,12(4):510-517.
[6] 王珊,王会举,覃雄派,等.架构大数据:挑战、现状与展望[J].计算机学报,2011,34(10):1741-1752.
[7] 孟小峰,慈祥.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013,50(1):146-169.
[8] 史英杰,孟小峰.云数据管理系统中查询技术研究综述[J].计算机学报,2013(2):209-225.
[9] 郑湃,崔立真,王海洋,等.云计算环境下面向数据密集型应用的数据布局策略与方法[J].计算机学报,2010(8):1472-1480.
[10] Begeman K, Belikov A N, Boxhoorn D R, et al. The Astro-WISE datacentric information system[J]. Experimental Astronomy, 2012, 35(1-2):1-23.
[11] 王意洁,孙伟东,周松,等.云计算环境下的分布存储关键技术[J].软件学报,2012(4):962-986.
[12] 赵青,孙济洲,肖健,等. 基于MapReduce模型的分布式天文交叉证认[J]. 计算机应用研究, 2010(9):3322-3325.
[13] Hong Z,Yu C,Wang J,et al. AQUAdexIM: highly efficient in-memory indexing and querying of astronomy time series images[J].Experimental Astronomy,2016,42(3):387-405.
[14] Taylor M B, Boch T, Taylor J. SAMP, the Simple Application Messaging Protocol: Letting applications talk to each other[J]. Astronomy & Computing, 2015,11:379-388.
[15] 李长华,崔辰州,何勃亮,等.IPv6技术在天文学研究云计算环境中的应用[J].计算机应用,2016,36(增刊1):25-28.
AstroCloud: Astronomical education and scientific research informationization platform in big data era
Xiao Jian1, Yu Ce2, Cui Chenzhou3, Li Changhua3, He Boliang3, Fan Dongwei3, Liu Liang4, Chen Xiao5, Zhang Hailong6, Wang Chuanjun7
(1. School of Computer Software, Tianjin University, Tianjin 300350, China; 2. School of Computer Science and Technology, Tianjin University, Tianjin 300350, China; 3. National Astronomical Observatories, Chinese Academy of Sciences, Beijing 100012, China; 4. Purple Mountain Observatory, Chinese Academy of Sciences, Nanjing 210008, China; 5. Shanghai Astronomical Observatory, Chinese Academy of Sciences, Shanghai 200030, China; 6. Xinjiang Astronomical Observatory, Chinese Academy of Sciences, Urumqi 830011, China; 7. Yunnan Astronomical Observatory, Chinese Academy of Sciences, Kunming 650011, China)
AstroCloud is based on the data resources of the China Astronomical Data Center. It aims to provide services for the observation time application for the astronomical telescope, data archiving, data retrieval, data analysis and scientific research projects. Through the use of cloud computing and virtualization technology, the system integrates the storage, data, calculation, software and other resources of the main observatories in China, and forms a network platform of scientific research which is physically dispersed and logically unified. AstroCloud provides both the whole life cycle of modern observational astronomical research and the open platform for the data-driven astronomical education and popularization of science.
AstroCloud; astronomical education; scientific research informationization; big data; cloud computing; virtual observatory
P112; TP391
A
1002-4956(2017)10-0133-06
10.16791/j.cnki.sjg.2017.10.033
2017-04-24
国家自然科学基金-天文联合基金项目(U1531111;U1531115);国家自然科学基金青年科学基金项目(11503051);中国科学院信息化专项 (XXH12503-05-05)
肖健(1978—),男,河北玉田,博士,工程师,主要研究方向为天文信息技术、高性能计算.
E-mail:xiaojian@tju.edu.cn