本文是一篇计算机论文,本文通过对分布式脉冲星搜索计算集群的整体架构、各个模块的具体实现以及脉冲星计算任务的整体执行流程进行研究分析,详细介绍了其中各种文件存储系统的实现方式,从中得出其中存在由于集群架构和文件存储系统下载带宽限制所导致的网络传输时延较长、冗余磁盘I/O开销较大和计算节点资源利用不充分的问题。
第一章绪论
1.1研究背景与研究意义
脉冲星是一种高度磁化的旋转致密星,两极能够发射出电磁辐射束,当电磁辐射扫过地球时,望远镜能够探测到非常规律的脉冲信号,因此得名“脉冲星”。脉冲星在基础科学研究领域具有极其重要的学术意义,其高密度,强引力作用和强磁场使得观测脉冲星可以研究极端状态下的物质结构与物理规律[1],提供了测试和验证理论的机会。脉冲星和脉冲双星的研究证实了了中子星及间接证明引力辐射的存在,分别获1974和1993年诺贝尔物理学奖。脉冲星高度规律性的脉冲信号可以用来测量时间,多颗极其稳定的毫秒脉冲星能够组成脉冲星记时阵列(Pulsar Timing Array,PTA),目前已经有多个PTA项目在进行中,如澳大利亚的帕克斯脉冲星计时阵列(Parkes Pulsar Timing Array,PPAT)、欧洲脉冲星计时阵列(European Pulsar Timing Array,EPTA)以及使用500米口径球面射电望远镜进行观测的中国脉冲星计时阵列(Chinese Pulsar Timing Array,CPTA),利用PTA可以对引力波进行探测和测量,这对于验证广义相对论和研究宇宙学具有非常重要的意义。同时脉冲星高度的自转稳定性也表明其在航天器导航上有着重要的应用前景,脉冲星的研究还有助于研究恒星演化、星际介质的物理性质、星际磁场星际磁场的结构和高能天体物理学等问题,脉冲星的高能辐射现象也是天体物理学和高能物理学研究的热点,可以通过脉冲星的观测来研究宇宙射线加速机制等问题。
1.2国内外相关研究
脉冲星的搜索的步骤主要为数据预处理、计算搜索、候选体筛选以及最后重复观测比对验证。其中数据预处理主要为数据文件的分割和组合,去除射电干扰和消除色散延迟。计算搜索主要有周期性搜索和单脉冲搜索两种计算方法,周期性搜索具体包括傅里叶变换、加速度搜索和时域数据折叠,单脉冲搜索主要包括去趋势、匹配滤波并计算信噪比。然后根据计算得到的候选体参数进行进一步筛选分析,最终经过验证得到确认的脉冲信号。其中周期性搜索主要根据脉冲星的周期特性在频域上进行搜索,并针对其中的双星系统等特殊天体做出调整,而单脉冲搜索主要针对没有严格周期规律的特殊脉冲星如间歇脉冲星和脉冲星的消零现象,以及不具有连续周期特征的旋转射电暂现源和快速射电暴这两种特殊的天文现象。
近年来随着观测设备和硬件计算能力的不断提升,脉冲星观测的数据集规模不断扩大,大数据技术与脉冲星搜索领域的结合逐渐紧密,澳大利亚天文台在All-Sky Virtual Observatory(ASVO)项目中的英澳望远镜望远镜(Anglo-AustralianTelescope,AAT)节点使用HDFS和Spark分别作为数据存储系统和计算引擎[2],主要用于存储查询结构化数据。Devine T R等人提出一种可扩展的射电脉冲星单脉冲候选体识别分类系统[3],使用HDFS和Spark作为底层存储系统和计算引擎,主要对已经经过PRESTO软件中single pulse search.py程序计算处理所得到的单脉冲候选体图像进行分类识别。平方千米阵(Square Kilometre Array,SKA)的数据处理团队Science Data Processor(SDP)Consortium使用Apache Storm框架开发了对初步筛选得到的最佳脉冲星候选体记录列表(Optimal Candidate List and Data,OCLD)的处理流程[4],主要使用机器学习方法对候选体记录进行实时分类识别。
第二章脉冲星搜索技术
2.1脉冲星简介
2.1.1脉冲星的发现
脉冲星是一种具有强磁场、高自旋速度的中子星,一般认为是恒星演化和超新星爆炸的产物,两级能够释放出极强的射电辐射,在宇宙中宛如灯塔一般,当射电辐射扫过地球时,望远镜的观测数据中就会出现非常规律的脉冲信号。人类历史上发现的第一颗脉冲星是PSR B1919+21,1967年由研究生Jocelyn BellBurnell在剑桥大学卡文迪许实验室无意中记录发现,这颗脉冲星位于狐狸座(Vulpecula)方向,距离地球约2283.12光年,自转周期为1.337秒,脉宽0.04秒。
起初发现的脉冲星都是正常脉冲星,并且全部是单星,随着对脉冲星观测和研究的不断深入,观测到的脉冲星数量不断增加,增加至约500颗时,脉冲星的研究出现了一个质的飞跃,出现了许多新类型的脉冲星,其中包括毫秒级脉冲星、双中子星系统、中子星和白矮星系统、中子星和大质量伴星系统和脉冲星中的行星系统等特殊天体系统,并且脉冲星的观测不在局限在低频射电波段,通过多波段观测能够更全面地提供脉冲星的信息,并且发现了X射线脉冲星[6]和伽马射线脉冲星等新型脉冲星。
2.2脉冲星观测文件格式
目前的脉冲星搜索中通常使用PSRFITS[20](PulSaR Flexible Image TransportSystem,PSRFITS)作为原始观测文件格式存储观测数据。PSRFITS是射电天文学中常用的一种数据文件格式,它是基于FITS(Flexible Image Transport System)标准的一种拓展格式。PSRFITS最初是由澳大利亚国家天文台(ATNF)和美国国家射电天文台(NRAO,National Radio Astronomy Observatory)共同开发的,用于存储和处理脉冲星的原始观测射电信号数据。PSRFITS文件通常包括两个主要部分:文件头部分和数据部分。其中,文件头部分主要包括以下内容:
文件描述信息:包括项目名称、观测者姓名、望远镜名称等;
天体位置信息:包括天体的坐标、参考系等;
接收机参数:包括接收机的中心频率、带宽、偏振数等,如果使用多波束接收机还会有波束编号等;
观测参数:包括观测开始时间、持续时间、采样频率等。
数据信息部分则是实际观测到的射电信号数据,通常以二进制格式存储。每个PSRFITS文件通常包括多个数据子集,每个数据子集包括一个数据数组和相应的元数据信息。PSRFITS文件的好处是具有灵活的元数据定义和标准化的格式,方便数据的共享和处理。同时,由于其基于FITS标准,也可以使用各种常见的FITS工具对数据进行处理和分析,业内主要使用的是由美国航空航天局戈达德航天中心(National Aeronautics and Space Administration/Goddard Space FlightCenter,NASA/GSFC)开发的CFITSIO项目实现对各类FITS文件的读写,其他数据计算处理软件中的文件读写部分多是对该项目的进一步封装。PSRFITS的数据部分由一个多维数组组成,目前由FAST望远镜观测产生的原始观测文件正在使用的数据结构一般是一个四维数组,其维度分别为:频道数(Channel)、偏振数(Polarization)、频谱数(Spectrum)和子时间集合(Sub-integration data,SUBINT)。
第三章 分布式脉冲星搜索计算集群 ................................ 20
3.1 整体架构 .................................... 20
3.2 Zookeeper模块 ................................... 21
3.3 环境配置管理模块 ................................. 23
第四章 文件存储系统优化的研究与实现 ............................ 33
4.1 分布式文件系统对比 ............................... 33
4.2 可行性分析 .............................. 34
4.3 架构设计 ....................................... 36
第五章 实验结果分析 ........................... 47
5.1 实验环境 ................................... 47
5.2 串行实验结果分析 .......................... 47
5.3 并行实验结果分析 .............................. 48
第五章实验结果分析
5.1实验环境
本文实验共使用六台x86服务器,每台装有英特尔处理器和6张GPU加速卡,节点之间网络带宽为1Gbps。按照4.3节中的架构搭建集群,一台用作主节点,作为任务分配节点、Alluxio Master和HDFS NameNode,五台用作从节点,作为计算节点、Alluxio Worker和HDFS DataNode。计算任务中每个进程计算时缓存文件数设置为1,计算系统所使用的原始文件存储目录由HDFS实现,本地临时文件目录由tmpfs实现,共享临时文件目录由Alluxio实现,计算结果存储目录Lustre实现,每次重复实验前使用Alluxio中提供的${alluxio}/bin/alluxioclearCache程序清除上次计算时形成的操作系统缓存,来排除操作系统缓存对于实验结果的影响。实验使用/usr/bin/time-v统计计算时间,使用Netdata监视节点网络带宽。
第六章总结与展望
本文通过对脉冲星搜索计算集群架构以及其搜索流程中计算任务的研究和分析,得出其中所存在的网络传输时延较长,冗余磁盘I/O开销较大,计算节点资源存在利用不充分的问题。重新设计文件存储系统架构,搭建了Alluxio+HDFS的文件存储系统。首先利用计算节点内存资源搭建Alluxio文件系统架设缓冲层,通过缓存机制在一定程度上减少网络传输时延,同时使用Alluxio作为共享临时文件系统,实现了临时文件只写入内存,不进行持久化保存,减少了不必要的磁盘I/O开销。其次利用计算节点硬盘资源搭建HDFS文件系统,将计算节点同时作为存储节点,实现存算一体的集群架构,利用计算节点上传带宽提供了更大的带宽,降低网络传输时延,同时根据脉冲星数据处理计算中的特点设计了任务分配算法,部分地利用了数据局部性减少网络传输,提高了集群整体计算速度。
当然本文存在着一定的局限性。首先是对于小文件的处理,消色散生成大量的dat和inf小文件在写入Alluxio文件系统时会按照设置的分配策略被分配到各个节点,但由于目前计算任务分配的设置,最后计算时需要重新集中到一个节点上,其中产生了大量不必要的网络传输,会直接引起计算资源的消耗,如何实现大量临时文件的定向传输,提升大量小文件的处理效率是需要进一步考虑解决的问题。
参考文献(略)