0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

聊聊在手機(jī)上開啟快速swap的可能性

SSDFans ? 來源:SSDFans ? 2023-10-17 16:55 ? 次閱讀

導(dǎo)語

在使用移動設(shè)備時,用戶同時打開多個app是很常見的。而這很容易造成移動設(shè)備的內(nèi)存緊缺。在現(xiàn)有的方法中,無論是殺死進(jìn)程(lmkd)來釋放內(nèi)存還是基于壓縮算法的in-memory swap方式,都面臨用戶切換回被殺死的進(jìn)程過程效率低下問題,這會影響用戶體驗(yàn)。

ASAP是一種全新的swap機(jī)制,基于預(yù)取策略很好地改進(jìn)了用戶體驗(yàn)。其來自韓國首爾大學(xué)/谷歌等合作,發(fā)表于ATC 21。接下來本文將分成背景和動機(jī)、設(shè)計(jì)和實(shí)現(xiàn)和測試結(jié)果評估三個部分分別介紹ASAP誕生的背景、具體設(shè)計(jì)和效能。

背景和動機(jī)

安卓操作系統(tǒng)的內(nèi)存管理機(jī)制

在安卓操作系統(tǒng)中,用戶正在使用的app被認(rèn)為是在前臺(foreground),而其他啟動過但是當(dāng)前沒有被使用的app則是在后臺的。

內(nèi)存緊缺時,Android有個守護(hù)進(jìn)程lmkd,負(fù)責(zé)殺死最不重要的進(jìn)程(比如某個后臺進(jìn)程),而該進(jìn)程的數(shù)據(jù)自然就被釋放了。內(nèi)存中有個數(shù)據(jù)集存儲被移入后臺的進(jìn)程的狀態(tài),用戶切換回被lmkd殺死的進(jìn)程時,根據(jù)這個數(shù)據(jù)集恢復(fù)進(jìn)程數(shù)據(jù)。除此之外還有另一種方式即使用基于壓縮算法的in-memory swap(ZRAM),下圖為安卓操作系統(tǒng)in-memory swap機(jī)制示意圖,其特點(diǎn)是需要壓縮和解壓縮匿名頁,比通過I/O將匿名頁寫入磁盤更快,但是壓縮的頁依然占用內(nèi)存空間且壓縮解壓縮占用CPU時鐘周期。通常來說,lmkd會比這個機(jī)制先執(zhí)行。

e25fd8e2-6cc3-11ee-939d-92fbcf53809c.png

安卓操作系統(tǒng)in-memoryswap機(jī)制示意圖

為了更加直白地展示lmkd和in-memory swap、普通的swap之間的差異,此處定義兩個變量:

1) Launch Time:應(yīng)用數(shù)據(jù)已經(jīng)不在內(nèi)存中,但是內(nèi)存中依然有它的狀態(tài)信息。應(yīng)用利用這些狀態(tài)信息從頭重建所有活動所需要的時間,即被lmkd殺死的進(jìn)程的重啟時間;

2) Switch Time:應(yīng)用數(shù)據(jù)依然在內(nèi)存中。此使啟動應(yīng)用所需要的時間。

根據(jù)文件頁和匿名頁是否在內(nèi)存中,進(jìn)而進(jìn)一步分成四個不同的時間:

1) Ideal Switch Time:進(jìn)程的文件頁和匿名頁都在內(nèi)存中

2) Switch Time(file-backed pages in disk):進(jìn)程的文件頁在磁盤中,匿名頁在內(nèi)存中

3) Switch Time(most pages not in memory):大部分頁都不在內(nèi)存中

4) Launch Time:所有頁都不在內(nèi)存中

下圖展示了四種時間的差異。橫軸是用來測試的八個應(yīng)用和平均值,縱軸是四種時間的值,可見使用lmkd會比理想情況滿四倍左右,應(yīng)該盡可能減少lmkd的使用。

e27101a8-6cc3-11ee-939d-92fbcf53809c.png

四種時間的比較

請求調(diào)頁的缺陷

內(nèi)存壓力下,switch time的overhead來自于以下兩個方面:

1)解壓縮匿名頁

2)從磁盤檢索文件頁

而造成switch time大大增加的罪魁禍?zhǔn)拙褪钦埱笳{(diào)頁的低效率。下圖表示switch過程中CPU和磁盤帶寬利用率。在switch的過程中,CPU的平均利用率僅僅34.2%;,而磁盤帶寬利用率僅9.4%。究其原因, 在于解壓縮和讀磁盤操作只在一次page fault時啟動。

同時,實(shí)驗(yàn)者們發(fā)現(xiàn),文件頁和匿名頁的交換足跡(footprint)不一樣。文件頁更加“不變”。即同一個應(yīng)用被重新啟動時,往往訪問大量相同的文件頁。原因是要訪問許多相同的庫文件。因此這給予實(shí)驗(yàn)者一個啟示——為匿名頁和文件頁設(shè)計(jì)不同的預(yù)取器,利用預(yù)取來提高硬件利用率。

e2915db8-6cc3-11ee-939d-92fbcf53809c.png

switch過程中CPU和磁盤帶寬利用率

設(shè)計(jì)和實(shí)現(xiàn)

正如前文所說,為文件頁和匿名頁設(shè)計(jì)不同的預(yù)取器。對于文件頁,利用不變的特點(diǎn)減少負(fù)載;對于匿名頁,則利用實(shí)時信息追蹤變化的switch footprint。其中的挑戰(zhàn)是,如何準(zhǔn)確地預(yù)測footprint。

1)針對文件頁,如下圖,設(shè)計(jì)了以下五個部分:

