?

基于CPU-GPU 協同調控和網頁特征感知的瀏覽器功耗優化研究

2024-02-18 13:46黃江杰劉曉東黃浩煒王文竹
應用科學學報 2024年1期
關鍵詞:功耗瀏覽器復雜度

張 錦,黃江杰,彭 龍,劉曉東,余 杰,黃浩煒,王文竹

1.長沙理工大學計算機與通信工程學院,湖南 長沙 410114

2.國防科技大學計算機學院,湖南 長沙 410073

3.先進計算與關鍵軟件(信創)海河實驗室,天津 300459

移動端軟件可分為原生軟件、Web 軟件和混合型軟件3 種類型[1],混合型軟件開發采取原生外殼內嵌瀏覽器的架構,兼具用戶使用體驗好、跨平臺和易維護等優點,該開發框架在軟件開發行業占有越來越高的比例[2]。3 種軟件類型中Web 軟件和混合型軟件的開發與瀏覽器密切相關。瀏覽器作為高耗電應用[3]和智能手機用戶使用頻率最高的應用之一[4-5],其功耗問題得到研究者越來越多的關注[6-8]。圖1 給出了瀏覽器的工作流程,可見用戶通過瀏覽器向服務器發送請求;服務器給出響應后將網頁文件發送至用戶設備;設備接收到文件后進行解析;渲染引擎生成文檔對象模型并對網頁進行布局;層疊樣式表控制網頁中每個元素的呈現形式,最后繪制網頁,一些較為復雜的網頁會采取多圖層結構,繪制好每個圖層的內容后,還需要進行合成操作。在該過程中,文件解析和網頁布局主要由CPU 主導,頁面的繪制和合成主要由GPU 主導。瀏覽器運行時多個手機組件同時工作,如屏幕、無線網、CPU 和GPU 等,研究表明安卓設備運行過程中CPU 與GPU 功耗總占比高達85%[9]。用戶在使用瀏覽器過程中,網頁加載過程的表現對用戶使用體驗至關重要[10],因此,研究CPU 和GPU 在網頁加載過程中對功耗的影響具有現實意義。

圖1 Web 瀏覽器工作流程Figure 1 Workflow of Web browser

為降低瀏覽器功耗,研究者們對瀏覽器架構進行優化。文獻[11] 通過增強渲染引擎布局算法的并行性,在降低了功耗的同時減少了網頁加載時間。文獻[12] 通過合并用戶請求和服務器響應的方法,降低了網頁瀏覽過程中數據傳輸的功耗。文獻[13] 分析了3G 網絡的特征,重新組合了瀏覽器的的計算順序,使3G 無線接口更長時間地處于低功耗狀態。文獻[14] 指出JavaScript(JS)的執行速度過快會導致不必要的損耗,所以通過分析網頁的JS 文件結構,從而插入睡眠函數限制JS 執行速度的方法降低了功耗?,F如今智能手機系統中普遍存在多種類型的CPU,這種CPU 架構被稱為異構多核心架構。異構系統的設計目的主要是優化CPU資源配置,進一步均衡設備的功耗與性能。big.LITTLE[15]是典型的異構多核心架構,其中核簇切換是一種較為簡單且常用的架構,該架構由多個算力較強的CPU 組成的大核簇和多個算力較弱的CPU 組成的小核簇構成。隨著硬件設備性能的提升,研究者們發現現有的資源調度策略還存在較大的優化空間[16]。文獻[17] 基于不同的優化目標,根據網頁特征與網絡狀況通過動態電壓頻率縮放(dynamic voltage and frequency scaling,DVFS)技術為不同網頁配置最佳的CPU 頻率組合。文獻[18] 針對Chromium 多線程架構提出了自適應內容繪畫技術,并應用輔助調度技術使進程在大小核之間切換,降低了功耗。這些技術普遍忽略了GPU 對網頁加載的影響。文獻[19] 提出適當提高GPU 頻率可以減少CPU 高頻運行時間。文獻[20] 收集了移動端軟件運行時的繁忙(CPU 利用率為100%)時間占比、各級頻率的使用時間占比以及連續繁忙時間,通過構建神經網絡模型預測最佳的CPU 上限頻率,發現大部分應用在限制CPU 頻率后都實現了不同程度的功耗節省。文獻[21] 利用支持向量機自主挖掘網頁特征和CPU 不同頻率之間的關系,構建了CPU 資源調度預測模型,該模型根據網頁特征基于不同的優化目標為渲染引擎分配最佳CPU 頻率配置。結合上述研究,本文提出了一種基于系統默認策略限制CPU 上限頻率并調節GPU 頻率的方法。實驗結果表明,相比于系統默認策略,該方法在降低了功耗的同時縮短了網頁加載時間。

