任 含,鄧軍勇
(西安郵電大學(xué) 電子工程學(xué)院 陜西 西安 710121)
在當(dāng)前信息化時(shí)代,隨著物聯(lián)網(wǎng)和云計(jì)算的日益發(fā)展,生物醫(yī)學(xué)、網(wǎng)絡(luò)社交、網(wǎng)絡(luò)信息追蹤等許多領(lǐng)域內(nèi)的數(shù)據(jù)信息量呈指數(shù)增長(zhǎng),并且越來(lái)越多的信息被連接起來(lái),以圖形形式存儲(chǔ)在各個(gè)領(lǐng)域[1-2]。由于這些數(shù)據(jù)信息規(guī)模和計(jì)算的日益復(fù)雜化,給現(xiàn)代圖處理系統(tǒng)提出了巨大的挑戰(zhàn)。圖計(jì)算是處理各種數(shù)據(jù)信息的常用手段之一[3-5],不同壓縮格式的數(shù)據(jù)信息會(huì)對(duì)圖計(jì)算問(wèn)題產(chǎn)生不同的影響,如何選擇合適的圖數(shù)據(jù)壓縮格式以達(dá)到最佳性能需求是一個(gè)不可避免的問(wèn)題。
圖可以表示不同實(shí)體間復(fù)雜的依賴(lài)關(guān)系[6-7]。圖數(shù)據(jù)可以由不同的壓縮格式來(lái)表示,不同的圖數(shù)據(jù)壓縮格式有不同的表示和復(fù)雜度。當(dāng)前很多研究采用不同的圖算法解決方案來(lái)提高圖數(shù)據(jù)處理時(shí)的性能和效率,但是由于圖算法的性能效率由不同圖數(shù)據(jù)壓縮格式中邊和頂點(diǎn)的處理來(lái)確定,在執(zhí)行過(guò)程中,程序的行為不僅會(huì)隨時(shí)間變化而變化,更重要的是不同的圖數(shù)據(jù)壓縮格式復(fù)雜度會(huì)對(duì)圖算法處理產(chǎn)生不同的影響,因此有效地應(yīng)用圖算法是一項(xiàng)艱巨的任務(wù)[8-9]。所以在圖算法中如何快速選擇合適的數(shù)據(jù)壓縮格式以達(dá)到預(yù)期的最佳性能是本文的一個(gè)重要研究問(wèn)題[10]。本文針對(duì)BFS算法處理不同壓縮格式圖數(shù)據(jù)時(shí)的性能指標(biāo)進(jìn)行特性化分析,為不同條件下應(yīng)該選擇不同壓縮格式的數(shù)據(jù)集提供了依據(jù)。
大孔樹(shù)脂是一種人工合成的具有多孔立體結(jié)構(gòu)的聚合物,對(duì)一些芳香族化合物有很強(qiáng)的吸附能力,已廣泛應(yīng)用于很多活性成分如黃酮、內(nèi)酯、生物堿等大分子化合物的提取分離[8]。對(duì)于紅薯葉黃酮的研究大多集中在有機(jī)溶劑提取法[1]、超聲波輔助提取法[7]、酶提取法等[5]方面,有關(guān)大孔吸附樹(shù)脂對(duì)于紅薯葉黃酮的吸附分離研究報(bào)道較少,尤其是缺乏其吸附、解吸特性的研究,因此,本試驗(yàn)研究了大孔樹(shù)脂對(duì)紅薯葉中總黃酮的吸附與解吸特性,優(yōu)選出適合紅薯葉總黃酮提取的樹(shù)脂材料并確定了最佳吸附及解吸參數(shù),以期為紅薯葉的綜合開(kāi)發(fā)利用提供科學(xué)依據(jù),為紅薯葉黃酮的工業(yè)化生產(chǎn)提供理論參考。
圖計(jì)算中有5種數(shù)據(jù)格式:雙壓縮稀疏列(doubly compressed sparse column,DCSC)[11-13];壓縮稀疏列(compressed sparse column,CSC)[14];壓縮稀疏行(compressed sparse row,CSR)[15-16];坐標(biāo)表示(coordinate,COO)[17];獨(dú)立稀疏列壓縮(compressed sparse column independently,CSCI)[18-19]。將這5種數(shù)據(jù)壓縮格式作為遍歷類(lèi)應(yīng)用廣度優(yōu)先搜索(breadth first search,BFS)算法的輸入數(shù)據(jù)格式進(jìn)行運(yùn)行性能事件統(tǒng)計(jì),分析基于BFS算法處理不同壓縮格式時(shí)的性能指標(biāo),性能指標(biāo)參數(shù)包括每周期指令數(shù)、數(shù)據(jù)移動(dòng)量、功耗、各級(jí)cache缺失率以及執(zhí)行時(shí)間等,不同數(shù)據(jù)壓縮格式在BFS算法處理中提供了不同的性能指標(biāo)。
廣度優(yōu)先算法是一種常見(jiàn)的圖搜索算法,以一種系統(tǒng)的方式搜索圖數(shù)據(jù)中的所有頂點(diǎn),計(jì)算從源點(diǎn)到所有其余頂點(diǎn)所需要遍歷的最小邊數(shù)值,特別是在求解最短路徑或者最短步數(shù)等問(wèn)題上有很多的應(yīng)用[20]。BFS算法的基本思想是給每個(gè)活動(dòng)頂點(diǎn)分配一個(gè)深度depth,此深度代表從根節(jié)點(diǎn)s到其他所有頂點(diǎn)所需要遍歷的最小邊數(shù)。初始化時(shí),根節(jié)點(diǎn)的深度設(shè)置為0,并標(biāo)記為活動(dòng)狀態(tài),將其他活動(dòng)頂點(diǎn)的深度設(shè)置為無(wú)窮遠(yuǎn),在移動(dòng)到下一級(jí)相鄰頂點(diǎn)之前首先對(duì)相鄰頂點(diǎn)進(jìn)行探索,在t次迭代后每個(gè)頂點(diǎn)與活動(dòng)頂點(diǎn)的深度公式為[21]depth(v)=min(depth(v),t+1)。若更新導(dǎo)致深度發(fā)生變化,則頂點(diǎn)到下一次迭代中變?yōu)榛顒?dòng)狀態(tài)。BFS算法偽代碼如下。
輸入:Graph G(V, E),源頂點(diǎn)s。
輸出:dis[n],從源頂點(diǎn)s到其他各個(gè)頂點(diǎn)的最短路徑長(zhǎng)度。
For all n∈V do
為了指導(dǎo)地勘單位踐行綠色理念,全面推進(jìn)我國(guó)綠色勘查工作,不久前中國(guó)礦業(yè)聯(lián)合會(huì)正式發(fā)布了我國(guó)綠色勘查第一個(gè)團(tuán)體標(biāo)準(zhǔn)——《綠色勘查指南》(T/CMAS 00012018)。
d[v]=min(d[v],le);
(5)各級(jí)cache的缺失率。MPKI(misses per kilo instructions)是一個(gè)用來(lái)分析cache性能的通用指標(biāo),造成cache缺失的因素有數(shù)據(jù)的大小、cache的映射策略等,因此很難從理論上預(yù)估cache的缺失率而導(dǎo)致的時(shí)間損耗。利用perf分析工具可以更真實(shí)地觀(guān)察到cache缺失率的情況。用cache_miss表示cache丟失率,instructions表示使用指令數(shù),各級(jí)cache的缺失率計(jì)算公式為
動(dòng)態(tài)心電圖檢查采用美國(guó)BMS動(dòng)態(tài)心電分析系統(tǒng),無(wú)癥狀性心肌缺血的診斷標(biāo)準(zhǔn)為:①ST波段呈水平型或下斜型的下移,下移距離達(dá)到0.1 m V;②ST波
state[n]=0; ∥頂點(diǎn)n的活動(dòng)狀態(tài)
state[s]=1; ∥源頂點(diǎn)s的活動(dòng)狀態(tài)
二元論則強(qiáng)調(diào)對(duì)于當(dāng)?shù)氐拿褡逄厣臀幕瘋鹘y(tǒng)的挖掘,在資源開(kāi)發(fā)與產(chǎn)品設(shè)計(jì)過(guò)程中堅(jiān)持文脈原則,以實(shí)現(xiàn)對(duì)于原生濕地生態(tài)資源的充分利用(實(shí)踐中也只有在生態(tài)旅游資源開(kāi)發(fā)中融入地域文化因素,才能夠真正實(shí)現(xiàn)資源的科學(xué)和充分利用)。因此從長(zhǎng)遠(yuǎn)計(jì),加強(qiáng)對(duì)“黃河口”文化的系列研究,深入挖掘“黃河口”文化內(nèi)涵,實(shí)現(xiàn)原生濕地生態(tài)資源充分合理利用,是黃河口生態(tài)旅游目的地發(fā)展為國(guó)際知名旅游目的地的必由之路和發(fā)展方向。
queue<—s; ∥源頂點(diǎn)s入隊(duì)
while(queue !=φ)do
(3)計(jì)算量。在程序執(zhí)行中,對(duì)于同一個(gè)算法處理同一個(gè)數(shù)據(jù)集的不同壓縮格式時(shí),計(jì)算量也是影響性能指標(biāo)的重要因素之一。不同壓縮格式下,數(shù)據(jù)集處理時(shí)計(jì)算量的公式為
queue<—v;
中國(guó)石油大學(xué)勝利學(xué)院是由國(guó)家教育部批準(zhǔn)設(shè)立,教育部直屬高校中國(guó)石油大學(xué)(華東)和國(guó)家特大型企業(yè)勝利石油管理局合作舉辦的按新的辦學(xué)模式和運(yùn)行機(jī)制運(yùn)作的全日制普通本科高等院校,是山東省首家由重點(diǎn)大學(xué)申辦的規(guī)范化獨(dú)立學(xué)院。
state[v]=1;
d[s]=0; ∥源頂點(diǎn)s的距離
le=le+1:
s← v。
使用手動(dòng)對(duì)焦模式拍攝,故意不讓主體清晰銳利,旋轉(zhuǎn)對(duì)焦環(huán)讓畫(huà)面中的一切都變得模糊,能夠在明亮背景前特別出效果。
1.體驗(yàn)式教育實(shí)踐課程體系設(shè)計(jì)思路。體驗(yàn)式教育實(shí)踐模式的構(gòu)建,對(duì)人才培養(yǎng)方案中課程設(shè)置的種類(lèi)、數(shù)量、比例等都有一定的要求。課程設(shè)置應(yīng)該遵循理論學(xué)習(xí)與教學(xué)實(shí)踐相結(jié)合的原則,理念上強(qiáng)調(diào)“一體化”,達(dá)到“夯實(shí)基礎(chǔ)課程、整合專(zhuān)業(yè)課程、強(qiáng)化教育實(shí)踐課程”的目標(biāo),突出課程設(shè)計(jì)的師范性、實(shí)踐性。比如專(zhuān)業(yè)必修理論課程應(yīng)適當(dāng)降低難度,增設(shè)興趣選修課程,拓寬知識(shí)領(lǐng)域;教育實(shí)踐課程強(qiáng)化專(zhuān)業(yè)技能訓(xùn)練,重視實(shí)踐體驗(yàn),實(shí)現(xiàn)特長(zhǎng)發(fā)展。一體化的教育過(guò)程中,專(zhuān)業(yè)素養(yǎng)培養(yǎng)與教學(xué)技能訓(xùn)練既相對(duì)分離又相互滲透,最終實(shí)現(xiàn)人才培養(yǎng)的要求。
(1)DCSC壓縮格式是CSC壓縮稀疏列的拓展。該壓縮格式可以有效存儲(chǔ)大規(guī)模稀疏矩陣[7]。主要是使用JC、CP、JR、VAL4個(gè)數(shù)組來(lái)存儲(chǔ)數(shù)據(jù)[12-13]。將圖1所示的原始矩陣用DCSC壓縮格式表示,表示結(jié)果如圖2所示。其中:JC是至少有一個(gè)非零元素列的列索引;CP是列指針,可以訪(fǎng)問(wèn)非零元素的列索引;JR是非零元素的列索引中的非零元素相對(duì)應(yīng)的行索引;VAL是列索引和行索引對(duì)應(yīng)的數(shù)值。
圖1 原始矩陣
圖2 原始矩陣的DCSC壓縮格式
(2)COO壓縮格式按坐標(biāo)表示每一個(gè)非零元素,可以直接定位。用3個(gè)數(shù)組JR、JC、VAL分別表示非零元素所在的行號(hào)、列號(hào)以及非零元素的數(shù)值[17]。原始矩陣使用COO格式表示如圖3所示。
圖3 原始矩陣的COO壓縮格式
(3)CSC壓縮格式主要是使用JR、CP、VAL3個(gè)數(shù)組來(lái)存儲(chǔ)數(shù)據(jù)[14]。原始數(shù)據(jù)對(duì)應(yīng)的CSC壓縮格式表示如圖4所示,其中:JR是非零元素列中的非零元素所對(duì)應(yīng)的行索引;CP是列偏移值,表示某一非零列的第1個(gè)非零元素在當(dāng)前列之前的非零元素的個(gè)數(shù);VAL是行索引對(duì)應(yīng)的數(shù)值。
圖4 原始矩陣的CSC壓縮格式
(4)CSR壓縮格式按行壓縮,與CSC相似,主要是使用CP、JC、VAL3個(gè)數(shù)組來(lái)存儲(chǔ)數(shù)據(jù)[15-16]。原始數(shù)據(jù)對(duì)應(yīng)的CSR壓縮格式表示如圖5所示,其中:JR是至少有一個(gè)非零元素行中的非零元素所對(duì)應(yīng)的列索引;CP是行偏移值,表示某一非零行的第1個(gè)非零元素在當(dāng)前行之前的非零元素的個(gè)數(shù);VAL是列索引對(duì)應(yīng)的非零元素值。
d[n]=∞; ∥頂點(diǎn)n的距離
圖5 原始矩陣的CSR壓縮格式
(5)CSCI壓縮格式中每列獨(dú)立壓縮后的圖數(shù)據(jù)包括列標(biāo)識(shí)ioc、索引index和數(shù)值value,由列標(biāo)識(shí)ioc指示index其余位與數(shù)值value的含義。當(dāng)ioc為“1”,index表示為列索引,value表示鄰接稀疏矩陣中該列的非零元素?cái)?shù)目;當(dāng)ioc為“0”,index表示為當(dāng)前列的非零元素所在的行號(hào),value表示稀疏鄰接矩陣中對(duì)應(yīng)的非零元素值[18-19]?;趫D1原始矩陣,CSCI的壓縮結(jié)果為(1,0,2),(0,2,2),(0,4,3),(1,1,2),(0,3,3),以此類(lèi)推。
本次實(shí)驗(yàn)采用的分析工具是基于Linux系統(tǒng)的虛擬機(jī)中自帶的系統(tǒng)性能分析工具perf[22],通過(guò)perf分析工具,應(yīng)用程序可以利用pmu、tracepoint和內(nèi)核中的特殊計(jì)數(shù)器來(lái)進(jìn)行性能分析統(tǒng)計(jì),不僅可以分析指定應(yīng)用程序的性能問(wèn)題,也可以分析內(nèi)核的性能問(wèn)題。
由于圖書(shū)最終的購(gòu)入分類(lèi)是按照中圖法的專(zhuān)業(yè)分類(lèi)法對(duì)圖書(shū)進(jìn)行歸類(lèi),因此本文進(jìn)一步分析了不同學(xué)科類(lèi)型中借閱量的占比變化趨勢(shì),從年份維度和月份維度上分別對(duì)該指標(biāo)進(jìn)行統(tǒng)計(jì)分析。
本文所使用的實(shí)驗(yàn)數(shù)據(jù)選自斯坦福大學(xué)的SNAP(Stanford Network Analysis Project)數(shù)據(jù)集中Collaboration net-works的ca-AstroPh(http:∥snap.stanford.edu/data/ca-Astro-Ph.html),以及Social networks的soc-Epinions1(http:∥snap.stanford.edu/data/soc-Epini-ons1.html),數(shù)據(jù)的頂點(diǎn)具體信息包括數(shù)據(jù)集的頂點(diǎn)個(gè)數(shù)、邊數(shù)以及內(nèi)存占用情況如表1所示。
表1 實(shí)驗(yàn)所選的數(shù)據(jù)集
性能事件統(tǒng)計(jì)的運(yùn)行平臺(tái)選為4核8線(xiàn)程Intel(R)Core(TM)i5-7200U CPU,該CPU具有6 MB的三級(jí)緩存、2.50 GHz時(shí)鐘頻率、4 GB內(nèi)存,并運(yùn)行l(wèi)inux內(nèi)核4.15.0系統(tǒng),perf性能分析工具,所有代碼均使用Dev-cpp.5.11版本進(jìn)行編譯和運(yùn)行。
分析5種壓縮格式的數(shù)據(jù)對(duì)BFS算法的影響。分析的性能和指標(biāo)參數(shù)如下:執(zhí)行時(shí)間(exec.time)、數(shù)據(jù)移動(dòng)量(data.mv)、計(jì)算量(compute)、每周期指令數(shù)(IPC)、各級(jí)cache的缺失率(MPKI)、功耗(energy)等指標(biāo)進(jìn)行分析比較。
(1)執(zhí)行時(shí)間。任務(wù)的執(zhí)行時(shí)間是從開(kāi)始執(zhí)行到完成目標(biāo)任務(wù)所占用的時(shí)間,單位為ms。不同壓縮格式中每條邊的執(zhí)行時(shí)間計(jì)算公式為
exec.time=tota_exec_time/edges。
(2)數(shù)據(jù)移動(dòng)量。受延遲和帶寬的限制,同一數(shù)據(jù)集的不同壓縮格式下數(shù)據(jù)移動(dòng)量是不同的,分析程序性能指標(biāo)時(shí)數(shù)據(jù)移動(dòng)量也是一個(gè)重要指標(biāo),本文中數(shù)據(jù)移動(dòng)量表示不同壓縮格式下每條邊的數(shù)據(jù)移動(dòng)量。計(jì)算公式是
data.mv=(load+store)/edges。
for(state[v]=0&&v是s的鄰近點(diǎn))do
compute=(instructions-load-store-branch)/Nedges。
(4)每周期指令數(shù)。每周期指令數(shù)也稱(chēng)IPC(instruction per clock),是一個(gè)基本性能指標(biāo),是平均每一時(shí)鐘周期所執(zhí)行的指令數(shù),計(jì)算公式為
IPC=instructions/cycles。
le=1;
突然間,“奉”的一聲,很短促,很古怪。與之同步,幾乎分毫不差,整個(gè)店堂里火光大盛。峋四爺成了一個(gè)火人,一個(gè)手舞足蹈、尖聲銳叫的火人!
MPKI=(cache_misses*1 000)/instructions。
(6)功耗。功耗是圖算法處理數(shù)據(jù)時(shí)的重要衡量性能的指標(biāo)之一,功耗越小越有利于圖計(jì)算的發(fā)展。功耗的計(jì)算公式為
Energy=(power/energy-all)/edges。
(7)皮爾森相關(guān)系數(shù)(PCC)。皮爾森相關(guān)系數(shù)(Pearson correlation coefficient,PCC)是一種線(xiàn)性相關(guān)系數(shù),是用來(lái)反映兩個(gè)變量線(xiàn)性相關(guān)程度的統(tǒng)計(jì)量[23]。相關(guān)系數(shù)用r表示,描述的是兩個(gè)變量間線(xiàn)性相關(guān)強(qiáng)弱的程度,其中n為樣本量,r的絕對(duì)值越大表明相關(guān)性越強(qiáng)。皮爾森相關(guān)系數(shù)的計(jì)算公式為
兩種不同的數(shù)據(jù)集在不同壓縮格式下的內(nèi)存占用情況如圖6所示。根據(jù)圖中統(tǒng)計(jì)結(jié)果:COO壓縮格式占用的內(nèi)存最大,這是因?yàn)镃OO壓縮格式是與原始數(shù)據(jù)最相近的壓縮格式,將原始數(shù)據(jù)的所有邊和頂點(diǎn)的信息以最直接的坐標(biāo)方式,利用3個(gè)數(shù)組輸出,對(duì)數(shù)據(jù)的壓縮程度最小,占用內(nèi)存較大;DCSC壓縮格式占用的內(nèi)存最小,對(duì)數(shù)據(jù)的壓縮程度最大,這是因?yàn)镈CSC輸出4個(gè)壓縮數(shù)組,分別是壓縮后的非零列、非零列的偏移值、非零列元素值對(duì)應(yīng)的非零行以及非零元素。若是原始數(shù)據(jù)足夠稀疏,則經(jīng)過(guò)DCSC壓縮格式輸出后的非零列及非零列偏移兩個(gè)數(shù)組都會(huì)進(jìn)行很大程度的壓縮,因此DCSC壓縮格式輸出數(shù)據(jù)占用的內(nèi)存比其他4種壓縮格式會(huì)更小;CSC和CSR兩種壓縮格式的輸出均是包含偏移值、列/行索引值和權(quán)值的3個(gè)數(shù)組,當(dāng)稀疏矩陣中的行數(shù)和列數(shù)相近時(shí),兩種壓縮格式輸出的數(shù)據(jù)占用的內(nèi)存大小也趨于相近,所以CSR與CSC兩種壓縮結(jié)果較接近,從圖中可以看出CSR與CSC兩種壓縮格式占用內(nèi)存相對(duì)較小,對(duì)數(shù)據(jù)的壓縮程度較大;CSCI壓縮格式保證每列獨(dú)立壓縮后的數(shù)據(jù),包括列號(hào)及該列的非零元素個(gè)數(shù)、非零元素所在的行號(hào)以及非零元素的屬性值對(duì)應(yīng)存儲(chǔ)全部輸出,占用內(nèi)存空間比DCSC、CSC和CSR大。
保持涂料配方體系中聚氨酯丙烯酸酯(B-286c)和三丙二醇二丙烯酸酯(TPGDA)的質(zhì)量比不變,逐步增加2-甲基-1-(4-甲硫基苯基)-2-嗎啉-1-丙酮(907)的用量,配制出一系列紫外光固化涂料。2-甲基-1-(4-甲硫基苯基)-2-嗎啉-1-丙酮(907)對(duì)涂料固化膜柔韌性、耐沖擊性和硬度的影響見(jiàn)表3。
圖6 兩種數(shù)據(jù)集五種壓縮格式下的內(nèi)存占用情況(歸一化到COO格式)
如圖7所示,本文通過(guò)雷達(dá)圖的形式顯示了COO、CSC、CSR、DCSC以及CSCI 5種不同壓縮格式在BFS算法處理中的性能特性并對(duì)其進(jìn)行分析。雷達(dá)圖中性能參數(shù)包括每個(gè)壓縮格式實(shí)現(xiàn)的ipc、數(shù)據(jù)移動(dòng)量、執(zhí)行時(shí)間、功耗以及L1、L2和L3三級(jí)數(shù)據(jù)緩存MPKI。其中,每個(gè)指標(biāo)中度量最大的值為比較標(biāo)準(zhǔn)并視為100%。
圖7 兩種數(shù)據(jù)集下五種壓縮格式的性能指標(biāo)
(1)執(zhí)行時(shí)間。兩種數(shù)據(jù)集在不同的壓縮格式下每條邊的執(zhí)行時(shí)間如表2所示??梢钥闯鯟SCI格式的數(shù)據(jù)邊的執(zhí)行時(shí)間最長(zhǎng),而CSC與CSR壓縮格式的數(shù)據(jù)執(zhí)行的時(shí)間最為接近,兩者的邊的執(zhí)行時(shí)間最短。在數(shù)據(jù)量足夠大并且數(shù)據(jù)足夠稀疏的時(shí)候,DCSC壓縮格式的執(zhí)行時(shí)間會(huì)越來(lái)越短;在數(shù)據(jù)量較小的時(shí)候,DCSC對(duì)數(shù)據(jù)的壓縮程度不是很大,因此DCSC的執(zhí)行時(shí)間較長(zhǎng)。對(duì)于遍歷類(lèi)BFS應(yīng)用而言,在考慮選擇邊的執(zhí)行時(shí)間時(shí),優(yōu)先選擇CSC壓縮格式或者CSR壓縮格式作為數(shù)據(jù)集的輸入格式。
采用1982-2010年時(shí)間序列數(shù)據(jù),分別選用第一產(chǎn)業(yè)生產(chǎn)總值、農(nóng)村固定資產(chǎn)投資、第一產(chǎn)業(yè)從業(yè)人數(shù)和農(nóng)作物總播種面積,作為上述生產(chǎn)函數(shù)中的農(nóng)業(yè)生產(chǎn)總值(Y)、資本投入量(K)、勞動(dòng)投入量(L)和農(nóng)業(yè)土地投入量(M)。其中,第一產(chǎn)業(yè)生產(chǎn)總值以1982年不變價(jià)格計(jì)算,剔除物價(jià)因素的影響。所有數(shù)據(jù)均來(lái)自《安徽統(tǒng)計(jì)年鑒》及《中國(guó)統(tǒng)計(jì)年鑒》中的相關(guān)統(tǒng)計(jì)指標(biāo)(表1)。
表2 兩種數(shù)據(jù)集在不同壓縮格式下的執(zhí)行時(shí)間
(2)數(shù)據(jù)移動(dòng)量。兩種數(shù)據(jù)集在不同壓縮格式下每條邊的數(shù)據(jù)移動(dòng)量如表3所示。對(duì)比5種不同的壓縮格式,可以發(fā)現(xiàn)CSR壓縮格式的數(shù)據(jù)移動(dòng)量小于其他4種格式,CSC 和CSR的數(shù)據(jù)移動(dòng)量接近,數(shù)據(jù)移動(dòng)量均偏小。COO、CSCI和DCSC 3種壓縮格式的數(shù)據(jù)移動(dòng)量相對(duì)較大,CSCI壓縮格式的數(shù)據(jù)移動(dòng)量最大。因此對(duì)于遍歷類(lèi)應(yīng)用而言,在考慮邊的數(shù)據(jù)移動(dòng)量時(shí),應(yīng)選擇CSR壓縮格式作為數(shù)據(jù)集的輸入格式。
表3 兩種數(shù)據(jù)集在不同壓縮格式下每條邊的數(shù)據(jù)移動(dòng)量
(3)計(jì)算量。表4列出了兩種數(shù)據(jù)集在不同壓縮格式下每條邊的計(jì)算量??梢钥闯鯟SR與CSC壓縮格式的計(jì)算量相對(duì)較小,其中CSR壓縮格式的計(jì)算量最小,而COO與CSCI壓縮格式的計(jì)算操作相對(duì)較多,會(huì)成為BFS算法處理時(shí)的性能阻礙。因此在優(yōu)先考慮計(jì)算量的情況下,遍歷類(lèi)應(yīng)用BFS應(yīng)優(yōu)先選擇CSR壓縮格式作為數(shù)據(jù)集的輸入結(jié)構(gòu),可達(dá)到性能最優(yōu)。
表4 兩種數(shù)據(jù)集在不同壓縮格式下每條邊的計(jì)算量
(4)各級(jí)cache的缺失率。兩種數(shù)據(jù)集在5種壓縮格式的L1、L2和L3級(jí)cacheMPKI分別如表5、表6和表7所示。可以看出,在所有壓縮格式下,L1級(jí)cacheMPKI整體大于L2級(jí)cacheMPKI和L3級(jí)cacheMPKI;L2級(jí)cacheMPKI平均小于2,L3級(jí)cacheMPKI均小于1,綜合各級(jí)cacheMPKI結(jié)果對(duì)比分析,可以發(fā)現(xiàn)COO壓縮格式的缺失率最高,DCSC壓縮格式具有更小的各級(jí)cacheMPKI,缺失率低可有效減少時(shí)間損耗,因此針對(duì)有效提高遍歷類(lèi)應(yīng)用的緩存命中率可以?xún)?yōu)先選擇DCSC壓縮格式。
表5 兩種數(shù)據(jù)集在不同壓縮格式下L1級(jí)cache MPKI
表6 兩種數(shù)據(jù)集在五種壓縮格式下L2級(jí)cache MPKI
表7 兩種數(shù)據(jù)集在五種壓縮格式下L3級(jí)cache MPKI
(5)功耗。表8所示的是5種壓縮格式的兩種數(shù)據(jù)集在遍歷類(lèi)算法BFS處理時(shí)每條邊的功耗。可以看出CSR和CSC壓縮格式的數(shù)據(jù)功耗相對(duì)較小,其中CSR功耗最小,CSR壓縮格式輸出3組數(shù)據(jù),輸出了行偏移值、每一行非零元素對(duì)應(yīng)的列號(hào)以及非零元素的屬性值,所以在BFS算法搜索時(shí)可以快速找到需要搜索定位的活動(dòng)頂點(diǎn)與活動(dòng)頂點(diǎn)連接的點(diǎn),有效降低了功耗。CSCI壓縮格式消耗的能量最大。因此對(duì)于遍歷類(lèi)應(yīng)用BFS而言,減少功耗可優(yōu)先選擇CSR壓縮格式。
很快就到了檢驗(yàn)他們的時(shí)候。我和他們商定,月考之后,解憂(yōu)雜貨店就要開(kāi)展第一次活動(dòng)。我向他們保證,家委會(huì)會(huì)提供足夠的物力、財(cái)力、人力,讓他們放心大膽地折騰。他們滿(mǎn)心歡喜,個(gè)個(gè)摩拳擦掌,恨不得馬上一試身手。
表8 兩種數(shù)據(jù)集在不同壓縮格式下每條邊的功耗
(6)PCC分析。本文將得到的不同性能指標(biāo)數(shù)據(jù)繼續(xù)進(jìn)行相關(guān)系數(shù)(PCC)的相關(guān)性分析,分別對(duì)性能相關(guān)與能量相關(guān)進(jìn)行具體分析,如表9所示。相關(guān)系數(shù)的取值一般在-1到1之間,若r>0表示正相關(guān),即一個(gè)變量隨著另一個(gè)變量的變化而同方向變化;若r<0則表示負(fù)相關(guān),即一個(gè)變量隨另一個(gè)變量從相反方向變化,r的絕對(duì)值越大表示相關(guān)性越強(qiáng)。可以看到,各級(jí)緩存缺失率總體上與性能和功耗呈現(xiàn)正相關(guān),當(dāng)性能和能量加強(qiáng)時(shí)缺失率也加強(qiáng),并且IPC、exec.time、data.mv、compute、energy指標(biāo)與性能和能量密切相關(guān)。
表9 性能和能量與不同指標(biāo)的相關(guān)性
本文通過(guò)對(duì)兩種數(shù)據(jù)集的五種壓縮格式(COO、CSC、CSR、DCSC、CSCI)在BFS算法上的性能分析發(fā)現(xiàn):處理5種不同壓縮格式時(shí),應(yīng)當(dāng)優(yōu)先選擇CSR和CSC壓縮格式,能有效減少算法的執(zhí)行時(shí)間、計(jì)算量、數(shù)據(jù)移動(dòng)量以及有效減少功耗;當(dāng)考慮數(shù)據(jù)結(jié)構(gòu)算法的應(yīng)用緩存命中率和內(nèi)存容量時(shí),可優(yōu)先選擇DCSC壓縮格式作為BFS的輸入格式,可以有效減少內(nèi)存使用情況并提高命中緩存率。在進(jìn)行遍歷類(lèi)應(yīng)用算法時(shí),可以根據(jù)不同的應(yīng)用環(huán)境、性能需求和軟硬件條件選擇不同的壓縮格式,進(jìn)而可以有效地應(yīng)對(duì)實(shí)際需求以提高圖計(jì)算加速器的性能。