?Offline profiling

利用前十次交換,把訪問超過八次的頁當(dāng)作預(yù)取的候選頁。其結(jié)果被存儲在一個文件中。( offline candidate table )。

?Fault logging

記錄每次交換時的缺頁信息。存放在fault buffer中。

?Prepaging Target Management – Insertion

匹配fault buffer和offline candidate table,能匹配到,則插入prepaging target table。

?Prepaging Target Management – Extent Merging

Extent:一次切換時同一文件中被訪問的頁的集合。

兩個extent相近(小于16頁的差距),則合并。

?Prepaging Target Management – Eviction

被預(yù)取的頁只要在一次交換中沒有被用到(檢查mapcount是否為0),則從prepaging target table中移除。

e29f7cc2-6cc3-11ee-939d-92fbcf53809c.png

文件頁的預(yù)取過程

2)針對匿名頁,如下圖,設(shè)計(jì)了如下五個部分:

?Fault logging

記錄所有匿名頁的缺頁中斷。

?Access logging

根據(jù)頁表的訪問位,記錄Prepaging Target Table和Online Candidate Table中的頁在應(yīng)用切換時的訪問情況。

?Prepaging Target Management – Check & Insertion

把新的缺頁中斷加入Online Candidate Table。

?Prepaging Target Management – Promotion

若在Online Candidate Table中的頁被訪問了,則加入prepaging target table。

?Prepaging Target Management – Eviction

在prepaging target table和Online Candidate Table中的頁有個超時計(jì)時器,每次切換時計(jì)時器減小,而頁被訪問時計(jì)時器重置,超時后頁被丟棄。

e2ac4bfa-6cc3-11ee-939d-92fbcf53809c.png

匿名頁的預(yù)取過程

測試結(jié)果評估

1. 在switch latency方面,在兩種不同設(shè)備上(Pixel 4代表高端設(shè)備,Pixel 3a代表低端設(shè)備),基于baseline,平均性能提高了22.2%、28.3%。

e2b596ce-6cc3-11ee-939d-92fbcf53809c.png

寫延遲示意圖

2. 在預(yù)測器性能方面,平均準(zhǔn)確率分別為匿名頁68.4%,文件頁79.3%;平均召回率分別為匿名頁60.4%,文件頁52.2%。

e2ca1bda-6cc3-11ee-939d-92fbcf53809c.png

預(yù)測器性能示意圖

3. 在資源利用率方面,平均提高CPU利用率1.18倍(反映了預(yù)取匿名頁的影響);平均提高I/O帶寬的使用率25.2%(反映了預(yù)取文件頁的影響)。

總結(jié)

ASAP通過合理設(shè)計(jì)預(yù)取機(jī)制,在兩種設(shè)備上,平均性能分別提高了22.2%、28.3%,取得了不錯的效果。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10769

    瀏覽量

    210420
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6603

    瀏覽量

    123020
  • SWAP
    +關(guān)注

    關(guān)注

    0

    文章

    51

    瀏覽量

    12754

原文標(biāo)題:聊聊在手機(jī)上開啟快速swap的可能性

