插隊<<< doubanclaim64ea944f8164f0e1
從計算任務的特質來看分為:
1、大計算量,小資料量
2、大資料量,計算相對簡單
3、大資料量,大計算量
常見的工作負載有:
1、日誌分析,PB層級
2、離線分析,商業智慧,重資料量,TB層級
3、調查式分析,重響應速度,100GB以下
4、金融計算,蒙特卡洛演算法,大計算量
常見的分散式運算架構:
1、Hadoop,以Distributed File System為核心的 Map reduce 架構,擅長超大資料量,高延遲,IO開銷大
2、GridGain,以記憶體資料庫為核心的分散式運算架構,擅長大計算量,低延遲,IO開銷小
計算的結構有三種:
1、SMP
2、NUMA
3、分散式運算
延遲時間上升,換取計算總能力的上升。IO是主要制約因素。計算量問題首先是IO問題。
從解決問題嘗試順序來說有四層:
1、單線程
2、並行化
3、分布化
4、平台化
並行化的主要目的是突破單核的計算能力上限
分布化的主要目的是突破單機的計算能力上限
平台化的主要目的是突破單項目的能力上限
並行化的根本挑戰:
1、任務的切分
2、任務的調度
重心在演算法邏輯上
並行化的主要問題:
1、資源爭搶
2、資料的隔離性
3、資料的可見度
4、饑餓,死結,活鎖
分布化的根本挑戰:
1、計算節點之間的高延遲
2、分布化之後缺乏OS這樣的管理者角色
在並行化解決了演算法問題之後,分布化主要是為了克服物理限制
分布化的主要問題
1、更容易產生死結和饑餓
2、拓撲管理
3、異構環境
4、容錯機制
5、分布式負載平衡
6、儲存能力共用
7、計算能力共用
8、代碼的部署和準備
9、叢集的監控和管理
平台化的根本挑戰:業務問題,政治問題
平台化的主要問題:
1、統一的計算抽象
2、統一的資料抽象
3、異構資料的處理
4、業務優先順序的保證
平台化的根本挑戰
從實現層面看,有三層問題需要考慮:
1、計算流程
2、多機計算
3、單機計算