田程+魯紹坤
摘要:探討了一種建立于廉價低功耗的硬件平臺上的農業大數據平臺的可行性,搭建了1個廉價的由樹莓派2組成的基于Spark的微型大數據平臺,測試了其性能、功耗。結果表明,基于樹莓派2的微型農業大數據平臺是一種在農業環境下對計算性能要求不高時較為經濟的選擇。
關鍵詞:Spark;樹莓派2;大數據;農業
中圖分類號: S126文獻標志碼: A
文章編號:1002-1302(2017)10-0202-03
隨著信息時代的發展,各行各業每時每刻都在產生大量的數據,為了應對這些大量數據的存儲及處理需求,建立了眾多的數據中心,包括基于公有云服務的數據中心和私有的大數據中心。這些大數據中心的建立都耗資巨大,服務器和機房設備通常都價格昂貴,同時運行成本高昂,服務器及冷卻設備都需要消耗大量的能源[1]。農業大數據作為大數據技術在農業領域的應用同樣面臨這一問題,尋求一種低成本、低功耗的設備來組建數據中心,讓數據中心更加經濟、綠色環保,變得越來越重要[2]。
國外研究者根據這一需求,搭建了一些基于ARM的低成本、低功耗的電腦組建的計算集群來研究低成本低功耗平臺的計算集群應用的可行性。由于研究者大多使用上一代電腦和Hadoop MapReduce架構,研究結果多數因性能不足而不適合使用到生產環境,但人們仍然相信,使用新的ARM處理器和新的架構的計算集群可以滿足低成本下大數據處理的需要[3]。新一代樹莓派2,性能較第1代有很大提高,同時比Hadoop MapReduce更快的Spark大數據計算框架的出現,讓低成本的大數據應用成為了可能。
1背景
1.1樹莓派2
樹莓派2(Raspberry Pi 2 Model B)是由英國慈善組織“Raspberry Pi基金會”開發的新一代基于ARM的卡片式電腦(表1)。在Sysbench多核CPU測試中,樹莓派CPU性能是第1代樹莓派Raspberry Pi 1 Model B+的6倍,并且保持了和第1代樹莓派相同的低廉售價($35)[4]。
1.2Spark
Spark是1個基于內存計算的開源大數據并行計算框架,于2009年誕生于加州伯克利分校AMPLab,目的在于簡單快
速地處理大數據。目前由AMPLab、Databricks負責整個項目的開發維護,眾多公司(如Yahoo、Intel)和眾多的開源愛好者都積極參與Spark的更新與維護。據Spark官方網站公布數據,Spark運行于內存數據集時性能為Hadoop MapReduce的100倍,運行于磁盤數據集時也有其10倍的性能。Spark使用Scala語言編寫,同時提供多種編程接口,可以使用Java、Python、R語言編寫程序,方便開發者自由選擇;兼容Hadoop生態系統,能夠運行在單機、Hadoop、YARN、Mesos集群及多種云平臺上[5]。
1.3國外的低成本計算集群
Iridis-pi cluster由64個Raspberry Pi Model B組成,每個節點使用16 GB SD卡組成的1個低功耗、便宜、被動散熱的可用于教育目的的集群[6]?;贏RM的低成本集群在合理的計算能力下,提供比傳統SATA串行存儲和PCI串行總線更大的擴展能力,是在嚴酷的、維護困難的應用環境和對可靠性要求較高、計算能力不是第一要求的情況下的一種選擇。
Glasgow Raspberry Pi cluster使用56個Raspberry Pi Model B組成[7]。采用LXC作為Container搭建了PiCloud用于研究和教育目的。
Bolzano Raspberry Pi cluster使用300個Raspberry Pi Model B組成,用于研究廉價綠色的云計算和作為移動數據中心在惡劣環境的可靠性[8]。
Kaewkasi等使用22個基于1 GHz ARM Cortex-A8 CPU和1GB RAM的Cubieboard搭建了1個基于Hadoop架構的Spark低功耗計算集群,并測試了其在SSD和機械硬盤上的計算性能和功耗[3]。
Schot使用8個樹莓派2組建了基于Hadoop的微型數據中心,并與University of Twente的由32臺Dell R415組成的運行于Hadoop的CTIT cluster做了性能與功耗對比[9]。
2樹莓派2大數據平臺系統介紹
本研究搭建的微型計算包含6個節點,每個節點選用1個Raspberry Pi 2 Model B組成,使用16 G UHS-I MicroSD卡作為系統存儲。使用Spark替代國外組建低功耗集群常用的Hadoop架構中的MapReduce。系統架構選用HDFS作為分布式存儲,Spark作為計算引擎。節點操作系統選用樹莓派官方開發的基于Debian wheezy的Raspbian wheezy于 2015年5月5日發行版。Linux核心版本3.18.11,JDK版本1.8,Hadoop版本2.6.2,Spark版本1.5.0,運行于Standalone模式。Spark1為主節點,Spark1~6為從節點(圖1)。
3樹莓派2大數據平臺性能測試
由于Spark還處于快速開發中,目前還沒有合適的針對Spark 1.50集群的基準測試標準。通過參考中國科學院計算技術研究所提出的大數據測試工具BigDataBench 2.0,選取了“計數”“排序”和“查找”3個操作作為Micro benchmarks的測試基準[10]。本研究編寫了1個包含以上3種操作的程序來測試樹莓派2集群的性能。為了對比集群的計算性能,使用云南農業大學基信學院計算機公共實驗室的1臺計算機搭建了偽分布式Spark集群進行性能對比。所用CPU為雙核4線程 I3-2130。
3.1單節點性能測試
使用Sysbench作為基準測試工具進行性能測試,分別測試了1臺樹莓派2和計算機實驗室計算機的單線程CPU基準、多線程CPU基準、硬盤順序讀取速度、內存讀取速度(表2)。
通過Sysbench測試可知,計算機實驗室的計算機的CPU計算能力約為樹莓派2的9.2倍,內存讀取速度為1.78倍,硬盤順序讀取速度為6.75倍。
3.2數據來源
本研究測試數據采用編寫程序生成隨機測試數據進行測試。模擬對溫度的統計,生成了包含2億條數據的temperature.txt文件,文件內容為3列,第1列為日期,第2列為區域,第3列為溫度(℃)。測試文件大小為3.06 GB。
3.3測試方法
使用Spark的count函數計算temperature.txt文件中A地的記錄數量,然后使用sortby函數對A地溫度數據按溫度高低排序,最后使用first函數找出A地的最高溫度。分別測試運行于機房1臺計算機的偽分布式集群和6臺樹莓派2組成集群的計算耗時,并使用Spark WebUI查看程序運行時間。
3.4測試結果
[JP3]運行測試程序測試Spark大數據平臺性能結果顯示,所用時間與單臺機房計算機用時相當,樹莓派2集群和機房計算機分別用時517、527 s(圖2)。
通過計算可知,6臺樹莓派2集群組成的大數據處理平臺處理速度為0.353 GB/min,使用云南農業大學基信學院計算機公共實驗室的1臺計算機搭建的偽分布式Spark集群處理速度為0.348 GB/min。兩者運行Micro benchmarks時的性能相當。
4樹莓派2運行溫度和功耗測試
4.1溫度測試
樹莓派2設計為被動散熱工作。為了測試樹莓派2作為微型計算集群的穩定性,本研究測試了樹莓派2在室溫無風環境下,不使用任何主動散熱設備的情況下,進行100 min滿負載運行時的工作溫度變化。通過每分鐘讀取1次CPU溫度,記錄了樹莓派2工作時的CPU溫度變化曲線(圖3)。樹莓派2在滿負載被動散熱情況下最大溫度僅65.9 ℃,低于樹莓派官方指導樹莓派正常工作的最高溫度(85 ℃)。本研究同時還進行了12 h空載待機溫度測試,結果顯示樹莓派2空載時平均待機溫度為34.2 ℃。以上測試說明被動散熱情況下樹莓派2可穩定工作。
4.2功耗測試
由于樹莓派2使用 5 V 電源、USB供電,采用睿登OLED USB2.0高精度測試儀測試節點滿載功耗和待機功耗(表3)。
通過測試結果可計算出6臺樹莓派2組成的集群待機功耗僅7.32 W,滿載功耗僅15.90 W。而同樣數據處理能力的計算機機房單臺計算機僅CPU滿載功耗就達65 W。
5樹莓派2大數據平臺成本分析
5.1搭建成本
樹莓派2官方統一售價為35美元,國內售價為人民幣235[CM(24*5]元。6臺樹莓派2集群成本共計1 869元(表4),搭建成
本遠低于單臺計算機成本。
5.2運行成本
通過計算6臺樹莓派2集群滿載10.59 W運行和單臺計算機以65 W各運行3年電量消耗可知樹莓派2集群共消耗電量412.128 kW·h,單臺計算機耗電量1 684.8 kW·h,樹莓派2集群耗電量約為單臺臺式機的1/4(圖4)。運行3年樹莓派相比單臺計算機共節約1 272.672 kW·h電量。
6總結與展望
由6臺樹莓派2組成的大數據平臺具有和1臺雙核4線程CPU組成的臺式機相當的數據處理速度。其低廉的節點價格,無需主動散熱設備的投入,使得集群初裝快速簡單,成本低廉。其極低的耗電量,使得集群后期運行成本遠低于臺式機,同時節約大量電能。樹莓派2適用于在農業大數據應用中不嚴格要求計算性能的情況下組建具有一定運算能力的低功耗、廉價的綠色計算集群,是一種降低農業大數據數據處理成本的可行方案。
隨著性能更強的低功耗ARM CPU的不斷研發,更新更快的大數據處理架構的出現以及更多針對低功耗ARM平臺計算集群的優化方案,組建廉價綠色的計算集群將更加可行,將為農業大數據的普及和發展提供有力的支持。
參考文獻:
[1]鄧維,劉方明,金海,等. 云計算數據中心的新能源應用:研究現狀與趨勢[J]. 計算機學報,2013,36(3):582-598.
[2]王文生,郭雷風. 農業大數據及其應用展望[J]. 江蘇農業科學,2015,43(9):1-5.
[3]Kaewkasi C,Srisuruk W. A study of big data processing constraints on a low-power Hadoop cluster[C]//International Computer Science and Engineering Conference,2014.
[4]UPTON Upton E. Raspberry Pi 2 on sale now at$35[EB/OL].[2016-02-10] https://www.raspberrypi.org/blog/raspberry-pi-2-on-sale/.
[5]Apache. Spark:lightning-fast cluster computing[EB/OL].[2016-03-06]. http://spark.apache.org.
[6]Cox S J,Cox J T,Boardman R P,et al. Iridis-pi:a low-cost,compact demonstration cluster[C]. The 2013 IEEE 33rd International Conference on distributed computing systems workshops,2013.
[8]Abrahamsson P,Helmer S,Phaphoom N,et al. Affordable and energy-efficient cloud computing clusters[C]//The 2013 IEEE 5th International Conference on Cloud Computing Technology and Science(CloudCom),2013.
[9]Schot N. Feasibility of raspberry Pi 2 based micro data centers in big data applications [EB/OL].[2016-03-06]. http://referaat.cs.utwente.nl/conference/23/paper/7509/feasibility-of-raspberry-pi-2-based-micro-data-centers-in-big-data-applications.pdf.
[10]Wang L,Zhan J,Luo C,et al. Big data bench:a big data benchmark suite from Internet services[C]. The 2014 IEEE 20th International Symposium on high performance computer architecture(HPCA),2014.