分散運算
From Wikipedia, the free encyclopedia
- 共用資源(shared resources):例如 5 部電腦組成一個分散式系統,共用一部打印機,其中一部電腦唔使用打印機嗰陣可以讓俾第部電腦用,更有效率噉使用打印資源;
- 相異性(heterogeneity):例如 5 部電腦各有唔同硬件,當中有部嘅顯示卡零舍勁,所以呢部就喺個系統入面專門處理圖像輸出嘅工作;
- 同時性(concurrency):幾部電腦同一時間各自做自己嘅工作,喺實際應用上,噉做可以減少好多系統工作上嘅延誤(睇埋平行運算)[4][5];
- 可縮放性(scalability):如果個系統嘅用家數量變多,需要做嘅多數都只係增加電腦嘅數量,而一部單一電腦就算硬件再勁都會有個上限;
- 容錯性(fault tolerance):10 部電腦入面就算有 1 部壞咗,只要有機制教啲電腦點樣重新分配工作,其餘嗰 9 部都可以繼續正常噉運作[6]。
分散式系統嘅呢啲特性喺實用上好有價值[7]。其中一個例子係大型多人網上遊戲(MMOG)嘅伺服器,一隻 MMOG 嘅一個玩家會用佢部電腦-遊戲機或者個人電腦等-行佢個遊戲程式,然後部電腦將個玩家俾嘅訊號(撳咗邊個掣或者俾咗乜指令呀噉)傳去伺服器嗰度,伺服器喺每一個時間點都要接收成千上萬嘅玩家俾嘅輸入,進行運算,計出遊戲世界嘅狀態應該要點樣改變,再將個輸出傳返去玩家嘅電腦嗰度,所以隻遊戲嘅玩家數量愈多,個伺服器要處理嘅數據量就愈大。喺呢個情況下,分散式系統嘅可縮放性特質就好有用:如果遊戲伺服器係一個分散式系統,噉每當玩家數量增加嘅時候,隻遊戲嘅開發者只係需要增加個系統嘅電腦總數量就得[8][9]。