1 實例分析

1.1 CPU 上限頻率的限制

在默認策略下,將大核簇的上限頻率由最高的2.45 MHz 降低至2.26 MHz,對20 個常用網頁進行測試與比較。結果如圖2 所示,其中,功率監測儀器每秒采集5 000 次電流和電壓數據,每組數據作為該采樣周期的平均電流和和平均電壓,通過累加得到功耗(單位為J)??梢杂^察到,限制了CPU 大核簇頻率后,這些網站加載過程中所消耗的電量平均節省了11.0%,而大部分網頁加載時間只有小幅度的延長,平均延長幅度為9.7%。該結果表明,在默認策略下CPU 頻率配置存在資源的過度配置問題,說明了通過限制CPU 上限頻率降低瀏覽器功耗的可行性。

圖2 限制CPU 大核簇頻率后功耗和加載時間變化Figure 2 Power consumption and loading time change after limiting the big CPU cluster frequency

1.2 GPU 頻率調節

為探究在網頁加載過程中GPU 頻率的變化情況,提取出20 個常用網頁加載過程中GPU在各級頻率下的運行時間,發現在加載過程中GPU 始終保持最低頻率,這表明在默認的GPU 頻率管理策略下,頻率不隨著網頁內容的變化而調整。于是嘗試將GPU 的頻率由最低的257 MHz 升高至342 MHz,觀察GPU 頻率升高對網頁加載時間和功耗的影響。測試結果如圖3 所示,可見網頁加載時間平均縮短了5.0%,同時功耗降低了4.3%。由于提高GPU 頻率可以加快網頁渲染速度,分擔CPU 計算負載,所以允許CPU 大小核簇處于高頻率的時間縮短,從而實現了功耗節省??梢杂^察到,升高GPU 頻率比限制CPU 頻率功耗的降低幅度小,但是減少了網頁的加載時間。該結果表明,適當提高GPU 頻率可以減少網頁加載時間,同時可以實現功耗優化。

圖3 提升GPU 頻率后功耗和加載時間變化Figure 3 Power consumption and load time change after boosting the GPU frequency

2 網頁分類與頻率調節

2.1 網頁特征與復雜度描述

為不同網頁合理配置CPU 上限頻率與GPU 頻率的關鍵在于如何描述網頁的復雜度。網頁開發者使用HTML 腳本語言開發網頁,不同網頁在結構和內容上有所不同,通??梢允褂孟嗤奶卣髟貋砻枋鲆粋€網頁的復雜程度,如網頁大小、DOM 節點數、DOM 樹深度等,這些元素被統稱為網頁特征。因此,可以根據網頁特征和不同特征的重要性對網頁的復雜度進行量化和分級。

文獻[17] 從網頁中提取出214 個原始特征,如DOM 節點數、DOM 樹深度、圖像數等,采用主成分分析對其進行篩選,得到對網頁加載時間以及功耗影響最大的網頁特征?;谏鲜鲅芯?,選取網頁大?。‵Pagesize)、DOM 節點數(FDOMnode)、DOM 樹深度(FDOMdepth)、鏈接數(FLink)、樣式屬性數(FStyle)以及圖像數(FIMG)共6 種網頁特征描述網頁的復雜度。在提取網頁特征之后對網頁的各個特征進行歸一化處理,將所有特征值限制在0~1 范圍內。

