迭代計算是一種通過多次迴圈得出結果的計算方式,一般需要將上一次計算的結果代入到下一步的計算中去。當計算資料和計算規模都比較小時,可以在單機上實現計算過程;但是當資料集變大或者計算複雜度上公升時,在單機上就可能無法完成計算了。在網際網路企業中,各種資料探勘,資訊檢索等計算用例,由於抽取的資料集較大,往往都是進行分布式的迭代計算。
mapreduce框架能夠很好的處理大規模的資料計算,但是在實現需要迭代類演算法時的效率比較低。一是由於為了提高可靠性,在map和reduce過程中都有寫磁碟的過程,計算結果並不是直接在計算子過程之間傳遞;對於迭代類的計算,這種模式會導致在迴圈計算中反覆i/o;二是map和reduce的序列結構還不能直接適用於迴圈或者鏈式的計算。儘管如此,map-reduce的計算思想對當前迭代計算框架的發展有很大的影響,許多框架或者基於mapreduce進行修改,或者借鑑了其計算思想進行設計。
下面是一些已有的迭代計算框架:
總的來說,當前這些迭代計算的框架還是處於發展階段,遠不如mapreduce和hadoop生態區成熟。
一些比較出名的開源庫和框架
一些著名的開源專案 0ad 3d遊戲 ace 網路框架 cegui 介面庫 boost c 庫 cocos2d 遊戲庫 delta3d 遊戲引擎 ogre 渲染引擎 facebook hiphop php引擎 d2x xl 遊戲 hadoop 分布式檔案系統 mangos wow 模擬server ...
對機器學習開源框架的一些認識
開源框架有 theano tensorflow caffe torch scikit learn等 各自的應用 1.theano開發於2007年,擅長處理多維陣列的庫,偏底層,需要從底層建立模型。與後來出現的tensorflow非常相似。它的優點有 使用計算圖,rnn 與計算圖相容良好,有 kera...
一些開源的東東
開源真是個好東東,看開源的 不僅能夠提高自己的程式設計水平還可以大大的節省自己的時間。可惜的是許多出名的開源類庫全是外國人寫的,希望中國人自己也能夠有自己的開源類庫。我玩過的一些有用的開源的類庫 有些我只是玩了一下,所以不能很深的介紹 希望對大家有幫助。1 首先出場的是ace。我想大家在設計網路程式...