于 娟
(仰恩大學(xué) 工程技術(shù)學(xué)院,福建 泉州362014)
科技的發(fā)展對(duì)共享內(nèi)存有了強(qiáng)烈的需求.共享內(nèi)存系統(tǒng)由三部分組成[1],包括文件系統(tǒng)的接口、管理訪問對(duì)象的軟件集合以及對(duì)象屬性.該系統(tǒng)在多處理器的計(jì)算機(jī)系統(tǒng)中,可以實(shí)現(xiàn)多個(gè)不同訪問對(duì)象的訪問.服務(wù)端用戶借用內(nèi)存管理子系統(tǒng),高速共享緩存單元存放的文件,實(shí)現(xiàn)對(duì)訪問用戶的數(shù)據(jù)共享[2].但該系統(tǒng)在長(zhǎng)期使用下,暴露出了部分缺陷,傳統(tǒng)的定位算法通過設(shè)置監(jiān)測(cè)節(jié)點(diǎn),對(duì)該系統(tǒng)實(shí)時(shí)監(jiān)測(cè),當(dāng)系統(tǒng)出現(xiàn)缺陷時(shí)發(fā)出警報(bào),管理人員通過警報(bào)提示找出警報(bào)節(jié)點(diǎn),對(duì)該節(jié)點(diǎn)的鄰域進(jìn)行缺陷排查,該方法固
然具有實(shí)時(shí)性特點(diǎn),但得到的缺陷定位結(jié)果只有一個(gè)點(diǎn)位,所定位缺陷邊界坐標(biāo)的偏離系數(shù)過大,因此對(duì)排查造成一定程度的困難.針對(duì)傳統(tǒng)方法的這一問題,提出無需二次排查的高效共享系統(tǒng)內(nèi)存文件缺陷定位算法,該算法通過目標(biāo)范圍獲取缺陷中心,進(jìn)而得到更加明確的缺陷邊界.該算法的提出不僅將缺陷具體到最遠(yuǎn)邊線,實(shí)現(xiàn)全方位的缺陷定位,還在根本上降低了缺陷定位誤差,解決了傳統(tǒng)算法的現(xiàn)存問題.該算法為共享文件系統(tǒng)的缺陷定位提供了科學(xué)的技術(shù)手段,同時(shí)也為其他系統(tǒng)的缺陷定位提出嚴(yán)謹(jǐn)?shù)脑O(shè)計(jì)思路.
系統(tǒng)缺陷定位算法[3],第一步需要明確高效共享系統(tǒng)內(nèi)存文件的功能特性,根據(jù)該系統(tǒng)運(yùn)行的基本特征量,展開缺陷定位.該系統(tǒng)的文件共享模塊與多個(gè)I/O端口連接,同時(shí)通過大量系統(tǒng)硬件執(zhí)行共享指令,分析可知,該系統(tǒng)在各個(gè)連接結(jié)點(diǎn)和處理模塊中,均可能發(fā)生缺陷,以此系統(tǒng)特征為基礎(chǔ),提出一個(gè)詳細(xì)的缺陷定位算法.
1.1界定缺陷目標(biāo)范圍根據(jù)共享系統(tǒng)內(nèi)存文件特性,利用CS技術(shù)設(shè)置搜索程序,界定缺陷位置的目標(biāo)范圍[4].預(yù)先計(jì)算步長(zhǎng)因子,該因子是控制搜索區(qū)域廣度的關(guān)鍵參數(shù),當(dāng)步長(zhǎng)因子偏大時(shí),控制該搜索程序展開全區(qū)域性搜索;步長(zhǎng)因子偏小時(shí),則該參數(shù)可以控制搜索程序,在局部區(qū)域展開局部搜索.為了控制該搜索程序在全區(qū)域、局部區(qū)域中的搜索平衡,加入平衡適應(yīng)調(diào)節(jié)參數(shù),令搜索程序分布式同步搜索.該步長(zhǎng)因子的計(jì)算公式為:
公式(1)中:ls表示第s次的搜索步長(zhǎng),其中,s表示當(dāng)前次數(shù);lmax表示步長(zhǎng)因子的最大上限;lmin表示步長(zhǎng)因子的最小下限;ε表示引入的調(diào)節(jié)參數(shù);N表示最大迭代總數(shù);g1表示初始適應(yīng)度下的最優(yōu)函數(shù);g2表示適合此次迭代的最優(yōu)函數(shù).同時(shí),在該參數(shù)的搜索控制下,計(jì)算發(fā)現(xiàn)系統(tǒng)缺陷大致位置的發(fā)現(xiàn)概率,在CS技術(shù)中,一般情況下的發(fā)現(xiàn)概率取值在0.2~0.3之間,設(shè)置該參數(shù)下的概率為p,當(dāng)該概率一直處于較大數(shù)值時(shí),可以加快缺陷搜索的收斂速度;當(dāng)發(fā)現(xiàn)概率p的值較小時(shí),則此時(shí)的收斂速度降低,因此依靠最優(yōu)適應(yīng)度和前代解的比值設(shè)置最優(yōu)適應(yīng)度:
公式(2)中:fi表示上一代的最優(yōu)適應(yīng)度;fli表示在ls作用下的第i個(gè)解的適應(yīng)度.根據(jù)上述計(jì)算公式,對(duì)發(fā)現(xiàn)概率適應(yīng)度自由調(diào)節(jié),得到的發(fā)現(xiàn)概率計(jì)算結(jié)果,如下所示:
公式(3)中:p′表示迭代后解的優(yōu)質(zhì)概率;di表示對(duì)第i個(gè)解的最優(yōu)適應(yīng)度;M表示解的總數(shù)量;pmin與pmax分別表示發(fā)現(xiàn)概率的上下限.綜合上述兩組公式得出搜索程序,對(duì)共享系統(tǒng)內(nèi)存文件實(shí)施缺陷搜索指令,獲取到的缺陷大致區(qū)域范圍如圖1所示.
圖1中的搜索結(jié)果是缺陷目標(biāo)范圍,但此時(shí)該目標(biāo)范圍內(nèi)不僅包含缺陷節(jié)點(diǎn)[5],同樣包含少量正常節(jié)點(diǎn),因此需要將缺陷節(jié)點(diǎn)從該范圍中作出篩選操作.
1.2提取缺陷節(jié)點(diǎn) 利用捕獲函數(shù)提取界定目標(biāo)范圍內(nèi)的缺陷節(jié)點(diǎn)[6],該函數(shù)可以根據(jù)數(shù)據(jù)的載波頻率,得到缺陷數(shù)據(jù)的碼相位,實(shí)現(xiàn)對(duì)任意區(qū)域內(nèi)數(shù)據(jù)節(jié)點(diǎn)的捕獲.該捕獲函數(shù)的捕獲次數(shù)計(jì)算表達(dá)式為:
公式(4)中:n表示捕獲次數(shù);e1表示編碼相位歷遍次數(shù);e0表示波頻總步長(zhǎng);d表示缺陷數(shù)據(jù)波頻步長(zhǎng);j表示固定常量,通常情況下為1.根據(jù)該捕獲次數(shù)設(shè)置捕獲函數(shù),引入捕獲參量q,在缺陷目標(biāo)范
圍內(nèi)提取缺陷節(jié)點(diǎn)位置為:
上述計(jì)算表達(dá)式中:T表示離散變換條件下,捕獲函數(shù)的傅里葉計(jì)算節(jié)點(diǎn)位置[7];f(φ)表示捕獲程度;φ表示捕獲函數(shù)自變量;e表示指數(shù)函數(shù);u表示捕捉頻率;m表示共軛值;t表示目標(biāo)范圍空間;k表示d為求導(dǎo)符號(hào);wf(t)表示實(shí)時(shí)缺陷信號(hào);Wn(m)表示n次捕獲下的系統(tǒng)捕獲強(qiáng)度定值;Wf*(m)表示捕獲強(qiáng)度為f時(shí),對(duì)內(nèi)存文件缺陷的捕獲實(shí)際強(qiáng)度,*表示變換標(biāo)志.參照?qǐng)D2中的坐標(biāo)系,根據(jù)捕獲函數(shù),提取圖1中的缺陷節(jié)點(diǎn)位置[8].
圖1缺陷一次界定范圍 Fig.1 Range of defects defined once
該坐標(biāo)系將涵蓋的正常節(jié)點(diǎn)數(shù)量,降到最小,利用公式(5)設(shè)置捕獲指令,得出缺陷目標(biāo)函數(shù)中的缺陷節(jié)點(diǎn),為接下來的定位作鋪墊.
1.3計(jì)算缺陷中心節(jié)點(diǎn) 在得到的缺陷節(jié)點(diǎn)中,隨機(jī)選取兩個(gè)相鄰的缺陷節(jié)點(diǎn)作為樣本,通過距離縮放法計(jì)算缺陷中心節(jié)點(diǎn),選取的缺陷樣本如圖3所示.
選取的缺陷樣本,需要滿足兩個(gè)峰值的基本要求.對(duì)文件系統(tǒng)中的缺陷數(shù)據(jù)進(jìn)行“平坦”處理,假設(shè)“平坦區(qū)域”中,高峰值和次峰值的橫坐標(biāo)為a和b,計(jì)算區(qū)域中心位置s0和峰值寬度z,如下式所示:
公式(6)中:τ表示峰值數(shù)量,同時(shí)τ≥2;ε表示誤差修正系數(shù);μ表示寬度衡量參數(shù).根據(jù)上述中的計(jì)算結(jié)果,確定缺陷節(jié)點(diǎn)與缺陷中心位置的距離,根據(jù)實(shí)時(shí)變化的缺陷強(qiáng)度指標(biāo),結(jié)合公式(6),計(jì)算隨機(jī)動(dòng)態(tài)變化參量k,公式為:
公式(7)中:δ表示缺陷峰值調(diào)節(jié)控制因子[9];d0表示對(duì)動(dòng)態(tài)參量的調(diào)節(jié)因子;α表示缺陷在強(qiáng)度不同的峰值活動(dòng)方向.引入激活函數(shù)的線性回歸模型:
公式(8)中:n表示共享系統(tǒng)內(nèi)存文件中的多峰值缺陷節(jié)點(diǎn)個(gè)數(shù);y(t)表示期望輸出值;qi(t)表示在系統(tǒng)i缺陷段的計(jì)算回歸因子;pi表示缺陷節(jié)點(diǎn)之間的連接權(quán)重;ω(t)表示計(jì)算殘差.根據(jù)該模型結(jié)合變化參量k,得出缺陷中心節(jié)點(diǎn):
根據(jù)得出的中心坐標(biāo)位置,確定該缺陷的邊緣,得出缺陷位置的具體范圍.
1.4獲取邊界坐標(biāo) 利用最小二乘法獲取缺陷中心節(jié)點(diǎn)以外的邊界坐標(biāo),實(shí)現(xiàn)對(duì)系統(tǒng)缺陷的精準(zhǔn)定位[10].根據(jù)上述計(jì)算得到缺陷中心c,假設(shè)距離該中心有n個(gè)錨節(jié)點(diǎn),在確定的缺陷目標(biāo)范圍內(nèi),每一坐標(biāo)可用a1,a2,…,an來表示,則對(duì)應(yīng)每一錨節(jié)點(diǎn),存在an={( x,y)|( x1,y1),( x2,y2),…,( xn,yn)},設(shè)置一個(gè)未知節(jié)點(diǎn)為ak,該節(jié)點(diǎn)坐標(biāo)為( xk,yk),假設(shè)該節(jié)點(diǎn)是該缺陷的真實(shí)坐標(biāo),則未知節(jié)點(diǎn)與錨節(jié)點(diǎn)的關(guān)系為:
公式(10)中的d1,d2,…,dn,表示未知節(jié)點(diǎn)與錨節(jié)點(diǎn)之間的估計(jì)距離.通過該公式得到的坐標(biāo)邊界獲取示意圖如圖4所示.
圖3缺陷峰值示意圖 Fig.3 Diagram of peak defects
圖4缺陷邊界坐標(biāo)獲取示意圖Fig.4 Diagram of defective boundary coordinate acquisition
根據(jù)圖4可知,圖中灰色區(qū)域代表缺陷真實(shí)范圍,利用最小二乘法,得到邊界坐標(biāo).將公式(10)改寫成Ax=b的形式,并利用最小二乘法進(jìn)行求解,得出目標(biāo)函數(shù)Min‖ Ax-b‖2,求解得出:
公式(11)中:x′、y′表示缺陷邊界的橫坐標(biāo)與縱坐標(biāo).通過該計(jì)算過程,得出圖4中缺陷的具體邊界坐標(biāo),確定該缺陷在文件系統(tǒng)中的覆蓋范圍,至此實(shí)現(xiàn)對(duì)高效共享系統(tǒng)內(nèi)存文件缺陷位置的定位算法.
為證明所提出算法的實(shí)用性和嚴(yán)謹(jǐn)性,針對(duì)此次研究提出仿真對(duì)比實(shí)驗(yàn),通過該實(shí)驗(yàn)檢測(cè)數(shù)據(jù),增強(qiáng)對(duì)此項(xiàng)定位算法功能特性的說明,同時(shí)引入傳統(tǒng)缺陷定位算法,對(duì)比兩種算法在缺陷定位上的差異.
2.1實(shí)驗(yàn)準(zhǔn)備 選用的計(jì)算機(jī)裝有3.60 MHz雙核處理器,該計(jì)算機(jī)型號(hào)為ADMR52600X,顯存容量為4 GB,內(nèi)存容量為8 GB,主板芯片類型為AMDA320;載入Windows 2019a操作系統(tǒng),設(shè)置3級(jí)緩存程序,每一級(jí)的基本配置為96 KB、298 0 KB以及30 MB.本次實(shí)驗(yàn)的測(cè)試工具為FlexibleI/O和Filebench,利用該工具測(cè)試算法的定位性能.設(shè)置該實(shí)驗(yàn)測(cè)試系統(tǒng)帶寬,如表1所示,通過不同帶寬條件,進(jìn)行多次仿真實(shí)驗(yàn)測(cè)試,確保測(cè)試結(jié)果的真實(shí)性和一致性.
隨機(jī)挑選一組共享系統(tǒng)內(nèi)存文件作為實(shí)驗(yàn)對(duì)象,將其載入到內(nèi)存文件中,設(shè)置多個(gè)訪問客戶端對(duì)該系統(tǒng)執(zhí)行訪問操作.同時(shí)模擬多個(gè)強(qiáng)度不一、位置不均、缺陷范圍不同的系統(tǒng)缺陷,其中的部分缺陷模擬內(nèi)容如圖5所示.
表1實(shí)驗(yàn)測(cè)試帶寬參數(shù)Tab.1 Experimental test bandwidth parameters
圖5是模擬的4種類型不同的缺陷情況,其中,類型A為集中型缺陷;類型B為混合型的交叉缺陷;類型C為分散型缺陷;類型D為影響范圍較大的缺陷.實(shí)驗(yàn)準(zhǔn)備階段設(shè)立完畢后,載入測(cè)試系統(tǒng)并運(yùn)行,當(dāng)系統(tǒng)運(yùn)行正??梢蚤_始實(shí)驗(yàn).
2.2結(jié)果分析 分別利用兩種算法對(duì)系統(tǒng)中的缺陷進(jìn)行定位,分析兩種算法對(duì)缺陷位置的定位效果.其中,實(shí)驗(yàn)組為所提出算法的測(cè)試結(jié)果;對(duì)照組為傳統(tǒng)方法的測(cè)試結(jié)果.引入C類型的缺陷,定位對(duì)比測(cè)試結(jié)果如圖6所示.
圖5模擬實(shí)驗(yàn)條件 Fig.5 Simulated experimental conditions
圖6分散性陷定位的算法對(duì)比結(jié)果Fig.6 Comparison of the algorithm for locating discrete traps
分析圖6可知,所提出算法準(zhǔn)確找到模擬缺陷的中心位置,并正確計(jì)算出缺陷邊界坐標(biāo),使得定位算法準(zhǔn)確捕獲到系統(tǒng)中的缺陷位置;而傳統(tǒng)的定位算法,由于得到的中心點(diǎn)位置不精準(zhǔn),對(duì)缺陷邊界坐標(biāo)的計(jì)算存在較大誤差,導(dǎo)致定位的缺陷范圍與缺陷實(shí)際不相符.為確保實(shí)驗(yàn)結(jié)果可靠,再對(duì)系統(tǒng)中的B類型缺陷進(jìn)行定位,得出圖7所示的測(cè)試結(jié)果.
圖7混合型缺陷定位的算法對(duì)比結(jié)果Fig.7 Comparison of algorithms for hybrid defect location
根據(jù)圖7可知,面對(duì)混合型的系統(tǒng)缺陷,所提出算法同樣精準(zhǔn)定位缺陷中心位置,以此作為計(jì)算原點(diǎn),得到準(zhǔn)確的邊界坐標(biāo),實(shí)現(xiàn)全方位缺陷定位;而傳統(tǒng)的定位算
法,面對(duì)復(fù)雜定位,計(jì)算的缺陷中心受缺陷類型影響,得出的位置節(jié)點(diǎn)嚴(yán)重偏離實(shí)際,無法得到準(zhǔn)確的缺陷位置.綜合上述測(cè)試結(jié)果可知,本文所提出算法在第一步即實(shí)現(xiàn)了嚴(yán)謹(jǐn)性、精準(zhǔn)性這一研究要求,因此得到更加精準(zhǔn)的定位結(jié)果.
本文提出的系統(tǒng)缺陷定位算法,融合了數(shù)學(xué)原理,增強(qiáng)定位算法的計(jì)算能力,使得到的定位結(jié)果真實(shí)可信,解決了傳統(tǒng)算法存在的偏差問題,為今后的共享系統(tǒng)文件缺陷定位提供技術(shù)保障,也為其他系統(tǒng)的缺陷檢測(cè)提供算法的優(yōu)化思路.但此次研究仍存在計(jì)算量較大的局限,需要進(jìn)行更深入的研究,進(jìn)而提高算法在實(shí)際使用中的性能.