蘋果自研 M1 芯片性能強大,卻不支持 Docker ?

整理 | 鄭麗媛
譯者|彎月
頭圖 | CSDN下載自東方IC

不久前,蘋果的“返場”發佈會“ One More Thing ”隆重揭曉了其自研 5nm M1 芯片以及三款搭載此芯片的新 Mac 產品,此舉意味着蘋果正式開啓了從英特爾架構到 ARM 架構的過渡。其中令人印象深刻的是,蘋果宣稱,M1 芯片是“世界最快的處理器”。

蘋果這一句“豪言壯語”,果不其然引起了許多人對這款芯片進行測評。國外知名硬件評測網站 AnandTech 於 17 日表示已拿到搭載 M1 芯片的產品之一:Mac mini 2020 版,併發布了對 M1 芯片的詳細測評,其結果也證實了蘋果似乎並沒有誇大其詞。

性能優越的 M1 芯片

在這裏插入圖片描述

蘋果的 Firestorm 核在運行單線程負載時的時鐘頻率爲 3.2GHz,相比 A14 芯片的 3GHz 頻率,提高了 6.66% ,而且只要散熱上還有空間,在運行全核心負載的時候也可以達到該時鐘頻率。除了 4 個 3.2GHz 性能核心以外, 2064MHz 還有 4 個 Thunder 效率核心,也比 A14 上的 1823MHz 高出很多。

除了 4 個高性能的 Firestorm 核心之外,M1 還包括 4 個 Icestorm 核心,旨在降低閒置功率並提高電池供電的效率。4 個性能內核和 4 個效率內核可以同時激活,儘管所有核心的性能吞吐量並不相同, M1 還是相當於 8 核 SoC 。

  • 與 A14 芯片的內存差異

除了在 CPU 和 GPU 上的核心數量不同外,M1 相比 A14 ,還有一個主要的性能提升因素:M1 運行在 128 位總線上,而不是移動設備 64 位總線上。8x16 位內存通道加上 LPDDR4X-4266 內存,意味着 M1 的內存帶寬峯值可以達到 68.25GB/s。
在這裏插入圖片描述

在內存延遲測試中,可以看到 M1 的延遲比 A14 低很多,在 128MB 完全隨機測試中 A14 延遲爲 102ns ,而 M1 的延遲爲 96ns 。

在這裏插入圖片描述

在內存帶寬方面,M1 也出色得令人驚訝:單個 Firestorm 核心就能達到最高 58GB/s 的內存讀取、33~36GB/s 的內存寫入速度,內存複製都能達到 60~62GB/s ,其波動範圍取決於使用的是標量指令還是向量指令。

這意味着,單個 Firestorm 就能佔據所有內存帶寬,但也正因如此,多個核心同時訪問內存會由於擁堵而降低整體的有效帶寬:當所有核心全部加入時,速度降低爲 46GB/s 。不過這種內存的提升已經足以加大 M1 與 A14 的性能差距,並提高蘋果與 x86 現有廠商的競爭力。

  • CPU :單線程和多線程性能大幅提升

AnandTech 採用了 Cinebench 和 Geekbench 來測試 Mac Mini 的 CPU 性能。

Cinebench R23 下 M1 單線程性能跑分數據:

在這裏插入圖片描述

通過數據顯示,M1 單線程性能僅輸給了 Zen3 和 Tiger Lake 架構的 CPU ,並且差距不大,甚至可與市場上最佳性能的 x86 CPU 比肩而立,大大超越了以往蘋果產品中所使用的英特爾芯片。

同時,可以看到 M1 在 x86 模式下運行 Rosetta 2 時,其性能數據都超過了以往的 Mac 產品。

Cinebench R23 下 M1 多線程性能跑分數據:

在這裏插入圖片描述

在多線程測試數據中,M1 擊敗了以往 Mac 的同類型低功耗 CPU。

Geekbench 5 下 M1 單線程性能跑分數據:

在這裏插入圖片描述

M1 在 Geekbench 5 的單線程測試中,再次表現出優異的性能,跑分數據位列第一。即使在 x86 兼容模式下仍可以與上一代高端 CPU 的頂級單線程性能相媲美,並且大幅超過了 Mac mini 和 Macbook 之前的版本。

Geekbench 5 下 M1 多線程性能跑分數據:

