Spark只比Hadoop快19% ?

banq發表於2015-03-20
Spark比Hadoop並沒有想象得那麼快,以前號稱快100倍,實際只快19%,這是Making Sense of Performance in Data Analytics Frameworks.結論。

這個結論出乎我們意料,他們發現:分析job的效能瓶頸在CPU,而不是I/O,網路效能對於job的完成時間只有稍微影響,提高網路效能能夠提高job的完成時間,平均提高約2%;大部分造成效能落後的原因都能發現並且解決。

他們發現job任務執行時間透過最佳化磁碟I/O效能提高不可能超過19%,他們比較了任務在執行時資源利用率,發現CPU將近100%,而磁碟利用率也只不過25%。

一個原因是分析負載導致高CPU利用率,包括反序列化和壓縮,透過遷移複雜的序列化和壓縮格式已經降低了I/O,提高了分析框架的CPU使用需求。

因為超高的CPU使用時間,透過硬體最佳化比如使用更多磁碟,使用快閃記憶體或者將序列化資料儲存在記憶體中不會顯著提高分析job的完成時間,快取反序列化資料因為消除了反序列化耗費的時間有潛在的大的效能提高。

因此,以前號稱Spark因為使用了記憶體避免了磁碟I/O而比Hadoop提高100倍,是要打問號的,因為該研究表明,這些分析框架的主要瓶頸在CPU,而不是磁碟I/O,使用大量的記憶體和快速網路,雖然避免磁碟I/O和網路瓶頸的問題,但是不會對效能有100倍那麼大的效果。

參考:Spark Only 19% Faster Than Hadoop? - Rose Business

banq注:大資料分析是一種計算,重點在計算上,也就是CPU使用上,而不是空間結構的儲存。所以,從邏輯上看,CPU提升才應該是計算效能提升的關鍵。


相關文章