資源描述:
《python多核并行計算在海量星表交叉證認(rèn)中的應(yīng)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、中國科學(xué):物理學(xué)力學(xué)天文學(xué)2011年第41卷第1期:102~107《中國科學(xué)》雜志社SCIENTIASINICAPhys,Mech&Astronwww.scichina.comphys.scichina.comSCIENCECHINAPRESS論文Python多核并行計算在海量星表交叉證認(rèn)中的應(yīng)用**裴彤,張彥霞,彭南博,趙永恒中國科學(xué)院國家天文臺,北京100012*E-mail:ptptptptptpt@163.com;zyx@lamost.org收稿日期:2009-12-23;接受日期:2010-02-0
2、1國家自然科學(xué)基金(批準(zhǔn)號:10778724,10778616,11033001)和國家高技術(shù)研究發(fā)展計劃(編號:2006AA01A120)資助項目摘要天文學(xué)研究中經(jīng)常需要通過交叉證認(rèn)將來自多波段多項目天文數(shù)據(jù)聯(lián)系起來統(tǒng)一考慮.當(dāng)前天文數(shù)據(jù)急劇增長,必然導(dǎo)致交叉證認(rèn)的速度過慢.針對這一問題,提出一種在多核環(huán)境下使用Python語言進(jìn)行高效并行計算的方法,與以往的研究結(jié)果相比,速度提高了若干倍.這為下一步的多波段數(shù)據(jù)統(tǒng)計研究和數(shù)據(jù)挖掘打下了良好的基礎(chǔ).關(guān)鍵詞天文星表,巡天,數(shù)據(jù)庫,交叉證認(rèn),并行計算,Pytho
3、nPACS:95.75.-z,95.75.Pq,95.80.+p天文學(xué)中的交叉證認(rèn)是指將來自不同星表的源,Terabyte、甚至Petabyte來計量.面對如此規(guī)模龐大根據(jù)其某些屬性(如:位置、星名、星等等信息)的相的數(shù)據(jù)集,交叉證認(rèn)遇到了前所未有的困難.內(nèi)存容關(guān)性,相互聯(lián)系起來.通過交叉證認(rèn),可以將同一目量不夠、證認(rèn)計算量過大等問題都凸顯出來.過去常標(biāo)源在多個星表中的觀測信息融合在一起,從而加用的工具(如Vizier,Simbad,Topcat和Aladin等)不再[1,2][1,2]深對該天體的認(rèn)識.如果
4、是來自不同波段的數(shù)據(jù),交適用.為實現(xiàn)海量星表交叉證認(rèn),高丹等人在叉證認(rèn)后可以獲得天體的多波段信息,促進(jìn)新天體總結(jié)國內(nèi)外研究狀況的基礎(chǔ)上,研究比較了多級三或新現(xiàn)象發(fā)現(xiàn)的機(jī)會,也為進(jìn)一步的多波段數(shù)據(jù)統(tǒng)角劃分法(HierarchicalTriangularMesh,簡稱HTM,計分析和數(shù)據(jù)挖掘打下基礎(chǔ).天體多波段交叉證認(rèn)主頁:http://www.skyserver.org/HTM/)和多級等面積是LAMOST科學(xué)目標(biāo)的三大核心子課題之一,也是同緯度劃分法(HierarchicalEqualAreaisoLatit
5、ude虛擬天文臺數(shù)據(jù)融合的必由之路,有重要的現(xiàn)實意Pixelisation,簡稱HEALPix,主頁:http://healpix.jpl.義和科學(xué)價值.nasa.gov/),于2008年6月提出“基于HTM索引分區(qū)近年來,隨著科技的進(jìn)步,無論地面的還是空間與kd-tree找最近鄰算法的交叉證認(rèn)”方法,并開發(fā)出的天文觀測設(shè)備都在不斷增加、改進(jìn)和升級,觀測能相應(yīng)的交叉證認(rèn)工具用于實際工作,收到了很好的力越來越強,獲得的數(shù)據(jù)量也越來越大.尤其是巡天效果.其優(yōu)點是:(ⅰ)通過HTM索引將大星表分成星表,很多都已達(dá)到
6、億行以上.在未來幾年內(nèi)出現(xiàn)千多個小表分別證認(rèn),解決了內(nèi)存限制問題,降低了計億、萬億行的星表是極有可能的.天文數(shù)據(jù)正以算量;(ⅱ)證認(rèn)時利用kd-tree找最近鄰,提高了速度.引用格式:裴彤,張彥霞,彭南博,等.Python多核并行計算在海量星表交叉證認(rèn)中的應(yīng)用.中國科學(xué):物理學(xué)力學(xué)天文學(xué),2011,41:102~107,doi:10.1360/132009-1163中國科學(xué):物理學(xué)力學(xué)天文學(xué)2011年第41卷第1期同時也存在以下不足:(ⅰ)程序完全采用Java語言3分割星表數(shù)據(jù)編寫,性能受限;(ⅱ)程序流程有
7、待進(jìn)一步優(yōu)化;HTM是一種多層次的、遞歸的球面分割方法,(ⅲ)不支持并行計算.本文在高丹等人[1,2]的工作基礎(chǔ)上,選用Python可將天球分成多級三角網(wǎng)格,每個網(wǎng)格都有一個編號,稱為pcode.利用HTM可以將一個大星表從邏輯和C語言改寫了交叉證認(rèn)程序,采用HTM劃分方法上分割為多個小星表,具體做法如下:分割星表數(shù)據(jù),并利用Python的subprocess模塊發(fā)起對天球進(jìn)行N級HTM劃分.將星表存入數(shù)據(jù)庫,多個子進(jìn)程來實現(xiàn)并行計算,在獲得較高靈活性的轉(zhuǎn)化為一個數(shù)據(jù)庫表,每條表記錄對應(yīng)星表中一個同時,大幅提
8、升了程序性能.源,每個表字段對應(yīng)星表的一個屬性列.入庫時,給星表增添一個名為pcode_htmN的屬性列(具體到數(shù)1編程語言的選擇據(jù)庫則是增加一個表字段),對于星表中任一源,Python(http://www.python.org/)是一種面向?qū)ο髉code_htmN屬性的值為該源在天球上所處的N級的、解釋型的程序設(shè)計語言,開源、免費,語法簡明,HTM網(wǎng)格的pcode.這樣,就可以根據(jù)pcode_h