基于Hadoop的海量网格数据建模
来源:一二三四网
201 0年第1 9卷第1 0期 计算机系统应用 基于H ad oo p的海量网格数据建模① 胡志刚 梁晓扬(中南大学信息科学与工程学院湖南长沙41 0083) 摘要:针对网格实验的实际需要和现有网格仿真工具存在的不足,提出了一种结合Hadoop技术进行海量网 格数据建模的方法。利用提出的建模方法,研究人员可以从海量数据中挖掘出实验所需核心数据,并建 立这些数据所满足的数学模型。在网格仿真实验中使用这些数学模型生成网格负载,将会提高网格仿真 实验的准确性和可信度。 关键词:网格仿真:Hadoop;数学模型 Massive Grid—Data Modeling Using Hadoop HU Zhi—Gang.LIANG Xiao—Yang (School of Information Science and Engineering,Central South University,Changsha 4 1 0083,China) Abstract:Due to the needs of grid experiments and the shortcomings existed in the grid simulation tools,this paper presents an approach for massive grid data modeling using Hadoop technology.By using the modeling method in this paper,researchers can dig out the core data,which is required in the grid experiment,from hte mass of data and then establish the mathematical model that the data needs.By using the experimental data generated by this model,the accuracy and credibility of grid simulation experiments will increase. Keywords:grid simulation;Hadoop;mathematical model 1 引言 结果显示:网格仿真实验结果与在实际网格环境中产 网格计算是分布式计算领域的一个重要分支。近 生的实验结果相差较大,甚至与实际完全不符【3】。造 些年来,在国内外研究人员的共同努力下,网格计算 成这一现象的主要原因是:实验人员采用的仿真实验 相关研究取得了长足的进展。由于网格计算本身所具 数据(网格任务到达时间,作业长度等)大多是通过程序 有的高度复杂性(网格资源的动态性,不确定性,网格 随机生成或者是某个网格节点一个时间段内的数据, 任务的异构性等),网格计算理论的验证试验难度比较 而这些数据并不能很好的反映网格节点的实际情况。 高[11。此外,网格资源大都比较珍贵,网格研究人员 因此,如何选取符合实际情况的网格仿真实验数据成 在实际网格资源中进行理论验证的代价较高且周期较 为网格研究领域亟待解决的问题。 长,不利于研究的进行。因此,网格计算理论的验证 试验成为研究网格计算的主要掣肘之一。 2 Hadoop技术简介 鉴于上述原因,众多研究机构都开发了自己的网 Hadoop是一个实现了Google的MapReduce 格模拟工具对网格实验进行仿真。目前,几大主流网 计算模型的开源分布式并行编程框架,借助于 格模拟器有:GridNet、OptorSim、SimGrid、 Hadoop,程序员可以轻松地编写分布式并行程序, GridSim、ChicSim、EDGSim等I2】。这些模拟器通过 将其运行于计算机集群上,完成海量数据的计算【4】。 对网格资源,网格任务,网格用户等网格参与者的模 目前,企业界和研究机构都对Hadoop进行了深入的 拟以达到对真实网格环境的仿真。然而,大量实验 研究和应用。中科院高能物理研究所使用Hadoop技 ①基金项目:国家自然科学基金(606731 65,60970038) 收稿时间:201 0—02—26;收到修改稿时间:201 0-03—26 Applied Technique应用技术1 9 1 计算机系统应用 术构建了集群进行海量数据处理:国内外各大公司如 FaceBook、Yahoo!、百度、淘宝等公司都使用 Hadoop技术部署了自己的集群进行海量数据处理。 Hadoop技术已经成为海量数据处理研究方向的热门。 由于分布式存储对于分布式编程来说必不可少, Hadoop框架中还包含了一个分布式文件系统 HDFS(Hadoop Distributed File System),类似于 Google的文件系统GFS(Google File System)。 HDFS架构如图1所示: 中间数据 数据分块规则 据节点 {旦l 图1 HDFS架构图 HDFS主要由Client、Datanode和Namenode 组成。一个使用Hadoop技术架构的集群中,一般有 一台主机作为Namenode,若干台主机作为 Datanode。Client代表使用HDFS的客户程序; Namenode是Hadoop集群中的一台主机,负责保 存数据节点的信息、计算任务的分发以及最终规约等 任务:Datanode负责数据存储与处理。为保证数据 的安全性,HDFS适度增加了冗余数据。具体的做法 是在不同的Datanode中保存同一数据的三份拷贝, 如图2所示: 图2 Datanode示意图 图2所示的Hadoop集群中有8个Datanode (DN1一DN8),用于存储标号为d1_d5的5份数据。 当数据节点DN1由于某种原因失效的时候,由于存储 192应用技术Applied Technique 201 0年第1 9卷第1 0期 于该节点上的数据在其他节点上还存在备份,这样就 保证了数据的安全性。 在数据处理过程中,Hadoop采用MapReduce 技术。如图3所示,MapReduce分为Map和Reduce 两个阶段。Map阶段将要处理的任务依据某种规则划 分为若干个阶段,Reduce阶段将各个数据阶段的处 理结果按照映射时候产生的键值进行规约。 I} f l @ klⅣ k2:v kl I lkl:v k2:v k3:vk2 ll k2:v fl l【3 k2 v I I k3: I————±—一、 【 按键值分组 ) —广 分组结粜J k】:vvv I k2:vvvvv l k3 vvvv 输{i;J 『 l 图3 MapReduce示意图 3网格数据建模 在实际网格环境中,网格作业到达时间、本地负 载等数据呈现一定的统计规律【5l。如果能够对这些数 据服从的统计规律进行建模,然后根据建模产生的数 学模型生成网格实验数据,即可提高网格仿真实验的 准确性和可信度。然而,大型的网格节点每天都要处 理大量的网格作业,生成的网格数据是海量级的。普通 的PC机根本无法在短时间内处理这些数据,而使用大 型计算机的代价较为昂贵,一般研究人员难以承受。 采用Hadoop技术,可以使用廉价的PC机搭建 运算性能可观的集群系统在较短的时间内处理和分析 海量数据。Hadoop处理数据分为Map和Reduce两 个阶段,因此使用Hadoop处理的数据必须易于分块 且在逻辑上关联性较弱。网格数据正具备上述特性。 结合网格数据的特性和Hadoop的架构,本文提 出的建模方法分为以下几个步骤: (1)选取统计数据,确定统计变量 在网格实验数据中,网格作业的到达时间、作业长 度、完成时间以及网格资源预留率等因素对整个网格实 验的最终结果影响较为明显。根据研究需要,选取其中 之一作为统计变量,记为e。统计变量的集合记为E。 (2)根据问题特征选择网格数据映射规则和归约 规则 定义1.选取统计变量后,需要对统计变量代表 201 0年第1 9卷第1 0期 计算机系统应用 的数据按照一定规则进行处理,这种处理规则在本文 中定义为映射规则,记为 。 任务执行完毕,得到结果集s:{<f, ,,i为统计 变量子集的标号,_,为f号子集中元素个数。 (6)建模 根据选取的映射规则可将统计变量集合E划分为 r/个相互独立的子集 ~ 。 定义2.实验数据按照映射规则进行处理后,将 生成~系列中间结果,处理这些中间结果的方法在本 文中定义为归约规则,记为R。 第5步得到的结果集是建模需要的核心数据。建 模算法如图5所示: 对于统计变量集E中的两个值el和e,,如果 M(e1)∈目,M(e2)∈E,,且f= ,则将M(e1),M(e2)归为一 类,用归约规则R对二者进行归约处理。 (3)实现Mapper 按照映射规则实现Hadoop的Mapper接口,即 覆写map方法。核心算法如图4所示: 图4 Mapper实现算法 如图4所示,map方法按照映射规则M生成用 <key,value>形式存储的二元组结果集。如果映射值 (e)属于某个统计变量子集,则将二元组的key值记 为该子集的标号,value值记为1:反之,key值不变, value值记为0。 (4)实现Reducer,对中间结果进行归约 按照归约规则实现Hadoop的Reducer接口, 即覆写reduce方法。将第3步产生的中间结果进行 归约。归约函数为: 尺(<keym,value >,<key ,value >) =<key ,value +value >,if eky =key. 即将结果集中key值相同的二元组的value值进 行求和,生成新的二元组结果集。 (5)定义Hadoop任务实例,启动运行 定义Hadoop任务后,将实现后的Mapper和 Reducer类实例作为参数传递给该任务进行执行。 图5建模算法 在图S的第4步中,以集合P中数据作为自变量 值,集合Q中数据作为因变量值,选择适当的随机分 布曲线进行拟合,最终得出概率分布密度fo(x)。 (7)假设检验 对第6步得到分布密度做如下假设检验: Ho:f( )=fo( )Hi:,( )≠fo( ) 如果风成立,则接受该分布密度;反之,重复第 6步,直到假设检验成立。 整个建模流程如图6所示: 是 接受模型 (,_— 图6建模流程图 Applied Technique应用技术193 计算机系统应用 201 0年第1 9卷第1 0期 4实验与分析 在本节中给出了一个使用Hadoop技术搭建的集群 进行海量网格数据处理,并最终生成随机事件模型的实 本实例采用实际网格系统中产生的网格日志作为 实验数据。网格节点在不同时刻可以提供的计算能力 相差很大,所以网格任务的到达时间就成为影响整个 例来介绍使用Hadoop技术进行网格数据建模的示例。 本实验的软硬件环境如表1和表2所示 表1 实验硬件环境 其中,0号主机的综合性能最佳。在采用Hadoop 技术搭建的集群系统中,Namenode的性能对整个集 群的运算性能影响较大,因此选取该主机作为 Namenode,其他主机作为Datanode。主机之间采 用1 000M交换机进行连接。 表2实验软件环境 进行实验的四台主机都安装Ubuntu9.1 0操作系 统。为了简化实验,采用统一的用户名和SSH密码。 Hadoop版本采用目前性能最为稳定的0.1 9.0版本, 并安装在四台主机统一的系统目录下。搭建Hadoop 集群,需要在hadoop—site.xmI文件中加入如下内 容,将本地文件系统配置成HDFS,如图7所示: 图7 HDFS配置 194应用技术Applied Technique 网格节点性能的重要因素之一。使用本文提出的建模 方法结合Matlab的曲线拟合工具,得出网格任务到 达时间服从的概率分布密度为: y=f(xl口,6)=a exp(b ),其中, a=3.86*10-S b=l。72 10一,拟合结果如图8所示: 图8逼近结果图 对所得结果进行分布假设检验(本例采用卡方检 验法,检验过程略),经检验知,可以接受该模型作为 任务到达时间的随机事件模型。 通常情况下,研究人员采用随机函数生成仿真实 验数据。使用随机函数生成的网格任务到达时间大致 上服从均匀分布。本例采用的实验数据中,不同时间 段内到达的网格任务数相差很大,显然不服从均匀分 布。可见,使用本文提出的建模方法生成的随机事件 模型与实际情况更为接近。 5结束语 本文介绍了一种结合Hadoop技术对海量网格数 据建模的方法,并详细的阐述了该建模方法的各个步 骤。最后,结合一个实例展示了如何使用本文提出的 方法进行海量网格数据建模。 本文提出的建模过程分为利用Hadoop技术提取 数据和利用Matlab分析数据两个过程,将Hadoop 的海量数据分析功能和Matlab的数值计算和图像处 理功能结合在一起为研究人员提供更为方便的仿真环 境,将是下一步的主要工作。 (下转1 7页) 201 0年第1 9卷第1 0期 计算机系统应用 架能够良好的支持寓线消息业务,在此框架基础上可 4 Campbell B,Mahy Jennings C.111e Message Session 扩展群组消息和聊天机器人的业务。 Relay Protocol(MSRP),RFC 4975,September 2007. MSRP作为一种新的媒体传输协议,虽然在某些 5 Rosenberg J,Schulzrinne H.An Offer/Answer Model 方面有它的优势,但仍有不足之处,需要学者们补充 with the Session Description Protocol(SDP),RFC 和完善。 3264,June 2002. 6 Handley M.Jacobson V.SDP:Session Description 参考,=,献 Protocol,RFC 2327,April 1998. 1关琳,杨维忠,张琳峰.即时消息——网络融合中的 7 Rosenberg J,Peterson J,Schulzrinne H.Best Current 亮点业务.移动通信,2008,32(14):37—4I. Practices for Th们Party Call Control(3pcc)in the 2 Rosenberg J,Schulzrinne H,Camarillo G SIP:Session Session Initiation Protocol(sin),RFC 3725,April Initiation Protocol,I C 326 1,June 2002. 2004. 3 Campbell B,Rosenberg J,Schulzrinne H.Session 8 McGlashan S,Auburn Burke D.Media Server Initiation Protocol(SIP)Extension for Instant Control Protocol(MSCP)draft—mcglashan-mscp-02, Messaging,RFC 3428,December 2002. Internet-Draft,June 2006. (上接1 94页) 参考,-J妖 3 Jin H,Huang J.JFreeSim:A Grid Simul ̄ion Tool 1 Sulistio A,Buyya A.A Grid Simulation Infrastructure Based on MT】ⅥSMR Mode1.Advanced Parallel rPocessing Technologies-Lecture Notes in Computer Supporting Advance Reservation.Proc.of the 1 6th Science,2005,3756(13):332—341. International Conference on Parallel and Distributed 4 Apache Hadoop.Map/Reduce Tutoria1.http://hadoop. Computnig and Systems(PDCS).Cambridge USA: Apache.org/common/docs/current/mapredtutoria1.htm _ACTAPress,2004.1—7. l,2009.9—01. 2 Sulistio A,Cibcj U,Venugopal S.A Toolkit for 5 Li H,Muskulus M,Wolters L.Modelingjob arrivals ni a data・intensive d.Frachtenberg E,Schwiegelshohn Modelling and Simulating Data Grids:An Extension to U.Int’1.Workshop on Job Scheduling Strategies for GridSim.Concurrency&Computation:Practice and Parallel Processing(JSSPP).Seattle,WA,USA: Experience,2008,20(13):1591—1609. Spdnge ̄2007.2 1 0—230. System Construction系统建设l 7
因篇幅问题不能全部显示,请点此查看更多更全内容