Distributed Computing | 分散式運算
分散式運算是什麼?
顧名思義,分散式運算是將一套軟體分散在不同電腦或伺服器上執行,透過網路互相連接,達成共同的任務。簡單舉例,每當您透過網際網路搜尋關鍵字,您提出的需求被派發到不同地點多台伺服器上,各自獨立完成作業,再將結果彙整與回傳到您所使用的裝置,您甚至不會知道有幾台伺服器為您服務。這就是分散式運算的優點:一台電腦可駕馭多台電腦的運算資源,但若有任何一台電腦故障,其他電腦也能完成任務,不受影響。
值得一提的是,分散式運算、平行運算和網格計算幾個詞常被混著用,但其實有所差別。分散式運算是總稱,平行運算是分散式運算一種,所使用的各節點互相配合、共用資源,共同解決問題;網格計算也是分散式運算一種,但節點大多獨立作業,較缺乏互聯關係。該使用哪種分散式運算,取決於您的運算工作內容。
值得一提的是,分散式運算、平行運算和網格計算幾個詞常被混著用,但其實有所差別。分散式運算是總稱,平行運算是分散式運算一種,所使用的各節點互相配合、共用資源,共同解決問題;網格計算也是分散式運算一種,但節點大多獨立作業,較缺乏互聯關係。該使用哪種分散式運算,取決於您的運算工作內容。
為何需要?
俗話說得好,「雞蛋不要放在同個籃子裡」,分散式運算的一大特色,就是提供符合成本效益的「冗餘」(redundancy),因為使用許多裝置共同執行工作,可以提升可靠度,但不至於大幅提高成本。分散式運算的可擴充性也很突出,因為用戶可依照實際需求,隨時添加或移除節點。若使用平行運算,集結大量運算資源共同解決問題,甚至能達到高效能運算(HPC)的超級電腦等級。