亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多核處理器的星空背景彌散效果實現(xiàn)算法

        2013-11-30 05:01:50程小華鄭昌文吳佳澤
        計算機工程與設計 2013年1期
        關鍵詞:單核線程恒星

        程小華,鄭昌文,吳佳澤

        (1.中國科學院軟件研究所 天基綜合信息系統(tǒng)重點實驗室,北京100190;2.中國科學院研究生院,北京100190)

        0 引 言

        模擬生成星空背景圖像是空間探測系統(tǒng)仿真的主要內容,其中彌散效果仿真占有重要的一席之地。文獻[1-2]描述了白光產(chǎn)生彌散效果的原理,并以此為基礎給出了星空背境圖像的白光彌散仿真算法;文獻[3]給出了一種不同波長的光在星敏感器成像系統(tǒng)上產(chǎn)生的彩色彌散斑實現(xiàn)算法;文獻[4]在研究英仙座星團成員星Li豐度彌散的基礎上,提出了不均勻紅化和恒星活動是引起大部分Li豐度彌散的原因,并在此基礎上給出了Li豐度彌散效果實現(xiàn)算法。

        現(xiàn)有的星空背景圖像主要采用基于單核處理器的星空背景圖像實現(xiàn)算法。隨著仿真應用范圍的不斷擴展,星空背景圖像實現(xiàn)算法的實時性要求越來越強,同時圖像分辨率等指標也不斷提升,傳統(tǒng)基于單核處理器的星空背景彌散效果實現(xiàn)算法的處理速度已經(jīng)不能滿足實際應用的要求。為了解決這一問題,本文提出一種基于多核處理器的星空背景圖像彌散效果實現(xiàn)算法。

        1 星空背景彌散效果原理與建模

        1.1 星空背景彌散效果原理

        本文研究星空背景的彌散效果增加仿真成像效果的真實性。在有限口徑透鏡成像中,物體上每點射出的光線經(jīng)過透鏡聚焦后在透鏡像平面上形成該點清晰的像點。但是如果像平面距離清晰像點一定距離,該點所成的像將會是一個中間亮邊緣模糊的光斑,這個光斑稱為彌散圈(如圖1所示)。

        圖1 彌散圈形成原理

        文獻[2]指出彌散圈直徑d隨著物距u的增大而增大,當u∞時,dv/(f×F)-f/F,其中v是點目標成像的像距,f是相機的焦距,F(xiàn)是光圈系數(shù)。在本文中,由于恒星距離遙遠,可以認為物距是無窮大。根據(jù)光學系統(tǒng)參數(shù)計算出彌散圈直徑約取值20個像素點,即彌散圓的半徑RADIUS值為10。

        1.2 星空背景彌散效果仿真建模

        恒星亮度利用視星等和絕對星等來度量。視星等是人們從地球上觀察星體亮度的度量,每級亮度之間像差2.512倍。因為不同恒星與地球的距離不同,所以視星等并不是反映恒星本身的發(fā)光亮度。絕對星等是假定把恒星放在距離地球10s差距(32.6光年)的地方測得的恒星亮度,它反映恒星真實發(fā)光本領。兩者轉換公式

        式中:M——絕對星等等級,m——視星等等級,d——恒星的距離化為秒差距數(shù)。在星空背景圖像仿真中,仿真圖像是灰度級數(shù)字圖像,需要將不同等級的星等轉換為不同灰度級的像素。根據(jù)星等定義,星等等級越低,該恒星的亮度越大,表現(xiàn)在灰度級圖像中的像素灰度值則越大;反之,星等等級越高,該恒星的亮度越小,對應像素灰度值越小。故星等與亮度的轉換公式可以建模成以下公式

        式中:A——比例因子,g——亮度值,m——視星等等級。彌散效果的建模主要采用二維Gauss模型和二維Laplace模型。它們都是中心對稱衰減函數(shù),但是Gauss模型使用范圍更廣,故采用Gauss模型建模。Gauss模型計算公式

        式中:μ(x,y)——位于CCD像平面中坐標為(X,Y)處的恒星對該坐標系下坐標為(x,y)的像素點的單位亮度貢獻值,δ表示彌散程度系數(shù)。在本實驗中,遵循上述公式只需計算在CCD像平面中(X,Y)處的恒星,對位于以(X,Y)為圓心以及半徑為RADIUS個像素的圓之內的像素點產(chǎn)生亮度貢獻。當(x,y)和(X,Y)之間的距離超過RADIUS個像素點時,則認為位于(X,Y)的恒星對位于(x,y)的像素的亮度貢獻值為0。最終,位于(X,Y)等級為m恒星對彌散圓形區(qū)域的任意一個像素點(x,y)的彌散權值由以下公式計算得來

        2 星空背景彌散效果算法實現(xiàn)

        2.1 基于單核的星空背景彌散效果實現(xiàn)算法

        仿真圖像是灰度級數(shù)字圖像,利用浮點型二維矩陣Pic存儲CCD像平面仿真圖像的像素值。每次計算亮度貢獻值時都需要計算式(4)會影響算法的執(zhí)行效率。在程序設計中,利用內存空間耗費換取較高時間效率是一種很常用的設計思想。在本算法的設計中,可以利用這種思想將彌散權值在預處理時計算出來并存儲在彌散權值查詢表中。彌散權值查詢表是一個三維數(shù)組,第一維度表征恒星亮度等級,第二維度和第三維度分別表征正方形區(qū)域U的長和寬,正方形區(qū)域U是彌散圓的外接正方形。經(jīng)過恒星檢索后,位于視場內的恒星結構體存儲在一個容器V中,恒星結構描述如下所示。

        struct SStar

        { int mag;

        //恒星的亮度等級

        int posW;

        //恒星在CCD像平面水平向的坐標

        int posH;

        //恒星在CCD像平面垂直方向的坐標

        };

        基于單核單核的星空背景彌散效實現(xiàn)算法具體所述如下:

        (1)初始化矩陣Pic;

        (2)遍歷容器V中所有恒星,如果遍歷完恒星就退出;否則繼續(xù)向下執(zhí)行;

        (3)對于每顆恒星,遍歷以(posW,posH)為中心的正方形區(qū)域U′,該正方形的邊長為2RADIUS;

        (4)針對位于區(qū)域U’內每個坐標點為(x,y)的像素:當(x,y)與(posW,posH)之間的距離小于或者等于RADIUS,利用式(4)計算恒星對該像素點的亮度貢獻值,并累和到Pic(x,y),轉到(2);否則不對該像素做任何操作,轉到(2)。

        假設在一次成像過程中,恒星數(shù)目是N,基于單核處理器星空背景彌散效果算法的時間復雜度是O(N×(2×RADIUS)(2×RADIUS))。對于串行程序設計,該算法是一種比較高效的算法。但是鑒于恒星背景成像實時性要求:生成每幅圖像耗費50ms以內。該算法的成像效率滿足不了需求,因而需要利用并行算法來加速成像。

        2.2 基于多核處理器的星空背景彌散效果實現(xiàn)算法

        依靠提高CPU主頻的方式來提升CPU運算速度已經(jīng)越來越受到電子工藝和器件功耗的制約,因而在同一個芯片上集成多個處理器核是現(xiàn)在提升CPU處理速度的一種大趨勢。多核CPU體系結構可以在底層機器指令級上實現(xiàn)并行,但是多核優(yōu)勢并沒有得到充分利用。設計多核并發(fā)程序時,創(chuàng)建多個線程并讓它們并發(fā)執(zhí)行更能提高多核CPU利用率。為了將多核處理器并行編程性能發(fā)揮到極致,需要從以下3個方面來提升多核CPU并行程序執(zhí)行的效率:①存儲帶寬;②片上緩存一致性;③負載均衡[5]。存儲帶寬由機器硬件配置所決定;文獻[6]提出一種面向多線程多道程序的加權共享Cache劃分框架:包括面向應用的效率監(jiān)控器和加權Cache劃分算法以提高系統(tǒng)的整體性能;另外,如何管理線程調度也是影響多線程運行性能的一個重要因素。在本文中,利用操作系統(tǒng)提供的API函數(shù)SetThreadAffinityMask()將每一個線程硬關聯(lián)到一個核上[7],可以避免線程在不同核間切換帶來時間開銷,并保證每個核的負載均衡。

        多核處理器的星空背景圖像實現(xiàn)算法主要分為兩個過程:計算子圖像和合成結果圖像。計算子圖像過程中恒星集合被均勻分配給每個核進行處理以期望每個核負載均衡[8];合成結果圖像過程中整幅圖像被劃分為N個子圖像,每個線程負責合成一個子圖像(CPU核數(shù)目為N)?;诙嗪颂幚砥鞯男强毡尘皬浬⑿Ч唧w算法如下所示:

        (1)主線程根據(jù)系統(tǒng)API函數(shù)GetSystemInfo()得到CPU核數(shù)目N;

        (2)主線程在創(chuàng)建N個線程并設置線程參數(shù)后開始等待;

        (3)每個子線程初始化各自生成的子圖像SubPic(x,y)=0;

        (4)遍歷該子線程處理的恒星子集合,如果遍歷完恒星子集合就等待;否則繼續(xù)執(zhí)行;

        (5)對于每顆恒星,遍歷以(posW,posH)為中心的正方形區(qū)域U’,該正方形的邊長為2RADIUS+1;

        (6)針對位于區(qū)域U’內每個坐標點為(x,y)的像素:當(x,y)與(posW,posH)的距離小于或者等于RADIUS,利用式(4)計算恒星對該像素點的亮度貢獻值,并累和到SubPic(x,y);否則不對該像素做任何操作;

        (7)轉到(4);

        (8)當所有子線程完成子圖像計算就停止等待繼續(xù)執(zhí)行,到此計算子圖像過程完成,開始進入合成結果圖像過程;

        (9)每個子線程遍歷分配給該線程的結果圖像塊的每個像素點,將N個子圖像的對應像素點值累和賦給結果圖像像素點;

        (10)當N個子線程都完成圖像合成時,主線程停止等待處理其它事務。

        計算子圖像過程耗費的時間隨著恒星數(shù)目的增多而增加;合成結果圖像過程耗費的時間則隨著圖像尺寸的增大而增加?;诙嗪颂幚砥鞯男强毡尘皬浬⑿Ч麑崿F(xiàn)算法在一定情況下可以滿足實時性要求,比如圖像尺寸是1024×1024以及恒星數(shù)目少于10 000顆,但是對于圖像尺寸是2048×2048恒星數(shù)目多于5 000顆就達不到實時性要求。

        3 實驗結果對比

        3.1 生成星空背景圖像所耗時間對比

        實驗采用4種不同型號的機器計算生成星空背景彌散效果仿真圖像所耗時間和加速比,它們的硬件配置和軟件環(huán)境見表1。

        表1 單核和多核算法運行環(huán)境

        表2列出恒星數(shù)目分別為5000顆、10000顆和50000顆以及1024×1024像素的圖像在上述4種機器上生成的星空背景圖像所消耗的時間,并計算在多核算法下相對單核算法的加速比,所耗的時間單位是ms。

        表2 多核算法生成1024×1024圖像時間與加速比

        3.2 星空背景圖像效果對比

        圖2是星空背景圖像仿真系統(tǒng)在模擬SKYNET 5c衛(wèi)星上的相機于31Oct 2009 01-48-09.000拍攝的星空背景圖像。該圖像包含1974顆恒星,其中星等大于或等于10的恒星占97.7%。從圖中可以看出,單核和多核算法生成的星空背景仿真圖像效果完全一樣。

        3.3 實驗結果分析

        圖2 相機在SKYNET 5c衛(wèi)星上于31Oct 2009 01-48-09.000拍攝的圖像

        綜合分析可以得出以下結論:①單核和多核算法生成的星空背景仿真圖像沒有區(qū)別;②程序中串行部分占有的比率非常小,而實驗中的CPU主頻也不完全相同,但多次實驗的加速比圍繞核數(shù)目波動,可以認為滿足阿姆爾達定律闡述的多核加速比與程序中串行程序所占比例以及CPU核數(shù)目的等式關系;③基于單核處理器的星空背景圖像實現(xiàn)算法是CPU密集型算法,在單核處理下速度很慢,但是耗用的內存空間不多;基于多核處理器的星空背景圖像實現(xiàn)算法將計算壓力分攤到多個核上并行計算,提高了生成圖像的速度,但在每個線程中必須分配兩幅圖像的內存空間分別用于保存中間圖像與合成圖像,因而,幾乎需要兩倍于單核算法的內存空間。

        4 結束語

        本文基于一種單核處理器的星空背景彌散效果實現(xiàn)算法,提出了基于多核處理器的并行實現(xiàn)算法。仿真分析表明,在單核實現(xiàn)算法中,單核CPU承受大量計算任務導致生成圖像效率不夠理想,通過利用多核算法可以將密集的計算任務分攤到多核并行處理,能夠實時生成仿真圖像,加速比大致滿足阿姆達爾定律[9]。在星空背景圖像仿真中,星芒效果是重要的研究方向。今后,在更進一步提升以上兩種算法效率的同時,將繼續(xù)研究基于多核處理器的星芒[10]效果實現(xiàn)算法。

        [1]YUAN Lin,LV Pin,ZHENG Changwen,et al.Research on simulation of imaging effects in star field[J].Journal of System Simulation,2009,21(8):2174-2178(in Chinese).[袁麟,呂品,鄭昌文,等.星空環(huán)境成像效果的仿真研究[J].系統(tǒng)仿真學報,2009,21(8):2174-2178.]

        [2]WANG Bin,DAI Shuling.Simulation of lens system imaging in virtual reality system[J].Journal of System Simulation,2007,19(6):1312-1315(in Chinese).[王檳,戴樹嶺.虛擬現(xiàn)實系統(tǒng)中的可見光成像仿真[J].系統(tǒng)仿真學報,2007,19(6):1312-1315.]

        [3]ZHOU Yan,ZHAO Jianke,CHANG Ming,et al.Measurement of dispersed spot for star sensor optics[J].Journal of Applied Optics,2009,30(3):454-456(in Chinese).[周艷,趙建科,昌明,等.星敏感器光學系統(tǒng)彌散斑測試方法[J].應用光學,2009,30(3):454-456.]

        [4]XIONG Darun,DENG Licai.A revision on lithium abundance dispersin in pleiades stars[J].ACTA Astronomica Sinica,2005,46(3):258-271(in Chinese).[熊大閏,鄧李才.重新審查昴星團成員星鋰豐度的彌散[J].天文學報,2005,46(3):258-271.]

        [5]CAO Zhebo,LI Qing.Research and design of parallel programming model on multi-core[J].Computer Engineering and Design,2010,31(13):2999-3002(in Chinese).[曹折波,李青.多核處理器并行編程模型的研究與設計[J].計算機工程與設計,2010,31(13):2999-3002.]

        [6]SUO Guang,YANG Xuejun.A weighted dynamic shared cache partitioning mechanism for multi-threaded multi-programmed workloads[J].Chinese Journal of Computers,2008,31(11):1939-1947(in Chinese).[所光,楊學軍.面向多線程多道程序的加權共享Cache的劃分[J].計算機學報,2008,31(11):1939-1947.]

        [7]Jeffrey Richter,Christophe Nasarre.Windows Via C/C++[M].GE Zi’ang,ZHOU Jing,MIAO Min,transl.Beijing:Tsinghua University Press,2008(in Chinese).[Jeffrey Richter,Christophe Nasarre.Windows核心編程[M].葛子昂,周靖,廖敏,譯.北京:清華大學出版社,2008.]

        [8]LI Shi,LI Naiqi,GUO Jiandong.Multi_threading wordload balance under multi-core architecture[J].Computer Applications.2008,28(2):138-140(in Chinese).[李實,劉乃琦,郭建東.多核架構下的多線程負載均衡[J].計算機應用,2008,28(2):138-140.]

        [9]GUO Naiwang,WU Chengrong.Network content parallel recovery system based on multi-core processor[J].Com-puter Engineering,2011,37(12):291-293(in Chinese).[郭乃網(wǎng),吳承榮.基于多核處理器的網(wǎng)絡內容并行還原系統(tǒng)[J].計算機工程,2011,37(12):291-293.]

        [10]YUAN Lin.Research on imaging effect simulation in space environment[D].Beijing:Institute of Software of Chinese Academy of Sciences,2009(in Chinese).[袁麟.空間環(huán)境下成像效果的仿真研究[D].北京:中國科學院軟件研究所,2009.]

        猜你喜歡
        單核線程恒星
        (18)刺殺恒星
        恒星的演化
        恒星不恒
        奧秘(2018年10期)2018-10-25 05:38:56
        淺談linux多線程協(xié)作
        一種簡單的分離、培養(yǎng)及鑒定小鼠外周血單核巨噬細胞方法的建立
        單核Ru(Ⅲ)-edta類配合物的合成﹑結構及性質研究
        苯并咪唑衍生的單核鈷(Ⅱ)和單核鎳(Ⅱ)配合物與DNA和蛋白質的結合反應性及細胞毒活性研究
        納米免疫磁珠富集單核增生李斯特菌
        食品科學(2013年23期)2013-03-11 18:30:07
        宇宙射線誕生于恒星爆炸
        世界科學(2013年5期)2013-03-11 18:09:29
        Linux線程實現(xiàn)技術研究
        在线中文字幕有码中文| 激情综合婷婷色五月蜜桃| 久久国产色av免费观看| 大学生被内谢粉嫩无套| 国产精品无码不卡在线播放| 国产一区二区三区护士| 国产69精品久久久久9999apgf| 永久免费av无码网站yy| 最新国产成人在线网站| 久久婷婷综合激情亚洲狠狠| 在线视频夫妻内射| 日韩无套内射视频6| 日韩免费高清视频网站| 国产精品高湖呻呤久久av| a级毛片免费观看在线播放| 亚洲乱妇老熟女爽到高潮的片 | 久久久亚洲精品无码| 亚洲av无码一区二区二三区下载 | 91精品国产综合成人| 亚洲乱码中文字幕综合| 久久精品国产亚洲av蜜点| 亚洲 自拍 另类小说综合图区| 久久99精品免费一区二区| 亚洲女同恋中文一区二区| 老熟妇乱子交视频一区| 亚洲美女又黄又爽在线观看| 免费 无码 国产精品| 少妇人妻精品久久888| 国产精品久线在线观看| 亚洲色成人网站www观看入口| 一个人的视频免费播放在线观看| av大全亚洲一区二区三区| 樱花草在线播放免费中文| www.日本一区| 日本女优激情四射中文字幕 | 91久久精品美女高潮喷白浆| 18精品久久久无码午夜福利| 国产nv精品你懂得| 手机在线免费av网址| 国产精品久久久久久久久久红粉| 国产无遮挡又黄又爽又色|