由于網頁的內容結構與設備硬件無關,所以量化網頁復雜度有利于將優化瀏覽器功耗的方法遷移至其他類型的硬件平臺。選取的6 個網頁特征及其重要性占比如圖4 所示。根據不同特征的重要性,通過加權求和的方式定義網頁的復雜度C,公式為

圖4 網頁特征重要性統計Figure 4 Web page feature importance statistics

式中:Pi為不同特征的重要性量化值;Fi為不同特征歸一化后的數值。

2.2 處理器運行時特征與網頁分類

為研究網頁在加載過程中CPU 頻率的動態變化情況,統計了500 個中文網站加載時大小核簇在各級頻率下的運行時間占比。其中,搜狐、百度兩個網站加載時大小核簇各級CPU頻率運行時間占比如圖5 所示。

在核簇切換的CPU 設計架構下,當小核簇不足以處理任務時會將任務遷至大核簇中,大小核簇在無工作負載的狀態下保持最低頻率,所以網頁加載過程中大核簇處于最低頻率的時間占比可以反映出一個網頁的加載過程對兩個核簇的依賴程度。定義大核簇處于最低頻率的狀態為大核空閑態(Sidle),根據網頁加載時Sidle時間占比(PS),將網頁分為3 類:小核型(TL)、綜合型(TBL)以及大核型(TB),其分類規則為:

1)如果PS≥80%,則T=TL;

2)如果50%<PS<80%,則T=TBL;

3)如果PS≤50%,則T=TB。

參數Sidle是通過對樣本空間內不同復雜度網頁加載時的特征總結得出的。如圖5 所示,搜狐這一類復雜度較大的網頁在加載時PS<50%;而百度這一類結構較簡單的網頁加載時PS>80%。每一組歸一化后的特征代表一個網頁,為每一組數據根據網頁類型進行標注后,通過sklearn 建立邏輯回歸模型。該模型返回三組參數,每一組參數計算出一個網頁屬于對應類別的可能性,公式為

式中:ωi為對應類型的模型參數向量;x為網頁特征向量。通過運算后得到P(T=TL)、P(T=TBL) 和P(T=TB),其中最大的P值所對應的類型即為該網頁類型。網頁分類可以快速確定在優化目標網頁時應針對哪個核簇。如TL型網頁的加載過程中主要依賴小核簇,大核簇80%以上時間處于最低頻率狀態,優化目標為小核簇。同理,TBL型網頁優化對象為大小兩個核簇,TB型網頁優化目標為大核簇。

2.3 CPU 上限頻率和GPU 頻率調節

2.3.1 CPU 上限頻率調節

分析大小核簇頻率的分布可知,在網頁加載時,系統傾向于將頻率調節至最高或最低,中段頻率的利用率偏低,而限制上限頻率可以更充分利用中段頻率。網頁分類后,根據網頁類型調節相應核簇的上限頻率,核簇可調節頻率為一個遞增數列,分別定義為小核簇頻率數列(LLarr)與大核簇頻率數列(LBarr)。瀏覽器用戶在使用過程中最關注的是頁面加載的時間,網頁在網絡狀況良好的情況下加載時間在1~10 s 范圍內,且不相等,所以對不同的網頁設置相同的加載時間上限是不合理的。為保證用戶體驗,定義小核簇基準上限頻率下標(Lbase)和大核簇基準上限頻率下標(Bbase)。在加載TL型網頁時,保持大核簇頻率不變,調節小核簇上限頻率時網頁加載時間的延長百分比并制成小核簇查詢表(Ltable),當小核簇上限頻率低于LLarr[Lbase] 后會使加載時間延長百分比高于某一個閾值;在加載TB型網頁時,保持小核簇頻率不變,調節大核簇上限頻率時網頁加載時間的延長百分比并制成大核簇查詢表(Btable),當大核簇上限頻率低于LLarr[Bbase] 后會使加載時間延長百分比高于某一個閾值。這個閾值可以根據用戶對性能的要求指定,值越低代表對性能要求越高。通過設定這個閾值可以保證加載任何類型網頁的加載時間都在用戶可容忍范圍內。

