李 觀, 張逸涵, 蘆旭熠, 張?zhí)祚Y, 單桂華, 陸忠華
1(中國科學(xué)院 計(jì)算機(jī)網(wǎng)絡(luò)信息中心, 北京 100190)
2(中國科學(xué)院大學(xué), 北京 100049)
3(中國科學(xué)院 國家天文臺, 北京 100101)
數(shù)值模擬是宇宙學(xué)中重要的研究方法, 它既可以幫助科學(xué)家驗(yàn)證理論模型和了解宇宙演化過程, 也可以與觀測數(shù)據(jù)對比來完善理論模型以加深對宇宙的了解. 因此, 數(shù)值模擬為天文研究和天文觀測提供了有力的數(shù)值實(shí)驗(yàn)方法和理論驗(yàn)證工具, 并已經(jīng)成為現(xiàn)代天體物理研究中不可缺少的基本研究方法[1].
科學(xué)可視化作為一種高效的數(shù)據(jù)分析手段, 在科學(xué)模擬數(shù)據(jù)的分析中越來越重要. 科學(xué)可視化的正式提出是在20世紀(jì)80年代, 它利用圖形學(xué)相關(guān)方法來幫助用戶理解科學(xué)概念和了解科學(xué)數(shù)據(jù). 傳統(tǒng)的統(tǒng)計(jì)分析方法常常是分析宇宙模擬數(shù)據(jù)中各種結(jié)構(gòu)的總體屬性, 例如結(jié)構(gòu)的質(zhì)量、密度、狀態(tài)和形態(tài)等, 但這種方式難以高效形象地了解和利用數(shù)值模擬數(shù)據(jù). 科學(xué)可視化可以直觀地將模擬數(shù)據(jù)中的多個(gè)物理量(例如密度、溫度、壓力、速度等)和特征結(jié)構(gòu)展現(xiàn)給科學(xué)家, 同時(shí)還可以探索多個(gè)物理量之間的相互關(guān)系, 并允許科學(xué)家進(jìn)行交互式分析, 這極大地提高了數(shù)據(jù)分析的效率. 此外, 針對模擬數(shù)據(jù)的時(shí)序分析, 可視化所生成的時(shí)序演化動(dòng)畫可以詳細(xì)展示模擬中每個(gè)特征的演化過程和不同物理屬性的動(dòng)態(tài)變化, 這是傳統(tǒng)的統(tǒng)計(jì)分析方法無法達(dá)到的.
超級計(jì)算機(jī)的發(fā)展使得計(jì)算能力快速地增長, 這同時(shí)也推動(dòng)了宇宙數(shù)值模擬研究的發(fā)展. 科學(xué)家可以使用更大規(guī)模的數(shù)據(jù)進(jìn)行更高精度的宇宙數(shù)值模擬,隨著模擬規(guī)模的增長, 模擬產(chǎn)生的數(shù)據(jù)也呈現(xiàn)爆炸式增長. 例如, 當(dāng)前最大的宇宙學(xué)N體數(shù)值模擬所使用的數(shù)據(jù)規(guī)模達(dá)到為2萬億粒子, 模擬過程中每次數(shù)據(jù)的保存需要大約130 TB的存儲(chǔ)空間, 通常保存單次宇宙數(shù)值模擬的數(shù)據(jù)需要PB級別的存儲(chǔ)空間[2]. 此外, 宇宙模擬的空間跨度也越來越大. 早期模擬的焦點(diǎn)主要集中在宇宙大尺度結(jié)構(gòu)[3], 之后銀河系尺度和星系團(tuán)尺度的單個(gè)暗物質(zhì)暈?zāi)M應(yīng)運(yùn)而生[4], 當(dāng)前已經(jīng)發(fā)展出從星系團(tuán)到地球尺度暗物質(zhì)暈的20個(gè)數(shù)量級的高精度模擬[5]. 越來越大規(guī)模的宇宙數(shù)值模擬和越來越復(fù)雜的模擬內(nèi)容對科學(xué)可視化提出了新的要求也帶來了新的挑戰(zhàn). 科學(xué)可視化不僅需要幫助科學(xué)家將模擬數(shù)據(jù)轉(zhuǎn)換成圖像, 同時(shí)還需要幫助和輔助專家針對不同任務(wù)進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)探索.
科學(xué)可視化領(lǐng)域發(fā)展出了多種可視化技術(shù)以應(yīng)對復(fù)雜多樣的可視化任務(wù). 初期的可視化研究主要關(guān)注如何將數(shù)據(jù)展示, 即數(shù)據(jù)的繪制, 這是宇宙數(shù)值模擬數(shù)據(jù)可視化分析的基礎(chǔ). 近些年來, 由于數(shù)據(jù)量的劇增和數(shù)據(jù)內(nèi)容的復(fù)雜多樣, 通常采用多種技術(shù)與可視化相結(jié)合的方法來滿足數(shù)據(jù)可視化分析的需求. 概括來說, 針對宇宙數(shù)值模擬可視化的研究以模擬數(shù)據(jù)的繪制為基礎(chǔ), 以模擬數(shù)據(jù)規(guī)模的增長和數(shù)據(jù)分析研究的發(fā)展為推動(dòng), 在近些年來呈現(xiàn)出以下幾個(gè)方面的研究主題:
1) 交互可視化: 利用交互技術(shù)輔助用戶對可視化內(nèi)容進(jìn)行交互式分析, 以實(shí)現(xiàn)特定任務(wù)分析為目的.
2) 并行可視化: 利用并行計(jì)算或者GPU計(jì)算加速對數(shù)據(jù)的處理并提高數(shù)據(jù)繪制效率, 以達(dá)到分析或者繪制大規(guī)模模擬數(shù)據(jù)的目的.
3) 原位可視化: 利用原位處理方法, 在模擬的計(jì)算節(jié)點(diǎn)上對數(shù)據(jù)進(jìn)行原位處理, 解決I/O瓶頸和存儲(chǔ)限制的問題, 以達(dá)到超大規(guī)模數(shù)據(jù)可視化與分析的目的.
4) 機(jī)器學(xué)習(xí)與可視化: 利用機(jī)器學(xué)習(xí)的相關(guān)算法對數(shù)值模擬數(shù)據(jù)進(jìn)行處理和分析, 然后進(jìn)行可視化分析, 以提高數(shù)據(jù)分析的能力和效率.
本文首先介紹了宇宙數(shù)值模擬的數(shù)據(jù)結(jié)構(gòu)和發(fā)展趨勢, 然后對當(dāng)前所使用的模擬數(shù)據(jù)繪制算法進(jìn)行總結(jié). 在此基礎(chǔ)上, 介紹了當(dāng)前主要研究主題下的多個(gè)研究案例, 歸納了不同研究主題下的研究主線, 最后進(jìn)行了總結(jié)和展望.
宇宙數(shù)值模擬起源于20世紀(jì)70年代, 最早的宇宙數(shù)值模擬為Peebles等[6]使用了大約300個(gè)粒子的N體模擬對星系團(tuán)進(jìn)行研究. 隨著超級計(jì)算機(jī)的發(fā)展和宇宙學(xué)研究的深入, 宇宙數(shù)值模擬的數(shù)據(jù)規(guī)模不斷增長, 模擬的數(shù)據(jù)規(guī)模增加速度與“摩爾定律”大致相符, 即每間隔大約18個(gè)月數(shù)據(jù)量就增加一倍. 時(shí)間與模擬規(guī)模的增長關(guān)系如圖1所示, 圖中線為“摩爾定律”曲線, 從圖中可以看出粒子增長速度與“摩爾定律”大致相符. 隨著E級計(jì)算的到來, 宇宙數(shù)值模擬的規(guī)模將會(huì)更大, 對模擬的精度也會(huì)更高, 對宇宙的分析也會(huì)越來越精確, 同時(shí)伴隨著更多的大規(guī)模巡天觀測結(jié)果的出現(xiàn), 宇宙模型也將更加準(zhǔn)確. 因此, 從宇宙數(shù)值模擬的規(guī)模發(fā)展趨勢上來說, 模擬所使用的數(shù)據(jù)量會(huì)繼續(xù)增加, 并且模擬的精度也會(huì)越來越高.
圖1 年代-數(shù)值模擬數(shù)據(jù)規(guī)模示意圖[2,6-27]
宇宙數(shù)值模擬程序所使用的模擬數(shù)據(jù)結(jié)構(gòu)可以簡單分為兩類, 即網(wǎng)格數(shù)據(jù)和離散數(shù)據(jù). 網(wǎng)格數(shù)據(jù)中又分為均勻網(wǎng)格和非均勻網(wǎng)格, 網(wǎng)格數(shù)據(jù)是將三維模擬空間劃分為網(wǎng)格, 每個(gè)格點(diǎn)記錄相關(guān)的物理變量. 模擬程序在使用網(wǎng)格數(shù)據(jù)進(jìn)行計(jì)算時(shí), 引力的計(jì)算以網(wǎng)格為基本單位, 模擬所保存的模擬數(shù)據(jù)格式為網(wǎng)格數(shù)據(jù). 離散數(shù)據(jù)即粒子數(shù)據(jù), 使用大量的粒子數(shù)據(jù)來覆蓋三維模擬空間, 粒子屬性包含位置、速度、質(zhì)量、加速度等多個(gè)物理量. 模擬程序在使用粒子數(shù)據(jù)進(jìn)行模擬的過程中, 引力的計(jì)算以粒子或者網(wǎng)格為基本單位, 模擬所保存的模擬數(shù)據(jù)格式為粒子數(shù)據(jù).
數(shù)值模擬程序所保存的數(shù)據(jù)無法直觀地展示, 需要進(jìn)行數(shù)據(jù)處理和繪制, 模擬數(shù)據(jù)的繪制是可視化分析的基礎(chǔ). 數(shù)據(jù)的繪制方法從對原始數(shù)據(jù)的操作上可以分為3類, 即直接映射繪制、光滑核處理繪制和數(shù)據(jù)重組織繪制. 本章節(jié)將介紹每種繪制算法的基本原理, 并且給出在同一數(shù)據(jù)集下每種算法的可視化展示圖像.
直接映射即數(shù)據(jù)不經(jīng)過處理, 直接映射到圖像完成繪制. 直接映射繪制是出現(xiàn)最早的繪制方法, 早在20世紀(jì)初, Whiting[28]就采用此方法將星球繪制成圖像來展示星系圖用于天文學(xué)生的教學(xué), 并且此方法也是目前常用的繪制方法之一.
對于數(shù)值模擬為網(wǎng)格數(shù)據(jù)的2D圖像繪制, 僅需要將三維的網(wǎng)格數(shù)據(jù)處理成二維網(wǎng)格, 然后根據(jù)圖像大小進(jìn)行映射即可完成數(shù)據(jù)的繪制, 過程示意圖如圖2所示.
圖2 網(wǎng)格映射示意圖
對于離散數(shù)據(jù)的2D圖像繪制, 需要將粒子數(shù)據(jù)進(jìn)行轉(zhuǎn)換, 轉(zhuǎn)換為均勻網(wǎng)格數(shù)據(jù)然后進(jìn)行映射以完成粒子數(shù)據(jù)的繪制. 如圖3所示, 展示的是粒子數(shù)據(jù)常用的兩種轉(zhuǎn)換方法. 每個(gè)粒子數(shù)據(jù)根據(jù)空間坐標(biāo)屬性映射到對應(yīng)的均勻網(wǎng)格上, 所在網(wǎng)格的頂點(diǎn)將會(huì)增加相應(yīng)的屬性值.
圖3 粒子映射示意圖
對于3D圖像的繪制, 網(wǎng)格數(shù)據(jù)可以轉(zhuǎn)換成體數(shù)據(jù)然后采用體繪制, 而粒子數(shù)據(jù)3D圖像繪制也是將粒子轉(zhuǎn)換成空間網(wǎng)格數(shù)據(jù)然后進(jìn)行體繪制. 直接映射的可視化效果的2D圖像和3D圖像如圖4(a)和圖4(d)所示. 直接映射是最簡單且效率最高的繪制方法, 但繪制圖像的效果一般.
圖4 不同繪制算法效果展示圖
數(shù)據(jù)直接映射的繪制效果一般, 為了提高繪制效果, 通常采用光滑核處理, 常用的光滑核為高斯光滑,高斯分布函數(shù)公式如式(1)所示.
在使用過程中, 可以通過控制高斯分布函數(shù)中的標(biāo)準(zhǔn)差σ 來調(diào)整光滑效果.
使用光滑核函數(shù)對數(shù)據(jù)進(jìn)行處理時(shí), 針對于網(wǎng)格數(shù)據(jù)通常是對原始數(shù)據(jù)進(jìn)行處理, 經(jīng)過處理后的數(shù)據(jù)再經(jīng)過直接映射然后完成數(shù)據(jù)的繪制. 針對于粒子數(shù)據(jù), 采用的方式是將空間中的每個(gè)粒子轉(zhuǎn)換成空間高斯分布函數(shù), 然后再進(jìn)行均勻網(wǎng)格的轉(zhuǎn)換. 此外, 當(dāng)把粒子轉(zhuǎn)換成空間高斯分布函數(shù)時(shí), 也可以采用拋雪球算法[29], 即將每個(gè)代表粒子的空間高斯分布直接拋到圖像上進(jìn)行繪制. 圖4(b)和 圖4(e)展示的為光滑核處理后的可視化圖像結(jié)果, 從圖像上可以看出光滑核處理后的繪制圖像在結(jié)構(gòu)表現(xiàn)上更加豐富, 可視化效果優(yōu)于直接映射.
數(shù)據(jù)重組織繪制通常用于天文模擬中粒子數(shù)據(jù)的繪制, 即將粒子數(shù)據(jù)重組成其他形態(tài)再進(jìn)行映射和繪制. 目前最常使用的方法是Kaehler等[30]提出的可視化方法, 將粒子組建成四面體網(wǎng)格然后進(jìn)行繪制.
四面體網(wǎng)格算法是在模擬的初始時(shí)刻, 根據(jù)粒子的位置進(jìn)行劃分, 即空間上相鄰8個(gè)粒子組成一個(gè)六面體, 然后將六面體切分成6個(gè)四面體, 每個(gè)四面體之間沒有相交, 四面體的構(gòu)建示意圖如圖5所示. 由于每個(gè)粒子會(huì)出現(xiàn)在8個(gè)六面體的頂點(diǎn)上, 因此在切分后,每個(gè)粒子會(huì)出現(xiàn)在多個(gè)四面體的頂點(diǎn), 空間內(nèi)四面體通過頂點(diǎn)粒子相連接而構(gòu)造成了四面體空間網(wǎng)格.
圖5 四面體構(gòu)建示意圖[30]
在初始時(shí)刻完成四面體網(wǎng)格構(gòu)造后, 記錄每個(gè)四面體的粒子組成, 保持模擬過程中四面體組成粒子的不變, 每次繪制時(shí)以四面體為基本單位. 圖4(c)和圖4(f)展示的為四面體網(wǎng)格的繪制效果圖, 從圖像上可以看出四面體網(wǎng)格繪制效果非常好, 對宇宙特征結(jié)構(gòu)展現(xiàn)的非常清晰, 可視化效果優(yōu)于其他兩種方法. 但是, 此方法也存在一定的限制, 即此方法僅限于對天文粒子數(shù)據(jù)的繪制, 并且繪制的時(shí)間遠(yuǎn)大于其他兩種方法.
在模擬數(shù)據(jù)渲染的基礎(chǔ)上和多種可視化任務(wù)的推動(dòng)下, 發(fā)展出了多個(gè)可視化研究方向. 本節(jié)將依次探討交互可視化、并行可視化、原位可視化和機(jī)器學(xué)習(xí)與可視化這些近年來的可視化研究熱點(diǎn), 并進(jìn)行歸納和總結(jié).
交互可視化分析技術(shù)是使用交互式技術(shù)幫助用戶進(jìn)行模擬數(shù)據(jù)的分析, 其主要優(yōu)勢是通過交互完成特定的分析任務(wù). 對于宇宙數(shù)值模擬的交互可視化分析根據(jù)分析的內(nèi)容可以分為兩類, 一類是對模擬數(shù)據(jù)的全局屬性和參數(shù)進(jìn)行分析, 另一類是對宇宙特定的結(jié)構(gòu)進(jìn)行分析.
對模擬數(shù)據(jù)的屬性和參數(shù)進(jìn)行交互分析, 主要是對模擬數(shù)據(jù)的展示維度、展示區(qū)域、展示內(nèi)容和時(shí)序?qū)傩缘冗M(jìn)行交互. 早期交互主要是對數(shù)據(jù)展示維度和時(shí)空位置等進(jìn)行交互式分析, 例如Swayne等[31]設(shè)計(jì)了一個(gè)數(shù)據(jù)可視化系統(tǒng)用于展示高維空間中粒子數(shù)據(jù)并且允許用戶進(jìn)行旋轉(zhuǎn)、區(qū)域選擇和顏色調(diào)整等操作.此外, Teuben等[32]和Price等[33]也實(shí)現(xiàn)類似工作, 即使用鍵盤和鼠標(biāo)作為交互設(shè)備, 通過用戶的交互操作對數(shù)據(jù)展示維度、展示區(qū)域和顏色映射等進(jìn)行調(diào)整.
早期的交互式分析著重于對展示內(nèi)容維度和展示區(qū)域的交互, 以幫助科學(xué)家更快的了解模擬數(shù)據(jù). 隨著研究的發(fā)展, 一些工作開始關(guān)注于對數(shù)據(jù)進(jìn)行時(shí)序?qū)傩缘姆治? Haroz等[34]通過可視化系統(tǒng)來對不同的模擬的多個(gè)屬性的時(shí)序差異進(jìn)行分析. 如圖6所示, 用戶可以通過平行坐標(biāo)軸來實(shí)時(shí)選擇重要特征進(jìn)而深入分析.此外, Zhao等[35]通過一種交互粒子的圖像生成算法展示模擬數(shù)據(jù)中高質(zhì)量時(shí)序圖像, 用來分析數(shù)據(jù)的時(shí)序特征. 從總體上來說, 對全局屬性交互分析的主要目標(biāo)是幫助用戶了解數(shù)據(jù)并發(fā)現(xiàn)全局屬性的異常特征.
圖6 不同模擬間的多屬性時(shí)序差異分析[34]
另一類是對宇宙特定的結(jié)構(gòu)進(jìn)行分析, 通常分析的目標(biāo)結(jié)構(gòu)集中在暗暈. 暗暈是模擬中由于粒子聚合而形成的密度高點(diǎn), 是物質(zhì)的三維塌縮而形成的. 對于暗暈的分析, 根據(jù)交互對象可以分為分析區(qū)域的選擇和分析目標(biāo)的選擇. 分析區(qū)域的交互選擇即用戶通過交互操作對展示的目標(biāo)區(qū)域進(jìn)行選擇[36-39]. 例如Shan等[36]通過開發(fā)可視化系統(tǒng)分析暗暈的合并演化歷史,如圖7所示. 用戶通過2D的交互操作選取目標(biāo)分析區(qū)域, 系統(tǒng)基于交互參數(shù)來生成目標(biāo)區(qū)域的暗暈3D的演化過程. Rapp等[39]通過概率密度函數(shù)來擬合大規(guī)模宇宙模擬數(shù)據(jù), 進(jìn)而可以有效地對結(jié)構(gòu)進(jìn)行表示, 通過對概率模擬函數(shù)的可視化和交互來達(dá)到對區(qū)域數(shù)據(jù)交互式分析的目的. 分析目標(biāo)的交互選擇, 即用戶通過交互操作來顯示單個(gè)暗暈的演化過程和物理屬性[40-42]. 例如Almryde等[40]通過可視化展示了暗物質(zhì)暈的合并樹的演化歷史, 允許用戶通過交互操作從合并樹中選擇單獨(dú)的暗暈來分析單個(gè)暗暈的屬性. 從總體上來說,對宇宙特定結(jié)構(gòu)交互分析的主要目標(biāo)是幫助用戶分析單個(gè)或者區(qū)域的暗暈演化過程, 進(jìn)而利用可視化圖像更加深入直觀的了解演化過程. 此外, Hanula等[41]通過構(gòu)建一個(gè)沉浸式的可視化軟件來對宇宙模擬數(shù)據(jù)進(jìn)行交互和分析, 該軟件通過多個(gè)分析視圖的交互和聯(lián)動(dòng)展示, 幫助領(lǐng)域?qū)<覍δM數(shù)據(jù)進(jìn)行時(shí)序結(jié)構(gòu)演化分析. 同時(shí), 還可以幫助專家對特定暗暈的形成和演化進(jìn)行交互和探索.
圖7 區(qū)域暗暈交互式分析流程圖[36]
計(jì)算機(jī)硬件的發(fā)展為并行計(jì)算提供了有力的支撐, 并行計(jì)算的發(fā)展也為可視化提供了新的技術(shù). 為了處理和繪制大規(guī)模的模擬數(shù)據(jù), 越來越多研究中采用了并行計(jì)算. 根據(jù)并行加速的內(nèi)容, 可以將并行可視化分為兩類,第一類是并行的數(shù)據(jù)處理, 第二類是并行的數(shù)據(jù)繪制.
對于并行的數(shù)據(jù)處理, 即通過并行計(jì)算對大規(guī)模數(shù)據(jù)進(jìn)行快速預(yù)處理, 將處理后的數(shù)據(jù)進(jìn)行可視化展示. 例如Woodring等[43]基于ParaView[44]可視化軟件設(shè)計(jì)了一個(gè)并行的數(shù)據(jù)處理模塊, 并行的運(yùn)行暗暈尋找算法和實(shí)時(shí)的暗暈分布展示, 利用并行計(jì)算可以極大提高數(shù)據(jù)處理的速度, 加速對暗暈的分析過程. 此外,Jin等[45]利用由多個(gè)GPU和CPU組成的超算, 使用了MPI[46]和OpenMP[47]框架對數(shù)據(jù)的坐標(biāo)轉(zhuǎn)換、歸一化、旋轉(zhuǎn)等操作進(jìn)行加速處理. Tallada等[48]介紹了一款基于Hadoop的Web應(yīng)用CosmoHub, 可以對大量宇宙數(shù)據(jù)集進(jìn)行交互式探索和分發(fā). 它正在為幾個(gè)大型國際合作項(xiàng)目提供數(shù)據(jù)支持, 如歐幾里得空間任務(wù)、暗能量調(diào)查(DES)、加速宇宙調(diào)查(PAUS)和馬勒斯特姆科學(xué)研究所(MICE)的數(shù)值模擬等. 目前, 對109大小數(shù)據(jù)集的在線探索可以在幾十秒的時(shí)間尺度內(nèi)完成. 總體來說利用并行計(jì)算對數(shù)據(jù)進(jìn)行處理的目標(biāo)是通過并行的數(shù)據(jù)處理算法快速生成可視化的數(shù)據(jù),以達(dá)到可以處理和分析大規(guī)模數(shù)據(jù)的目的.
對于并行的數(shù)據(jù)繪制, 即利用并行技術(shù)對數(shù)據(jù)的繪制進(jìn)行加速. 例如Kaehler等[49]設(shè)計(jì)實(shí)現(xiàn)了基于GPU的輔助光線投射算法, 利用GPU的并行加速生成局部精細(xì)網(wǎng)格, 該算法可以獲得高質(zhì)量體繪制結(jié)果. Dykes等[50]設(shè)計(jì)實(shí)現(xiàn)了基于GPU的Splotch方法, 通過將粒子數(shù)據(jù)進(jìn)行分組使CPU和GPU可以同時(shí)對數(shù)據(jù)進(jìn)行并行處理以加速Splotch的繪制過程. Rizzi等[51]實(shí)現(xiàn)了一種基于GPU的點(diǎn)繪制技術(shù), 通過對粒子進(jìn)行層次重組并使用動(dòng)態(tài)的繪制任務(wù)分解, 用以加速大規(guī)模粒子數(shù)據(jù)的繪制. 此外, 也有許多相關(guān)的研究利用并行計(jì)算來加速渲染過程[52,53]. 利用并行計(jì)算對繪制進(jìn)行加速的目標(biāo)是能夠?qū)Υ笠?guī)模數(shù)據(jù)進(jìn)行繪制, 不僅提高繪制效率也可以獲得高質(zhì)量的圖像.
隨著超級計(jì)算機(jī)的發(fā)展, 模擬的規(guī)模越來越大, 但存儲(chǔ)能力的增長卻難以滿足大規(guī)模模擬的數(shù)據(jù)存儲(chǔ)要求. 由于存儲(chǔ)資源的限制, 無法將所需的全部模擬數(shù)據(jù)進(jìn)行保存、分析和可視化. 原位可視化是解決這種問題的最有效的方法. 原位可視化即在模擬運(yùn)行的過程中, 在模擬的計(jì)算節(jié)點(diǎn)上對數(shù)據(jù)進(jìn)行原位處理, 將處理后的數(shù)據(jù)進(jìn)行保存以供事后的可視化分析. 原位可視化與傳統(tǒng)后處理形式的可視化在流程上的對比如圖8所示[54]. 原位可視化中數(shù)據(jù)在內(nèi)存中就被可視化程序所處理, 處理后保存的數(shù)據(jù)量遠(yuǎn)小于原始數(shù)據(jù), 因此可以解決I/O瓶頸的問題和存儲(chǔ)限制的難點(diǎn), 為可視化分析超大規(guī)模模擬的數(shù)據(jù)提供有效的方法. 原位可視化從原位處理的方式上可以分為3類, 即原位數(shù)據(jù)壓縮處理、原位的圖像渲染處理和原位特征提取處理.
圖8 傳統(tǒng)可視化與原位可視化對比圖[54]
原位數(shù)據(jù)壓縮處理是通過使用壓縮或者采樣算法在原位進(jìn)行處理以降低數(shù)據(jù)量, 進(jìn)而可以保存更多的數(shù)據(jù). 例如Woodring等[55]使用層次化的隨機(jī)采樣算法對超大規(guī)模的模擬數(shù)據(jù)進(jìn)行原位采樣處理, 算法通過KD樹在每個(gè)計(jì)算節(jié)點(diǎn)對粒子數(shù)據(jù)進(jìn)行分塊, 在塊內(nèi)采用隨機(jī)采樣, 同時(shí)通過控制每個(gè)塊的大小來調(diào)整壓縮率. 此算法在計(jì)算節(jié)點(diǎn)之間不需要進(jìn)行通信, 具有很高的并行效率和可擴(kuò)展性, 通過層次化的隨機(jī)采樣可以極大降低數(shù)據(jù)的存儲(chǔ), 為大規(guī)模數(shù)據(jù)的可視化和分析提供了有力的支持. 但算法也存在一些限制, 隨機(jī)采樣丟失了許多細(xì)節(jié), 使得高精度的分析誤差較大, 并且由于粒子時(shí)序關(guān)系的丟失, 時(shí)序分析和時(shí)序可視化也需要額外的處理. Hazarika等[56]提出了一種抽樣策略, 通過使用多個(gè)跨空間域的PCA模型獲取全局多元關(guān)系可以在降低存儲(chǔ)多變量模擬數(shù)據(jù)占用的同時(shí)保護(hù)多變量之間的關(guān)系. 也有一些研究探討了壓縮算法在原位的有效性, Zeyen等[57]比較了多種最新的壓縮算法, 探討了原位可視化中壓縮算法的有效性, 他們通過對230個(gè)粒子數(shù)據(jù)的壓縮實(shí)驗(yàn), 測試了多個(gè)最先進(jìn)的有損壓縮算法和無損壓縮算法的效果和效率. 通過對比,他們指出在天文專家認(rèn)可的最大誤差下, 這些算法中SZ壓縮算法[58]的壓縮率最高, 可以達(dá)到46.72%. 壓縮算法雖然可以保證數(shù)據(jù)的質(zhì)量, 但其壓縮率還是難以滿足超大規(guī)模的原位處理要求.
原位的圖像渲染處理是模擬運(yùn)行過程中, 在原位階段運(yùn)行數(shù)據(jù)繪制算法, 將原始數(shù)據(jù)直接可視化, 僅需要存儲(chǔ)或者傳輸圖像數(shù)據(jù), 從而極大地降低數(shù)據(jù)量.Whitlock等[59]通過對可視化工具VisIt進(jìn)行擴(kuò)展, 在模擬過程中渲染模塊與模擬程序同時(shí)進(jìn)行運(yùn)行, 并在用戶控制下實(shí)時(shí)地對數(shù)據(jù)進(jìn)行渲染和傳輸. 這種原位的圖像渲染方式, 可以處理超大規(guī)模的模擬數(shù)據(jù), 解決了I/O的瓶頸和存儲(chǔ)的限制. 但僅存儲(chǔ)和使用圖像數(shù)據(jù)而丟棄原始數(shù)據(jù), 使得用戶難以進(jìn)行后續(xù)的交互式探索和數(shù)據(jù)統(tǒng)計(jì)分析計(jì)算.
原位特征提取處理是通過使用數(shù)據(jù)分析或處理算法, 將專家最關(guān)心的特征進(jìn)行提取和保存, 減少不必要的存儲(chǔ)以達(dá)到超大規(guī)模原位可視化分析的目的. Li等[60]采用了概率密度模型在原位階段對粒子數(shù)據(jù)進(jìn)行特征提取, 該算法通過KD樹對每個(gè)計(jì)算節(jié)點(diǎn)內(nèi)數(shù)據(jù)進(jìn)行劃分, 劃分后使用高斯混合模型對劃分后的數(shù)據(jù)進(jìn)行特征提取, 并使用模型評估、模型優(yōu)化等手段提高特征數(shù)據(jù)的質(zhì)量. 經(jīng)過原位處理后, 僅需要保存高斯混合模型的參數(shù), 并且可以通過蒙特卡洛算法重構(gòu)粒子數(shù)據(jù)以支持?jǐn)?shù)據(jù)可視化和物理屬性計(jì)算. 該方法在原位處理時(shí), 計(jì)算節(jié)點(diǎn)之間相互獨(dú)立, 不需要額外的通信,所以可擴(kuò)展性較高. 同時(shí)算法的壓縮率可達(dá)到1.3%,并在此壓縮率下可以重構(gòu)高質(zhì)量的數(shù)據(jù)用以可視化分析. 圖9中展示了基于模型參數(shù)重構(gòu)后粒子數(shù)據(jù)與原始數(shù)據(jù)的對比可視化結(jié)果, 從可視化效果可以看出, 重構(gòu)數(shù)據(jù)可視化圖像幾乎與原始數(shù)據(jù)可視化圖像一致.類似地, Takle等[61]的工作也是采用了原位特征提取方法, 在模擬過程中追蹤暗暈的演化歷史并在模擬過程中完成合并樹的建立. 通過這種特征追蹤的方法可以高效地對暗暈結(jié)構(gòu)進(jìn)行分析和可視化. 原位特征提取處理的方式可以非常有效地解決I/O的瓶頸和存儲(chǔ)的限制, 但此類研究通常針對特定的問題, 所以算法的通用性有待提高.
圖9 原始數(shù)據(jù)與特征提取算法的對比可視化[60]
機(jī)器學(xué)習(xí)作為一種有效的數(shù)據(jù)處理和分析手段,已經(jīng)應(yīng)用在越來越多的領(lǐng)域. 隨著深度學(xué)習(xí)研究發(fā)展,極大的推動(dòng)了其他領(lǐng)域深度學(xué)習(xí)相關(guān)應(yīng)用研究的產(chǎn)生.在宇宙數(shù)值模擬可視化研究中, 機(jī)器學(xué)習(xí)算法的應(yīng)用也逐漸成為一個(gè)熱點(diǎn).
Preston等[62]研究了基于聚類算法合并樹的數(shù)據(jù)可視化方法, 利用可視化技術(shù)分析在天文數(shù)據(jù)中應(yīng)用聚類算法的效果, 幫助使用者對聚類結(jié)果更加了解, 提高數(shù)據(jù)分析的準(zhǔn)確性和發(fā)現(xiàn)異常特征的能力. Wang等[63]提出了統(tǒng)計(jì)超分辨率方法來提高大規(guī)模宇宙數(shù)值模擬數(shù)據(jù)中分析和可視化的能力, 并且可以解決超大規(guī)模數(shù)據(jù)的傳輸和保存等數(shù)據(jù)處理瓶頸. 算法使用高斯混合模型對數(shù)據(jù)進(jìn)行表達(dá), 并利用小規(guī)模的模擬數(shù)據(jù)來構(gòu)建先驗(yàn)知識, 然后通過算法來建立從低分辨率到高分辨率數(shù)據(jù)的映射關(guān)系. 在數(shù)據(jù)可視化時(shí), 利用映射關(guān)系從低分辨率的數(shù)據(jù)中構(gòu)建高分辨率的數(shù)據(jù)以獲得高質(zhì)量的可視化效果.
He等[64]提出了一個(gè)基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的模擬替代模型InSituNet, 它可以為科學(xué)家快速探索和預(yù)估不同模擬參數(shù)下的模擬結(jié)果. InSituNet使用了生成式對抗網(wǎng)絡(luò)(GAN)[65]來處理模擬數(shù)據(jù), 神經(jīng)網(wǎng)絡(luò)利用多組科學(xué)模擬數(shù)據(jù)學(xué)習(xí)模擬參數(shù)和可視化參數(shù)到可視化結(jié)果的映射關(guān)系. 用戶可以使用訓(xùn)練后深度學(xué)習(xí)模型來仿真在不同的可視化參數(shù)和模擬參數(shù)下的可視化圖像, 這可以減少不必要的模擬并節(jié)約超算的計(jì)算資源. 此外, 通過燃燒模擬、海洋模擬和宇宙數(shù)值模擬的多組數(shù)據(jù)測試, InSituNet表現(xiàn)出了良好的效果. 圖10展示的為InSituNet可視化軟件界面, 用戶可以通過對左側(cè)參數(shù)視圖進(jìn)行參數(shù)調(diào)整, 右側(cè)可視化視圖會(huì)實(shí)時(shí)展示設(shè)定參數(shù)下對應(yīng)的可視化預(yù)測結(jié)果.
圖10 InSituNet可視化軟件界面[64]
總體來說, 機(jī)器學(xué)習(xí)算法作為數(shù)據(jù)分析和數(shù)據(jù)處理的手段, 支撐了可視化分析. 通過機(jī)器學(xué)習(xí)算法和可視化技術(shù)的結(jié)合, 極大提高數(shù)據(jù)分析效率.
超級計(jì)算機(jī)的發(fā)展使得數(shù)值模擬的規(guī)模會(huì)繼續(xù)增加, 特別是E級超級計(jì)算機(jī)的到來為科學(xué)數(shù)據(jù)的可視化分析帶來新的機(jī)遇和挑戰(zhàn), 可視化作為分析超大規(guī)模數(shù)值模擬數(shù)據(jù)最有效的手段在未來的作用也將越來越突出. 在數(shù)據(jù)分析需求的推動(dòng)下, 宇宙數(shù)值模擬可視化研究將會(huì)呈現(xiàn)新的發(fā)展趨勢.
深度學(xué)習(xí)相關(guān)的研究在許多領(lǐng)域已嶄露頭角, 特別是近些年來深度神經(jīng)網(wǎng)絡(luò)的發(fā)展和應(yīng)用, 極大的提高數(shù)據(jù)分析的能力與效率. 當(dāng)前已經(jīng)出現(xiàn)了一些將深度神經(jīng)網(wǎng)絡(luò)用于天文數(shù)據(jù)可視化分析的探索, 并取得非常好的效果. 未來在天文數(shù)據(jù)可視化中的應(yīng)用會(huì)越來越多, 例如可視化技術(shù)結(jié)合深度神經(jīng)網(wǎng)絡(luò)對天文數(shù)據(jù)中特征結(jié)構(gòu)的識別、追蹤、分類和預(yù)測等將會(huì)是一個(gè)重要的研究方向.
超大規(guī)模數(shù)據(jù)分析的需求使得原位可視化研究越來越迫切, 隨著E級計(jì)算的到來, 大規(guī)模數(shù)據(jù)分析的挑戰(zhàn)會(huì)日益突出. 原位可視化作為一種有效分析超大規(guī)模數(shù)據(jù)的手段已經(jīng)取得了多項(xiàng)研究成果, 但目前仍存在一些問題. 例如, 如何實(shí)現(xiàn)在原位可視化分析中基于原位的時(shí)序數(shù)據(jù)分析方法, 以及如何設(shè)計(jì)通用性的原位分析框架. 此外, 數(shù)據(jù)分析算法的發(fā)展(如數(shù)據(jù)挖掘算法、深度神經(jīng)網(wǎng)絡(luò)、并行數(shù)據(jù)處理等)也為原位可視化分析提供了新的數(shù)據(jù)分析思路.
在可視化交互方面, 目前還是多以鼠標(biāo)和鍵盤的方式進(jìn)行交互, 新型的交互設(shè)備將會(huì)為交互分析提供新的方法, 例如增強(qiáng)現(xiàn)實(shí)設(shè)備和虛擬現(xiàn)實(shí)設(shè)備的出現(xiàn)為科學(xué)數(shù)據(jù)的展示和交互提供了新的工具. 增強(qiáng)現(xiàn)實(shí)設(shè)備和虛擬現(xiàn)實(shí)設(shè)備提供的三維沉浸式環(huán)境適合展示科學(xué)模擬數(shù)據(jù), 特別是天文模擬中模擬對象本就是三維空間, 這種三維沉浸式環(huán)境可以更加真實(shí)的展示模擬對象的演化特征, 并且?guī)淼慕换シ绞教岣吡藬?shù)據(jù)分析的效率. 因此, 交互式設(shè)備的發(fā)展為科學(xué)數(shù)據(jù)分析中的交互方法帶來新的研究內(nèi)容.
本文首先介紹了宇宙數(shù)值模擬的發(fā)展和目前常用的數(shù)據(jù)繪制方法, 并在此基礎(chǔ)上根據(jù)近年來宇宙數(shù)值模擬可視化研究的內(nèi)容討論了當(dāng)前主要的可視化研究方向: 交互可視化、并行可視化、原位可視化、機(jī)器學(xué)習(xí)與可視化. 通過展示每個(gè)研究方向的具體案例, 歸納總結(jié)了當(dāng)前的研究狀態(tài), 并根據(jù)發(fā)展趨勢討論了下一步研究的方法和方向.
可視化作為最有效的數(shù)據(jù)分析手段, 在宇宙模擬數(shù)據(jù)分析中已經(jīng)取得了大量的研究成果, 但目前該領(lǐng)域仍存在許多需求和挑戰(zhàn), 仍需進(jìn)一步的研究和發(fā)展.