陳巖巖
摘要:傳統(tǒng)的數(shù)據(jù)緩存沖突自動處理方法的過程比較復(fù)雜,耗時過長。為簡化過程,提出基于模糊控制的數(shù)據(jù)緩存沖突自動處理方法。通過調(diào)整多核數(shù)據(jù)處理器的同構(gòu)核,將處理器與模糊控制相結(jié)合,建立基于模糊控制的處理器模型,在此基礎(chǔ)上,利用語言變量對數(shù)據(jù)緩存沖突量進(jìn)行描述,通過得到的隸屬度函數(shù)制定模糊控制規(guī)則,改變沖突數(shù)據(jù)包的分配方式,對數(shù)據(jù)調(diào)度機(jī)制進(jìn)行優(yōu)化,最后完成了基于模糊控制的數(shù)據(jù)緩存沖突自動處理方法的設(shè)計。為了驗(yàn)證此方法的有效性,設(shè)計了10組對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明:該設(shè)計每100個沖突的處理速度比傳統(tǒng)方法提升了0.28 s,驗(yàn)證了其有效性。
關(guān)鍵詞:模糊控制,數(shù)據(jù)緩存沖突,方法研究
中圖分類號:TP303?文獻(xiàn)標(biāo)志碼:A?文章編號:2095-5383(2020)01-0019-04
Abstract:The traditional automatic processing method for data caching conflict is quite complicated.?In order to simplify the process,an automatic processing method for data caching conflict based on fuzzy control was proposed.?By adjusting the isomorphic core of the multi-core data processor,the processor was combined with fuzzy control to establish a processor model based on fuzzy control,On this basis,the linguistic variables was used to describe the amount of data cache conflicts,the obtained membership function was used to formulate fuzzy control rules,and then the allocation of conflicting data packets was changed and the data scheduling mechanism was optimized,finally the automatic processing method for data caching conflict based on fuzzy control was completed.?In order to verify the effectiveness of this method,10 sets of comparative experiments were designed.?The experimental results show that the speed of automatic processing method for data caching conflict based on fuzzy control increases by 0.28 s per 100 conflicts compared with the traditional method.
Keywords:fuzzy control,data cache conflict,method research
隨著我國高科技制造業(yè)的發(fā)展,集成電路制造工藝也在不斷進(jìn)步,數(shù)據(jù)處理器的性能也越來越好。然而當(dāng)數(shù)據(jù)存儲器的性能無法滿足數(shù)據(jù)處理器的性能要求時,會出現(xiàn)數(shù)據(jù)緩存沖突的問題,從而導(dǎo)致突發(fā)數(shù)據(jù)包丟失[1]。數(shù)據(jù)處理器在運(yùn)行過程中會從外界獲取各種指令數(shù)據(jù),因此指令數(shù)據(jù)的能否高效緩存讀取影響著處理器的性能。針對這種情況,需要在存儲器和處理器之間設(shè)置高速緩存,來自動處理數(shù)據(jù)緩存時發(fā)生的沖突,保證突發(fā)數(shù)據(jù)包的完整?,F(xiàn)有的數(shù)據(jù)緩存沖突自動處理方法比較復(fù)雜,處理耗時長,因此,本文設(shè)計了一種基于模糊控制的數(shù)據(jù)緩存沖突自動處理方法。
在方法設(shè)計的過程中,通過調(diào)整多核數(shù)據(jù)處理器的同構(gòu)核,完成同構(gòu)核之間一級數(shù)據(jù)和二級數(shù)據(jù)之間的傳遞關(guān)系。將處理器與模糊控制相結(jié)合,建立基于模糊控制的處理器模型,在此基礎(chǔ)上,利用語言變量對數(shù)據(jù)緩存沖突量進(jìn)行描述,通過計算得到隸屬度函數(shù),根據(jù)函數(shù)的調(diào)整范圍制定模糊控制規(guī)則,改變沖突數(shù)據(jù)包的分配方式[2]。將沖突數(shù)據(jù)包重新調(diào)度到另一個可用的波長信道上,保證沖突數(shù)據(jù)包的完整性,在發(fā)生數(shù)據(jù)緩存沖突的時候,能夠提高自動處理方法的成功率,完成對數(shù)據(jù)調(diào)度機(jī)制的優(yōu)化。最后完成基于模糊控制的數(shù)據(jù)緩存沖突自動處理方法的設(shè)計。
1?數(shù)據(jù)緩存沖突處理方法
在數(shù)據(jù)緩存的過程中,由于數(shù)據(jù)的采集來源不同,導(dǎo)致數(shù)據(jù)結(jié)構(gòu)標(biāo)準(zhǔn)不統(tǒng)一,在數(shù)據(jù)精度、采集時間等方面有所差異。當(dāng)數(shù)據(jù)存儲器和數(shù)據(jù)處理器之間的性能差異過大時,會導(dǎo)致這些結(jié)構(gòu)標(biāo)準(zhǔn)不統(tǒng)一的數(shù)據(jù)出現(xiàn)緩存沖突的問題,導(dǎo)致沖突數(shù)據(jù)包的丟失[3]。為了使數(shù)據(jù)處理器能夠正常運(yùn)行,保護(hù)數(shù)據(jù)的安全,需要對數(shù)據(jù)發(fā)生的緩存沖突進(jìn)行處理,下面針對出現(xiàn)的沖突問題設(shè)計基于模糊控制的數(shù)據(jù)緩存沖突自動處理方法。
1.1?建立基于模糊控制的處理器模型
數(shù)據(jù)緩存沖突的現(xiàn)象具有隨機(jī)性、不穩(wěn)定性等特點(diǎn),當(dāng)不同優(yōu)先級的沖突數(shù)據(jù)包發(fā)生沖突時,原則上盡量保護(hù)高優(yōu)先級沖突數(shù)據(jù)包,降低其丟失率。在數(shù)據(jù)處理器中,沖突數(shù)據(jù)包在波長信道上進(jìn)行傳輸,為了降低處理器模型的復(fù)雜性,選取一個實(shí)時總線作為聯(lián)代樞紐[4]。IL1、DL1代表核心路由器,為了能夠高成功率的解決數(shù)據(jù)緩存沖突,建立一個基于模糊控制的數(shù)學(xué)模型,如圖1所示。
1.2?制定模糊控制規(guī)則
在基于模糊控制的處理器模型建立完成的基礎(chǔ)上,需要制定模糊控制規(guī)則。將處理器控制信號u作為模糊控制器的輸出量,將數(shù)據(jù)緩存沖突量e和數(shù)據(jù)緩存沖突量變化率Δe作為模糊控制器的輸入量,那么能夠得到:
為了達(dá)到最佳的模糊控制效果,將模糊控制器和數(shù)據(jù)處理器視為一體[8],輸入項(xiàng)為數(shù)據(jù)電流的脈沖指令,輸出項(xiàng)為突發(fā)數(shù)據(jù)包的信道編號,這兩者之間的關(guān)系可以近似看做是θ/s,實(shí)時總線和TDMA總線仲裁器可看做一階慣性環(huán)節(jié),采用對數(shù)據(jù)緩存性能進(jìn)行測量以及人為矯正。在數(shù)據(jù)緩存沖突自動處理的方法設(shè)計中,采用對隸屬度函數(shù)進(jìn)行分析矯正[9],根據(jù)圖2中的隸屬度函數(shù)變量之間的關(guān)系,能夠制定出模糊控制規(guī)則如表1所示。
根據(jù)處理器中發(fā)生數(shù)據(jù)緩存沖突的實(shí)際情況,可以做出一些假定,利用模糊控制規(guī)則來矯正處理控制方法,并對于處理器中的輸出數(shù)據(jù)的沖突平均值進(jìn)行預(yù)測和控制[10],依靠模糊控制規(guī)則就能夠?qū)?shí)時發(fā)生的數(shù)據(jù)緩存沖突產(chǎn)生一定的控制作用。
1.3?優(yōu)化數(shù)據(jù)調(diào)度機(jī)制
立足于模糊控制規(guī)則,進(jìn)一步對沖突數(shù)據(jù)包的調(diào)度機(jī)制進(jìn)行優(yōu)化。在當(dāng)前的處理器數(shù)據(jù)緩存當(dāng)中,比較典型的信道數(shù)據(jù)調(diào)度機(jī)制就是分布式控制算法[11],它能夠適應(yīng)數(shù)據(jù)處理器和數(shù)據(jù)緩存器之間較大的性能差異,且能夠解決沖突數(shù)據(jù)包采用哪種數(shù)據(jù)信道進(jìn)行傳輸?shù)膯栴}。但是由于突發(fā)的沖突間隔不能被充分利用,會降低寬帶利用率,因此需要對數(shù)據(jù)的調(diào)度機(jī)制進(jìn)行優(yōu)化。將已經(jīng)調(diào)度的沖突數(shù)據(jù)包(Burst Data Packet,BDP)重新調(diào)度到另一個可用的波長信道上[12],以容納新的BDP請求。數(shù)據(jù)調(diào)度機(jī)制優(yōu)化前后的情況如圖3所示。
圖3中,1與2分別代表單根光纖復(fù)用的波長信道,BDP1的請求到達(dá)后,被分配到1上,隨后BDP2的請求到達(dá)后,被調(diào)度到空閑著的2上,根據(jù)最小化沖突數(shù)據(jù)包之間的間隔原則[13],BDP3分配到1,BDP4分配到2,沖突持續(xù)時間為L的BDP5在t時刻請求分配資源,數(shù)據(jù)調(diào)度機(jī)制優(yōu)化前,數(shù)據(jù)沖突包會被丟棄。在進(jìn)行優(yōu)化的過程中,保持調(diào)度時間不變,重新對沖突數(shù)據(jù)包發(fā)送控制信令,利用FDL進(jìn)行緩存。
FDL有不同的排列規(guī)律,按照排列規(guī)律的不同,F(xiàn)DL的緩存配置可以分為兩大類[14]:1)固定長度的光纖延遲線(Fixed-FDL,F(xiàn)-FDL),2)可變長度的光纖延遲線(Variable-FDL)。F-FDL中,一共有3根FDL線,設(shè)置其固定長度為D,V-FDL中,F(xiàn)DL的長度以D作為固定增長基數(shù)逐漸遞增,但是其長度的遞增需要遵循一定的規(guī)律。在配置增長的過程中,將不同的FDL分為奇數(shù)段和偶數(shù)段,假設(shè)一共有B根,B根FDL的長度以D為單位逐漸增長,長度由D遞增到B×D。第n根FDL的緩存長度BLi為:
2?實(shí)驗(yàn)
設(shè)計基于模糊控制的數(shù)據(jù)緩存沖突自動處理方法的目的就是提高緩存沖突自動處理的速度,因而需要設(shè)計仿真實(shí)驗(yàn),分別采用傳統(tǒng)的數(shù)據(jù)緩存沖突自動處理方法和本文設(shè)計的基于模糊控制的數(shù)據(jù)緩存沖突自動處理方法進(jìn)行緩存沖突處理測試,并將實(shí)驗(yàn)結(jié)果進(jìn)行對比分析。
2.1?實(shí)驗(yàn)環(huán)境
測試采用6個同構(gòu)核{(lán)c1,c2,...,c6}組成的多核數(shù)據(jù)處理器,每個同構(gòu)核中都有一個有序(in-order)分級指令數(shù)據(jù),指令隊(duì)列取值為4,指令寬度取值為2,指令窗大小為8,數(shù)據(jù)緩存大小為64 B,每line大小為8 B。測試程序采用Malardalen WCET bench-mark測試程序集中的一部分,特性如表2所示。
不同緩存時的WCET(時鐘周期)如表3所示。
2.2?實(shí)驗(yàn)結(jié)果與分析
利用2種方法分別進(jìn)行10組對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表4所示。
傳統(tǒng)方法每處理100個沖突的平均耗時為0.95 s,本方法每處理100個沖突的平均耗時為0.67 s,每100個沖突的處理速度提升了0.28 s,驗(yàn)證了本方法的有效性。
3?結(jié)論
本文設(shè)計了模糊控制下的數(shù)據(jù)緩存沖突自動處理方法,建立基于模糊控制的處理器模型,在此基礎(chǔ)上依據(jù)數(shù)據(jù)緩存沖突量及隸屬度函數(shù)制定模糊控制規(guī)則,利用FDL緩存數(shù)據(jù),完成優(yōu)化數(shù)據(jù)調(diào)度機(jī)制。為了驗(yàn)證此方法的有效性,設(shè)計了10組對比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該方法每100個沖突的處理速度比傳統(tǒng)方法提升了0.28 s,驗(yàn)證了該方法的有效性。
參考文獻(xiàn):
[1]劉波,王曉彤,張冬明,等.?一種面向雷達(dá)應(yīng)用可重構(gòu)系統(tǒng)中的數(shù)據(jù)緩存結(jié)構(gòu)和管理機(jī)制[J].?上海交通大學(xué)學(xué)報,2017,51(5):628-635.
[2]唐瑋唯,馮徑,舒曉村.?基于用戶行為分析的數(shù)據(jù)立方體緩存策略[J].?計算機(jī)應(yīng)用,2017,37(z1):236-239.
[3]吳明杰,陳慶奎,易猛.?基于流粒度的OpenFlow分組緩存管理模型[J].?計算機(jī)工程,2017,43(2):124-130.
[4]劉期烈,秦慶偉,夏遠(yuǎn)鵬,等.?命名數(shù)據(jù)網(wǎng)中基于流行度的網(wǎng)內(nèi)緩存替換策略[J].?計算機(jī)工程與應(yīng)用,2018,54(11):76-80.
[5]盧勇男,擺玉龍,徐寶兄,等.?耦合模糊控制算法的數(shù)據(jù)同化觀測誤差處理方法[J].?遙感技術(shù)與應(yīng)用,2017,32(3):459-465.
[6]張明德,羅沖,張衛(wèi)青,等.?航發(fā)葉片的測量數(shù)據(jù)誤差處理方法研究[J].?組合機(jī)床與自動化加工技術(shù),2017(1):57-61.
[7]張廣明,高爽,尹增山,等.?基于模糊圖像和噪聲圖像的遙感圖像運(yùn)動模糊復(fù)原方法[J].?電子設(shè)計工程,2017,25(18):82-86.
[8]付博文.?基于廣義預(yù)測的中藥提取溫度模糊控制研究[J].?自動化與儀器儀表,2018(4):14-17.
[9]盧勇男,擺玉龍,徐寶兄,等.?耦合模糊控制算法的數(shù)據(jù)同化觀測誤差處理方法[J].?遙感技術(shù)與應(yīng)用,2017,32(3):459-465.
[10]孔繁苗,徐康,陳浙銳,等.?基于模糊控制的重介質(zhì)懸浮液密度控制方法[J].?工礦自動化,2018(6):105-108.
[11]彭輝,王軍政,沈偉,等.?帶補(bǔ)償因子的雙模糊控制在電液伺服閥控非對稱缸系統(tǒng)上的應(yīng)用研究[J].?機(jī)械工程學(xué)報,2017,53(24):184-192.
[12]張明德,羅沖,張衛(wèi)青,等.?航發(fā)葉片的測量數(shù)據(jù)誤差處理方法研究[J].?組合機(jī)床與自動化加工技術(shù),2017(1):57-61.
[13]王勇.?深網(wǎng)POI信息獲取與一致性處理方法研究[J].?測繪學(xué)報,2017,46(3):136.
[14]朱聞亞.?模糊網(wǎng)絡(luò)入侵中多層序列特征自動提取方法研究[J].?現(xiàn)代電子技術(shù),2017,40(10):114-117.
[15]柴謙益,鄭文斌,潘捷凱,等.?基于大數(shù)據(jù)分析的智能配電網(wǎng)狀態(tài)監(jiān)測與故障處理方法研究[J].?現(xiàn)代電子技術(shù),2018,41(4):105-108.