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

        ?

        一種嵌入式設(shè)備的Flash數(shù)據(jù)資源回收策略

        2018-12-07 08:31:54,,,
        關(guān)鍵詞:粒度滑動(dòng)嵌入式

        ,,,

        (許繼電氣技術(shù)中心,許昌 461000)

        引 言

        嵌入式設(shè)備對(duì)其本身的可靠性要求極高,由于一些不可預(yù)測(cè)的因素或者是沒有發(fā)現(xiàn)的潛在危險(xiǎn)導(dǎo)致Flash的垃圾資源回收不及時(shí),會(huì)出現(xiàn)文件操作耗時(shí)較長(zhǎng)等異常情況,會(huì)導(dǎo)致嵌入式設(shè)備產(chǎn)生不可預(yù)知的危險(xiǎn),在這種情況下很難保證設(shè)備的可靠性、安全性,甚至?xí)?duì)整個(gè)嵌入式系統(tǒng)造成嚴(yán)重的后果。

        鑒于此,本文提出了一種Flash資源回收的策略:設(shè)備能夠在運(yùn)行過(guò)程中根據(jù)CPU負(fù)載情況和Flash的有效資源空間剩余情況,自動(dòng)調(diào)整后臺(tái)回收的頻率,能夠有效利用CPU的空閑時(shí)刻進(jìn)行垃圾回收,盡量避免異常情況的發(fā)生,但是如果一旦有異常情況發(fā)生,設(shè)備會(huì)將異常情況記錄并報(bào)警,幫助現(xiàn)場(chǎng)工作人員盡快定位并解決問(wèn)題,避免問(wèn)題擴(kuò)大而造成不可挽回的損失[1-3]。

        1 時(shí)間窗口和時(shí)間粒度

        本文提出一種嵌入式設(shè)備的Flash資源回收的策略,能夠通過(guò)實(shí)時(shí)檢測(cè)到的CPU負(fù)載率和Flash空間利用率(Flash已被占用空間與Flash總空間的百分比)來(lái)確定后臺(tái)資源回收的周期(即設(shè)備每次清理內(nèi)存的時(shí)間間隔),定時(shí)清理內(nèi)存。在具體介紹該方法之前,首先對(duì)本回收策略的時(shí)間粒度滑動(dòng)窗口和時(shí)間粒度進(jìn)行說(shuō)明。

        如圖1所示,嵌入式設(shè)備后臺(tái)資源回收的清理周期按照大小順序依次排列,形成時(shí)間粒度(資源回收周期)進(jìn)度條,圖1中數(shù)字的單位都是ms,進(jìn)度條上面每個(gè)具體的時(shí)間粒度的大小是由設(shè)備特性如CPU主頻、CPU負(fù)載、Flash空間大小、Flash空間利用率、系統(tǒng)的資源回收能力來(lái)決定的。

        圖1 時(shí)間粒度滑動(dòng)窗口及時(shí)間粒度進(jìn)度條示意圖

        基于大量具體工程應(yīng)用而得出的經(jīng)驗(yàn)公式表示為:

        T=coefficient×

        其中T表示清理周期,coefficient為與具體工程應(yīng)用有關(guān)的經(jīng)驗(yàn)系數(shù),free_block表示有效的Flash資源剩余量,complexity表示業(yè)務(wù)的系統(tǒng)復(fù)雜度,erase_speed表示塊擦除速度,gc_ability表示嵌入式系統(tǒng)本身的垃圾回收能力,fcpu表示使用CPU的主頻,need_space表示業(yè)務(wù)對(duì)Flash空間大小的要求。

        如圖1所示,時(shí)間粒度滑動(dòng)窗口表示在當(dāng)前CPU負(fù)載率情況下,能夠選擇的資源回收周期的范圍,然后根據(jù)Flash空間利用率等因素,在時(shí)間粒度窗口的范圍內(nèi)確定具體的時(shí)間粒度值。資源回收時(shí)間粒度滑動(dòng)窗口是根據(jù)CPU的負(fù)載情況,實(shí)時(shí)地在時(shí)間粒度進(jìn)度條(如圖1所示)上滑動(dòng)[4]。

        在CPU負(fù)載比較低的狀態(tài)下,資源回收時(shí)間粒度滑動(dòng)窗口向時(shí)間粒度進(jìn)度條的左側(cè)(時(shí)間粒度值小的一端)滑行。在CPU負(fù)載比較高的狀態(tài)下,資源回收時(shí)間粒度滑動(dòng)窗口向時(shí)間粒度進(jìn)度條的右側(cè)(時(shí)間粒度值小的一端)滑行。

        Flash空間利用率的大小決定了時(shí)間粒度在資源回收時(shí)間粒度滑動(dòng)窗口上取值的位置。

        在Flash空間利用率比較低的情況下,也就是Flash可用空間剩余比較充分的情況下,垃圾資源回收的需求不迫切,時(shí)間粒度就在資源回收時(shí)間粒度滑動(dòng)窗口偏右的位置取值,即時(shí)間粒度取得相對(duì)較大的值,垃圾資源回收頻率就變小。

        在Flash空間利用率比較高的情況下,也就是Flash可用空間剩余比較少的情況下,垃圾資源回收的需求就變得很迫切,時(shí)間粒度就在資源回收時(shí)間粒度滑動(dòng)窗口偏左的位置取值,即時(shí)間粒度取得相對(duì)較小的值,垃圾資源回收頻率就變大[5]。

        設(shè)備運(yùn)行期間,根據(jù)CPU負(fù)載率和Flash有效資源空間剩余程度自動(dòng)判斷垃圾資源回收的頻率,在不影響設(shè)備性能的情況下保證設(shè)備運(yùn)行的安全性和可靠性。

        2 方 案

        2.1 方案實(shí)現(xiàn)基本思路

        本方案的實(shí)現(xiàn)需要兩個(gè)任務(wù)配合實(shí)現(xiàn):CPU負(fù)載監(jiān)視任務(wù)、資源回收檢測(cè)任務(wù),如圖2所示。

        圖2 方案實(shí)現(xiàn)基本示意圖

        CPU負(fù)載檢測(cè)任務(wù)負(fù)責(zé)實(shí)時(shí)檢測(cè)CPU使用情況(占有率)、完成對(duì)資源回收時(shí)間粒度滑動(dòng)窗口滑動(dòng)趨勢(shì)的判定和控制。資源回收檢測(cè)任務(wù)主要負(fù)責(zé)Flash資源回收的具體事務(wù),并且根據(jù)時(shí)間粒度判定模塊確定的具體時(shí)間粒度確認(rèn)回收資源的快慢[6]。

        資源回收時(shí)間粒度是由CPU負(fù)載率和Flash空間利用率共同決定的,CPU負(fù)載率負(fù)責(zé)判定資源回收時(shí)間粒度窗口的滑動(dòng)趨勢(shì),F(xiàn)lash空間利用率負(fù)責(zé)確定在滑動(dòng)窗口上定位具體的時(shí)間粒度值[4]。

        2.2 CPU負(fù)載檢測(cè)任務(wù)

        CPU負(fù)載檢測(cè)任務(wù)負(fù)責(zé)實(shí)時(shí)檢測(cè)CPU的負(fù)載情況,并決定時(shí)間粒度滑動(dòng)窗口的滑動(dòng)方向和初度。當(dāng)CPU負(fù)載小的時(shí)候,時(shí)間粒度向時(shí)間力度條的左端滑動(dòng),減小后臺(tái)資源回收檢測(cè)任務(wù)的時(shí)間、增大回收粒度,這樣做是為了提高垃圾回收速度。當(dāng)CPU負(fù)載大的時(shí)候,時(shí)間粒度向時(shí)間力度條的右端滑動(dòng),增大后臺(tái)資源回收檢測(cè)任務(wù)的間隔時(shí)間、減小回收粒度,這樣做是為了降低垃圾回收速度,減輕CPU負(fù)載。

        2.3 資源回收檢測(cè)任務(wù)

        首先,資源回收是每個(gè)嵌入式文件系統(tǒng)自身應(yīng)該具備的功能。資源回收檢測(cè)任務(wù)實(shí)現(xiàn)了一個(gè)優(yōu)化使用資源回收的策略。任務(wù)初始化時(shí)需要定義垃圾回收時(shí)間粒度的默認(rèn)值,比如回收間隔時(shí)間(時(shí)間粒度)默認(rèn)值定義為400 ms,那么每隔400 ms就會(huì)進(jìn)行一次后臺(tái)的垃圾回收。其次,任務(wù)的每次循環(huán)都需要檢測(cè)有效資源剩余,根據(jù)Flash有效資源的剩余情況來(lái)確定資源回收時(shí)間粒度。在CPU負(fù)載檢測(cè)任務(wù)控制的時(shí)間粒度滑動(dòng)窗口上面確定具體的時(shí)間粒度,根據(jù)時(shí)間粒度調(diào)整下次后臺(tái)垃圾回收的時(shí)間。

        3 實(shí) 現(xiàn)

        3.1 時(shí)間粒度初始化

        首先,設(shè)備需要實(shí)現(xiàn)時(shí)間粒度條和時(shí)間粒度滑動(dòng)窗口的初始化:時(shí)間進(jìn)度條上的時(shí)間粒度保證從小到大的趨勢(shì),具體的時(shí)間粒度值和相鄰值之間的跨度由用戶根據(jù)設(shè)備特性(CPU速率和基本負(fù)載、存儲(chǔ)空間大小等)來(lái)決定。時(shí)間粒度滑動(dòng)窗口根據(jù)CPU負(fù)載的變化在時(shí)間粒度條上滑動(dòng),該窗口的大小可以由用戶自定義,如圖1所示的示意圖,窗口的大小定義為7,即窗口每次包含7個(gè)時(shí)間粒度值。

        3.2 CPU負(fù)載檢測(cè)任務(wù)

        圖3 CPU負(fù)載檢測(cè)任務(wù)執(zhí)行流程圖

        如圖3所示,在嵌入式設(shè)備上電之后,系統(tǒng)初始化階段,啟動(dòng)一個(gè)最低優(yōu)先級(jí)的任務(wù):CPU負(fù)載檢測(cè)任務(wù),該任務(wù)在初始化期間記錄一段變量遞增算法的時(shí)間間隔T1,由于初始化期間其他任務(wù)都沒有開始運(yùn)行,所以可以獲取一個(gè)比較精確的標(biāo)準(zhǔn)參照時(shí)間間隔[7]。

        CPU負(fù)載檢測(cè)任務(wù)運(yùn)行期間,記錄同樣一段變量遞增算法(與CPU負(fù)載檢測(cè)任務(wù)初始化時(shí)的算法一樣)的時(shí)間間隔T2,由于CPU負(fù)載檢測(cè)任務(wù)的優(yōu)先級(jí)最低,所以嵌入式設(shè)備運(yùn)行期間,只要有其他任務(wù)運(yùn)行,該任務(wù)就會(huì)被打斷去執(zhí)行其他任務(wù),直到其他任務(wù)都執(zhí)行完畢并處于掛起狀態(tài),該任務(wù)才會(huì)被繼續(xù)執(zhí)行。所以CPU任務(wù)越多,執(zhí)行越頻繁,實(shí)際統(tǒng)計(jì)的時(shí)間間隔就越長(zhǎng)。將標(biāo)準(zhǔn)參照時(shí)間間隔T1和運(yùn)行時(shí)間間隔T2比較就能夠得到CPU的占有率,就能計(jì)算CPU的負(fù)載大小:

        當(dāng)CPU負(fù)載減小的時(shí)候,說(shuō)明空閑時(shí)間較多,有能力處理更多的任務(wù),這時(shí)時(shí)間粒度滑動(dòng)窗口向左端滑動(dòng),減小后臺(tái)資源回收檢測(cè)任務(wù)的時(shí)間粒度(間隔)、增大回收粒度,這樣做可以提高垃圾回收速度,同時(shí)也提高了CPU的利用率[8]。

        當(dāng)CPU負(fù)載增大的時(shí)候,說(shuō)明空閑時(shí)間減少,這時(shí)時(shí)間粒度滑動(dòng)窗口向右端滑動(dòng),增大后臺(tái)資源回收檢測(cè)任務(wù)的間隔時(shí)間、減小回收粒度,這樣做可以降低垃圾回收速度,減輕CPU負(fù)荷。

        3.3 資源回收檢測(cè)任務(wù)

        資源回收檢測(cè)任務(wù)最重要的功能就是根據(jù)策略判定資源回收的時(shí)間粒度,然后調(diào)用系統(tǒng)本身的資源回收功能進(jìn)行Flash垃圾資源的回收。該任務(wù)初始化時(shí)需要定義垃圾回收時(shí)間粒度的默認(rèn)值,比如回收間隔時(shí)間默認(rèn)值定義為400 ms,那么每隔400 ms就會(huì)進(jìn)行一次后臺(tái)的垃圾回收。

        任務(wù)的每個(gè)循環(huán)都需要檢測(cè)有效資源的剩余情況、業(yè)務(wù)對(duì)資源的需求情況,由此在時(shí)間粒度滑動(dòng)窗口上面確定具體的時(shí)間粒度,任務(wù)根據(jù)時(shí)間粒度調(diào)整下次后臺(tái)垃圾回收的時(shí)間間隔。

        按照?qǐng)D4的示例,舉個(gè)簡(jiǎn)單的例子(實(shí)際應(yīng)用中各門檻值都可以根據(jù)自身具體的業(yè)務(wù)更加細(xì)化)。

        圖4 時(shí)間粒度滑動(dòng)窗在不同CPU負(fù)載下的位置示意圖

        當(dāng)CPU占有率小于30%時(shí)候,此時(shí)負(fù)載比較低,時(shí)間粒度滑動(dòng)窗口向數(shù)值小的一端滑行,可以看到窗口的范圍是200~700 ms,共包括7個(gè)時(shí)間粒度值,具體選擇哪個(gè)粒度值就需要由剩余的有效Flash資源、業(yè)務(wù)需求決定。當(dāng)有效資源剩余量充足的時(shí)候,說(shuō)明資源足夠,垃圾回收的需求不迫切,可以選擇700 ms的粒度。當(dāng)有效資源剩余量比較少的時(shí)候,垃圾回收的需求就比較迫切,可以選擇200 ms的粒度,加快垃圾回收。

        當(dāng)CPU占有率在60%左右時(shí)CPU負(fù)載適中,時(shí)間粒度滑動(dòng)窗口向右端滑行,可以看到窗口的范圍是500~1 200 ms,共包括7個(gè)時(shí)間粒度值,具體選擇哪個(gè)粒度值由剩余的有效資源決定。當(dāng)有效資源剩余量比較多的時(shí)候,說(shuō)明資源足夠,垃圾回收的需求不迫切,可以選擇1 200 ms的粒度。當(dāng)有效資源剩余量比較少的時(shí)候,垃圾回收的需求就比較迫切,可以選擇500 ms的粒度,加快垃圾回收。

        當(dāng)CPU占有率大于90%時(shí)CPU負(fù)載很大,時(shí)間粒度滑動(dòng)窗口向數(shù)值大的一端滑行,可以看到窗口的范圍是1 000~2 200 ms,共包括7個(gè)時(shí)間粒度值,具體選擇哪個(gè)粒度值由剩余的有效資源決定。當(dāng)有效資源剩余量比較多的時(shí)候,說(shuō)明資源足夠,垃圾回收的需求不迫切,可以選擇2 200 ms的粒度。當(dāng)有效資源剩余量比較少的時(shí)候,垃圾回收的需求就比較迫切,可以選擇1000 ms的粒度,加快垃圾回收。

        一旦檢測(cè)到Flash剩余有效資源減少到需求門檻以下、CPU負(fù)載比較重、資源回收不及時(shí)的情況,任務(wù)觸發(fā)嵌入式裝置報(bào)警。

        4 模擬測(cè)試

        為了方便測(cè)試和說(shuō)明問(wèn)題,將資源回收時(shí)間粒度、Flash剩余空間、CPU負(fù)載組成三維坐標(biāo),模擬出示意圖說(shuō)明CPU負(fù)載、Flash剩余空間和回收時(shí)間粒度的變化趨勢(shì)之間的關(guān)系。條件如下:

        ① 將時(shí)間粒度進(jìn)度條長(zhǎng)度限定為3 000 ms,即時(shí)間粒度只能在0~3 000 ms范圍內(nèi)選擇。

        ② 將時(shí)間粒度滑動(dòng)窗口長(zhǎng)度限定為500 ms,滑動(dòng)窗口的滑動(dòng)粒度是25 ms,即CPU負(fù)載每變化1%,滑動(dòng)窗口就會(huì)滑動(dòng)25 ms的范圍。

        ③ 時(shí)間粒度最小選擇單位為5 ms,即Flash剩余空間每變化1%,時(shí)間粒度選擇就會(huì)有5 ms的改變。

        基于上述條件,可以得出公式:

        根據(jù)該公式可以得到三維仿真圖如圖5所示。

        圖5 三維仿真圖

        在時(shí)間粒度的三維分布入中,存在安全區(qū)域和報(bào)警區(qū)域:在安全區(qū)域以內(nèi)說(shuō)明Flash剩余有效空間充足,或者是CPU對(duì)垃圾資源的回收速度大于Flash剩余空間的使用速度;當(dāng)Flash剩余空間不充足并且CPU回收粒度跟不上Flash空間使用速度的時(shí)候,就會(huì)觸發(fā)報(bào)警,警告設(shè)備可能會(huì)存在異常情況。

        結(jié) 語(yǔ)

        猜你喜歡
        粒度滑動(dòng)嵌入式
        粉末粒度對(duì)純Re坯顯微組織與力學(xué)性能的影響
        基于矩陣的多粒度粗糙集粒度約簡(jiǎn)方法
        一種新型滑動(dòng)叉拉花鍵夾具
        Big Little lies: No One Is Perfect
        搭建基于Qt的嵌入式開發(fā)平臺(tái)
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        基于粒度矩陣的程度多粒度粗糙集粒度約簡(jiǎn)
        滑動(dòng)供電系統(tǒng)在城市軌道交通中的應(yīng)用
        一種基于變換域的滑動(dòng)聚束SAR調(diào)頻率估計(jì)方法
        Altera加入嵌入式視覺聯(lián)盟
        性一交一乱一透一a级| 国产免费成人自拍视频| 国产精品黑丝美女啪啪啪| 国产人妻精品无码av在线| 精品国精品国产自在久国产应用| 91热爆在线精品| 高清中文字幕一区二区三区| 免费国产在线精品一区 | 一边摸一边做爽的视频17国产| 女邻居的大乳中文字幕| 欧美在线播放一区二区| 亚洲高清国产拍精品熟女| 亚洲精品午夜久久久九九| 女人让男人桶爽30分钟| 成人区视频| 国产一级一片内射视频在线| 亚洲av天堂免费在线观看| 欧美成人午夜精品久久久| 久久九九青青国产精品| 日本免费三片在线视频| 亚洲av乱码一区二区三区林ゆな| 色一情一乱一伦一区二区三区| 国产成人cao在线| 毛片在线视频成人亚洲| 久久久久久久极品内射| 狠狠躁夜夜躁人人爽超碰97香蕉| 日韩精品视频免费福利在线观看| 亚洲va视频一区二区三区| 四虎影视永久在线观看| 久久一区二区三区四区| 一区二区三区国产天堂| 国产精品办公室沙发| 久久精品国产亚洲av电影| 国产肥熟女视频一区二区三区| 包皮上有一点一点白色的| 国产亚洲精品aaaaaaa片| 欧美手机在线视频| 国产三级黄色大片在线免费看 | 九九精品国产99精品| 亚洲精品在线免费视频| 无码吃奶揉捏奶头高潮视频|