文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    GPS在手機(jī)上的定位系統(tǒng)設(shè)計(jì)

    `<p><font face="Verdana"><strong>GPS在手機(jī)上
    發(fā)表于 12-18 15:09

    聲表面濾波器有用在手機(jī)上嗎?

    今天看到一篇文章,有提到聲表面濾波器可以用在智能手機(jī)上,我自己就有銷售聲表面濾波器,但是從培訓(xùn)到現(xiàn)在都沒聽說聲表面濾波器可以用在手機(jī)上,那么聲表面濾波器到底能不能用在手機(jī)上呢?具體又是那一款呢?
    發(fā)表于 12-02 21:30

    LabVIEW2013能做成軟件后在手機(jī)上顯示儀器的界面么?

    如題:LabVIEW2013能做成軟件后在手機(jī)上顯示儀器的界面么?
    發(fā)表于 03-02 21:09

    請問怎么通過WIFI模塊在手機(jī)上顯示網(wǎng)頁

    我之前看過,論壇里一個壇友的文章,他通過WIFI模塊實(shí)現(xiàn)了手機(jī)訪問模塊網(wǎng)頁的功能,我現(xiàn)在使用的是ESP8266的模塊,現(xiàn)在也想實(shí)現(xiàn)這樣一個功能在手機(jī)上通過IP請求網(wǎng)站時能將我保存在開發(fā)板上的簡單網(wǎng)頁
    發(fā)表于 01-24 02:11

    藍(lán)牙模塊與安卓手機(jī)相連,串口助手發(fā)信息顯示在手機(jī)上是亂碼

    請問藍(lán)牙模塊與安卓手機(jī)相連 ,手機(jī)可以發(fā)數(shù)據(jù)到藍(lán)牙并顯示在電腦串口助手上 ,但是串口助手發(fā)信息就不能顯示在手機(jī)上就是亂碼 ,是哪里的問題?。?/div>
    發(fā)表于 02-15 00:24

    如何用matlab進(jìn)行g(shù)amma可能性分析?

    大神們,我在用matlab進(jìn)行g(shù)amma可能性分析時,不知如何計(jì)算gamma值的SD SE,見笑了,實(shí)在沒查到資料,望了解的可以解答一下,多謝多謝!
    發(fā)表于 02-23 09:28

    在手機(jī)上采用USB傳輸高清視頻

    高清錄像作為他們的高端產(chǎn)品。在手機(jī)中整合高清視頻將會進(jìn)一步體現(xiàn)其實(shí)用價值,因?yàn)樗巡粌H是一個數(shù)碼相機(jī),還是一個數(shù)碼攝像機(jī)。把高清錄像放到手機(jī)會帶來新的問題:如何使高清視頻回放。在手機(jī)上直接回放視頻是很
    發(fā)表于 05-16 10:44

    PSOC5LP與低通濾波器進(jìn)行硬件連接的可能性有多大?

    你好,我想用我的PSoC5LP板(CY8C55)做多個應(yīng)用程序,我想知道與低通濾波器進(jìn)行硬件連接的可能性,因?yàn)檫@些值被限制為C= 5PF-10PF和R=200K-1000 K,我們有四的可能性打破頻率值。有可能增加硬件連接來增加
    發(fā)表于 08-13 10:52

    存儲級內(nèi)存取代NAND閃存的可能性分析

    存儲級內(nèi)存(SCM)取代NAND閃存的可能性分析
    發(fā)表于 01-05 06:23

    怎么做到在手機(jī)上自主分析數(shù)據(jù)的?

    看很多人都說在手機(jī)上就能分析數(shù)據(jù),還是從自己的立場出發(fā)去調(diào)整報表,針對分析自己關(guān)心的數(shù)據(jù)。這是怎么做到的?用什么數(shù)據(jù)分析工具實(shí)現(xiàn)的?用數(shù)據(jù)可視化工具制作的報表就可以在手機(jī)端自主分析。也就是上段提到
    發(fā)表于 04-13 10:00

    如何在手機(jī)上打開/啟動應(yīng)用程序?

    您希望如何在手機(jī)上打開/啟動應(yīng)用程序?您會手動啟動還是通過語音命令啟動它?
    發(fā)表于 05-04 08:56

    中興Axon 30 Ultra帶來手機(jī)多攝體驗(yàn)的更多可能性

    的中興Axon 30 Ultra,就帶來了手機(jī)多攝體驗(yàn)的更多可能性。 01? 簡約設(shè)計(jì),輕薄質(zhì)感 煥然一新的體驗(yàn),從外觀設(shè)計(jì)開始。中興Axon 30 Ultra以簡約線條勾勒出纖薄的輪廓,厚度僅為8mm,重量僅188g,握在手
    的頭像 發(fā)表于 06-09 15:20 ?2732次閱讀

    在手機(jī)上顯示帶有地震位置標(biāo)記的地圖

    電子發(fā)燒友網(wǎng)站提供《在手機(jī)上顯示帶有地震位置標(biāo)記的地圖.zip》資料免費(fèi)下載
    發(fā)表于 06-20 10:58 ?0次下載
    <b class='flag-5'>在手機(jī)上</b>顯示帶有地震位置標(biāo)記的地圖

    記憶黑板與智能手機(jī)或平板電腦同步的可能性與實(shí)現(xiàn)

    記憶黑板與智能手機(jī)或平板電腦同步的可能性與實(shí)現(xiàn) 隨著科技的不斷發(fā)展,人們對于信息傳遞和共享的方式也在不斷追求便捷和高效。記憶黑板作為一種傳統(tǒng)的信息展示和傳遞工具,在許多場合仍然發(fā)揮著重要作用。然而
    的頭像 發(fā)表于 12-27 15:30 ?469次閱讀

    怎么在手機(jī)上做電路仿真

    在手機(jī)上進(jìn)行電路仿真,您可以使用一些專業(yè)的電路仿真應(yīng)用。這些應(yīng)用通常提供豐富的元器件庫、強(qiáng)大的仿真功能和直觀的圖形界面,使得在手機(jī)上進(jìn)行電路設(shè)計(jì)和仿真變得方便而高效。
    的頭像 發(fā)表于 03-29 14:25 ?1533次閱讀