關於 ProgPoW:來自一名芯片工程師的觀點

我是一名 IC(集成電路)設計工程師,自 2014 年起進入挖礦行業。不過,我不像其他礦工那樣擁有一座大礦場,我只有一間小礦房,賺的錢剛好能向老婆交差而已。看到網上有很多人針對 ProgPoW 提出了各種觀點,我也想從 IC 設計工程師的角度分享一下我的看法。

不管是 ProgPow 算法還是 ETHash 算法,算力都是由外部 DRAM 的存儲帶寬決定的。也就是說

Hashrate = k*BW (哈希算力 = k * 總帶寬)

(其中 k 是常量,ETHash 和 ProgPoW 算法使用的 k 值不同。)

所以說,要想在 ETHash 或 progPoW 算法下提升算力,我們需要增加內存帶寬。早幾年的時候,主流的高帶寬內存設備就是使用 GDDR5 顯存的顯卡。(因為)只有 AMD 和 Nvidia 的 GPU 用得上這麼高帶寬的內存。因此,這兩款 CPU 最適合用於 ETHash 挖礦。目前的情況是,市場對內存的需求已經因為 ETHash 挖礦而大幅提高。對高速內存需求推動了 GDDR6 和 HMB2 等下一代高速存儲技術的發展。在 2018 年的第四季度,礦機廠商 Innosilicon 推出了自己的 GDDR6 IP 和針對 ETHash 算法的 ASIC 礦機。鑑於 ProgPoW 在算法和架構上與 ETHash 存在很多相似之處,我認為 Innosilicon 會針對 ProgPoW 算法研發下一代 ASIC 礦機。一旦 ProgPow 算法的參數確定下來,只需 3 到 4 個月就能設計並量產出相應的 ASIC 礦機。想必比特大陸也在祕密研發自己的 GDDR6 IP 芯片。Rambus 和 eSilicon 等公司也已經發布了自己的 GDDR6 IP 和 HMB2 IP。我相信剩下的 ASIC 製造商,例如 Linzhi 和 Canaan Creative ,在研發下一代芯片的時候也會採用 GDDR6 或 HBM2 顯存。因此,等到將來 ProgPoW 算法啟用之後,可能會出現很多采用 GDDR6/HBM2 顯存的 ASIC 礦機。

ASIC 礦機可以基於 GDDR6 和 HBM2 顯存採用很多優化方法。其中一種是,在 ASIC 礦機中添加比 GPU 多的 GDDR6/HBM2 內存條。以 Nvidia 的 2080 顯卡為例,配備的是 8GB GDDR6 顯存,運轉速率為 14Gbps ,總帶寬(BW)達 8 * 14 * 32/8 = 448Gbps。根據 ProgPoW 算法的帶寬需求來算,哈希率(hashrate)理論上應該達到

hashrate = BW/64/256 = 27.3Mh/s

考慮到存儲效率的影響,實際值應該為 25.5Mh/s 。ASIC 生產商可以使用小一點的 GDDR6 內存條,這樣相比 GPU 就有了成本上的優勢。採用 16 個 GDDR6 4GB 內存條可以在保持 GDDR6 成本不變的同時實現 2 倍帶寬。在這種情況下,帶寬可達到 16 * 14 * 32/8 = 896Gbps ,哈希率理論上可達到

hahsrate = 896Gbps/256/64 = 54.6Mh/s

哈希率也翻了一番。但是,4GB GDDR6 芯片的面積只有 8GB GDDR6 芯片的一半。因此,前者的價格比後者低了 60% 多。GDDR6 芯片的總成本見下表一。

現在,以 Nvidia 的 RTX2080 顯卡為例,我們來看一下 GPU 芯片的內部結構,見 Nvidia 顯卡介紹的圖一。

關於 ProgPoW:來自一名芯片工程師的觀點

-圖一:Nvidia RTX2080 顯卡的架構-

