Piccolo技術分析

2021-09-01 18:46:22 字數 1188 閱讀 3359

piccolo

是new york

大學在osdi 2000

上發表的

***** 

,piccolo

允許計算單元跑在不同的機器上,更重要的是它對計算過程中的共享狀態資料的訪問有很好的本地性,同時解決了在執行時寫資料的衝突等問題。

它和mapreduce

的區別在於能夠輕鬆訪問中間狀態(其實就是中間結果

,之後都採用中間結果的說法),由於

mapreduce

需要把中間結果儲存到

hdfs

,開銷比較大,所以對需要頻繁訪問中間結果的運算效率不高,而

piccolo

把中間結果儲存在記憶體中,

piccolo

中叫做in-memory table

,piccolo

對in-memory table

抽象出key-value

簡單的操作介面,方便操作。

當然用mpi等傳統的程式設計框架,再加上

shared-memory

也可以解決這種問題,但是

mpi這種

low-level

的程式設計框架編寫**非常複雜,而

shared-memory

的效能不高。

對於之前提到的對中間結果訪問密集型的場景,**中舉了幾個例子:

1、pagerank

,在計算乙個網頁的

pagerank

分值的時候,需要訪問這個網頁周圍的網頁的

pagerank

值,它周圍網頁的

pagerank

值就是被頻繁訪問的中間結果。

2、k-means

聚類演算法【2】。

k-means

先選取k

個物件作為初始的聚類中心,然後計算剩下的物件和聚類中心的距離,根據他們與聚類中心的距離將他們分配到就近的聚類中心,然後得出新的聚類中心,再計算其它物件和新的聚類中心的距離,重複如此,直到收斂為止。在重新計算聚類中心的時候,需要這個聚類下所有物件到之前的中心的距離,它也是分布在不同節點,同時需要被頻繁訪問的。

可以知道的是,類似的場景大部分出現在資料探勘的場景下。

好了廢話少說,下面分析一下

piccolo

是如何實現的

//todo

reference

1.2.

OFDM技術分析

通常的數字調製都是在 單個載波 上進行,如psk qam等。這種單載波的調製方法易發生碼間干擾而增加誤位元速率,而且在多徑傳播的環境中因受瑞利衰落的影響而會造成突發誤碼。若將高速率的序列資料轉換為若干低速率資料流,每個低速資料流對應乙個載波進行調製,組成乙個多載波的同時調製的並行傳輸系統。這樣將總的...

DSL技術分析

dsl技術 一 定義 數字使用者線路 digital subscriber line 二 作用 以銅製 雙絞線 為傳輸介質的傳輸技術 三 分類 對稱 hdsl,上下行速率一致 企業使用者使用,不支援語音和資料同時傳送 sdsl shdsl 非對稱 adsl,下行速率大於上行速率 家庭使用者使用,支援...

DSL技術分析

dsl技術 一 定義 數字使用者線路 digital subscriber line 二 作用 以銅製 雙絞線 為傳輸介質的傳輸技術 三 分類 對稱 hdsl,上下行速率一致 企業使用者使用,不支援語音和資料同時傳送 sdsl shdsl 非對稱 adsl,下行速率大於上行速率 家庭使用者使用,支援...