得到Lbase和Bbase后可以計算出大小核簇的頻率級數。根據網頁復雜度定義小核簇復雜度等級(CL)與大核簇復雜度等級(CB)。CL和CB分別由樣本空間內所有網站的復雜度劃分:將所有網頁復雜度升序排列,按可調節級數進行均分,其中每一部分代表一個等級,得到一個網站的復雜度之后,即可根據等級劃分得到對應的CL和CB。通過對網頁分別進行復雜度等級劃分,可以更加精細地限制不同復雜度網頁的CPU 頻率。限制幅度由網頁的CL和CB決定,等級越高,所對應的CPU 核簇的頻率上限則越高。結合系統架構特點,確定3 種類型網頁的大核簇上限頻率(LB)和小核簇上限頻率(LL),規則為:

1)如果T=TL,則LL=LLarr[Lbase+CL],LB=min(LBarr);

2)如果T=TBL,則LL=LLarr[Lbase+CL],LB=LBarr[Bbase+CB];

3)如果T=TB,則LL=max(LLarr),LB=LBarr[Bbase+CB]。

對于TL型網頁,加載過程中絕大部分時間內大核簇處于最低頻率,加載這類網頁時將大核簇上限頻率設為最低,再限制小核簇頻率;對于TBL型網頁,分別對大小核簇按復雜度進行頻率限制;對于TB型網頁,小核簇頻率不進行限制,根據復雜度限制大核簇頻率。

2.3.2 GPU 頻率調節

為探究GPU 頻率對網頁加載時間的影響,將CPU 大小核簇的頻率固定,依次升高GPU頻率,并統計在不同GPU 頻率下網頁平均加載時間。對比2.3.1 節提出的利用Ltable與Btable估計網頁的加載時間延長比例,找出Gtable中最接近的比率值,據此預測加載該網頁的最佳GPU 頻率(FGPU)。

2.4 方法總結

使用模型預測最佳頻率配置的優化方法在應用于新設備時需要根據CPU 類型重新訓練預測模型,而CPU 配置的種類繁多,需要遍歷每一種配置后收集每一個網頁的最佳頻率配置作為訓練模型的數據集,這一過程極為繁瑣。隨著處理器可調節頻率密度的增大,為網頁配置一種具體頻率配置的難度也會增大,這也是通過DVFS 技術實現功耗優化的一大挑戰。而且隨著網頁復雜度的提升,網頁對GPU 的依賴性也會越來越強,如果再考慮GPU 的影響因素,復雜度會進一步提升。通過限制CPU 的上限頻率可以降低復雜度,因為該方法的參數獲取只需單獨遍歷CPU 大小核簇和GPU 的各級頻率,不需要考慮頻率組合,于是,增大CPU 可調節頻率密度仍可使復雜度保持在同一個量級。同時,由于本文所提方法邏輯結構簡單,且不包含復雜的機器學習模型,可以更簡便地應用于其他類型的智能手機,體現出更佳的遷移性。

獲取所需參數并訓練好網頁分類模型后,本文所提方法的應用過程可由算法1 描述。

3 實驗與評價

3.1 參數設置與示例