RTX2080 顯卡內部有很多模塊,佔據了很大一部分芯片面積,而且對 ProgPow 算法毫無用處。這些模塊包括 PCIE、NVLINK、L2Cache 、3072 個著色單元、64 個 ROP 和 192 個 TMU 等等。ASIC 礦機生產商可以去掉這些圖形功能,將這部分芯片面積進行優化,用於 ProgPow 算法,可以將 Nvidia 的 RTX2080 芯片面積減少大約 2/3 。

這樣一來,生產一個 RTX2080 顯卡所用的硅晶片數量可以生產出 3 個ASIC 芯片。也就是說,ASIC 芯片的成本就只是 RTX2080 顯卡的 1/3 。

跟大芯片相比,小芯片的收益率更高,封裝和測試所需的成本更低。收益率的計算公式為:

Y = 1/power(1+0.08*die_area)^22.4

以 Nvidia 的 RTX2080 GPU 芯片為例,它的芯片面積(die area)是 545 mm^2 ,根據公式可計算出收益率為 23% 。如果將芯片面積減少至原來的 1/3 ,收益率 Y 將增加 60% 。低收益率可以這算為 GPU 的成本。ASIC 芯片的成本將是 GPU 芯片的 1/3*23/60 = 0.13。因此,針對 ProgPow 算法研發的 ASIC 芯片在成本優勢上是商用 GPU 芯片的 7.7 倍。考慮到 GPU 芯片的技術更為成熟,在下一步計算的時候我會將這一倍數控制為 5 。如果 ASIC 生產商去掉商用 GPU 芯片所需的 PCIE 和複雜的散熱設計,ProgPow ASIC 芯片在 PCB 系統的設計上同樣具有成本優勢。在一臺 ASIC 礦機內,有大量 ASIC 芯片和 GDDR6 更加緊密地封裝(集成)在一起,它們在散熱設計上要簡單的多,成本效益也更好。一塊商用 GPU 芯片的系統成本大概佔到了 50% ,而一臺 ASIC 礦機的 PCB 系統成本很容易就能降至 30% 。我在表一中比較了 GPU 和 ASIC 的成本。

-表一:商用 CPU 和 ProgPOW ASIC 的對比-

就耗電量而言,商用 GPU 在 0.8 V 的正常電壓下要比 ProgPOW ASIC 高得多。不過,ProgPoW ASIC 的耗電量是可以通過降低電壓來減少的。根據歐姆定律,電功率與電壓的平方成正比:

P = U*I = U^2/R

ASIC 的電壓可以降至 0.4 V,即商用 GPU 的 1/2 。因此,在哈希率相同的情況下,ProgPoW ASIC 所消耗的電力只有 GPU 的 1/4 。換言之,ProgPoW ASIC 的能效比是 GPU 的 4 倍。生產商在製造比特幣礦機的時候已經採用了這種低電壓的 ASIC 設計,沒道理不會將這種設計用到 ProgPoW ASIC 上。這種設計同樣可用於 LPDDR4x DRAM 芯片,比採用 GDDR6 顯存的顯卡耗電量更低。GDDR6 需要 1.35 V 的電壓,而 LPDDR4X 需要 0.6 V 的電壓,是 GDDR6 的 1/2 不到。因此,GDDR6 的耗電量至少是 LPDDR4x 的 4 倍。也就是說,LPDDR4x DRAM ASIC 的功率效率是 GDDR6 GPU 的 4 倍。如表二所示。

-表二:GPU 和 ProgPoW ASIC 的功率效率對比-

此外,設計 GPU 所需的研發投入要高得多,無論是人力還是時間成本。作為一種通用計算芯片,GPU 通常需要 12 個月來進行設計、製造和測試,而且需要針對不同的計算場景投入大量硬件模擬和軟件開發工作。相比之下,ProgPoW ASIC 在設計和測試方面的成本要低得多,只需要一個經驗豐富的 IC 設計師團隊花 2 個月的時間進行設計,6 周的時間進行製造,以及 2 周的時間進行測試即可。因此,ProgPoW ASIC 只需 3 至 4 個月的時間就可以投入量產。對於比特大陸和 Innosilicon 這樣的礦機研發公司來說,他們已經有過生產 ETHash ASIC 礦機的經驗,只要在原有的設計基礎上融入 ProgPoW 算法,就可以輕而易舉地生產出 ProgPoW ASIC 。

