📜 [專欄新文章] 區塊鏈管線化的效能增進與瓶頸
✍️ Ping Chen
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
使用管線化(Pipeline)技術可以提升區塊鏈的處理效能,但也可能會產生相應的代價。
Photo by tian kuan on Unsplash
區塊鏈的擴容方案
說到區塊鏈的效能問題,目前討論度最高的應該是分片(sharding)技術,藉由將驗證者分成多組的方式,可以同時分別處理鏈上的交易需求,即使單分片效能不變,總交易量可以隨著分片/驗證者集的數量線性增加。
除了分片,另一個常用來提升程式效能的方案是將計算步驟拆解,以流水線的方式將複雜的運算攤平,降低系統的閒置時間,並大幅提升工作效率。為了達到管線化預期的目的,會需要先知道系統的瓶頸在哪。
區塊鏈的效能瓶頸
熟悉工作量證明設計哲學的人應該會知道,區塊鏈之所以需要挖礦,並不是為了驗證交易的正確性,而是要決定交易的先後順序,從而避免雙花和帳本分裂的發生。可以說,區塊鏈使用低效率的單線程設計,並付給礦工高額的成本,都只為了一件事,就是對交易的全局排序產生共識。
在這樣的基礎之上,區塊鏈在一段時間內可以處理的交易數量是有限的,這之中包含許多方面的限制,包括 CPU 效能、硬碟空間、網路速度等。其中,關於 TPS(每秒交易數) 提升和對硬體的要求大致上是線性增加的,但在設計共識演算法時,通訊複雜度常是平方甚至三次方的關係。
以現在的目標 TPS 來說,處理交易和生成一個合法的區塊並不困難,只是因為區塊鏈的特性,新區塊需要透過洪水法的方式擴散到全網路,每個節點在收到更新請求的時候都要先執行/驗證過區塊內的交易,等於整個廣播的延時會是「驗證區塊時間×經過的 hop 數量」這麼多。似乎網路越分散、節點越多,我們反而會需要降低計算量,以免讓共識不穩定。
管線化的共識機制
使用權益證明取代工作量證明算是行業發展的趨勢,除了環保或安全這些比較顯然的好處之外,權益證明對產生共識的穩定性也很有幫助。首先,權益證明在同一時間參與共識的節點數是已知的,比較容易控制數量級的邊界;其次,權益證明的出塊時間相較工作量證明固定很多,可以降低計算資源不足或閒置的機率。
相較於工作量證明是單一節點出塊,其餘節點驗證,權益證明的出塊本身就需要很多節點共同參與,瓶頸很像是從驗證轉移到通訊上。
以 PBFT 為例,每次產新區塊都需要經過 pre-prepare, prepare, commit 三個階段,你要對同意驗證的區塊簽名,還要對「你有收到某人的簽名」這件事簽名,再對「你有收到 A 說他有收到 B 的簽名」這件事簽名,過程中會有很多簽名飛來飛去,最後才能把一個區塊敲定。
為了降低每兩個區塊間都需要三輪簽名造成的延遲,後來的共識演算法包括 HotStuff 和 Casper FFG 採用了管線化的區塊驗證過程。也就是對區塊 T 的 pre-prepare 同時是對 T-1 的 prepare 和對 T-2 的 commit。再加上簽名聚合技術,出塊的開銷在複雜度等級和係數等級都降低許多。
然而,要保持管線化的區塊生產順利,需要驗證者集合固定不變,且網路通訊狀況良好。如果會經常更動驗證者集合或變換出塊的領導者,前後區塊間的相依性會是個大問題,也就是 T 的驗證者集合取決於 T-1 裡有沒有會導致刪除或新增驗證者的交易,T-1 的合法性又相依於 T-2,以此類推。
當激烈的分叉出現的時候,出塊跟共識的流水線式耦合就從優雅變成災難了。為了避免這種災難,更新的共識演算法會限制驗證者變更的時機,有些叫 epoch 有些叫 checkpoint,每隔一段時間會把前面的區塊徹底敲定,才統一讓驗證者加入或退出。到這些檢查點的時候,出塊的作業流程就會退化成原本的三階段驗證,但在大部分時候還是有加速的效果。
管線化的狀態更新
另一個可以用管線化加速的是區塊鏈的狀態更新。如前所述,現在公鏈的瓶頸在於提高 TPS 會讓區塊廣播變慢,進而導致共識不穩定,這點在區塊時間短的以太坊上尤其明顯。可是如果單看執行一個區塊內的交易所花的時間的話,實際上是遠遠低於區塊間隔的。
只有在收到新區塊的時候,節點才會執行狀態轉移函數,並根據執行結果是否合法來決定要不要把區塊資訊再廣播出去。不過其實只要給定了交易集合,新的狀態 s’ = STF(s, tx) 應該是確定性的。
於是我們有了一個大膽的想法:何不乾脆將交易執行結果移出共識外呢?反正只要大家有對這個區塊要打包哪些交易有共識,計算的結果完全可以當作業留給大家自己算吧。如果真的不放心,我們也可以晚點再一起對個答案,也就是把這個區塊執行後的新狀態根包在下個區塊頭裡面。
這就是對狀態更新的管線化,在區塊 T 中敲定交易順序但暫不執行,區塊 T+1 的時候才更新狀態(以及下一批交易)。這麼做的好處十分顯而易見,就是將原本最緊繃的狀態計算時間攤平了,從原本毫秒必爭的廣播期移出來,變成只要在下個塊出來之前算完就好,有好幾秒的時間可以慢慢來。新區塊在廣播的每個 hop 之間只要驗證交易格式合法(簽名正確,有足夠的錢付手續費)就可以放行了,甚至有些更激進的方案連驗簽名都省略了,如果真的有不合法交易混進去就在下個區塊處罰礦工/提案者便是。
把負擔最重的交易執行移出共識,光用想的就覺得效能要飛天,那代價呢?代價是區塊的使用程度會變得不穩定。因為我們省略了執行,所以對於一筆交易實際用掉多少 gas 是未知的。本來礦工會完整的執行所有交易,並盡可能的塞滿區塊空間,然而在沒有執行的情況下,只能以使用者設定的 gas limit 當作它的用量,能打包的交易會比實際的上限少。
緊接著,下一個問題是退費困難。如果我們仍然將沒用完的手續費退還給使用者,惡意的攻擊者可以透過發送 gas limit 超大,實際用量很小的交易,以接近零的成本「霸佔」區塊空間。所以像已故區塊鏈 DEXON 就直接取消 gas refund,杜絕濫用的可能。但顯然這在使用者體驗和區塊空間效率上都是次優的。
而最近推出的 smartBCH 嘗試擬了一套複雜的退款規則:交易執行後剩餘的 gas 如果小於 gas limit 的一半(代表不是故意的)就退款;如果剩餘量介於 50%-75% 可以退一半;超過 75% 推斷為惡意,不退款。乍看是個合理的方案,仔細一想會發現製造的問題似乎比解決的還多。無論如何,沒用掉的空間終究是浪費了,而根據殘氣比例決定是否退款也不會是個好政策,對於有條件判斷的程式,可能要實際執行才知道走哪條路,gas limit 一定是以高的情況去設定,萬一進到 gas 用量少的分支,反而會噴更多錢,怎麼想都不太合理。
安全考量,退費大概是沒希望了。不過呢,最近以太坊剛上線的 EIP1559 似乎給了一點方向,如果區塊的使用程度能以某種回授控制的方式調節,即使偶爾挖出比較空的區塊似乎也無傷大雅,也許能研究看怎麼把兩者融合吧。
管線化方案的發展性
考慮到以太坊已經堅定地選擇了分片的路線,比較激進的單鏈高 TPS 管線化改造方案應該不太有機會出線,不過管線化畢竟是種歷史悠久的軟體最佳化技巧,還是很有機會被使用在其他地方的,也許是 VDF 之於信標鏈,也許是 rollup 的狀態轉換證明,可以坐等開發者們表演。
倒是那些比較中心化的 EVM fork/sidechain,尤其是專門只 for DeFi 的鏈,管線化加速可以在不破壞交易原子性的前提下擴容,確實是有一些比分片優秀的地方可以說嘴,值得研究研究,但這就要看那些機房鏈們有沒有上進心,願不願意在分叉之餘也投資發展自己的新技術了。
給我錢
ping.eth
區塊鏈管線化的效能增進與瓶頸 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
同時也有21部Youtube影片,追蹤數超過8萬的網紅かじまっくチャンネル,也在其Youtube影片中提到,#BTOパソコン #CPU換装 #グラボ増設 過去に購入したBTOパソコンをカスタマイズしました(・∀・)その結果は!? ※下記リンク、価格の高い物もあります、ご参考程度に! Intel CPU Core i7-6700K 4GHz 8Mキャッシュ 4コア/8スレッド LGA1151 BX806...
「cpu pipeline」的推薦目錄:
- 關於cpu pipeline 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於cpu pipeline 在 在地上滾的工程師 Nic Facebook 的最讚貼文
- 關於cpu pipeline 在 南南自語 Facebook 的精選貼文
- 關於cpu pipeline 在 かじまっくチャンネル Youtube 的最讚貼文
- 關於cpu pipeline 在 かじまっくチャンネル Youtube 的精選貼文
- 關於cpu pipeline 在 かじまっくチャンネル Youtube 的精選貼文
- 關於cpu pipeline 在 Re: [請益] 為什麼CPU要作成多核心- 看板ask-why 的評價
- 關於cpu pipeline 在 How to write a five-stage pipeline ARM cpu and where to get ... 的評價
- 關於cpu pipeline 在 sha310139/5-Stage-Pipeline-CPU: 使用Verilog HDL ... - GitHub 的評價
- 關於cpu pipeline 在 Depth of a pipeline in a CPU's architecture - Computer ... 的評價
- 關於cpu pipeline 在 Pipelined CPU 的評價
cpu pipeline 在 在地上滾的工程師 Nic Facebook 的最讚貼文
在評估要不要買 Apple 新的 M1 CPU 前,可以參考這份整理出來的清單,目前有什麼軟體應用是無法支援 ARM 架構的
以下是我常用的軟體
可以從清單的資訊瞭解要不要晚一點在入手 ARM 架構的筆電
Docker - 🚫 Not yet, but it’s in development
Go - ✳️ Runs via Rosetta with native builds being tested
Homebrew - ✳️ Yes, with caveats and some troubleshooting.
iTerm - ✅ Yes, fully supported as of v3.4.0
MySQL Community Server - ✳️ Yes, works via Rosetta 2
Node - ⏹ Working on v15 with patches to previous versions in the pipeline
Parallels Desktop - ⏹ No, not working at all but support is in development
VS Code - ⏹ Currently supported on insider builds
Xcode - ✅ Yes, Full Native Apple Silicon Support as of v12.
OBS - 🚫 Not yet, but there has been some preparation for it
Adobe Premiere Pro - ⏹ Reportedly it's already supported
1Password - ✳️ Runs via Rosetta with native support currently in development.
Chrome - ✅ Yes, fully supported as of v87
Dropbox - ✳️ Yes, works via Rosetta 2 as of v110.4.458
Spotify - ✳️ Yes, works via Rosetta 2
Slack - 🚫 Not yet, but it's currently in beta.
cpu pipeline 在 南南自語 Facebook 的精選貼文
【提升處理速度的方法】
身為一個電腦科學家,看到有人問這樣的問題,忍不住想要回答。不論是管理工廠、處理選務、或是設計電腦架構,如果要提升處理速度,基本上有四種策略:
第一種策略是直接提高個別單元的處理速度。
以管理工廠來舉例,就是要求工人的動作快一點;以處理選務來舉例,就是要求選務人員的手腳快一點;以電腦來說,就是直接提高 CPU 的時脈速度。
第二種策略是 MIMD (Multiple Instruction, Multiple Data)。
以管理工廠來舉例,就是多開幾條生產線,然後每條生產線找一個領班來管理;以處理選務來說,就是多開幾個投票所;以設計電腦來舉例,就是在每個CPU裡面多加幾個核心,同時處理不同的指令。
第三種策略是 SIMD (Single Instruction, Multiple Data)。
以管理工廠來舉例,就是多用幾個作業員同時做同樣的事情;以處理選務來舉例,就是多用幾個選務人員同時驗不同選民的身份證;以設計電腦來舉例,就是 GPU 裡面有許多的小核心,同時對圖像的多個畫素或是類神經網路中的多個類神經元做同樣的處理。
第四種策略是 Pipeline。
以管理工廠來舉例,就是設立生產線,把生產過程分成好幾個小步驟。當第一個工人在進行工序一的時候,第二個工人同時對前一個在製品進行工序二,第三個工人同時對前前一個在製品進行工序三;
以處理選務來舉例,就是第一個選務人員在驗身份證的時候,第二個選務人員同時在幫前一個選民蓋印章,第三個選務人員同時在發選票給前前一個選民;
以電腦的設計來說,就是CPU在讀取某一個指令的時候,同時在對前一個指令解碼,同時也在執行前前一個指令。
圖片中的那位韓國瑜鐵粉的計算有誤,其實是因為她只考慮到我們這邊所談到的前兩種策略,但是沒有考慮到後兩種策略,也就是 SIMD跟Pipleline。
我離開學術圈已久,也沒有在學校兼課教電腦科學了,只希望我沒有說錯。各位網友如果有問題的話,請找我的師兄 Pangfeng Liu 教授,他是專門研究平行運算與平行世界的。🤪
cpu pipeline 在 かじまっくチャンネル Youtube 的最讚貼文
#BTOパソコン #CPU換装 #グラボ増設
過去に購入したBTOパソコンをカスタマイズしました(・∀・)その結果は!?
※下記リンク、価格の高い物もあります、ご参考程度に!
Intel CPU Core i7-6700K 4GHz 8Mキャッシュ 4コア/8スレッド LGA1151 BX80662I76700K【日本正規流通品】
https://amzn.to/3cYprfN
ASUS NVIDIA GeForce GTX 1060 搭載 シングルファンモデル 6GB PH-GTX1060-6G
https://amzn.to/2A4RV8Q
Komputerbay 16GBメモリ 2枚組 8GBX2 DUAL デスクトップパソコン用 増設メモリ DDR3 PC3-10600 1333MHz 240pin DIMM
https://amzn.to/3edsqkF
サイズ オリジナル設計 92mmサイドフロー型CPUクーラー 白虎 SCBYK-1000I
https://amzn.to/3d3hNko
ザワード 絶縁タイプ熱伝導グリース 4g入 MX-4/4g
https://amzn.to/3cYpAzR
Crucial SSD 500GB MX500 内蔵2.5インチ 7mm (9.5mmスペーサー付属) 5年保証 【PlayStation4 動作確認済】 正規代理店保証品 CT500MX500SSD1/JP
https://amzn.to/3g9kTVI
Amazonプライム会員はこちら↓配送特典、プライム・ビデオ等 お得感満載!
https://www.amazon.co.jp/gp/prime/pipeline/landing/ref=as_li_ss_tl?ie=UTF8&ref=pd_prim_g_prim_prime_0086&linkCode=ll2&tag=kajimack-22&linkId=9898dcf14595f792fb783150f03d18e8
Amazon Mastercardクラシックに新規ご入会で6,000ポイントがもらえる!!!
https://www.amazon.co.jp/MasterCard%E6%96%B0%E8%A6%8F%E5%85%A5%E4%BC%9A%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/b/ref=as_li_ss_tl?ie=UTF8&node=3497243051&linkCode=ll2&tag=kajimack-22&linkId=3a4996e2dded28552e99aaa4e42616ff&language=ja_JP
楽天カード新規入会&利用でもれなく5000ポイント!
更に対象期間内に楽天銀行口座開設&入金で1000ポイント!
https://a.r10.to/hIXIAU
【この情報はアップロード日時点のものです。情報の劣化や急遽内容変更、また、情報に誤りがある場合もございますのでご注意下さい】
かじまっくのTwitter:https://twitter.com/kajimack_ch
かじまっくのInstagram:https://www.instagram.com/kajimack.ch/
使用音源:YouTubeオーディオライブラリ
※上記Amazonリンクはアソシエイトリンクを使用しています。
※上記楽天リンクは楽天アフィリエイトリンクを使用してます。
使用アプリ
LINE camera
https://itunes.apple.com/jp/app/aillis-jiuline-camera/id516561342?mt=8
iMovie(ios iPad)
https://itunes.apple.com/jp/app/imovie/id377298193?mt=8
ドラクエベンチマークテスト
https://hiroba.dqx.jp/sc/topics/detail/c042f4db68f23406c6cecf84a7ebb0fe/#up2
cpu pipeline 在 かじまっくチャンネル Youtube 的精選貼文
#iPhoneSE第2世代 #iPhoneSE2 #うちで過ごそう
最強のCPU!最高のコスパ!最新のiPhoneの爆誕です!
このサイズ、カメラユニットで許容できる方には買わない理由が見当たらない・・・
んですけど、そのカメラに関するテストはまた次回(^^ゞ開封編をどうそ!
生まれ変わったiPhone SE |
https://www.apple.com/jp/iphone-se/?afid=p238%7CsTf4OICNI-dc_mtid_20925qtz40402_pcrid_431528467617_pgrid_100058840853_&cid=wwa-jp-kwgo-iphone-slid-
※動画中にじみの出たケースです、ご注意下さい。
エレコム iPhone 8 ケース カバー ハード ポリカーボネート素材 【端子・ボタン回りまで保護する設計】 iPhone 7 対応 クリア PM-A17MPVKCR
https://amzn.to/3akVuUZ
楽天アンリミット:https://a.r10.to/hIdsRw
Amazonプライム会員はこちら↓配送特典、プライム・ビデオ等 お得感満載!
https://www.amazon.co.jp/gp/prime/pipeline/landing/ref=as_li_ss_tl?ie=UTF8&ref=pd_prim_g_prim_prime_0086&linkCode=ll2&tag=kajimack-22&linkId=9898dcf14595f792fb783150f03d18e8
Amazon Mastercardクラシックに新規ご入会で6,000ポイントがもらえる!!!
https://www.amazon.co.jp/MasterCard%E6%96%B0%E8%A6%8F%E5%85%A5%E4%BC%9A%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/b/ref=as_li_ss_tl?ie=UTF8&node=3497243051&linkCode=ll2&tag=kajimack-22&linkId=3a4996e2dded28552e99aaa4e42616ff&language=ja_JP
楽天カード新規入会&利用でもれなく5000ポイント!
更に対象期間内に楽天銀行口座開設&入金で1000ポイント!
https://a.r10.to/hIXIAU
【この情報はアップロード日時点のものです。情報の劣化や急遽内容変更、また、情報に誤りがある場合もございますのでご注意下さい】
かじまっくのTwitter:https://twitter.com/kajimack_ch
かじまっくのInstagram:https://www.instagram.com/kajimack.ch/
使用音源:YouTubeオーディオライブラリ
※上記Amazonリンクはアソシエイトリンクを使用しています。
※上記楽天リンクは楽天アフィリエイトリンクを使用してます。
使用アプリ
LINE camera
https://itunes.apple.com/jp/app/aillis-jiuline-camera/id516561342?mt=8
iMovie(ios iPad)
https://itunes.apple.com/jp/app/imovie/id377298193?mt=8
モザイク ぼかし & モザイク加工アプリ
https://apps.apple.com/jp/app/%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF-%E3%81%BC%E3%81%8B%E3%81%97-%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E5%8A%A0%E5%B7%A5%E3%82%A2%E3%83%97%E3%83%AA/id964220645
Ookla Speedtest
Android:https://play.google.com/store/apps/details?id=org.zwanoo.android.speedtest&hl=ja
iOS:https://apps.apple.com/us/app/speedtest-by-ookla/id300704847
Antutu Benchmark
Android:https://play.google.com/store/apps/details?id=com.antutu.ABenchMark&hl=ja(現在削除状態)
iOS:https://itunes.apple.com/jp/app/antutu-benchmark/id803837129?l=en&mt=8
cpu pipeline 在 かじまっくチャンネル Youtube 的精選貼文
#WiFi6 #ArcherAX50 #新しいiPadPro
Wi-Fi6対応新しいiPadProを導入したことから是非試したかったWiFi 6対応無線LANルーター!
TP-Linkさんからお手頃価格のものが販売されていたので購入してみました!
ただたまたまと言っても良いかと思いますが当のiPadProだけスピードテスト結果が奮わないって言うww
なんともかじまっくチャンネルらしい動画になりました!
ただOPPO Reno Aの速度が数割上がったのでよしとします(^^ゞ
TP-Link WiFi 無線LAN ルーター Wi-Fi6 11AX AX3000 2402 + 574MbpsArcher AX50/A 【 iPhone 11 / iPhone 11 Pro/iPhone 11 Pro Max 対応】 3年保証
https://amzn.to/2XkubHt
LINKSYS VELOPメッシュ WiFi 無線LAN ルータートライバンド 3個パック【国内正規品】
https://amzn.to/2RgAHv0
TP-Link WiFi 無線LANルーター Wi-Fi6 11AX AX1500 1201 + 300Mbps 1.5 GHz トリプルコアCPU Archer AX10/A 3年保証
https://amzn.to/34fZEvQ
最新モデル Apple iPad Pro (11インチ, Wi-Fi, 128GB) - シルバー (第2世代)
https://amzn.to/2XfObuR
Apple iPad Air (10.5インチ, Wi-Fi, 64GB) - スペースグレイ (最新モデル)
https://amzn.to/3bZhIwS
OPPO Reno A ブルー 【日本正規代理店品】 CPH1983 BL
https://amzn.to/2Xddbmx
家には過剰スペックだっただけで超絶快適だったメッシュWi-Fiの動画
https://youtu.be/hiYLg75Bk7s
過去使っていたルーターの動画
https://youtu.be/2XuqNQC4Ar8
新しいiPadProの動画
https://youtu.be/qWrg9oS-VlA
https://youtu.be/RBe2BPF13OE
【この情報はアップロード日時点のものです。情報の劣化や急遽内容変更、また、情報に誤りがある場合もございますのでご注意下さい】
Amazonプライム会員はこちら↓配送特典、プライム・ビデオ等 お得感満載!
https://www.amazon.co.jp/gp/prime/pipeline/landing/ref=as_li_ss_tl?ie=UTF8&ref=pd_prim_g_prim_prime_0086&linkCode=ll2&tag=kajimack-22&linkId=9898dcf14595f792fb783150f03d18e8
Amazon Mastercardクラシックに新規ご入会で6,000ポイントがもらえる!!!
https://www.amazon.co.jp/MasterCard%E6%96%B0%E8%A6%8F%E5%85%A5%E4%BC%9A%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89/b/ref=as_li_ss_tl?ie=UTF8&node=3497243051&linkCode=ll2&tag=kajimack-22&linkId=3a4996e2dded28552e99aaa4e42616ff&language=ja_JP
かじまっくのTwitter:https://twitter.com/kajimack_ch
かじまっくのInstagram:https://www.instagram.com/kajimack.ch/
かじまっくチャンネル中の人(ブログお休み中):https://kajimack.blogspot.jp/
使用音源:YouTubeオーディオライブラリ
※上記Amazonリンクはアソシエイトリンクを使用しています。
使用アプリ
LINE camera
https://itunes.apple.com/jp/app/aillis-jiuline-camera/id516561342?mt=8
iMovie(ios iPad)
https://itunes.apple.com/jp/app/imovie/id377298193?mt=8
モザイク ぼかし & モザイク加工アプリ
https://apps.apple.com/jp/app/%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF-%E3%81%BC%E3%81%8B%E3%81%97-%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E5%8A%A0%E5%B7%A5%E3%82%A2%E3%83%97%E3%83%AA/id964220645
MovStash
https://itunes.apple.com/us/app/movstash/id1058281885?mt=8
Ookla Speedtest
Android:https://play.google.com/store/apps/details?id=org.zwanoo.android.speedtest&hl=ja
iOS:https://apps.apple.com/us/app/speedtest-by-ookla/id300704847
TP-Link Tether:https://www.tp-link.com/jp/tether/
cpu pipeline 在 sha310139/5-Stage-Pipeline-CPU: 使用Verilog HDL ... - GitHub 的推薦與評價
GitHub - sha310139/5-Stage-Pipeline-CPU: 使用Verilog HDL與Modelsim模擬器,以ALU Design 為基礎,設計一個Pipelined MIPS-Lite CPU,內含16道指令(add, sub, and, ... ... <看更多>
cpu pipeline 在 Re: [請益] 為什麼CPU要作成多核心- 看板ask-why 的推薦與評價
※ 引述《cpt (Obstacle 1)》之銘言:
: ※ 引述《papayamilk (木瓜牛奶)》之銘言:
: : 為什麼現在CPU要作成多核心
: : 是因為單核頻率接近物理極限 上不去了嗎
: : 謝謝
: 其實不盡然
: CPU 時脈要更快也不是辦不到 (雖然技術上是個大挑戰)
: 但影響電腦速度的瓶頸已不是 CPU clock
: 而是記憶體的時脈, 和印刷電路板層級的排線頻寬
: 當 CPU 外部頻寬成為瓶頸時, 與其加快 CPU 時脈
: 不如維持適當的時脈, 但在單位時間內做更多的運算
: "直接拿幾顆現有的 CPU 接起來做平行運算" 就是多核 CPU 的構想之一
: 另外一個行銷上的好處是
: 消費者早已有 "時脈又快一倍, 該升級 CPU 了" 這種觀念
: 把這種觀念改成 "核心數又多一倍, 該升級 CPU 了"
: 心理上的效果是一樣的
: "時脈"或"核心數"這類具體指標的存在, 在行銷上是非常重要的
這個問題很複雜,幾乎任何簡單的答案都是不精確的。
1. 單核頻率並未達到物理極限,前面有人提到的奈米極限,
指的是一個電子通道需要的最小大小,那是製程的極限,不是時脈的極限。
只要加更大的電壓,就算導線電阻很大,一樣可以縮短充電的時間。
所以時脈可不可以繼續往上衝,可以,但會造成其它問題。
2. 為了要達到更高的時脈,需要做的是把管線(pipeline)切得更細,
但每一個 pipeline stage 仍可以完成部份的工作。
切系 pipeline 雖然可以拉高時脈,提升指令層的平行度
(Instruction level parallelism , ILP),但同時會讓整體設計更加複雜。
導致更多的耗電。
3. 單純提高時脈對效能的提升有限, cpt 提到的記憶體過慢是一個問題,
記憶體的問題可以用 cache 或 on-chip memory 來解,
但即使如此,時脈對效能的幫助是 sub-linear 的。
因此單純提升時脈對效能的好處,還不夠多。
但,時脈的限制其實不是導向多核心的關鍵。
單純只是把舊的 cpu 拉高時脈,是可以做的,
但這樣顯然不是一種「進步」。
過去的 cpu 效能在進步,除了時脈以外,製程進步導致可以放入更多電晶體,
才是最大的進步。包括 on-chip cache (過去的 cache 還有 off-chip 的),
TLB 、 branch predictor 、 issue window 、 reservation stations 等等,
這些機制可以讓處理器找到更多的事做,並讓事情更早做完。
過去當製程在進步,一個晶片可以放入更多電晶體的時候,
都是拿去做這些東西。但這些東西的複雜度通常是和量的平方成正比,
耗電也和平方呈正比,因此繼續拿電晶體去做這些事,耗電會控制不住。
當 cpu 的耗電過高,主機板無法給那麼多的電,散熱器帶不走熱,
整台電腦就爆了。
所以,為了降低單個核心的複雜度與耗電,設計處理器時已經不願在「加大」單一核心,
但對於生產一個晶片而言,仍有多餘的電晶體可以使用,所以,就做多個核心。
事實上多個核心並不是「想要去做」而是「不得不做」。因為沒有其它選擇了。
更強的單核心可以加快所有的運算,但更多的核心只能加快平行運算
(某個層面上來說,事實上也有多核心加快 single-thread app 的研究),
對效能來說,多核心顯然是一個比較差的電晶體使用法。
但同時考慮耗電與散熱的問題,強大的單核心根本是不可行的。
--
活著的目的是為主活 然後為主死
死亡的目的是為主死 然後為主活
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.31.132
... <看更多>