選擇50 個TL型網頁,將大核簇頻率設置為最低,依次降低小核簇的上限頻率;選擇50個TB型網頁,將小核簇的頻率限制在最低,依次降低大核簇的上限頻率。收集每種頻率配置對這些網頁的加載時間影響,如圖6~7 所示。進而可得每一級上限頻率對應的網頁加載時間延長百分比、Ltable和Btable。設置加載時間延長閾值為20%,這一閾值可以根據用戶對性能的需求進行調節。從圖6~7 中可以觀察到:在大核簇上限頻率處于1.96 MHz 和小核簇上限頻率處于1.19 MHz 時,網頁的平均加載時間相較于默認策略增長了20%,因此選擇大核簇的2.04 MHz 與小核簇的1.25 MHz 為基準上限頻率,這兩個基準上限頻率在LLarr與LBarr中的下標分別為13、24,所以Lbase設置為13,Bbase設置為24。又因為小核簇與大核簇分別有22 級和31 級可調節頻率,所以CL可分為9 個等級(0~8),CB可分為7 個等級(0~6)。CL和CB分別由樣本空間內所有網頁的復雜度劃分:將所有網頁的復雜度升序排列,分別按復雜度大小均分為9 個等級與7 個等級。GPU 與CPU 分屬于兩個不同模塊,二者之間是無關聯的。為了避免CPU 頻率變化影響加載時間,將CPU 大小核簇的頻率固定,依次調節GPU 頻率,對100 個包含3 種類型的網頁進行測試,測試結果如圖8 所示,記錄每一級GPU 頻率下加載時間縮短百分比得到Gtable。

圖6 固定小核簇頻率,調節大核簇頻率上限Figure 6 Adjusted the upper limit of large cluster frequency when little cluster frequency is fixed

圖7 固定大核簇頻率,調節小核簇頻率上限Figure 7 Adjusted the upper limit of small cluster frequency when big cluster frequency is fixed

圖8 固定CPU 頻率,調節GPU 頻率Figure 8 Adjusted GPU frequency when CPU frequency is fixed

3.2 實驗評估

對排名前500 的中文網站進行測試,所有測試均在穩定的WIFI 網絡狀態下進行,以避免網絡波動對實驗結果造成影響。為了避免人為因素干擾,使用自動測試工具加載網頁。每一次測試前均會刪除瀏覽器緩存,每組實驗數據均多次測量再取平均值。將500 個網站隨機分為10 組分別進行實驗。實驗結果如圖9 所示,其中圖9(a) 為功耗對比統計圖,可見,相較于默認策略,所有組別的網頁加載時的總功耗均有不同程度的降低;由如圖9(b) 可見,所提方法實現了7.3%~20.3% 的功耗優化,平均節省了12.0% 功耗。如圖10(a)~(b) 所示,網頁加載時間的變化幅度為-2.9%~9.2%,平均縮短了5.0%。

圖9 功率優化統計Figure 9 Power optimization statistics

圖10 網頁加載時間優化統計Figure 10 Web page load time optimization statistics

4 結語

本文提出了一種限制CPU 頻率的同時調節GPU 頻率實現瀏覽器功耗優化的方法。通過探究網頁加載時CPU 頻率調節特征建立模型對網頁進行分類,根據網頁類型優化目標核簇。分析了限制CPU 頻率以及GPU 頻率對網頁加載功耗和加載時間的影響,根據網頁的復雜度調節CPU 的上限頻率,同時協調GPU 頻率保證網頁的加載速度。實現了網頁加載功耗優化的同時降低了網頁加載時間,體現出本文方法的簡便性和更好的遷移性。

在未來的研究過程中,由于網絡因素對頁面加載存在較大影響,所以應該進一步考慮如何根據網絡狀態動態地調度處理器資源;對于瀏覽器用戶而言,交互階段的功耗優化也是十分重要的,因為用戶操作的隨機性和用戶對于交互響應的敏感性,所以針對這個階段進行功耗優化是非常具有挑戰性的,同時也是未來需要研究的重點問題;混合式應用與瀏覽器密切相關,因此針對瀏覽器提出的功耗優化方法在未來應考慮如何廣泛地應用于系統架構層面來降低智能手機整體的功耗。

猜你喜歡
功耗瀏覽器復雜度
基于任務映射的暗硅芯片功耗預算方法
反瀏覽器指紋追蹤
一種低復雜度的慣性/GNSS矢量深組合方法
求圖上廣探樹的時間復雜度
揭開GPU功耗的面紗
數字電路功耗的分析及優化
環球瀏覽器
某雷達導51 頭中心控制軟件圈復雜度分析與改進
再見,那些年我們嘲笑過的IE瀏覽器
IGBT模型優化及其在Buck變換器中的功耗分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合