无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網易首頁 > 網易號 > 正文 申請入駐

操作系統自動化定制:Wayfinder

0
分享至

Wayfinder:操作系統自動化定制

Wayfinder:Automated Operating System Specialization

https://arxiv.org/pdf/2603.23425


摘要

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

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

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

關鍵詞:操作系統,專用化

1 引言

主流操作系統(OS)的通用性是以性能、資源消耗或安全性為代價的 [13, 15, 25, 46, 48, 70]。因此,權衡通用性成本的一種常見技術是操作系統專用化 [8, 25, 33, 46],即針對特定用例(如應用程序、工作負載或硬件平臺)定制操作系統的過程。操作系統專用化是一個流行的系統研究主題,相關工作針對 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]。

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

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

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

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

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

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

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

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

? DeepTune,一種驅動 Wayfinder 專用化過程的新穎神經網絡優化算法。

2 背景、挑戰與動機

2.1 通過配置進行專用化

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

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

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


2.2 為性能優化操作系統配置

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

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


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

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

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

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

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

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

3 Wayfinder:設計與實現

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

3.1 自動化基準測試管道

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

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

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

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

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

3.2 DeepTune

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

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


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








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

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

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

3.3 遷移學習

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

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

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


3.4 定義探索空間

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

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

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

3.5 集成到部署工作流程中

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

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

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

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

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

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

4 評估

本次評估回答以下問題:

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

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

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

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

4.1 配置空間搜索的性能

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

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


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

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




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

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


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

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

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

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

4.2 遷移學習效率

為了評估遷移學習的效率,我們在 Redis 上使用 DeepTune 訓練了一個模型 250 次迭代(耗時 4.6 小時),并評估了該模型在為本次評估中考慮的其他 3 個應用程序尋找專門配置方面的有效性。

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

4.3 崩潰預測

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

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


4.4 變換操作系統和目標指標

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

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


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

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

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


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

接下來,我們在 Cozart 基線之上應用了 Wayfinder 優化。我們將優化分數 s 定義如下:


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

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


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


總之,我們證明通過將 Cozart 的編譯優化與 Wayfinder 的運行時優化相結合,可以調整操作系統以改善各種指標的性能。

5 相關工作

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

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

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

基于配置的優化也用于其他上下文,包括硬件設計(加速器調優 [62, 101],FPGA 布局規劃 [59])、神經架構搜索 [97] 和分布式計算放置 [60]。這些方法與其針對的應用領域綁定(例如,它們在搜索空間的特定表示上操作 [97]),并且不直接適用于操作系統專門化。

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

6 結論

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

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

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

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.

相關推薦
熱點推薦
日本爆發大規模抗議,高市終于低頭,中國外交部冷言:不糾錯免談

日本爆發大規模抗議,高市終于低頭,中國外交部冷言:不糾錯免談

貴州霖霖
2026-05-17 09:30:17
英國250萬穆斯林中,1/3年輕人正放棄約會:Halal Marriage為何成新選擇

英國250萬穆斯林中,1/3年輕人正放棄約會:Halal Marriage為何成新選擇

時光慢郵啊
2026-05-17 01:29:56
美退役軍官曾宣稱:中國殲16D電子戰機,簡直是美國海軍的噩夢!

美退役軍官曾宣稱:中國殲16D電子戰機,簡直是美國海軍的噩夢!

華史談
2026-05-17 08:57:13
在泰華人目擊“火車撞公交致8死32傷”:看著火車駛來懷疑它能否剎住,公交被拖行數十米起火,殃及多輛摩托車和私家車

在泰華人目擊“火車撞公交致8死32傷”:看著火車駛來懷疑它能否剎住,公交被拖行數十米起火,殃及多輛摩托車和私家車

極目新聞
2026-05-17 13:09:18
海風:聽到特朗普這句話,臺灣當局該醒了

海風:聽到特朗普這句話,臺灣當局該醒了

環球網資訊
2026-05-16 17:37:05
三位美女你喜歡哪位我看中右邊,頗為賢惠、穩重大方,氣質美滿

三位美女你喜歡哪位我看中右邊,頗為賢惠、穩重大方,氣質美滿

