[爆卦]多節點 作業系統是什麼?優點缺點精華區懶人包

雖然這篇多節點 作業系統鄉民發文沒有被收入到精華區:在多節點 作業系統這個話題中,我們另外找到其它相關的精選爆讚文章

在 多節點產品中有55篇Facebook貼文,粉絲數超過3,460的網紅Taipei Ethereum Meetup,也在其Facebook貼文中提到, 📜 [專欄新文章] 區塊鏈管線化的效能增進與瓶頸 ✍️ Ping Chen 📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium 使用管線化(Pipeline)技術可以提升區塊鏈的處理效能,但也...

 同時也有1部Youtube影片,追蹤數超過17的網紅穎艾達利 Ingay Tali,也在其Youtube影片中提到,2019年4月1日 臺南市議會第三屆第一次定期大會 財經部門業務報告及質詢 『財稅局、主計處』 市議員Ingay Tali穎艾達利詢答 這個房屋稅的「爭議」還有太多節點要處理,所以包含議會同事也好、相關的說明會、專案報告也都從宏觀或細節的部分一一檢視中。Ingay在這次的詢答中,主要提醒「自用」與...

多節點 在 安米娜?Mina Instagram 的最讚貼文

2021-07-05 14:23:20

世界那麼大,我好想出去走走rrrr🐬 ✍🏻筆記: K8S 是什麼? 管理docker 的大魔王軟體,把它想像是一個八爪章魚底下許多節點,每個節點代表一個docker,各自代表其作用. 應用場景: 我今天要架設假設10台攝影機在我小朋友的幼稚園裡,如果我的小朋友跌倒的話,就會立刻把消息傳送到家...

  • 多節點 在 Taipei Ethereum Meetup Facebook 的最讚貼文

    2021-08-09 22:53:44
    有 8 人按讚

    📜 [專欄新文章] 區塊鏈管線化的效能增進與瓶頸

    ✍️ 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.

    👏 歡迎轉載分享鼓掌

  • 多節點 在 每日幣研 Facebook 的最讚貼文

    2021-08-05 18:34:46
    有 6 人按讚

    【獨佔鰲頭的預言機項目-Chainlink 】
    🔥 立即看文章:https://reurl.cc/MAxarv
    在區塊鏈的世界中,資料是不可被篡改的,但除了鏈上資料進行使用、互通外,如何從鏈外有效率的提取資料,更是大量獲取資料的重點。

    📌 什麼是預言機❓
    --------------------------------
    #預言機(Oracle)是一種第三方服務軟體,其負責將外部資訊送到區塊鏈上。由於區塊鏈網路是一個封閉的狀態,智能合約只能從鏈上提取資料,無法直接獲取現實世界中的資料,因此需要『預言機』的協助,將現實的資訊導入區塊鏈中。

    📌 Chainlink 的主要用途❓
    ---------------------------------------------
    #Chainlink 所打造的『去中心化預言機』,就是希望現實世界的外部資料在寫入區塊鏈時,會先經過多個預言機蒐集許多外部資料後,將多個結果上傳到區塊鏈,並且透過智能合約的處理,最後聚合產出最終的內容,可以想成是『區塊鏈與世界中的橋樑』。

    📌 Chainlink 的原生代幣-LINK❗
    ------------------------------------
    #LINK 除了擁有標準 ERC20 規格外,還具有 ERC223 規格外的『轉移及調用』的功能,可以讓這款代幣在智能合約接收和處理。LINK 代幣在 Chainlink 系統中,可以用來支付許多節點的服務費,以支持其運轉。
    -----------------------------------------------------------------
    🎉✨每日幣研新書公開發售了!✨🎉
    新書「加密貨幣投資實戰」中匯集了每日幣研的兩位創辦人多年以來研究加密貨幣的心得以及投資技巧,新手老手都適合閱讀。此外,書中更有不同交易所的開戶優惠碼,高達20%交易費折扣優惠,千萬不要錯過!
    購買此書:https://www.iglobe.hk/products/cryptowesearch-cryptocurrency

    Follow 每日幣研,獲取更多產業快訊及小趣事分享
    電子報訂閱連結:https://pse.is/3gkbt2
    Instagram: https://pse.is/crypto_wesearch_IG
    Facebook: https://pse.is/crypto_wesearch_FB
    Youtube : https://pse.is/crypto_wesearch_youtube

  • 多節點 在 矽谷牛的耕田筆記 Facebook 的最佳解答

    2021-08-02 12:51:44
    有 155 人按讚

    ref: https://ably.com/blog/no-we-dont-use-kubernetes

    八月第一篇,就來個有趣的文章,來看看 ably 這間 SaaS 公司為什麼沒有使用 Kubernetes,不但當前沒有使用,甚至短期未來內都不會想要使用
    更是直接的說如果你有興趣來加入團隊,千萬不要把將 Kubernetes 導入到團隊中是一個可能發生的事情。

    我個人覺得這篇文章滿好的,因為是認真的去比較導入 Kubernetes 帶來的改變,而這些改變對團隊來說到底是可接受還是不可接受
    而不是所謂的人云亦云,人家要我也要,人家不要我也不要...

    文章分成兩部分,前述介紹當前 Ably 的環境架構是什麼,而半部分則是很技術的去探討如果導入 Kubernetes 帶來的好處與壞處是什麼
    最終權衡比較之下,會發現導入 Kubernetes 沒有帶來實質上的好處。

    文章開頭先簡述了一下 Kubernetes 這幾年的風潮,從最初 Google Borg 的開發開始談起,作者特別提到當初 Borg 的用法可是將一堆實體機器給搭建出一個 Private Cloud 的叢集給團隊使用,
    而目前 Kubernetes 更多的用法則是搭建於 Public Cloud 上面的虛擬機器中,透過將 Kubernetes 部署到這些不同的 Cloud Provider 似乎帶來了介面統一的結果,對於 DevOps 人員來說
    不同 Cloud Provider 如今看起來都是 Kubernetes 的樣貌。

    Ably 目前到底怎麼部署應用程式
    Ably 主要使用 AWS 作為其 Cloud Provider,並且於 EC2 機器上使用 docker/container 來部署團隊中的應用程式。
    作者團隊中沒有使用任何已知的 Orchestration 服務來管理多節點上的 docker/container,取而代之的則是每個 VM 開機後則會根據 autoscaling group 的機制來判斷
    每個機器應該要部署哪種 container/docker。

    對於 Ably 來說,團隊中沒有任何 scheduler 相關的服務來調度各種服務,這意味每個 VM 就代表一種服務,所以將 VM 上的服務從 Core 轉換成 frontend 這種行為不會發生。
    今天需要針對需求轉換服務時就以 VM 為基準來整批換掉即可。
    每個節點上面都會有一個輕量的監控服務,用來確保運作的 Container 如果掛掉後可以被重啟,甚至如果當前運行的版本不符合需求時也能夠將該服務給停止。

    流量方面,因為每個 Autoscaling Group 就代表一個服務,所以直接使用 NLB 與 Target Group 來將流量導入該 Autoscaling Group 即可。
    至於容器與容器之間的內部流量(譬如 k8s service 等)作者認為也不是太大問題,畢竟每個機器本身都會被 VPC 賦予一個 IP 地址,所以使用上沒有什麼太大的問題。

    接下來作者從幾個層次去探討當前設計與使用 Kubernetes 帶來的改變,分別有 (原文很多,這邊摘要不然文章會太長)
    題外話,由於 Ably 的 Infra Team 數量有限,所以要考慮 K8s 只會考慮 K8s Service,如 EKS。
    1. Resource Management
    Ably:
    a. 根據服務的需求來決定每個服務要用到的 VM 等級
    b. 不需要去煩惱如何處理將多個小服務給部署到一個適合的大 VM 中
    c. 作者稱這種行為其實就是 AWS 官方強調的 Right Sizing, 譬如只能跑兩個 Thread 的服務不需要 16vCPUs, 久久寫一次硬碟的服務也不需要一個 90,000 IOPS 的 SSD
    d. 選擇一個正確的元件來搭建一個符合服務的 VM 讓團隊可以控制成本同時也減少額外的管理負擔
    K8s:
    a. 必須要使用一個比較強大等級的 EC2 VM,畢竟上面要透過 Container 部署很多服務
    b. 針對那些需要小資源的服務來說,透過這種方式能夠盡可能的榨乾機器的資源,整體效能使用率會更好
    c. 但是針對資源量沒有很辦法明確定義的服務則是會盡可能地去吃掉系統上的資源,這種被稱為 nosy neighbors 的常見問題已經不是首次出現了, Cloud Provider 本身就需要針對 VM 這類型的服務去思考如何處理資源使用,而 Cloud Provider 都有十年以上的經驗再處理這一塊
    而所有 Kubernetes 的使用者則必須要自己去處理這些。
    d. 一個可能的作法則是一個 VM 部署一個服務,不過這個做法跟團隊目前的作法已經完全一致,所以就資源管理這一塊,團隊看不到使用 Kubernetes 的優勢。

    2. Autoscaling
    Ably:
    a. EC2 VM 本身可以藉由 Autoscaling Group 來動態調整需求
    b. 有時候也是會手動的去調整 EC2 的數量,基本上手動跟自動是互相輔佐的
    c. 團隊提供的是 SaaS 服務,所以其收費是針對客戶實際上用多少服務來收,如果開了過多 EC2 VM,則很多不要的花費與開銷都是團隊要自行吸收
    d. 團隊需要一個盡可能有效率的方式能夠即使遇到流量暴衝時也能夠保證良好的服務的機制
    K8s:
    a. 可以透過不少方式來動態調整 Container 的數量,
    b. 甚至可以透過 Cluster autoscaler 來針對節點進行調整,根據需求關閉節點或是產生更多節點
    c. 動態關閉節點的有個問題是關閉節點時通常會選擇盡可能閒置的節點,但是閒置並不代表沒有任何服務部署再
    上面,因此該節點上的 Container 都要先被轉移到其餘節點接者該目標節點才可以被正式關閉。這部分的邏輯作者認為相對複雜
    d. 整體來說,k8s 有兩個動態調整的部分,動態節點與動態服務,而現有的架構只有一個動態節點。所以使用 k8s 則會讓問題變得更多更複雜。

    3. Traffic Ingress
    Ably:
    a. Traffic Ingress 基本上每個 cloud provider 都提供了很好的解決方案,基本上團隊只要能夠維持每個服務與背後的機器的關係圖,網路流量基本上都沒有什麼需要團隊管理的。
    b. 使用者會透過直接存取 NLB 或是透過 CloudFront 的方式來存取團隊內的服務

    K8s:
    a. EKS 本身可以透過 AWS VPC CNI 使得每個 Container 都獲得 VPC 內的 IP,這些 IP 都可以讓 VPC 內的其他服務直接存取
    b. 透過 AWS LB Controller,這些 Container 可以跟 AWS LB 直接整合,讓封包到達 LoadBalancer 後直接轉發到對應的 Container
    c. 整體架構並不會比團隊目前架構複雜
    d. 唯一缺點大概就是這個解決方案是完全 AWS 綁定,所以想要透過 k8s 來打造一個跨 Cloud Provider 的統一介面可能就會遇到不好轉移的問題。

    4. DevOps
    Ably:
    a. 開發團隊可以透過簡單的設定檔案來調整部署軟體的版本,後續相關機制就會將 VM 給替換掉,然後網路流量也會自然的導向新版服務
    K8s:
    a. 開發團隊改使用 Kubernetes 的格式來達到一樣的效果,雖然背後運作的方式不同但是最終都可以對開發團隊帶來一樣的效果。

    上次四個分析基本上就是,使用 k8s 沒有帶來任何突破性的好處,但是 k8s 本身還有其他的功能,所以接下來作者想看看 k8s 是否能夠從其他方面帶來好處

    Multi-Cloud Readiness
    作者引用兩篇文章的內容作為開頭,「除非經過評估,否則任何團隊都應該要有一個跨 Cloud-Provider 的策略」
    作者表明自己團隊的產品就是那個經過評估後斷言不需要跨 Cloud Provider 策略的團隊,同時目前沒有往這個方向去追求的打算。
    同時作者也不認為 K8s 是一個能夠有效達成這個任務的工具。舉例來說,光 Storage 每家的做法都不同,而 K8s 沒有辦法完全將這些差異性給抽象畫,這意味者開發者終究還是要針對這些細節去處理。

    Hybrid Cloud Readiness
    管理混合雲(Public Cloud + Private Cloud based on Bare-Metal servers)是作者認為一個很合理使用 K8s 的理由,畢竟這種用法就跟當初 Google Borg 用法一致,是經過驗證可行的。
    所以 Ably 如果有計畫要維護自己的資料中心時,底層就會考慮使用 Kubernetes 來管理服務。畢竟這時候沒有任何 Cloud Provider 提供任何好像的功能。
    不過 Ably 目前沒有任何計畫,所以這個優點也沒有辦法幫助到團隊

    Infrastructure as Code
    團隊已經大量使用 Terraform, CloudFormation 來達成 IaC,所以透過 k8s YAML 來維護各種架構不是一個必要且真的好用的方式。

    Access to a large and active community
    另外一個很多人鼓吹 K8S 的好處就是有龐大的使用者社群,社群內有各種問題分享與探討。
    作者認為
    a. AWS 的使用者社群數量是高於 Kubernetes
    b. 很多情況下,一個迭代太快速的產品其實也不一定對團隊有太大的幫助。
    c. 很多人都使用 k8s,但是真正理解 k8s 的人微乎其微,所以想要透過社群來幫忙解決問題其實比你想像的還要難,畢竟裡面的問題太雜,很多時候根本很難找到一個真正有效的答案。

    Added Costs of Kubernetes
    為了轉移到 K8s, 團隊需要一個全新的 team 來維護 k8s 叢集以及使用到的所有基本服務。舉例來說,EKS, VPN CNI, AWS LB 帶來的網路好處並不是啟動 EKS 就會有的,
    還必須要安裝相關的 Controller 並且進行設定,這些都是額外的維運成本。
    如果找其他的服務供應商來管理 Kubernetes,這意味公司就要花費更多的$$來處理,所以對團隊來說,金錢與工作量都會提高,不同的解決方式只是這兩個指標的比例不同而已。

    結論:
    1. Ably 覺得 Kubernetes 做得很好,但是團隊目前沒有任何計畫去使用它,至少目前這階段沒有看到任何實質好處
    2. 仔細評估後會發現,導入 k8s 其實也會帶出不少管理上的問題,反而並沒有減輕本來的負擔

  • 多節點 在 穎艾達利 Ingay Tali Youtube 的最佳解答

    2019-05-09 15:38:11

    2019年4月1日 臺南市議會第三屆第一次定期大會
    財經部門業務報告及質詢
    『財稅局、主計處』
    市議員Ingay Tali穎艾達利詢答

    這個房屋稅的「爭議」還有太多節點要處理,所以包含議會同事也好、相關的說明會、專案報告也都從宏觀或細節的部分一一檢視中。Ingay在這次的詢答中,主要提醒「自用」與「非自用」的差別稅率應該要格外注意,因為目前前者1.2%與後者1.5%的稅率,實在無法區隔「房屋作為自住之居住正義」與「將房屋視為投資代幣」的差別。以致於在這次會期中也有議會同仁舉出資料,單一所有權人(法人)名下有四百多戶的情況。當然房屋稅不是打房(投機炒作)的工具,但是在居住正義與理財市場上的衡平,市府必須要審慎面對。
     
    這部分財稅局長也說明呼應「居住正義」的意涵,同時舉了其他縣市對非自用房屋的稅率甚至科以2.4%、3.6%的實例,表示會謹慎來研議這部分的差別稅率。

    詢答重點
    https://tinyurl.com/ingay20190401

    穎艾達利臉書專頁
    https://www.facebook.com/IngayTali2018/

    #IngayTali
    #穎艾達利
    #如何而可能

你可能也想看看

搜尋相關網站