像 Nvidia 這樣的 GPU 生產商僱傭了近 8000 人來開發較為複雜的 GPU ,而像 Linzhi 這樣的 ASIC 生產商僅僱傭了十幾個人來開發 ETHash ASIC 礦機。兩類公司在人力成本上就有 100 倍的差距。相比 GPU ,ASIC 在成本和上市速度上佔盡了優勢。

總之,如果採用了 ProgPoW 算法,未來勢必會出現 ProgPoW ASIC ,而且只需要 3 至 4 個月就能實現量產。而且,ProgPoW ASIC 在成本和功率效率方面起碼是 GPU 的 4 倍。繞了一圈之後,我們還是得面對同一個問題:為什麼要採用 ProgPoW 算法,為什麼要抵制 ASIC 挖礦?

ProgPoW 後續:ASIC 的研發成本

很高興看到 IfDefElse 寫了一篇有趣的文章《ASIC 的設計成本》來回應我之前寫的文章。不過,我覺得 IfDefElse 其實並不熟悉 ASIC 設計,所以文章裡多有表述不準確之處。關於 ProgPoW:來自一名芯片工程師的觀點

在他們的文章裡,IfDefElse 指出:

ProgPoW 的哈希率是由兩個因素決定的:計算核心以及內存帶寬。這就是 Ethash 與 ProgPoW 存在區別的原因……

