<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

      操作系統(tǒng)自動化定制:Wayfinder

      0
      分享至

      Wayfinder:操作系統(tǒng)自動化定制

      Wayfinder:Automated Operating System Specialization

      https://arxiv.org/pdf/2603.23425


      摘要

      操作系統(tǒng)專用化是一種眾所周知的方法,用于優(yōu)化特定應(yīng)用程序的性能、內(nèi)存使用、安全性或其他重要指標。為應(yīng)用程序?qū)S没僮飨到y(tǒng)通常是一個需要深厚專業(yè)知識的手動過程。通過配置進行專用化非常適合自動化;然而,由于現(xiàn)代操作系統(tǒng)配置空間的龐大規(guī)模、量化該空間的難度、評估配置所需的長時間以及大量無效配置的存在,這具有挑戰(zhàn)性。因此,現(xiàn)有自動專用化操作系統(tǒng)的嘗試局限于開啟和關(guān)閉功能以最小化內(nèi)存消耗或攻擊面,并且不能針對諸如性能之類的指標。

      我們提出了 Wayfinder,一個完全自動且無需專家知識即可專用化操作系統(tǒng)配置的框架。它能夠?qū)S没僮飨到y(tǒng)配置的所有方面(編譯/啟動/運行時),以實現(xiàn)任何可量化的性能、資源消耗或安全指標,針對在給定硬件設(shè)置上處理給定工作負載的應(yīng)用程序。Wayfinder 由一個自動化操作系統(tǒng)基準測試平臺和一個驅(qū)動專用化過程的基于神經(jīng)網(wǎng)絡(luò)的搜索算法組成。這是通過即時學習哪些配置參數(shù)和值對性能影響最大,以及哪些會導(dǎo)致運行時故障來實現(xiàn)的。可選地,在一個應(yīng)用程序上預(yù)訓(xùn)練的模型可以被重用以加速相關(guān)應(yīng)用程序的專用化。我們在兩個操作系統(tǒng)、我們的應(yīng)用程序和兩個目標指標上評估了 Wayfinder:Wayfinder 完全自動地識別專用配置,與默認配置相比,應(yīng)用程序性能提升高達 24%,內(nèi)存使用減少 8.5%。我們突出了我們神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,比競爭方法(隨機和貝葉斯)更快達到良好解決方案,并成功在相關(guān)應(yīng)用程序之間遷移知識。

      CCS 概念:? 軟件及其工程 → 操作系統(tǒng);軟件配置管理和版本控制系統(tǒng)。

      關(guān)鍵詞:操作系統(tǒng),專用化

      1 引言

      主流操作系統(tǒng)(OS)的通用性是以性能、資源消耗或安全性為代價的 [13, 15, 25, 46, 48, 70]。因此,權(quán)衡通用性成本的一種常見技術(shù)是操作系統(tǒng)專用化 [8, 25, 33, 46],即針對特定用例(如應(yīng)用程序、工作負載或硬件平臺)定制操作系統(tǒng)的過程。操作系統(tǒng)專用化是一個流行的系統(tǒng)研究主題,相關(guān)工作針對 I/O [15, 42, 57, 65, 70, 73]、GPU 或硬件加速器 [81–83]、資源使用 [2, 42, 44, 54, 55]、安全性 [45, 49, 80, 91]、兼容性 [9, 66, 67, 69, 90] 或可擴展性 [14]。

      大多數(shù)操作系統(tǒng)專用化工作依賴于專家開發(fā)人員手動調(diào)整或重新實現(xiàn)特定的操作系統(tǒng)子系統(tǒng)。不幸的是,這些方法依賴于專家領(lǐng)域知識,阻止了絕大多數(shù)用戶獲得這些技術(shù)的好處。為了解決這個問題,我們需要在操作系統(tǒng)專用化方面更多的自動化。

      我們專注于通過配置進行操作系統(tǒng)專用化,其中操作系統(tǒng)使用戶能夠通過編譯時、啟動時或運行時配置參數(shù)自定義其行為并為特定用例調(diào)整其功能。雖然配置專用化的好處可以說比通過重新設(shè)計部分操作系統(tǒng)獲得的好處更適度,但它們在許多場景中已被證明是顯著的 [39, 44, 45, 77, 88]。此外,這種方法非常適合自動化,并且可以在沒有專家知識的情況下實現(xiàn)。雖然先前的工作已經(jīng)探索了自動開關(guān)功能以減少資源消耗 [1, 40, 77] 或攻擊面 [45, 88, 89],但當針對性能等其他指標時,沒有一個能夠處理現(xiàn)代操作系統(tǒng)提供的巨大且復(fù)雜的配置空間的挑戰(zhàn)。

      我們提出了 Wayfinder,一個完全自動且無需專家知識即可為應(yīng)用程序?qū)S没僮飨到y(tǒng)(如 Linux)配置的框架。對于在給定硬件設(shè)置上處理給定工作負載的目標應(yīng)用程序,Wayfinder 自動專用化操作系統(tǒng)配置的任何方面,例如編譯時、啟動時和運行時參數(shù),以實現(xiàn)任何可量化的性能、資源消耗、安全性或兼容性指標。該框架包括一個自動化操作系統(tǒng)配置、構(gòu)建和基準測試平臺,旨在支持可重復(fù)的測試。在其核心,Wayfinder 建立在 DeepTune 之上,這是一種新穎的基于神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法,用于驅(qū)動專用化過程。DeepTune 的關(guān)鍵思想是通過預(yù)測 1) 它們在目標指標上的性能(例如,吞吐量、內(nèi)存使用)和 2) 它們有效的可能性(例如,編譯、運行時不崩潰)來選擇有趣的候選配置,從而指導(dǎo)搜索。

      Wayfinder 解決了幾個挑戰(zhàn)。首先,現(xiàn)代操作系統(tǒng)的配置空間極其巨大。如圖 1 所示,Linux 6.0 展示了大約 20,000 個編譯時選項,除此之外還有啟動時和運行時參數(shù)。一些參數(shù)采用任意數(shù)字作為值,這加劇了問題:總的來說,不可能探索每一個配置。其次,如果沒有專家知識,搜索空間很難定義。許多內(nèi)核參數(shù)提供很少或沒有文檔:參數(shù)類型和有效值范圍是未知的。第三,評估配置需要時間,因為它可能需要構(gòu)建內(nèi)核映像、啟動它并運行測試以評估目標指標。評估配置所需的時間可能會有顯著差異,自動化操作系統(tǒng)調(diào)優(yōu)系統(tǒng)應(yīng)該優(yōu)化發(fā)現(xiàn)專用配置的整體時間。最后,搜索空間包含許多在紙上有效的配置(例如,在 Linux 上,它們滿足 KConfig 檢查的約束),但會導(dǎo)致編譯時、啟動時或運行時失敗。我們的評估表明,當使用樸素(隨機搜索)方法來優(yōu)化 Linux 操作系統(tǒng)的配置時,大約三分之一的嘗試失敗,這代表了大量浪費的搜索迭代。結(jié)合緩慢的評估,這嚴重限制了在給定時間預(yù)算內(nèi)可以探索的配置數(shù)量。

      Wayfinder 的設(shè)計如下解決這些挑戰(zhàn)。對于具有巨大且難以限定搜索空間的操作系統(tǒng)(例如 Linux),我們使用啟發(fā)式算法離線確定搜索空間,該算法推斷每個操作系統(tǒng)參數(shù)的類型和范圍。然后,我們的在線探索依賴于 DeepTune,這是一種神經(jīng)網(wǎng)絡(luò)優(yōu)化算法,它逐步學習對目標指標具有最顯著性能影響的操作系統(tǒng)配置參數(shù)和值。為了加速搜索,DeepTune 學習避免可能觸發(fā)失敗的參數(shù)值,這是競爭方法(如隨機搜索或貝葉斯優(yōu)化)所缺乏的功能。默認情況下,學習過程針對每個要專用化的應(yīng)用程序/指標從頭開始。可選地,在訓(xùn)練模型以優(yōu)化給定應(yīng)用程序后,可以應(yīng)用遷移學習,即該模型可以重用以加速具有相似特征的其他應(yīng)用程序的探索。

      我們將 Wayfinder 應(yīng)用于專用化兩個操作系統(tǒng)(Linux 和 Unikraft [42])的配置,用于流行的云應(yīng)用程序。我們優(yōu)化兩個目標指標:應(yīng)用程序性能和內(nèi)存使用。與因果推理 [38] 或貝葉斯優(yōu)化 [39] 等競爭者不同,Wayfinder 可擴展到現(xiàn)代操作系統(tǒng)(如 Linux)的巨大設(shè)計空間,并且從隨機搜索基線發(fā)現(xiàn)專用配置的速度快幾倍。Wayfinder 在預(yù)測失敗方面效率很高,將崩潰率從 30% 降低到 10-25%。最后,我們證明遷移學習在加速搜索時間和將崩潰率降低到 10% 以下方面是有效的。例如,使用在 Redis 上訓(xùn)練并應(yīng)用于 Nginx 的模型,搜索速度提高了 24%,崩潰率低于 5%。

      總的來說,本文做出了兩個核心貢獻:

      ? Wayfinder,一個能夠自動且無需專家知識地配置、構(gòu)建、運行和基準測試操作系統(tǒng)的評估平臺。

      ? DeepTune,一種驅(qū)動 Wayfinder 專用化過程的新穎神經(jīng)網(wǎng)絡(luò)優(yōu)化算法。

      2 背景、挑戰(zhàn)與動機

      2.1 通過配置進行專用化

      專用化針對給定用例(例如,應(yīng)用程序、工作負載、硬件平臺)和給定指標(例如,性能、資源使用)優(yōu)化操作系統(tǒng)。操作系統(tǒng)專用化有許多方法 [14, 42, 45, 49, 54, 69, 70, 81]。我們專注于通過配置進行專用化 [1, 40, 44, 45, 55, 66, 73, 80, 89],即通過微調(diào)操作系統(tǒng)的編譯時、啟動時和運行時參數(shù)來專用化操作系統(tǒng)。

      先前的工作探索了通過配置進行操作系統(tǒng)專用化,目標是減少資源使用(例如,內(nèi)存占用)[1, 40, 44, 55, 66, 73, 77] 和攻擊面 [45, 80, 88, 89]。其中一些方法是手動的 [42, 44, 66, 73, 80],因此鑒于真實世界操作系統(tǒng)(如 Linux)配置空間的規(guī)模 [44, 73, 80],它們無法擴展到少數(shù)幾個應(yīng)用程序之外。為了解決這個問題,其他工作探索了自動專用化操作系統(tǒng)配置的方法 [1, 40, 45, 77, 88, 89]。這些工作主要關(guān)注安全性(攻擊面)或資源優(yōu)化(內(nèi)存占用)。因此,它們的目標是確定對于給定工作負載,哪些編譯時配置參數(shù)(例如,內(nèi)核特性或模塊)可以禁用,哪些是工作負載所必需的。

      這些方法并非通用的,也不適用于面向性能的專用化。除了僅啟用/禁用編譯時特性外,我們需要考慮全套內(nèi)核選項,其中許多選項接受任意值,且具有不明確/未文檔化的有效范圍。為了擴展到許多應(yīng)用程序,我們不能假設(shè)專家知識(即,不篩選相關(guān)選項)。簡而言之,探索空間的規(guī)模變得準無限大。例如,考慮表 1 所示 Linux 內(nèi)核配置空間的規(guī)模。Linux 的編譯時配置包括超過 3000 個選項(占總計 20,000 個選項中的一部分)接受任意整數(shù)。此外,由于其通用性質(zhì),Linux 必須滿足廣泛的工作負載需求,因此許多性能關(guān)鍵的配置選項僅以運行時參數(shù)的形式提供。即使手動且具備專家知識,正確設(shè)置這些參數(shù)以最大化性能也是復(fù)雜的,正如網(wǎng)上可用的許多性能調(diào)優(yōu)指南所展示的那樣 [10, 16, 21, 22, 28, 58, 63, 76, 87]。由于這些原因,通過配置以實現(xiàn)性能目標的自動操作系統(tǒng)專用化在許多先前的工作中尚未被探索。


      2.2 為性能優(yōu)化操作系統(tǒng)配置

      為了進一步激勵通過配置進行操作系統(tǒng)性能專用化,我們隨機生成 800 個 Linux v4.19 配置并評估它們的性能。對于每個隨機配置,我們在 KVM 虛擬機中配置并運行相應(yīng)的內(nèi)核,在其中執(zhí)行并使用 wrk 基準測試 Nginx Web 服務(wù)器。我們在 Intel Xeon E5-2697 v2(2×24 核@2.70 GHz,128 GB RAM)上運行這些實驗。我們希望獲得 800 個有效配置,因此當一個配置失敗時(大約三分之一的隨機生成配置在運行時崩潰),我們會重新生成隨機配置,直到獲得一個有效配置。

      圖 2 展示了將每個隨機配置的性能與默認配置進行比較的結(jié)果。配置按性能升序排序。性能變化幅度高達 80%,從低于 10K 到 18K 請求/秒不等。一個關(guān)鍵觀察結(jié)果是,最快配置的吞吐量比使用默認配置獲得的吞吐量高 12%,盡管我們僅探索了設(shè)計空間的極小一部分。


      這激勵了針對性能等指標優(yōu)化操作系統(tǒng)配置的有用性。然而,此處采用的隨機搜索方法是次優(yōu)的:在這個小規(guī)模空間上,64% 的配置性能比默認配置更差。此外,三分之一的配置導(dǎo)致內(nèi)核無法構(gòu)建/啟動或在運行時崩潰/掛起的情況(本文其余部分統(tǒng)稱為崩潰),浪費了資源。鑒于探索空間的巨大規(guī)模,以及對有效/無效配置缺乏考慮,通過隨機搜索尋找專用配置的速度將慢得無法接受。因此,我們提出 Wayfinder,使用高效的優(yōu)化算法驅(qū)動配置空間探索。

      2.3 基于配置的操作系統(tǒng)專用化的優(yōu)化算法 我們將尋找專用操作系統(tǒng)配置的方法視為一個優(yōu)化問題。過去的工作使用了各種方法,例如貝葉斯優(yōu)化 [5, 39]、因果推理 [38] 和隨機搜索 [39]。然而,幾個問題導(dǎo)致這些方法不適用或效率低下:

      可擴展性。 貝葉斯優(yōu)化依賴于高斯過程,其通常具有 (^3) 的計算復(fù)雜度,以及 (^2) 的內(nèi)存消耗。因果分析算法的復(fù)雜度范圍從 (^4) 到 (^3) [98],這限制了它們只能用于相對較小的問題。

      缺乏增量訓(xùn)練。 在貝葉斯優(yōu)化的情況下,添加新數(shù)據(jù)點并更新模型通常需要重新訓(xùn)練高斯過程。對于因果推理,這也需要重新計算因果圖。結(jié)合可擴展性問題,這導(dǎo)致優(yōu)化的每次迭代的成本呈指數(shù)級增長。

      難以同時擬合高維數(shù)據(jù)的分類和數(shù)值參數(shù)。 貝葉斯優(yōu)化的另一個眾所周知的局限性是其在具有分類輸入特征 [31](即具有固定值集合的特征)的問題以及高維輸入問題上表現(xiàn)不佳。

      總體而言,我們針對的非常巨大的配置空間使得因果推理和貝葉斯優(yōu)化都不合適。隨機搜索在如此大的空間上表現(xiàn)良好,但它在此問題上存在高崩潰率(隨機采樣的配置中有三分之一失敗)。我們在評估中進一步證明了這些局限性(第 4 節(jié))。

      3 Wayfinder:設(shè)計與實現(xiàn)

      探索空間的巨大規(guī)模以及依賴專家知識的不可行性,促使需要一個自動化探索平臺。該平臺可以被編程為自動配置、構(gòu)建和基準測試一系列操作系統(tǒng)映像,目標是將它們專用化以適應(yīng)特定的應(yīng)用程序和工作負載。 概述。Wayfinder 由一個基準測試管道(§3.1)組成,該管道自動構(gòu)建、配置和基準測試操作系統(tǒng)及應(yīng)用程序映像,以及 DeepTune(§3.2),這是一種驅(qū)動探索以尋找給定應(yīng)用程序的專用操作系統(tǒng)配置的優(yōu)化算法。

      3.1 自動化基準測試管道

      Wayfinder 接受表示目標操作系統(tǒng)配置空間的 YAML 文件(作業(yè)文件,在§3.4 中討論)以及描述如何構(gòu)建和基準測試該操作系統(tǒng)映像(包括被測應(yīng)用程序)的腳本作為輸入。 使用 Wayfinder,為給定應(yīng)用程序?qū)S没僮飨到y(tǒng)的探索過程包括迭代執(zhí)行以下核心循環(huán):1) 在虛擬機中基于給定配置構(gòu)建并啟動操作系統(tǒng)映像;2) 基準測試在該操作系統(tǒng)映像上運行的目標應(yīng)用程序;以及 3) 確定要考慮的下一個配置。用戶向平臺提供運行時間預(yù)算或迭代次數(shù),之后返回找到的最佳配置。Wayfinder 提供一個模塊化 API 以簡化可插拔搜索算法的集成,這些算法完成步驟 3。這些算法通過使用各種方法決定接下來探索什么配置,從而驅(qū)動應(yīng)用程序和工作負載/指標的操作系統(tǒng)專用化過程,我們目前支持以下內(nèi)容:

      ? 隨機搜索:每個后續(xù)要探索的配置都是隨機生成的,不考慮探索歷史。 ? 網(wǎng)格搜索:所有可能的配置都被系統(tǒng)地探索,一個參數(shù)值接一個參數(shù)值。

      ? 貝葉斯優(yōu)化:一種使用基于探索歷史構(gòu)建的概率模型來平衡探索(嘗試新配置)和利用(嘗試進一步優(yōu)化已知表現(xiàn)良好的配置)的方法。

      ? DeepTune:一種基于機器學習的方法,平衡探索和利用,如下文§3.2 所述。

      這些算法通過一個 API 與 Wayfinder 交互,該 API 暴露各種信息,例如已探索配置的歷史、相應(yīng)的性能結(jié)果、哪些配置導(dǎo)致構(gòu)建失敗或運行時崩潰等。一旦選擇一個配置進行評估,平臺會創(chuàng)建兩個相應(yīng)的內(nèi)部任務(wù):一個構(gòu)建任務(wù)用于創(chuàng)建操作系統(tǒng)映像,以及一個測試任務(wù)用于測量其性能。這里的一個優(yōu)化是,如果要探索的當前配置與前一個配置之間的差異僅涉及運行時參數(shù)而不涉及啟動/編譯時參數(shù),則可以跳過構(gòu)建任務(wù)。 Wayfinder 是用 15K 行 Go 代碼構(gòu)建的,作為微服務(wù)的集合。它使用現(xiàn)成的組件用于持久化、監(jiān)控和日志記錄。該平臺運行在 Linux 主機上,被基準測試的操作系統(tǒng)映像在 QEMU/KVM 之上執(zhí)行。

      3.2 DeepTune

      DeepTune 是驅(qū)動 Wayfinder 自動優(yōu)化的人工智能算法。基于我們的關(guān)鍵假設(shè)(用戶沒有性能調(diào)優(yōu)專業(yè)知識),面對前述巨大的配置空間,DeepTune 設(shè)計背后的直覺是我們需要結(jié)合探索(即嘗試新參數(shù)以找到那些重要的參數(shù))和利用(即優(yōu)化被識別為重要的參數(shù))。這種方法自動地對配置空間進行子集化以專注于最具影響力的參數(shù)(相對于可能需要不同量專業(yè)知識的啟發(fā)式方法),同時確保它不會陷入局部最優(yōu)。DeepTune 解決了我們在現(xiàn)有自動優(yōu)化算法(如貝葉斯優(yōu)化和因果推理 [38](見§2.3))中觀察到的局限性,以實現(xiàn)高準確性和可擴展性。它通過 (1) 一種新的神經(jīng)網(wǎng)絡(luò)(NN)模型設(shè)計來預(yù)測隨機生成的排列的行為,以及 (2) 一種新的評分函數(shù)來基于預(yù)測對配置進行排名,從而實現(xiàn)這一點。前者 (1) 體現(xiàn)在 DeepTuneModel (DTM) 中,這是一個多任務(wù)神經(jīng)網(wǎng)絡(luò),預(yù)測運行時性能以及配置在運行時崩潰的可能性。DTM 還通過一種基于徑向基函數(shù)(RBF)層 [47] 和 Chamfer 距離損失 [26] 的新機制提供不確定性度量。評分函數(shù) (2) 通過合并模型預(yù)測、預(yù)測的不確定性以及與已知配置的不相似性來對候選配置進行排名。

      圖 3 展示了 DeepTune 的關(guān)鍵組件。DeepTune 始于從 Wayfinder 隨機生成一個多樣化的排列候選池 1。然后 DTM 估計這些候選者的性能 2,評分函數(shù) 3 對它們進行排名。頂級排列由 Wayfinder 評估 4,并且 DTM 被更新 5。算法迭代預(yù)定的周期數(shù)或直到實現(xiàn)性能目標。


      DeepTune 模型 (DTM)。 本節(jié)旨在結(jié)合圖 4 閱讀。DTM(圖 4)是一個多任務(wù)神經(jīng)網(wǎng)絡(luò)(NN),用于預(yù)測配置是否會崩潰、其預(yù)期性能以及這些預(yù)測的性能不確定性。它由兩個分支組成: 預(yù)測分支 ,這是一個傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),用于預(yù)測排列的崩潰概率和性能;以及 不確定性分支 ,這是一個徑向基函數(shù)神經(jīng)網(wǎng)絡(luò),用于估計預(yù)測性能的不確定性。








      我們的實驗表明,將 α 設(shè)置為 0.5 能在利用(exploitation)和探索(exploration)之間取得有效的平衡。

      我們選擇損失函數(shù)和評分函數(shù)的依據(jù)如下:損失函數(shù)訓(xùn)練系統(tǒng)同時識別無效(崩潰)配置并預(yù)測性能,而評分函數(shù)利用這些預(yù)測來策略性地選擇新配置,以平衡探索與利用。RBF 分支增加了一種機制,使 DEEPTUNE 能夠估計其置信度/不確定性。

      我們的 DEEPTUNE 實現(xiàn)一次僅針對單個指標進行優(yōu)化。然而,通過向 添加額外的輸出層,它可以擴展以處理多個指標。這一修改使得 DTM 能夠同時對多個目標進行預(yù)測。在評分階段,我們將公式 3 應(yīng)用于每個目標指標以獲得單獨的分數(shù)。然后,通過對這些單獨分數(shù)進行加權(quán)平均或使用其他聚合方法,我們計算每個排列樣本的代表性分數(shù)。

      3.3 遷移學習

      默認情況下,針對一個應(yīng)用程序和指標進行優(yōu)化的每個過程都從一個空白模型開始,并且影響性能/崩潰的參數(shù)必須從頭重新學習。

      遷移學習 [36] 包括在一個應(yīng)用程序上預(yù)訓(xùn)練一個模型,然后重用它來加速另一個相關(guān)應(yīng)用程序的優(yōu)化過程。遷移學習背后的直覺在于任務(wù)之間特征的相似性:當應(yīng)用程序共享特征且要優(yōu)化的指標相似時,在一個應(yīng)用程序上預(yù)訓(xùn)練的模型很可能對另一個應(yīng)用程序也有用。換句話說,兩個應(yīng)用程序的性能可能對相同配置參數(shù)的變化敏感。例如,Redis 和 Nginx 都是網(wǎng)絡(luò)密集型的:當 DeepTune 的一個實例在一個應(yīng)用上訓(xùn)練時,對另一個應(yīng)用重要的參數(shù)子集和值(例如,網(wǎng)絡(luò)棧參數(shù))已經(jīng)被部分識別出來,從而加快了搜索速度。相反,該特定實例對于 NPB 將是無效的,因為 NPB 是 CPU/內(nèi)存密集型的。

      為了證實這一假設(shè),我們構(gòu)建了一個交叉相似性矩陣(圖 5),以評估評估中考慮的四個應(yīng)用程序之間最具性能影響力的內(nèi)核配置選項的相似性/差異性(詳見第 4 節(jié))。為了創(chuàng)建該矩陣,我們首先為每個應(yīng)用程序收集 2,000 個隨機 Linux 配置。然后,我們使用特征重要性算法 [17] 來確定每個配置選項在預(yù)測性能方面的重要性。最后,我們將重要性分數(shù)視為向量,并計算它們之間的歐幾里得范數(shù)距離。對于 Nginx、Redis 和 SQLite 來說,具有最高性能影響的參數(shù)是相似的,它們都是系統(tǒng)密集型的。Redis 與 SQLite 比與 Nginx 更接近,這并不令人意外,因為 Redis 和 SQLite 都是數(shù)據(jù)庫。另一方面,NPB 由于其計算和內(nèi)存密集的特性,表現(xiàn)出對不同參數(shù)的敏感性。這表明遷移學習對于 Wayfinder 中的某些類別的應(yīng)用可能是有效的。


      3.4 定義探索空間

      Wayfinder 需要一個配置空間的描述來啟動探索過程(即 3.1 節(jié)中提到的作業(yè)文件)。該描述包括配置參數(shù)列表、它們的類型以及它們可以取的可能值。現(xiàn)代系統(tǒng)(如 Linux)擁有復(fù)雜的配置,因此完全描述配置空間具有挑戰(zhàn)性。雖然可以通過靜態(tài)方式獲取編譯時和運行時參數(shù)的一些信息(例如通過分析 Kconfig 文件和內(nèi)核命令行參數(shù)描述 [53]),但運行時參數(shù)并非如此:這些參數(shù)可能文檔很少或根本沒有文檔,而且對于許多參數(shù),有效值的范圍無法靜態(tài)確定,因為它取決于運行時方面(例如,可用 RAM 的數(shù)量)。

      我們開發(fā)了以下啟發(fā)式方法來確定 Linux 配置空間。Linux 通過虛擬文件系統(tǒng)(例如 /proc/sys, /sys)提供多個運行時配置選項。我們首先通過啟動一個搭載正在研究版本的 Linux 的虛擬機 (VM),并列出這些路徑中的可寫文件,來確定所有配置選項。對于每個可寫文件,我們讀取它并假設(shè)返回的值對應(yīng)于相應(yīng)配置選項的默認值。接下來,我們通過檢查默認值的類型來確定選項的類型。如果它是數(shù)字且等于 0 或 1,我們假設(shè)該選項是布爾值。如果既不是 0 也不是 1,我們將其視為任意整數(shù)。

      最后,我們通過將一個較大的因子(10)多次向上和向下縮放默認值來估計選項的可能值范圍,并嘗試通過寫入相應(yīng)的偽文件將選項設(shè)置為這些新值。如果寫入操作成功且 VM 沒有崩潰,我們認為新值在該選項的有效范圍內(nèi)。配置值的探索故意保持粗略,因為尋找性能改進將是 Wayfinder 的任務(wù)。注意,該技術(shù)排除了非數(shù)字的配置參數(shù)(例如,字符串),因為很難自動確定其有效值。非數(shù)字運行時參數(shù)非常少(見表 1),對于這些參數(shù),我們在必要時訴諸手動探索。Wayfinder 將逐個探索分類參數(shù),不假設(shè)它們可取的值之間存在關(guān)系(例如,線性關(guān)系)。字符串參數(shù)的探索不會超出可以自動提取的值。除了 Linux,這種方法應(yīng)該很容易推廣到其他操作系統(tǒng)。我們認為,未來希望有更正式的內(nèi)核參數(shù)規(guī)范,借鑒模糊測試社區(qū)貢獻的系統(tǒng)調(diào)用接口定義 [32] 的靈感。

      3.5 集成到部署工作流程中

      實用性:將 Wayfinder 集成到常見的部署工作流程中。 我們設(shè)想 Wayfinder 將在應(yīng)用程序開發(fā)過程的測試/評估階段使用。系統(tǒng)配備代表部署條件的工作負載和機器,針對在這些條件下運行的應(yīng)用程序優(yōu)化內(nèi)核配置。在該階段,如果要部署由平臺識別的配置到生產(chǎn)環(huán)境,工程師應(yīng)審查該部署以確保其滿足生產(chǎn)要求。雖然 Wayfinder 可以在其基準測試步驟中檢查系統(tǒng)是否功能正常,但像任何人工智能工具一樣,它不能免除站點可靠性工程師(以及典型的持續(xù)集成流水線)對其推送到生產(chǎn)的配置進行檢查的責任。如果某個配置不符合生產(chǎn)要求,用戶可以進一步約束探索空間以剔除該部分:

      • 約束搜索涵蓋的參數(shù)。 用戶可以可選地指定一組應(yīng)保持固定值且不會由 Wayfinder 搜索過程改變的參數(shù)。例如,這有助于確保相關(guān)的安全選項(如地址空間布局隨機化 ASLR 等)不會被 Wayfinder 禁用。Wayfinder 也可以被指示優(yōu)先改變某些參數(shù)類型(編譯時/啟動時/運行時),這在例如無法重啟待優(yōu)化內(nèi)核的情況下很有用。
      • 更全面的基準測試。 用戶還可以擴展 Wayfinder 使用的基準測試工具(圖 4 中的紫色部分)以檢查部署的其他功能(例如,運行測試套件)。如果檢查失敗,Wayfinder 將學習導(dǎo)致異常行為的內(nèi)核配置。

      總體而言,我們的設(shè)計基于一個簡單的假設(shè):雖然用戶無需具備操作系統(tǒng)性能優(yōu)化方面的專業(yè)知識,但我們假設(shè)他們能夠檢查部署是否滿足其生產(chǎn)要求。

      安全考慮。 在安全敏感的場景中,在缺乏專業(yè)知識的情況下依賴完全自動化的框架會引發(fā)合理的安全擔憂。這里的威脅模型如下:在不知曉安全相關(guān)選項的情況下,Wayfinder 可能會忽略、禁用或優(yōu)化掉此類選項,從而導(dǎo)致內(nèi)核配置如果在現(xiàn)場部署時可能被利用。

      如前所述,我們可以通過將安全關(guān)鍵參數(shù)固定為安全值來啟用安全感知搜索模式。在我們設(shè)想用戶無需具備特定專業(yè)知識的背景下,這意味著我們假設(shè)用戶有能力識別此類重要的安全相關(guān)選項。我們認為這一假設(shè)是合理的:常用安全參數(shù)可以由 Wayfinder 的開發(fā)者識別,無需用戶付出努力或具備專業(yè)知識。也可以安全地假設(shè),用戶會意識到任何應(yīng)設(shè)置為特定值的非標準安全參數(shù),否則他們一開始就無法安全地運行其應(yīng)用程序。最后,如上所述,與任何其他自動化工具一樣,Wayfinder 的輸出在推送到生產(chǎn)環(huán)境之前應(yīng)由可靠性工程師進行檢查。

      對工作負載和硬件的敏感性。 Wayfinder 針對在特定平臺上運行并處理特定工作負載的特定應(yīng)用程序?qū)iT化內(nèi)核配置。與大多數(shù)性能評估工作類似,工作負載或硬件的變化需要重新運行評估,以獲得所考慮軟件和硬件的準確結(jié)果。Wayfinder 可以擴展以預(yù)測與所評估不同的硬件/工作負載的性能,例如使用來自異構(gòu)計算文獻 [61, 68] 的跨工作負載 [96] 和跨平臺 [92] 性能估計方法。我們將該目標列為未來工作。

      4 評估

      本次評估回答以下問題:

      • 鑒于操作系統(tǒng)提供的巨大配置空間,Wayfinder 能夠多快地為給定應(yīng)用程序收斂到一個專門的配置?對于給定的迭代次數(shù)/時間預(yù)算,Wayfinder 能夠找到的最佳配置是什么?這些結(jié)果與基線和競爭對手相比如何?(§4.1)
      • 當 Wayfinder 在一個應(yīng)用程序上預(yù)訓(xùn)練模型時,應(yīng)用遷移學習并利用該模型來加速搜索其他應(yīng)用程序的專門配置有哪些好處?(§4.2)
      • Wayfinder 在預(yù)測崩潰方面表現(xiàn)如何?(§4.3)
      • 除了 Linux 和性能指標之外,Wayfinder 能否應(yīng)用于不同的操作系統(tǒng)和其他指標?(§4.4)

      我們選擇了一組流行的應(yīng)用程序:Nginx [64] Web 服務(wù)器和 Redis [74] 鍵值存儲(均為網(wǎng)絡(luò)密集型)、SQLite [85] 數(shù)據(jù)庫管理系統(tǒng)(存儲密集型),以及 NAS 并行基準測試 [11](NPB,CPU 和內(nèi)存密集型)。Nginx 使用 wrk [99] 進行基準測試,Redis 使用 redis-benchmark [75] 進行基準測試,在這兩種情況下,我們的優(yōu)化目標都是最大化吞吐量。SQLite 使用 LevelDB 的 SQLite3 基準測試 [50] 進行基準測試,其中會發(fā)出大量 SQL INSERT 操作,我們的目標是最小化每個操作的平均執(zhí)行時間。我們使用 NPB 的 OpenMP 版本,并選擇了一組 CPU 和內(nèi)存密集型程序的混合:FT、MG、CG、IS(運行整個套件耗時過長),大小類別分別為 S、W、A 和 B。在一次運行中,我們?yōu)槊總€大小類別執(zhí)行所有程序,并匯總每個基準測試報告的每秒操作數(shù),這是我們旨在最大化的指標。

      我們在一個雙路服務(wù)器上進行所有實驗,該服務(wù)器配備 2 個 Intel Xeon E5-2697 v2 處理器(2x24 核心,2.70 GHz,128 GB RAM),運行 Debian 10,并配置為高性能且穩(wěn)定:核心 0-1 啟用 isolcpus,禁用超線程和地址空間布局隨機化(ASLR),使用性能 CPU 調(diào)控器。由于 Redis 和 SQLite 的單線程特性,它們在 1 個核心上運行,而 Nginx 和 NPB 在 16 個核心上運行。所使用的服務(wù)器暴露 2 個 NUMA 節(jié)點,但我們將實驗限制在單個節(jié)點上,以避免 NUMA 影響性能測量。為了避免因?qū)嶒灩泊娑a(chǎn)生的任何干擾,所有測試配置依次進行基準測試,不存在實驗共存的情況。

      除非另有說明(§4.2),在 Wayfinder 中遷移學習被禁用,每個搜索過程都從一個空白模型開始從頭啟動。作為基線,我們選擇了隨機搜索 [100],這是一種在大型探索空間(如我們所針對的空間)上已知能產(chǎn)生良好結(jié)果的方法。該方法通過持續(xù)為每個參數(shù)生成具有隨機值的獨特配置來探索設(shè)計空間。我們省略了與網(wǎng)格搜索的比較,因為眾所周知,在我們所針對的大型配置空間上,網(wǎng)格搜索優(yōu)于隨機搜索。我們還展示了 Wayfinder 的性能優(yōu)于貝葉斯優(yōu)化 [79],這是一種用于優(yōu)化長時間運行的黑盒函數(shù)的常用技術(shù),它使用概率模型來平衡嘗試先前未探索的參數(shù)與專注于已知會影響性能的參數(shù)。我們還證明了 Wayfinder 優(yōu)于 Unicorn [38],這是一項密切相關(guān)的工作,專注于使用因果推理來優(yōu)化操作系統(tǒng)和應(yīng)用程序配置。正如我們所展示的,貝葉斯優(yōu)化和 Unicorn 無法擴展到 Wayfinder 所針對的大型配置空間(例如 Linux 配置),因此我們在較小的探索空間上與它們進行比較。我們還展示了 Wayfinder 如何與基于編譯時動態(tài)分析的優(yōu)化器(如 Cozart [43])協(xié)同工作,Cozart 是一項相關(guān)工作,它利用動態(tài)分析顯著減少 Linux 內(nèi)核配置選項的數(shù)量,從而產(chǎn)生更小的足跡和探索空間。我們表明,由 Cozart 生成的配置是 Wayfinder 通過運行時選項進行優(yōu)化的可靠基線。最后,對于所有實驗,用于啟動每個搜索過程的初始操作系統(tǒng)配置是隨機定義的。

      4.1 配置空間搜索的性能

      操作系統(tǒng)配置專門化 我們運行 Wayfinder 為每個目標應(yīng)用程序?qū)?Linux 內(nèi)核專門化以提升性能。我們使用 Debian 10 的內(nèi)核 v4.19(一個長期支持版本)。對于這些基于性能的實驗,我們將 Wayfinder 配置為優(yōu)先探索運行時參數(shù)。我們運行 Wayfinder 和隨機搜索 250 次迭代(探索 250 個參數(shù),根據(jù)應(yīng)用程序不同耗時 3.5 至 5.2 小時),并比較所找到配置的性能。

      表 2 顯示了 Wayfinder 找到的最佳配置的性能,以及找到它們所需的平均時間和默認 Lupine Linux [44] 配置的性能。Lupine 是一個專為通用性能(即不針對任何特定應(yīng)用程序)專門化的 Linux 內(nèi)核。為 Nginx 找到的配置快了 24%,表明 Wayfinder 能夠成功找到性能優(yōu)于默認配置的配置。對于 NPB,改進僅為 2%。由于該基準測試主要是 CPU 和內(nèi)存密集型的,且不請求任何系統(tǒng)功能,因此操作系統(tǒng)配置對其性能幾乎沒有影響。


      為 SQLite 找到的最佳配置也沒有提升性能,這似乎表明默認配置在此場景下已經(jīng)非常高效。

      圖 6 展示了每種方法找到的配置的性能。虛線表示崩潰率,1 表示每次迭代都會崩潰。Wayfinder 找到的配置在搜索過程開始時的性能與隨機搜索相似。經(jīng)過一定次數(shù)的迭代后,DeepTune 的神經(jīng)網(wǎng)絡(luò)學習到重要參數(shù)以及如何高效使用它們,使得配置的性能超越隨機搜索。例如,對于 Nginx,經(jīng)過 250 次迭代后,平滑吞吐量比隨機搜索高出 20% 以上。與隨機搜索相對一致的崩潰行為不同,Trailblazer 的崩潰率隨時間推移而下降,因為它學會了避免可能導(dǎo)致崩潰的配置:例如,對于 Nginx,崩潰率在 250 次迭代后從 0.3 降至 0.1。




      由于這些可擴展性問題,我們無法在本評估提出的其他實驗中將 Wayfinder 與 Unicorn 進行比較。事實上,這些實驗針對的設(shè)計空間比 Unicorn 能夠處理的規(guī)模大幾個數(shù)量級。

      搜索循環(huán)執(zhí)行時間。 我們測量評估單個配置的平均執(zhí)行時間,以了解 Wayfinder 的性能。圖 8 展示了執(zhí)行時間,分解為運行 DeepTune 以決定評估哪個配置所花費的時間,以及評估配置本身所花費的時間(即啟動內(nèi)核、啟動目標應(yīng)用程序、運行實驗等)。評估配置主導(dǎo)了搜索過程:根據(jù)應(yīng)用程序不同,平均耗時 60-80 秒,并且由于所評估配置的性能影響而波動較大。相反,DeepTune 一次迭代的執(zhí)行時間不到一秒,表明瓶頸在于配置的評估而非搜索算法本身。


      高影響力配置參數(shù)。 我們查詢了 DeepTune 學習的模型,以評估 Wayfinder 識別對性能有高影響力參數(shù)的能力,包括一些先前已被專家識別的參數(shù)。出于篇幅原因,我們在此重點關(guān)注 Nginx,因為它是許多性能調(diào)優(yōu)指南的目標。

      關(guān)于對性能有正面影響的頂級參數(shù),雖然 Trailblazer 識別出的參數(shù)在調(diào)優(yōu)指南中有充分記錄,但它也發(fā)現(xiàn)了其他未提及的重要配置選項。例如,它識別出諸如每個套接字在 TCP/IP 棧 backlog 中可排隊的最大連接數(shù)(net.core.somaxconn)、套接字接收緩沖區(qū)的默認大小(net.core.rmem_default)以及 TCP 保持活動超時時間(net.ipv4.tcp_keepalive_time)等選項。這些參數(shù)已在 Nginx/網(wǎng)絡(luò)性能調(diào)優(yōu)指南中被記錄為高影響力參數(shù) [37, 63, 78, 102]。

      然而,Wayfinder 還識別出以不太直觀的方式影響性能的參數(shù),例如計算由 vmstat 報告的內(nèi)存統(tǒng)計信息的頻率(vm.stat_interval)。正如調(diào)優(yōu)指南 [23] 中所述,在對延遲敏感的場景中降低該頻率有所幫助。因此,Wayfinder 能夠自動定位并優(yōu)化那些已被專家識別為影響性能的非顯而易見參數(shù)。

      關(guān)于對性能有負面影響的頂級參數(shù),Wayfinder 識別出若干導(dǎo)致顯著性能下降的選項,例如設(shè)置高水平的內(nèi)核詳細輸出(printk)、延遲內(nèi)核日志(printk_delay)以及啟用塊 I/O 調(diào)試(vm.block_dump)。眾所周知,日志記錄和調(diào)試會影響 Nginx 的性能 [39],這再次證明了 Wayfinder 識別已記錄瓶頸的能力。

      4.2 遷移學習效率

      為了評估遷移學習的效率,我們在 Redis 上使用 DeepTune 訓(xùn)練了一個模型 250 次迭代(耗時 4.6 小時),并評估了該模型在為本次評估中考慮的其他 3 個應(yīng)用程序?qū)ふ覍iT配置方面的有效性。

      結(jié)果如圖 6 所示,圖例中標記為"TL"的曲線展示了所找到配置的性能以及遷移模型的崩潰率。使用遷移學習時,與使用未訓(xùn)練模型開始探索過程相比,配置性能始終更高:例如,在搜索過程開始時為 Nginx 找到的第一個配置,使用遷移學習比不使用遷移學習或使用隨機搜索的性能高出 1.33 倍。使用遷移學習時,崩潰率通常也低得多,在大多數(shù)情況下低于 10%。表 2 從另一個角度審視了遷移學習的效率。在其最后兩列中,展示了使用和不使用遷移學習時達到專門配置所需的時間。該技術(shù)帶來的時間節(jié)省非常重要:搜索速度加快了 4.5 倍(Nginx)到 3.2 倍(NPB)不等。請注意,由于圖 6 中展示的曲線是多次運行的平均值,因此圖 6b 中 DeepTune+TL 的曲線起點與不使用遷移學習的 DeepTune 曲線終點不完全一致,這并不令人意外。

      4.3 崩潰預(yù)測

      使用隨機探索時,大量配置(約三分之一)在運行時失敗,這是對時間的顯著浪費。Wayfinder 也會遇到失敗,然而它能夠?qū)W習可能觸發(fā)崩潰的配置參數(shù),這意味著它可以避免其中許多失敗。

      表 3 展示了 DeepTune 在預(yù)測給定配置將失敗(失敗準確率)以及預(yù)測給定配置將成功執(zhí)行(運行準確率)時的準確性。它還展示了在預(yù)測配置性能時的歸一化平均絕對誤差。可以觀察到,失敗準確率很高,介于 75% 至 80% 之間,這使得 Wayfinder 能夠避免大量崩潰。運行準確率較低,范圍在 0% 至 36% 之間,因此我們依賴失敗準確率來估計配置失敗的概率,以判斷是否值得評估該配置。


      4.4 變換操作系統(tǒng)和目標指標

      應(yīng)用于其他操作系統(tǒng):Unikraft。 為了展示 Wayfinder 在 Linux 以外操作系統(tǒng)上的應(yīng)用,我們現(xiàn)在將 Wayfinder 應(yīng)用于 Unikraft [42] 庫操作系統(tǒng)。我們編譯一個 Nginx Unikraft 鏡像,并使用 Wayfinder 優(yōu)化其配置以最大化請求吞吐量。Unikraft 暴露的配置空間比 Linux 小得多,這使得與貝葉斯優(yōu)化進行比較成為可能:我們探索 33 個配置參數(shù)(10 個 Nginx 應(yīng)用程序級參數(shù)和 23 個 Unikraft 操作系統(tǒng)參數(shù)),產(chǎn)生一個包含 種排列的搜索空間。

      我們啟動探索過程,時間預(yù)算為 3 小時。所找到配置的性能如圖 9 所示。可以觀察到,Wayfinder 迅速收斂到一個專門配置,在 100 分鐘后達到。貝葉斯優(yōu)化則需要超過 160 分鐘才能達到性能相似的配置。在該時間預(yù)算下,我們還觀察到隨機搜索無法找到高性能配置。圖 9 清晰地展示了 DeepTune 行為中的三個階段。DeepTune 首先緩慢地發(fā)現(xiàn)性能更好的配置。大約 25 分鐘后,它捕捉到一組有影響力的參數(shù),并進入開發(fā)階段,在此階段它專注于這些參數(shù)以快速提升性能。該階段在大約 100 分鐘后結(jié)束,此時 DeepTune 重新回到探索階段。


      請注意,頂級配置帶來的性能提升顯著高于在 Linux 上觀察到的提升(見圖 6)。這可以解釋為:Unikraft 是一個 unikernel [54],提供低延遲的用戶/內(nèi)核態(tài)轉(zhuǎn)換,在正確配置下,能顯著加速對延遲敏感的系統(tǒng)密集型工作負載 [42]。

      應(yīng)用于其他指標:內(nèi)存占用。 為了評估 Wayfinder 在性能優(yōu)化之外的適用性,我們測量其在尋找內(nèi)存占用小的 Linux 內(nèi)核配置方面的效率。該指標是過去多項工作的目標,因為它在某些領(lǐng)域至關(guān)重要,例如輕量級虛擬化 [44, 73, 80] 或嵌入式系統(tǒng) [1, 40],并且也會影響安全性等方面 [45, 89]。為了優(yōu)化內(nèi)存消耗,我們將 Wayfinder 配置為構(gòu)建 RISC-V Linux 鏡像,RISC-V 是一種在嵌入式系統(tǒng)中非常流行的指令集架構(gòu)。內(nèi)存消耗通過在 QEMU 仿真環(huán)境中啟動鏡像來測量(盡管仿真會影響性能,但不會影響內(nèi)存消耗)。與過去關(guān)于該主題的研究 [1, 40, 44, 45, 89] 一致,在本實驗中,我們將 Wayfinder 配置為優(yōu)先改變編譯時選項(而非§4.1 中的運行時選項)。我們使用 Wayfinder 和隨機搜索啟動探索過程,時間預(yù)算為 3 小時。

      所找到配置的內(nèi)存占用演變?nèi)鐖D 10 所示。默認配置的內(nèi)存占用為 210 MB。3 小時后,Wayfinder 找到一個內(nèi)存占用為 192 MB(平滑后)的配置,相比默認配置減少了 8.5%。在探索過程結(jié)束時,隨機搜索找到的配置的內(nèi)存占用為 203 MB(平滑后),即減少了 5.5%。此外,可以注意到,與隨機搜索相比,Wayfinder 的失敗配置數(shù)量要少得多。這歸功于系統(tǒng)預(yù)測崩潰的能力,該能力在本實驗中尤為高效:在最后 100 分鐘內(nèi)僅發(fā)生了四次崩潰。


      與編譯時優(yōu)化器的協(xié)同作用。 使用前面討論的方法,Wayfinder 也可以檢查編譯時參數(shù)。然而,由于 Linux 內(nèi)核管理構(gòu)建依賴的方式以及 Wayfinder 探索配置的方式,這個過程可能效率低下。最初,Wayfinder 生成近乎隨機的配置,這通常需要完全重建 Linux 內(nèi)核。即使單個錯誤的參數(shù)也可能導(dǎo)致構(gòu)建失敗。為了解決這個問題,我們添加了一個使用 Cozart [43] 的初始優(yōu)化步驟,它利用動態(tài)分析顯著減少 Linux 內(nèi)核中未使用組件的數(shù)量。這種減少導(dǎo)致配置空間小得多,使 Wayfinder 能夠?qū)W⒂?Linux 未探索的運行時參數(shù),同時也提供了性能提升。我們觀察到與基線相比吞吐量增加了 31%,同時內(nèi)存使用量略有減少,這與 Cozart 評估中報告的結(jié)果相似。

      接下來,我們在 Cozart 基線之上應(yīng)用了 Wayfinder 優(yōu)化。我們將優(yōu)化分數(shù) s 定義如下:


      在此, t t 代表吞吐量, m m 代表內(nèi)存消耗,mXNorm(x) 是最小-最大歸一化函數(shù),它將吞吐量和內(nèi)存數(shù)值轉(zhuǎn)換到同一尺度上。因此,較高的分數(shù)表示更好的吞吐量和更少的內(nèi)存使用。

      圖 11 顯示,當在 Cozart 基線上運行時,Wayfinder 能夠有效地學習并創(chuàng)建一個性能優(yōu)于隨機搜索的策略。與圖 9 類似,該圖展示了 DEEPTUNE 的探索與開發(fā)策略。大約 300 分鐘后,DEEPTUNE 找到了一組參數(shù),使其能夠提高吞吐量-內(nèi)存分數(shù)。然后它對該策略進行約 100 分鐘的開發(fā)利用。這表現(xiàn)為崩潰率顯著降低,因為 DEEPTUNE 專注于空間中更穩(wěn)定的部分。在此階段之后,DEEPTUNE 切換回探索模式。這導(dǎo)致較高的崩潰率,因為它探索更多未知的配置。


      表 4 展示了在聯(lián)合探索吞吐量和內(nèi)存使用期間獲得的前五個分數(shù)。盡管第一和第二個排列的吞吐量顯著較低,但它們使用的內(nèi)存更少,從而獲得了最高的總體分數(shù)。相反,第三個排列實現(xiàn)了高得多的吞吐量,而內(nèi)存使用僅略有增加。與 Cozart 基線相比,這些排列始終提供更高的吞吐量,同時保持較低的內(nèi)存消耗。


      總之,我們證明通過將 Cozart 的編譯優(yōu)化與 Wayfinder 的運行時優(yōu)化相結(jié)合,可以調(diào)整操作系統(tǒng)以改善各種指標的性能。

      5 相關(guān)工作

      基于配置的操作系統(tǒng)專門化 幾項工作通過其配置對 Linux 進行專門化,以降低資源使用 [1, 40, 44, 73, 77, 80] 或攻擊面 [45, 89]。一些方法是手動的 [44, 73, 80] 且無法擴展到許多應(yīng)用程序,而另一些則是自動化的。Undertaker [45, 89] 使用動態(tài)分析來追蹤工作負載執(zhí)行的內(nèi)核代碼,并將該代碼與編譯時選項關(guān)聯(lián)起來,以盡可能編譯掉不需要的代碼。Kernel tailoring [40] 建立在 Undertaker 之上。注意到該工具探索的大部分配置在運行時失敗,該工作提出了一種搜索方法,試圖從已知能成功執(zhí)行的配置中推導(dǎo)出有效配置。這些方法針對攻擊面/內(nèi)存占用減少,因此它們旨在確定對于給定工作負載,哪些編譯時配置參數(shù)可以關(guān)閉,哪些必須開啟。由于我們關(guān)注性能(除了資源使用等其他指標之外),這些方法不能直接應(yīng)用于我們的問題。除了僅開關(guān)編譯時功能外,Wayfinder 考慮了全套內(nèi)核編譯時、啟動時和運行時選項,其中許多采用任意值,且具有未記錄的有效范圍。Cozart [43] 也建立在 Undertaker 之上。使用類似的方法利用動態(tài)分析來確定未使用的配置選項,Cozart 減少了 Linux 內(nèi)核的占用,并額外帶來了減少內(nèi)存使用和提高性能的好處。不過,這些性能增益并不是 Cozart 的主要關(guān)注點,但它們確實為 Wayfinder 提供了一個更好的起點基線。如前所述,Wayfinder 和 Cozart 沒有太多共同點,但在通過編譯時選項和運行時選項優(yōu)化 Linux 內(nèi)核方面,它們能很好地協(xié)同工作。AutOS [20] 為 AIoT 應(yīng)用程序性能專門化 OS 內(nèi)核(包括 Linux),方法是將它們的配置表示為樹并將其傳遞給大型語言模型,該模型在描述環(huán)境的提示的幫助下驅(qū)動探索并細化搜索。這項工作僅限于編譯時選項,并且需要專業(yè)知識才能編寫提示。

      基于配置的應(yīng)用程序優(yōu)化。 Unicorn [38] 使用因果推理來自動為嵌入式軟件專門化配置。KML [3, 4] 使用機器學習技術(shù)來優(yōu)化存儲子系統(tǒng)的配置。一些過去的工作使用靜態(tài)和/或動態(tài)分析探索了軟件配置參數(shù)對性能的影響 [51, 94, 95]。其他工作 [18] 專注于識別與特定工作負載性能最相關(guān)的配置參數(shù),本例中是在存儲子系統(tǒng)中。所有這些系統(tǒng)都需要專業(yè)知識來預(yù)先識別一組潛在重要的參數(shù),并且針對的配置空間比 Wayfinder 的小得多。特別是,我們已經(jīng)展示(圖 7)Unicorn 無法擴展到如此大的配置空間。

      在無服務(wù)器計算中,AWS Lambda Power Tuning [7, 19] 是一個自動化平臺,用于優(yōu)化分配給函數(shù)的內(nèi)存。Sizeless [24] 提出了一種回歸模型來估計函數(shù)性能。COSE [5] 使用貝葉斯優(yōu)化來尋找函數(shù)的專門配置。在數(shù)據(jù)庫中,幾項工作如 Ottertune [93] 也自動優(yōu)化性能。這種特定于應(yīng)用程序的方法呈現(xiàn)的配置空間比現(xiàn)代操作系統(tǒng)的配置空間小幾個數(shù)量級。因此,它們依賴于貝葉斯優(yōu)化等技術(shù),這些技術(shù)不適合我們的問題。

      基于配置的優(yōu)化也用于其他上下文,包括硬件設(shè)計(加速器調(diào)優(yōu) [62, 101],F(xiàn)PGA 布局規(guī)劃 [59])、神經(jīng)架構(gòu)搜索 [97] 和分布式計算放置 [60]。這些方法與其針對的應(yīng)用領(lǐng)域綁定(例如,它們在搜索空間的特定表示上操作 [97]),并且不直接適用于操作系統(tǒng)專門化。

      機器學習文獻中的其他優(yōu)化工作。 參數(shù)搜索/優(yōu)化近年來引起了顯著關(guān)注 [6, 27, 29, 34, 35, 38, 52, 71, 84]。一些方法依賴于貝葉斯優(yōu)化。例如,SMAC [52] 使得能夠輕松地將貝葉斯優(yōu)化應(yīng)用于通用優(yōu)化問題。SMAC 還支持隨機森林,與高斯過程相比,它在可擴展性和性能預(yù)測方面有所改進,但對預(yù)測后驗不確定性的估計較差(探索與開發(fā)決策所需)。Snoek 等人 [84] 貢獻了貝葉斯神經(jīng)網(wǎng)絡(luò) (BNN) 來取代高斯過程。BNN 是通用近似器,可以預(yù)測后驗不確定性,但其擬合和泛化能力通常低于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)。BNN 的評估成本也很高,因為它們需要蒙特卡洛采樣策略,這需要多次運行它們。Hase 等人 [35] 成功地將這一想法應(yīng)用于化學領(lǐng)域,并將該想法擴展到多目標優(yōu)化 [34]。Gal 等人 [30] 從 dropout 中采樣作為 BNN 的近似。最后,Kendall 等人 [41] 研究了機器學習問題所需的幾種不確定性,并為回歸問題提出了一種不確定性估計機制。由于常用激活函數(shù)的性質(zhì),它們通常無法提供異常值樣本的良好不確定性。DeepTune 提出了一種新的神經(jīng)網(wǎng)絡(luò)設(shè)計,能夠在單次傳遞中以高精度準確預(yù)測系統(tǒng)性能、失敗和準確性。我們還提出了一種新的評分函數(shù),該函數(shù)創(chuàng)建了一個平衡的排列策略挑選。

      6 結(jié)論

      我們提出了 Wayfinder,一種通過配置實現(xiàn)操作系統(tǒng)專門化的全自動方法。Wayfinder 配備了一個基準測試平臺和 DeepTune,這是一種基于神經(jīng)網(wǎng)絡(luò)的優(yōu)化算法,能夠預(yù)測配置的有效性和性能。Wayfinder 不需要專業(yè)知識,并且能夠擴展到現(xiàn)代操作系統(tǒng)(如 Linux)的巨大配置空間。在運行 Wayfinder 為一個應(yīng)用程序進行優(yōu)化后,訓(xùn)練好的模型可以被重用以加速其他類似應(yīng)用程序的專門化過程。Wayfinder 能夠針對各種指標識別專門的配置,與默認配置相比,應(yīng)用程序性能最高可提升 24%,內(nèi)存使用量可降低 8.5%,并且比使用隨機搜索和貝葉斯優(yōu)化的競爭方法更快地收斂到優(yōu)質(zhì)解決方案。

      原文鏈接:https://arxiv.org/pdf/2603.23425

      特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關(guān)推薦
      熱點推薦
      布魯斯·威利斯30年前爛片逆襲,Netflix前十

      布魯斯·威利斯30年前爛片逆襲,Netflix前十

      時光慢旅人
      2026-05-18 01:38:00
      安理會重磅發(fā)聲!中方強硬亮劍:以色列必須無條件撤出

      安理會重磅發(fā)聲!中方強硬亮劍:以色列必須無條件撤出

      低調(diào)看天下
      2026-05-17 16:59:30
      全網(wǎng)都猜錯了!張?zhí)m突然停更阿姨被臨時調(diào)休,真相是汪小菲的用心

      全網(wǎng)都猜錯了!張?zhí)m突然停更阿姨被臨時調(diào)休,真相是汪小菲的用心

      阿廢冷眼觀察所
      2026-05-16 16:21:06
      林徽因落選的國徽方案,網(wǎng)友看后感嘆:審美確實厲害,但真不合適

      林徽因落選的國徽方案,網(wǎng)友看后感嘆:審美確實厲害,但真不合適

      浩渺青史
      2026-04-17 13:55:15
      賭王孫女不幸離世終年58歲!追思會內(nèi)部曝光,親友送別最后一程

      賭王孫女不幸離世終年58歲!追思會內(nèi)部曝光,親友送別最后一程

      喜歡歷史的阿繁
      2026-05-17 22:27:50
      耿同學扳倒多個學術(shù)大拿,本人背景曝光,他這么干的原因找到了

      耿同學扳倒多個學術(shù)大拿,本人背景曝光,他這么干的原因找到了

      平老師666
      2026-05-15 21:35:30
      中國為啥能迅速崛起,德國專家給出看法:中國沒覆蓋全民族的宗教

      中國為啥能迅速崛起,德國專家給出看法:中國沒覆蓋全民族的宗教

      抽象派大師
      2026-05-16 15:17:29
      為什么男人每次偷情要開房,女人每次偷情都在車里呢?

      為什么男人每次偷情要開房,女人每次偷情都在車里呢?

      思絮
      2026-04-28 10:25:11
      玩嗨了!黃仁勛在大爺煙斗上簽名,庫克買咖啡,特朗普兒子游長城

      玩嗨了!黃仁勛在大爺煙斗上簽名,庫克買咖啡,特朗普兒子游長城

      青杉依舊啊啊
      2026-05-17 07:47:44
      多名院士調(diào)查發(fā)現(xiàn):吃一口久放至黑斑的香蕉,或等于進一次毒?

      多名院士調(diào)查發(fā)現(xiàn):吃一口久放至黑斑的香蕉,或等于進一次毒?

      路醫(yī)生健康科普
      2026-05-17 19:35:03
      慌了!知名化工平臺暴雷!十億元無法履約!1600家企業(yè)錢貨兩空!

      慌了!知名化工平臺暴雷!十億元無法履約!1600家企業(yè)錢貨兩空!

      新浪財經(jīng)
      2026-05-17 12:12:48
      網(wǎng)友說未來盡量別去夜場,小仙女們要化債了!

      網(wǎng)友說未來盡量別去夜場,小仙女們要化債了!

      燈錦年
      2026-05-16 14:42:03
      臺灣回歸終極方案:土地回歸中國,人員自由往來,兩岸統(tǒng)一新路徑

      臺灣回歸終極方案:土地回歸中國,人員自由往來,兩岸統(tǒng)一新路徑

      陳腕特色體育解說
      2026-05-17 21:12:19
      一個人認知在不在你之上,看這4個細節(jié)就夠了

      一個人認知在不在你之上,看這4個細節(jié)就夠了

      洞見
      2026-04-16 11:35:51
      炸了!溫州砸 23 億干大事,214 萬畝荒山變綠

      炸了!溫州砸 23 億干大事,214 萬畝荒山變綠

      奇葩游戲醬
      2026-05-18 03:26:37
      圖片報:1860球迷惡搞拜仁奪冠慶典,被眼尖的諾伊爾先發(fā)現(xiàn)

      圖片報:1860球迷惡搞拜仁奪冠慶典,被眼尖的諾伊爾先發(fā)現(xiàn)

      懂球帝
      2026-05-17 21:39:36
      35美元小配件,讓有線CarPlay變無線

      35美元小配件,讓有線CarPlay變無線

      賽博蘭博
      2026-05-17 03:15:05
      99%的女人出軌完男人后,都會默契地做出這3種行為,不信你看看

      99%的女人出軌完男人后,都會默契地做出這3種行為,不信你看看

      加油丁小文
      2026-05-03 08:30:16
      朱珠與老公上海南京西路街邊喝咖啡被偶遇,美的像拍偶像劇!

      朱珠與老公上海南京西路街邊喝咖啡被偶遇,美的像拍偶像劇!

      動物奇奇怪怪
      2026-05-16 12:41:37
      俄烏打完后,俄國際地位會下降到何種地步?看俄羅斯周邊就知道!

      俄烏打完后,俄國際地位會下降到何種地步?看俄羅斯周邊就知道!

      忠于法紀
      2026-05-16 17:49:52
      2026-05-18 04:20:49
      CreateAMind incentive-icons
      CreateAMind
      CreateAMind.agi.top
      1407文章數(shù) 19關(guān)注度
      往期回顧 全部

      科技要聞

      三大運營商即將免月租?多方回應(yīng)

      頭條要聞

      內(nèi)塔尼亞胡與特朗普通話 討論重啟對伊朗軍事打擊

      頭條要聞

      內(nèi)塔尼亞胡與特朗普通話 討論重啟對伊朗軍事打擊

      體育要聞

      生死戰(zhàn)只拿3分的核心,還有留的必要嗎?

      娛樂要聞

      盧昱曉道歉:認識到問題嚴重性!

      財經(jīng)要聞

      長鑫科技 預(yù)計上半年凈利至少500億元

      汽車要聞

      車長超5米/雙動力可選 昊鉑S600預(yù)售權(quán)益價18.89萬起

      態(tài)度原創(chuàng)

      教育
      游戲
      旅游
      時尚
      軍事航空

      教育要聞

      南京大學:熱門專業(yè),就業(yè)現(xiàn)狀及報考分析#搜索千校視頻計劃

      直到世界的盡頭!《文明7》即將免費更新傳奇征服者

      旅游要聞

      陜西榆林靖邊波浪谷景區(qū),飲水機買了1萬多元:游客喝水要收費

      “這條裙子”是今年夏天的頂流!誰穿誰好看

      軍事要聞

      黎以停火再延長 空襲卻未停止

      無障礙瀏覽 進入關(guān)懷版 主站蜘蛛池模板: 国产精品玖玖资源站大全| 国产永久无码观看在线| 午夜在线精品偷拍| 欧美丰满熟妇XXXX性多毛| 热99精品视频| 夜夜嗨av一区二区四季av网站| 久久久天堂国产精品女人| 国产精品亚洲一区二区在线观看 | 欧美ww| 国产成人啪精品视频免费网 | 免费观看a毛片一区二区不卡| 国产办公室秘书无码精品| 亚洲一区二区偷拍| 婷婷开心激情综合五月天| 青草青在线视频在线观看| 男人精品一区二区三区| 欧美交A欧美精品喷水| 亚洲精品一区国产精品| 国产成年码av片在线观看| 毛片免费试看| 五月婷丁香| 内射无码专区久久亚洲| 亚洲国产精品久久久天堂麻豆宅男| 国产美女自拍一区| 91老熟女| 青青草免费成人| 夜夜干夜夜| 用舌头去添高潮无码av在线观看| 国产91色综合久久免费| 丝袜人妻| 91九色国产| 最新国产成人在线网站| 影音先锋男人资源网站| 亚洲精品中国国产嫩草影院美女| 99久久er热在这里只有精品99| 亚洲综合av一区二区三区| 国产精品一二二区视在线| 久久精品私人影院免费看| 色天使色偷偷色噜噜| 女女同性一区二区三区四区| 无码丰满熟妇|