田程+鲁绍坤
摘要:探讨了一种建立于廉价低功耗的硬件平台上的农业大数据平台的可行性,搭建了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]。基于ARM的低成本集群在合理的计算能力下,提供比传统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.