在 ASIC 的世界裡,這話是不對的。雖然 ProgPoW 中加入了很多數學方程以及合併函數(Merge Function,來提升計算過程中對計算機核心和內存的使用率,但 ASIC 芯片可以輕而易舉實現這些方程(請看這篇文章:《僅帶來1%能耗比提升的開源芯片設計》)。我們都知道,計算性能的增長符合摩爾定律,也就是說每 18 個月計算性能就會翻一番,但是,內存訪問的性能遠遠落後於計算性能的進展。所以內存訪問性能才是整個系統性能的瓶頸,這也就是所謂的 ”內存極限右牆“,如圖一所示。

關於 ProgPoW:來自一名芯片工程師的觀點

-圖 1. 計算性能與存儲性能之間的區別-

在 ASIC 芯片中,計算問題是非常容易通過設計上的優化來解決的。無論是 Ethash 還是 ProgPoW,最根本的瓶頸始終是內存訪問的帶寬。GPU 芯片的表現也受內存右牆的限制,因為 GPU 是為通用計算而設計的,並不是為 Ethash 或 ProgPoW 而專門設計的。實際上,Ethash 的設計初衷就是用內存極限問題來限制計算效率。

IfDefElse 還提到:

ProgPoW 和 Ethash 之間唯一的相似性就是在 DAG 在全局內存中的運用。從純粹的計算角度出發,Ethash 只需要固定的 keccak_f1600 核心,以及一個求模方程。ProgPoW 則不同,既需要執行一個 16-lane 的隨機數學序列,同時還得訪問高帶寬的 L1 緩存。設計一個可以運行 ProgPoW 數學序列的計算核心要比設計一個執行固定算法(比如 Keccak 函數)的核心要難得多了。

但在我一個芯片工程師來看,固定算法的電路實現是最容易設計的電路了,既不需要做硬件和軟件之間的交互,也沒有針對不同運算兼容性和普遍性的限制。Ethash 和 ProgPoW 中的函數都可以簡單匹配成一套流程化的電路,而且性能相當不賴;邏輯電路的設計工作只需兩週就能完成。但是 GUP 是通用芯片,既要考慮軟硬件交互的問題,又需要保證普遍性,要設計指令、設計架構、開發模型,等等。想在半年內完成一款 GPU 芯片模型的設計都是不可能的事。

Innosilicon(芯動)和 Bitmain(比特大陸),甚至 linzhi(凜炙),可能都已經為原始的 Ethash ASIC礦機找到了一個成功的架構,我相信對他們的 ASIC 設計者來說,將 Ethash ASIC 升級到 ProgPoW 只需要幾周時間。整個設計流程、封裝、測試模塊和計算模塊都可以重用,所以他們很容易就可以升級。

IfDefElse 還認為:

首先,帶寬倍增之後,計算能力也需要倍增,所以這是線性上升的,沒有誰具有優勢。

正如我們在上面說到的那樣,ASIC 與 GPU 是不一樣的。內存帶寬而不是計算部分,才是 ASIC 的性能瓶頸。然而,用上了 GDDR6 內存,哪怕只是 8GB,ASIC 也會獲得對 NV RTC1060 的 4 倍性能優勢(請看錶 1)。

關於 ProgPoW:來自一名芯片工程師的觀點

-表 1. 英偉達顯卡芯片的製造參數和性能-

IfDefElse 解釋道:

對於一款只有一個功能單元(functional unit)的芯片來說,更小的芯片面積的生產率會比大面積芯片更高。但對於現代 GPU 來說並非如此,因為今天的 GPU 用的是無數個非常微小、缺陷可忽略不計的重複單元,幾乎可以任意組合(binnable)和恢復(recoverable)。只要每一個可二進制化功能單元都很小,那麼大芯片的生產率可以跟使用更大功能單位的小面積芯片一樣高,甚至更高。

IfDefElse 上面的說法是不準確的。雖然在大芯片中使用冗餘設計可以修復一些芯片並提高成品率,這些次級芯片中只有少量才能挽救下來。冗餘和修復在 SRAM 生產中是很常用的,因為它邏輯比較簡單而且結構上有很多重複單元。對計算邏輯單元來說,電路並不像 SRAM 那麼簡單。使用冗餘設計意味著加入冗餘的 SM 核心,或者類似的東西。這種冗餘性必然回增大硅的面積,並因此拉高成本。對於 SRAM 來說,冗餘一般會試成本提高 10%。而且,不是所有的失敗可以用冗餘核心來補救。只有預計算的失敗(pre-calculated failure)才可以用冗餘邏輯來修復。

順帶說一句,從芯片區域估計一款芯片的成本是所有 ASCI 工程師的基本技能。從表 1 中可以看出,GPU 的成本可以基於硅晶片面積估算出來,GPU 芯片的成本以及相應顯卡的價格在表 1 和圖 2 中列出來了,可以看出成本和價格是相關的。

關於 ProgPoW:來自一名芯片工程師的觀點

-圖 2. NV GPU 芯片成本與銷售價格之間的關聯-

最後,IfDefElse 還提到:

如果芯片只是由計算單元組成的,那麼低電壓設計是可行的,比如 SHA256d 的 ASIC。一旦整合了其它模塊,比如 SRAM(ProgPoW 數據緩存所必須的模塊),低電壓設計就變得非常難,甚至根本不可能。

還是那句話,不夠準確。SRAM 的電路結構如圖 3 所示,由兩部分組成:比特陣列(Bit Array)以及外圍電路。比特陣列的工作電壓可以降低到 0.55V,但它僅佔 SRAM 功耗的 10%。外圍電路的電壓可以降低到 0.4V,但是構成了整體能耗的 90%。在 ASIC 芯片中,整個 SRAM 在能耗上的下降與節能是兼容的。因此,RrogPoW 的 ASIC 可以通過降低電壓來大幅減少能耗,然後獲得對 GPU 在能源效率上的 4 倍優勢。

關於 ProgPoW:來自一名芯片工程師的觀點

-圖 3. SRAM 的迴路構成-

原文鏈接:

https://ether4life.tumblr.com/post/183604547634/progpow-ic-asic-design-engineer-view,

https://ether4life.tumblr.com/post/184222916104/progpow-cost-of-asic-design

作者: ether4life

翻譯&校對: 閔敏 & 阿劍

(本文來源於以太坊愛好者 EthFans,未經作者許可嚴禁轉載,違者法律必究)

相關推薦

推薦中...