在這裏插入圖片描述

多線程性能取決於設計的核心數與功耗效率。M1 擊敗了 2017 年發佈的 15 英寸 Macbook Pro (配備了 4 核 8 線程的英特爾 i7-7820HQ ),甚至是其兩倍。

  • GPU 性能:集成王者

AnandTech 在 GPU 性能測試首先採用了評測筆記本電腦的常規基準 GFXBench 5.0 ,通過這個機會,比較基於 M1 的 Mac Mini 與 Mac 生態系統內外其他的 CPU/GPU 組合。

Normal 1080p 下 Aztec Ruins 測試場景中 GPU 性能對比:

在這裏插入圖片描述

High 1440p 下 Aztec Ruins 測試場景中 GPU 性能對比:

在這裏插入圖片描述

總體而言,M1 的 GPU 性能非常強大。無論是 Normal 還是 High 模式下,M1 的 GPU 性能都遠遠領先其他集成 GPU ,甚至還超過了獨立 GPU Radeon RX 560X 。與 2018 年英特爾芯片的 Mac Mini 相比更是有天壤之別,相比之下,M1 的 GPU 性能提高了 6 倍以上。

另外,AnandTech 還在 Rosetta 上運行了性能測試的 x86 版本,GFXBench Aztec Ruins 測試顯示,原生二進制文件和二進制轉譯版本的 GPU 性能幾乎完全相同。

然後,AnandTech 還採用了 Futuremark 開發的 3DMark Ice Storm Unlimited 測試場景對 M1 的 GPU 性能進行測試。

3DMark Ice Storm Unlimited 測試場景下 GPU 性能對比:

在這裏插入圖片描述

通過數據顯示,搭載 M1 的 Mac Mini 性能恰好足以打敗配備 GTX 1650 。雖然這種測試場景並不常見,但也足以彰顯 M1 的強大。

此外,AnandTech 還採用了非常規的性能測試 BaseMark GPU 。

Medium 模式下 GPU 性能對比:

在這裏插入圖片描述

High 模式下 GPU 性能對比:

在這裏插入圖片描述

通過這項測試,可以看到 Mac Mini 2020 又一次超越了 2018 年英特爾芯片的 Mac Mini ,而且其性能比 2017 年配備了 Radeon Pro 560 的 MacBook Pro 至少快 50% 。雖然新款 MacBook Pro 性能更好是自然的,但這是一個集成 GPU ,整個芯片的功耗比 MacBook Pro 的 CPU 都要低,更不用說 MacBook Pro上的獨立 GPU 了。

最後,AnandTech 還測試了運行《古墓麗影:崛起》遊戲時的 GPU 性能差異。該遊戲於 2016 年發佈,而且發行了 Mac 版本,並內置了性能測試,所以能夠在遊戲場景中比較 M1 與其他 Windows 筆記本電腦的性能差異。但要注意,這是一款 x86 遊戲,尚未移植到 ARM上,因此遊戲的 CPU 端通過 Rosetta 運行。

Value 模式下 GPU 性能對比:

在這裏插入圖片描述

在 768p Value 的模式下,Mac Mini 提供了超過 60fps 的速度,再次大幅領先於 2018 年搭載了英特爾芯片的 Mac Mini 以及該系列的所有其他集成 GPU ,並且與搭載 Radeon 560X 的 Acer Nitro 5 2019 相差無幾。

Enthusiast 模式下 GPU 性能對比:

在這裏插入圖片描述

在 1920×1080 的 Enthusiast 模式下,基於 M1 的 Mac Mini 的幀數不到 40fps ,雖然比 Ryzen + 560X 系統高出 20% 以上,但可能歸因於 Rosetta 和通用 API 的低效率,要遠落後於 GTX 1650 。不過 Mac Mini 在 1080p 分辨率下就能達到率足以正常遊戲的 39.6 幀,而且只需降低一點畫質或分辨率就可以回到 60 幀以上,對於完全是在集成 GPU 上運行的結果來說,這已經足夠強大了。
在這裏插入圖片描述

