日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

來源:CSDN

2010 年左右移動互聯網初見端倪,消費者對性能的需求不斷提高,手機處理器芯片核心數量發展迅猛,短短一兩年時間,就完成了從單核到雙核乃至四核、八核的變化。

為應對這一趨勢,ARM 推出了大小核心的設計,大核性能強悍支撐高計算資源場景下的用戶需求,小核節能降低在待機情況下芯片的耗電量,不過這項技術問世之初,卻出現了這樣一個詭異的現象,一核有難,N 核圍觀 ....CPU 的調度出現了問題。

當然后來芯片廠商優化使這樣調度不均衡的情況大為改觀,但是計算密集任務與 IO 密集型任務的調優依舊是資深程序員所必須掌握的技能。本文向我們展示了蘋果 M1 與英特爾至強 w 系列處理器上的測試情況。

無論是 Intel 內核還是 ARM 內核,macOS 都必須管理同一處理器上的多個任務并行運行。盡管實現方式有很多種,但為了簡單起見,在這里我只打算集中討論使用蘋果 Foundation 框架的操作隊列,因為大多數 macOS 應用都采用了這種方式。

從本質上講,其原理非常簡單。應用執行任務需要花費時間,因此為了避免阻塞用戶以及其他應用的運行,開發人員將代碼和數據放入一個 Operation 中(就像任務一樣),然后在一個或多個內核上運行。開發人員可以指定兩個常見的參數是:并發操作的最大數量,以及服務優先級亦稱為任務不可打斷級別(Quality of Service,即 QoS)。

蘋果提供了四個可以指定的 QoS 級別,第五個級別則由 macOS 決定。編寫代碼時,開發人員需要使用 QoS 級別的名稱,范圍從 background(最低)到 userInteractive(最高)。這些名稱分別對應于 9~33 之間均勻分布的整數值,這本身就很奇怪。不對應于任何名稱(例如 32 或 34)的整數值不起作用,macOS 不認識這些值,而且還會給 QoS 賦值 -1,然后由系統決定使用四個定義級別中的哪一個。

為了研究 QoS 行為,我為壓縮 / 解壓實用程序 Cormorant 構建了一個專門的免費版本,用于設置其任務的 QoS 級別。接著,我創建了一個標準的 10GB 測試文件,并使用不同的 QoS 進行了多次壓縮測試。

在 Intel Xeon W 8 核處理器上,如果沒有相互競爭的進程的話,那么無論采用什么 QoS 設置,所有操作都會盡快執行。無論怎么設置 QoS,測試的 10GB 文件通常都需要 5.6~6.6 秒的時間才能完成壓縮,只有當同時進行互相競爭操作時,QoS 設置的優先級才能起到作用。

例如,分別設置 QoS 為 9(background)和 33(userInteractive),然后運行壓縮,QoS 值較高的進程仍然會在正常時間內完成工作,而 QoS 值較低的進程則出現了延遲,直到 24 秒才完成任務。當使用多個壓縮任務來加載處理器時,通過活動監視器觀察超線程,就會發現虛擬的第二個核心承擔了一些額外的負載。

我在 M1 上重復了類似的測試,無論是在帶有主電源的 Mac mini,還是使用電池的 MacBook Pro,其結果都大不相同。當 QoS 為 9(background)時,所有操作僅在四個節能內核(Icestorm)上運行,即便這四個核心滿載,而高性能核心一直空閑。當 QoS 設置為更高的值(從 17 到 33)時,操作會在所有八個核心上運行。

QoS 的設置對任務執行的影響也很明顯。當 QoS 為 9(background)時,標準壓縮任務耗時 38~43 秒,而當 QoS 設置為更高的值時,操作幾乎沒有變化。當同時運行兩個計算密集型后臺任務時,一個任務幾乎花費了同樣的時間(40 秒),而另一個任務幾乎花了兩倍的時間(77 秒),這兩個任務都僅使用了節能核心。

與 Intel 內核相比,QoS 值較高的操作也更加一致。當 QoS 值較高時,多個任務同時運行與單個任務單獨運行所耗費的時間幾乎相同,而 QoS 值較低的任務耗費的時間略長,約為 15.5 秒,但仍不到節能核心所需時間的一半。

如果你已經使用了 M1 Mac,則可以觀察一下蘋果的新策略。打開 "Activity Monitor",并在 " 窗口 " 菜單中通過 "CPU History" 命令觀察 M1 是處于空閑還是使用狀態。

下面是我之前使用過的一個測試示例的情況。

我發現 macOS 使用內核的規律是,幾乎所有 macOS 的活動都在節能內核上運行,而高性能內核上只是偶爾才出場。但運行應用和執行其他用戶任務會采用相反的方式,首先使用的是高性能核心,然后才是節能核心。這是因為這些用戶任務運行使用的 QoS 至少是 17(在許多情況下為 25 和 33)。

就處理器而言,M1 Mac 分為兩部分:四個節能內核主要負責運行 macOS 及其許多后臺任務,節省下四個高性能核心供用戶的應用程序使用。

雖然基準測試表現非常好,但是人們對于 M1 Mac 的評價普遍是,感覺更快,即使性能測量并沒有表現出意外的驚喜。一種有效的表現出快速的方法是讓 macOS 和用戶軟件分開使用不同的核心,就像 M1 一樣。

在操作系統的問題中,沒有什么比界面速度緩慢給用戶留下的印象更糟的了。我們都有過類似的經歷:遇到某個 mdworker 進程不斷崩潰并重新啟動,或者其他原因導致 macOS 阻塞。由于這些進程都交給了節能核心,因此它們只會影響到其他 macOS 的后臺任務,對我們的影響大大降低。

上圖所示的任務運行非常緩慢,花費了 15 分鐘才備份了不到 1GB 的文件。如果不是在活動監視器中親眼觀察到,我都完全不知道它的性能有問題。由于加載了英特爾處理器的 Mac 無法以相同的方式將其任務劃分到不同的核心上,因此當 macOS 被阻塞時,也會影響用戶進程。

我想對那些認為蘋果 Macs 臺式機應該采用統一核心的人說,擁有八個高性能核心當然很好,但是請不要去掉 macOS 的節能核心。

分享到:
標簽:核心 運行 內核 節能 蘋果公司 操作 時間 多個
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定