面向申威眾核處理器的LZMA并行算法設(shè)計(jì)與優(yōu)化
發(fā)布時(shí)間:2021-10-08 17:28
隨著高性能計(jì)算和科學(xué)計(jì)算應(yīng)用的發(fā)展,高性能計(jì)算集群系統(tǒng)傳輸、存儲(chǔ)和處理的數(shù)據(jù)規(guī)模呈現(xiàn)爆炸式增長(zhǎng)。對(duì)大規(guī)模數(shù)據(jù)進(jìn)行高效的壓縮,減少數(shù)據(jù)存儲(chǔ)所需空間和傳輸所需的通信帶寬,是提升高性能計(jì)算集群系統(tǒng)性能的關(guān)鍵之一。無損壓縮算法中,LZMA算法具有較高的壓縮率,但串行版本的LZMA算法壓縮速率很慢。采用多核架構(gòu)的處理器對(duì)無損壓縮算法進(jìn)行并行化,是提升壓縮速率的一個(gè)研究方向。設(shè)計(jì)并實(shí)現(xiàn)了面向申威26010異構(gòu)眾核處理器并行化LZMA算法。結(jié)合申威異構(gòu)眾核處理器的特點(diǎn),對(duì)LZMA算法存儲(chǔ)空間需求、訪存特性、熱點(diǎn)函數(shù)等進(jìn)行分析,基于Athread接口實(shí)現(xiàn)LZMA算法從核多線程并行,并對(duì)LDM地址空間進(jìn)行細(xì)粒度的布局與優(yōu)化以獲得更好的緩存性能,實(shí)現(xiàn)DMA雙緩沖的循環(huán)滑動(dòng)窗口算法。測(cè)試結(jié)果表明,相較主核串行版本算法,并行LZMA算法在Silesia語(yǔ)料庫(kù)基準(zhǔn)測(cè)試集和大規(guī)模數(shù)據(jù)集中分別獲得了4.1倍和5.3倍的最大加速比,獲得了較好的加速效果。
【文章來源】:計(jì)算機(jī)科學(xué)與探索. 2020,14(09)北大核心CSCD
【文章頁(yè)數(shù)】:9 頁(yè)
【部分圖文】:
從核CPE存儲(chǔ)層次結(jié)構(gòu)圖
LZMA算法支持4 KB到上百M(fèi)B的字典空間,在提升壓縮率的同時(shí)也導(dǎo)致其搜索緩存空間變得很大。為了減小匹配最長(zhǎng)的字符串所需時(shí)間,快速搜索匹配字符,LZMA算法實(shí)現(xiàn)中,將多個(gè)可能的最長(zhǎng)匹配存儲(chǔ)于Hash散列表中,使用Hash鏈表或二叉查找樹的數(shù)據(jù)結(jié)構(gòu)來查找匹配數(shù)據(jù)。如圖4所示,Hash函數(shù)中,將搜索緩存頭兩個(gè)字節(jié)的散列值作為一個(gè)散列數(shù)組的索引,散列數(shù)組存放著對(duì)應(yīng)匹配字符組的起始位置。該散列數(shù)組大小為字典大小一半的2的整次冪。LZMA編碼器針對(duì)2、3、4個(gè)相鄰字節(jié)設(shè)置了不同級(jí)別的散列函數(shù),用以實(shí)現(xiàn)對(duì)應(yīng)不同字典大小的高效定位。圖4 基于Hash查表的LZMA滑動(dòng)窗口算法示意圖
神威太湖之光異構(gòu)眾核計(jì)算系統(tǒng)[11]中,基本單元為一個(gè)申威異構(gòu)眾核處理器和32 GB內(nèi)存與其他控制器組成的計(jì)算節(jié)點(diǎn),其處理器體系結(jié)構(gòu)如圖1所示。256個(gè)計(jì)算節(jié)點(diǎn)構(gòu)成一個(gè)超節(jié)點(diǎn),總計(jì)160個(gè)超節(jié)點(diǎn)提供93PFLOPS的實(shí)測(cè)性能。其中,從核采用輕量級(jí)的核心設(shè)計(jì),其指令集功能非常精簡(jiǎn),不支持中斷等操作,僅在用戶態(tài)下運(yùn)行。每個(gè)從核包含16 KB指令L1級(jí)cache和64 KB LDM(local directive memory,片上局部數(shù)據(jù)空間),支持256位向量操作。從核可與主核共享內(nèi)存,采用DMA(direct memory access)方式進(jìn)行內(nèi)存與LDM的數(shù)據(jù)交換。從核陣列中,處于同一行或列的從核可通過寄存器通信方式進(jìn)行數(shù)據(jù)交換,每次傳輸數(shù)據(jù)量最大為256 bit,延遲較低。圖2為從核CPE(computing processing element)存儲(chǔ)層次結(jié)構(gòu)圖。從核可通過寄存器直接訪存和寄存器LDM訪存兩種方式讀取數(shù)據(jù)。由于主核與從核之間沒有共享緩存,寄存器直接訪存的延遲達(dá)到近百個(gè)時(shí)鐘周期。解決問題的方式之一就是通過DMA方式將數(shù)據(jù)拷貝至LDM進(jìn)行訪存來提高訪存速度。這增加了并行程序設(shè)計(jì)的難度,需要程序合理地設(shè)置DMA調(diào)度策略,盡可能實(shí)現(xiàn)計(jì)算通信重疊,提高并行效率。從核間數(shù)據(jù)交換,可采用寄存器通信方式進(jìn)行。根據(jù)主從并行編程模型的特點(diǎn),神威太湖之光提供了Athread加速線程庫(kù),分為主核加速線程庫(kù)和從核加速線程庫(kù)兩部分。
【參考文獻(xiàn)】:
期刊論文
[1]The Sunway Taihu Light supercomputer:system and applications[J]. Haohuan FU,Junfeng LIAO,Jinzhe YANG,Lanning WANG,Zhenya SONG,Xiaomeng HUANG,Chao YANG,Wei XUE,Fangfang LIU,Fangli QIAO,Wei ZHAO,Xunqiang YIN,Chaofeng HOU,Chenglong ZHANG,Wei GE,Jian ZHANG,Yangang WANG,Chunbo ZHOU,Guangwen YANG. Science China(Information Sciences). 2016(07)
本文編號(hào):3424624
【文章來源】:計(jì)算機(jī)科學(xué)與探索. 2020,14(09)北大核心CSCD
【文章頁(yè)數(shù)】:9 頁(yè)
【部分圖文】:
從核CPE存儲(chǔ)層次結(jié)構(gòu)圖
LZMA算法支持4 KB到上百M(fèi)B的字典空間,在提升壓縮率的同時(shí)也導(dǎo)致其搜索緩存空間變得很大。為了減小匹配最長(zhǎng)的字符串所需時(shí)間,快速搜索匹配字符,LZMA算法實(shí)現(xiàn)中,將多個(gè)可能的最長(zhǎng)匹配存儲(chǔ)于Hash散列表中,使用Hash鏈表或二叉查找樹的數(shù)據(jù)結(jié)構(gòu)來查找匹配數(shù)據(jù)。如圖4所示,Hash函數(shù)中,將搜索緩存頭兩個(gè)字節(jié)的散列值作為一個(gè)散列數(shù)組的索引,散列數(shù)組存放著對(duì)應(yīng)匹配字符組的起始位置。該散列數(shù)組大小為字典大小一半的2的整次冪。LZMA編碼器針對(duì)2、3、4個(gè)相鄰字節(jié)設(shè)置了不同級(jí)別的散列函數(shù),用以實(shí)現(xiàn)對(duì)應(yīng)不同字典大小的高效定位。圖4 基于Hash查表的LZMA滑動(dòng)窗口算法示意圖
神威太湖之光異構(gòu)眾核計(jì)算系統(tǒng)[11]中,基本單元為一個(gè)申威異構(gòu)眾核處理器和32 GB內(nèi)存與其他控制器組成的計(jì)算節(jié)點(diǎn),其處理器體系結(jié)構(gòu)如圖1所示。256個(gè)計(jì)算節(jié)點(diǎn)構(gòu)成一個(gè)超節(jié)點(diǎn),總計(jì)160個(gè)超節(jié)點(diǎn)提供93PFLOPS的實(shí)測(cè)性能。其中,從核采用輕量級(jí)的核心設(shè)計(jì),其指令集功能非常精簡(jiǎn),不支持中斷等操作,僅在用戶態(tài)下運(yùn)行。每個(gè)從核包含16 KB指令L1級(jí)cache和64 KB LDM(local directive memory,片上局部數(shù)據(jù)空間),支持256位向量操作。從核可與主核共享內(nèi)存,采用DMA(direct memory access)方式進(jìn)行內(nèi)存與LDM的數(shù)據(jù)交換。從核陣列中,處于同一行或列的從核可通過寄存器通信方式進(jìn)行數(shù)據(jù)交換,每次傳輸數(shù)據(jù)量最大為256 bit,延遲較低。圖2為從核CPE(computing processing element)存儲(chǔ)層次結(jié)構(gòu)圖。從核可通過寄存器直接訪存和寄存器LDM訪存兩種方式讀取數(shù)據(jù)。由于主核與從核之間沒有共享緩存,寄存器直接訪存的延遲達(dá)到近百個(gè)時(shí)鐘周期。解決問題的方式之一就是通過DMA方式將數(shù)據(jù)拷貝至LDM進(jìn)行訪存來提高訪存速度。這增加了并行程序設(shè)計(jì)的難度,需要程序合理地設(shè)置DMA調(diào)度策略,盡可能實(shí)現(xiàn)計(jì)算通信重疊,提高并行效率。從核間數(shù)據(jù)交換,可采用寄存器通信方式進(jìn)行。根據(jù)主從并行編程模型的特點(diǎn),神威太湖之光提供了Athread加速線程庫(kù),分為主核加速線程庫(kù)和從核加速線程庫(kù)兩部分。
【參考文獻(xiàn)】:
期刊論文
[1]The Sunway Taihu Light supercomputer:system and applications[J]. Haohuan FU,Junfeng LIAO,Jinzhe YANG,Lanning WANG,Zhenya SONG,Xiaomeng HUANG,Chao YANG,Wei XUE,Fangfang LIU,Fangli QIAO,Wei ZHAO,Xunqiang YIN,Chaofeng HOU,Chenglong ZHANG,Wei GE,Jian ZHANG,Yangang WANG,Chunbo ZHOU,Guangwen YANG. Science China(Information Sciences). 2016(07)
本文編號(hào):3424624
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3424624.html
最近更新
教材專著