這兩種工作負載幕後的工作方式有很大不同。Aztec 是一種合成測試,在屏幕外運行,儘可能收集無干擾情況下的 GPU 測試結果,達到了最高 GPU 功耗( 10 瓦),但幾乎沒有觸及 CPU 核心(以及顯示控制器等其他元素)。相反,《古墓麗影:崛起》是真實的遊戲工作負載,整個 SoC 都運轉了起來,GPU 功耗徘徊在 7 瓦左右,CPU 功耗的浮動很大,但峯值僅高了一點。而無論使用哪種基準,最終結果都是相同的:M1 SoC 以超級本級別的功耗提供了所有這些性能。

總體來看,這些測評都體現出了 M1 芯片的卓越,不僅內存帶寬優於 A14 芯片,CPU 單線程和多線程性能都很優秀,M1 的集成 GPU 也沒有辜負蘋果在高性能 GPU 方面的聲譽,不僅領先於其他集成 GPU ,還可以與低端獨立 GPU 相媲美。

搭載如此一款性能優越的芯片,蘋果此次的新 Mac 產品吸引了不少開發者,但也因此,部分有特定軟件需求的開發者選擇了退而遠之,是怎麼回事呢?

Rosetta 2 轉譯“需要時間”

雖然這款 M1 芯片性能足夠強大,但別忘了,這並不是單純地換一個芯片這麼簡單。換芯的背後意味着架構的變換,而架構的變換就足以讓許多原本深度依賴其生態系統的開發者受到沉重打擊。

蘋果雖爲了順利實現架構過渡,提供了 Rosetta 2 轉譯器,可以將英特爾處理器編寫的指令“翻譯”爲 M1 芯片可以理解的命令,但這隻限於大部分沒有涉及到處理器特性的應用程序,無法與操作系統或硬件有直接交互的軟件兼容。

此外,微軟在上週表示,在新 Mac 中首次啓動如 Word、Excel、PowerPoint、Outlook、OneNote 和 OneDrive 這些 Mac 應用時,利用 Rosetta 2 轉譯的同時,這些應用還會在Dock欄中跳動約 20 秒。

對此,蘋果開發者文檔承認 Rosetta 2 轉譯會使運行速度變慢,並指出 Rosetta 2 轉譯“需要時間”:

當一個可執行文件中包含英特爾指令,macOS 會自動啓動 Rosetta 開始轉譯。轉譯完成後,系統會啓動轉譯後的可執行文件來代替原文件。但是轉譯過程需要時間,因此用戶可能有時會覺得轉譯後的應用程序啓動或運行速度比較慢。

搭載 M1 芯片的 Mac 目前無法運行 Docker

運行速度變慢或許還可以忍受,但 Docker 無法在搭載 M1 芯片的新 Mac 上運行這點真實地勸退了很多開發者。

曾在 7 月就有開發者反饋 Docker 無法在搭載 Apple Silicon 的設備上啓動。儘管彼時他的設備搭載的並不是 M1 芯片而是 A12X 芯片,但就目前來看,搭載 M1 芯片的 Mac 的確無法運行 Docker 。

在這裏插入圖片描述
當時,一位就職於 Docker 的工作人員 Stephen Turner 在這條反饋下回應:我們正在與蘋果緊密合作。但由於新芯片還沒有支持虛擬化,因此可以預料到這種情況(實際上我們對此還無能爲力)。

根據 11 日發佈會介紹,蘋果似乎已經改善了這項問題:macOS 具有虛擬化功能, M1 芯片也可以支持虛擬化。但遺憾的是,目前看來這項支持尚未移植至 Docker。

Docker Desktop 負責人 Ben De St Paer-Gotch 近日在他的博文中對此迴應:“儘管蘋果發佈了 Rosetta 2 來幫助將應用程序轉移到新M1芯片上,但這對 Docker Desktop 的使用並沒有幫助。”

他表示,在 Docker Desktop 的表面下,實際運行的是一個虛擬機,因此爲了在新 Mac 上實現這個目標,Docker Desktop 需要移至蘋果新的管理程序框架上,還需要重製所有管道以提供 Docker Desktop 核心體驗。

此外,Docker Desktop 的更新還需要配合其他軟件對蘋果新架構的適配:Go 作爲 Docker Desktop 的後端語言,Electron 來實現 Docker Dashboard 以查看桌面內容。因此,Docker 在努力適配搭載 M1 芯片的新 Mac 時,也在密切關注這些軟件的適配進度。

參考鏈接:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章