科學發掘
2026-05-17 15:56:57
活塞G7傷情報告出爐,哈登迎來尷尬里程碑,阿特金森該變陣了

活塞G7傷情報告出爐,哈登迎來尷尬里程碑,阿特金森該變陣了

世界體育圈
2026-05-17 13:16:49
馬斯克黃仁勛在空軍一號熱聊照曝光,喝了可樂,皮衣黃疑似用三星

馬斯克黃仁勛在空軍一號熱聊照曝光,喝了可樂,皮衣黃疑似用三星

譯言
2026-05-16 10:38:32
空軍一號飛機即將起飛返航時,現場工作人員有人直接倒地!

空軍一號飛機即將起飛返航時,現場工作人員有人直接倒地!

阿龍聊軍事
2026-05-17 06:43:05
老板娘問我她屁股大不大?我該怎么回答?

老板娘問我她屁股大不大?我該怎么回答?

太急張三瘋
2026-03-28 12:35:10
44%進度,慢就是快

44%進度,慢就是快

閃存獵手
2026-05-16 04:52:09
特斯拉國內新品上架,全球最低價來了!

特斯拉國內新品上架,全球最低價來了!

XCiOS俱樂部
2026-05-17 16:32:44
斯維托麗娜奪得羅馬冠軍后,孟菲爾斯為妻子寫下溫情告白

斯維托麗娜奪得羅馬冠軍后,孟菲爾斯為妻子寫下溫情告白

網球之家
2026-05-17 13:29:52
霍爾木茲海峽,突傳大消息

霍爾木茲海峽,突傳大消息

第一財經資訊
2026-05-17 10:43:53
特朗普剛訪華,美媒察覺不對:最強殲20已部署,解放軍劍指臺海

特朗普剛訪華,美媒察覺不對:最強殲20已部署,解放軍劍指臺海

時光流轉追夢人
2026-05-17 02:41:07
訪華已經結束,特朗普回到白宮,用6句話談中國之行,措辭不尋常

訪華已經結束,特朗普回到白宮,用6句話談中國之行,措辭不尋常

阿校談史
2026-05-17 15:12:43
蘋果防線全線血崩!Mythos5天攻破最強硬件,全球20億臺設備危了

蘋果防線全線血崩!Mythos5天攻破最強硬件,全球20億臺設備危了

新智元
2026-05-15 12:33:48
這場頂級晚宴,真正的主角不是馬斯克、黃仁勛,而是一方中式桌面

這場頂級晚宴,真正的主角不是馬斯克、黃仁勛,而是一方中式桌面

魔都姐姐雜談
2026-05-15 00:53:47
固態電池一旦上車,最先被淘汰的不是燃油車,而是現在的新能源車

固態電池一旦上車,最先被淘汰的不是燃油車,而是現在的新能源車

老特有話說
2026-05-17 13:11:49
國宴待了32年的老國貨礦泉水!喝一次,娃哈哈農夫山泉都不香了

國宴待了32年的老國貨礦泉水!喝一次,娃哈哈農夫山泉都不香了

老特有話說
2026-05-17 13:15:19
2026-05-17 17:11:00
CreateAMind incentive-icons
CreateAMind
CreateAMind.agi.top
1406文章數 19關注度
往期回顧 全部

科技要聞

三大運營商即將免月租?多方回應

頭條要聞

女子的奔馳4S店不愿回收 丈夫:賭100萬 找專業機構查

頭條要聞

女子的奔馳4S店不愿回收 丈夫:賭100萬 找專業機構查

體育要聞

生死戰只拿3分的核心,還有留的必要嗎?

娛樂要聞

《主角》劉浩存上線,死別猝不及防

財經要聞

OpenAI和蘋果的“聯盟”即將破裂

汽車要聞

大五座SUV卷王!樂道L80上市 租電15.68萬元起

態度原創

本地
數碼
健康
家居
公開課

本地新聞

用蘇繡的方式,打開江西婺源

數碼要聞

紅魔游戲平板5 Pro或將延期?姜超吐槽要“被迫”重新定義5月

專家揭秘干細胞回輸的安全風險

家居要聞

110㎡淡而有致的生活表達

公開課

李玫瑾:為什么性格比能力更重要?

無障礙瀏覽 進入關懷版