基于绿色大数据的大学生创业创新平台构建研究
2019-12-07王爱平
任 群,王爱平
(亳州学院 电子与信息工程系,安徽 亳州236800)
在大数据和互联网+的时代背景下,创业创新是当代大学生必备的能力,创新创业的出现响应了“大众创业,万众创新”的号召。 科学高效的管理平台可以指导和支持大学生的创业创新教育,因此探讨了大学生创业创新平台的构建。 基于大数据的创业创新平台的构建面临着许多挑战,其中一个就是大数据处理的能源效率问题[1-2]。 本研究提出了CGDP,一个具有成本效益的绿色大数据处理框架,并将大学生创业创新平台部署在基于CGDP 的集群中。
1 基于绿色大数据的系统框架
基于CGDP 的集群框架,如图1 所示。 绿色大数据处理模块(CGDP)部署在网关与核心网络之间,包括一个大数据中心、一个数据库和一个绿色感知优化模块。 首先,由大数据中心收集和预处理由无线异构网络生成的原始数据。 然后,通过基于人工智能的数据分析,从清晰的数据中提取用户行为和网络模式,并将相关结果和有用的历史数据存储在数据库中,用于训练学习系统。 绿色感知优化模块进行具有成本效益和绿色感知的任务调度策略。
2 大学生创业创新平台设计
2.1 系统需求分析
图1 基于绿色大数据的系统框架
本平台的主要角色有学院、高校、企业、导师、学生,不同的角色具有不同的功能。 创业创新项目申请是大学生创业创新平台的主要功能之一,该功能主要的用户是学生。 学生可以进行新增项目,填写项目申请书等操作,还可以对申请书进行修改、删除以及提交等操作。 学院、高校、企业、指导教师通过项目审核处理功能对项目进行审核。 指导教师首先对学生提交的申请书进行审核,并填写审核意见。 如果审核不通过,则需要将申请书退回修改或者拒绝申请;若审核通过,则提交学院、高校和企业进行审核。 项目统计功能是实现项目汇总的途径,而项目成果展示功能将实现项目成果的发布。 项目信息查询实现了基于关键字查询和基于条件查询的功能。
2.2 系统设计
本平台的功能模块如图2 所示。
图2 系统功能模块图
由于篇幅有限,此处主要介绍创业项目信息查询功能的详细设计以及实现过程。
项目信息查询实现了条件查询和关键字查询功能。 条件查询功能通过设置条件来对项目进行筛选,关键字查询支持用户进行模糊查找。 下面介绍利用关键字进行模糊查询的具体实现算法。 首先,用户在应用程序端或者网页端输入关键字;然后,通过逻辑层的相关处理后,采用数据库接口根据关键字查找数据库;最后,查询结果会显示到应用程序或者网页。 本平台使用了基于信息检索(Information Retrieve,IR)排序的搜索算法来进行查询。 采用图结构来对数据库建模,图的节点表示数据库中的表,当表i 的主键是表j 的外键时,节点i 与节点j 之间有边相连接。 查询结果是一个包含元组树集合的结果图。 提出了基于IR 排序的搜索算法。 首先将存储在文本数据库中的基本信息单元定义为文档,然后计算查询关键字和文档的相似度,并以相似度为标准来对文档进行排序。 假设元组树T,元组树中每个文档为{D1,…,Dm},则T 为Di的父文档。 相似度的计算公式为:
其中,ω(k,Q)是查询Q 中关键词k 的权重;ω(k,T)是元组树中关键词k 的权重,其计算方式为:
3 绿色大数据处理模块设计
3.1 问题描述
考虑在单个数据中心中减少大数据处理过程中(如MapReduce)不可再生能源的消耗。 数据中心由不可再生能源和可再生能源供电,并配有后备电池。 在MapReduce 框架中,数据的处理涉及一组机器:一个主节点和多个从节点。 主节点是负责工作负载调度和计算资源管理的中央协调器。 从节点负责执行Map 或Reduce 任务和数据存储。 用户约束(如截止日期)是数据处理框架的性能指标。 因此,绿色大数据处理框架(CGDP)允许用户指定MapReduce 任务的松弛性,每个作业的松弛性根据其截止日期定义。 CGDP 利用工作的松弛性来执行成本和绿色的优化。 该系统由Hadoop 集群、充电控制器、逆变器、电池和开关组成。 由于可再生能源的输入电压是动态变化的,因此采用充电控制器来防止过充电。 充电控制器还监视充电、放电操作。 通过充电控制器,剩余的可再生能源自动充电到电池中。
采用两个参数Cp和e 对电池进行建模,Cp是电池的有效容量,e 是电池的充电效率。 对于一个给定的充电功率Δx,估计的电池电量的增量为△x′=△x·e。 CGDP 有两个优化目标,分别是绿色感知优化和符合成本效益优化。 其中,绿色感知优化是指在所有任务都能在截止日期之前完成的条件下,最小化不可再生能源的使用量;而符合成本效益的优化目标则是最小化能源的使用成本。
3.2 总体设计
当一个新任务进入系统时,它首先被放入一个任务等待队列。 对于等待队列中的任务,需要进行性能和能耗评估。 然后在满足任务截止时间的条件下,确定最具能效的执行配置。 执行配置包括了服务器的数量以及每台服务器的物理资源。 接下来,将任务添加到任务队列中。 使用一个多队列结构来表示任务负载的执行计划。 由于MapReduce 任务的到达方式是未知的,且可再生能源会随着时间的变化而变化,因此难以做出最优的离线任务调度计划。 任务调度计划需要在系统运行时动态生成和调整,以适应任务和可再生能源的变化。 在本研究中,为了简化算法设计,进行定期的任务调整。 在一段时间内,CGDP 生成节能环保和具有成本效益的调度计划。 我们将这一段时间称为一个“epoch”。 在每个epoch 开始时,对任务量进行预测。 给定每个任务的节能执行配置,首先根据集群容量生成基本的节能计划。 接下来,应用一系列优化来降低计划的不可再生能源消耗和能耗成本。 在一段时间内,CGDP 定期进行任务调度,并根据优化的执行计划在服务器上执行电源管理。 将任务调度的时间段称为“slot”。 对于每个slot,CGDP 为任务分配一组服务器,并根据执行计划执行任务。 对于当前slot 执行计划中要调度的所有任务,CGDP 采用截止时间优先的调度算法。 该算法优先处理接近截止时间的作业。
3.3 绿色感知调度
为了通过绿色感知调度最小化集群的不可再生能耗,首先,生成一个基本的执行计划,其中,特别考虑了数据处理框架的能效和集群容量。 然后,通过绿色感知的任务切换和电池辅助绿色转移机制,进一步降低基本节能计划的不可再生能源消耗。
3.3.1 基本的节能执行计划
在每一个epoch 开始时,对任务(包括工作类型和到达率等)以及可再生能源的供应情况进行在线预测。
(1)任务预测:通过使用简单的时间序列分析[3],可以较为精确地预测小型任务的到达率。 利用任务之间的相似性,结合时间序列预测算法,可以准确估计小型任务的总能耗和执行时间。 在实验中,对于小型任务的能源消耗预测误差平均小于6%,执行时间的预测误差平均小于4%。 但对于大型任务,它们的到达并没有规律,并且大型任务的能耗和执行时间差别很大。 因此,采用成本模型在大型任务到达才对他们进行评估。 由于大型任务的执行时间较长,因此这种随机应变的预测为调度提供了足够的优化空间。
(2)可再生能源供应预测:大多数的可再生能源(如太阳能和风能)都取决于天气状况。 采用了Green-Hadoop[4]中使用的预测方法,该方法能够以非常高的准确性来预测太阳能。
(3)节能计划生成:为CGDP 制订了基本的节能计划。 CGDP 生成的计划具有两个不同的特性。 首先,CGDP 的任务执行配置在满足任务截止时间的同时能耗最小;其次,生成计划是以MapReduce 任务的能耗和性能模型作为指导的。 文中开发了一个多队列数据结构来表示一个epoch 的执行计划。 每个队列对应一个slot,它包含在slot 开始时启动的任务。 每个epoch 由N 个slot 组成,时隙长度为ts秒,一个slot 对应一个队列。 在设计中,当前的epoch 有N 个队列,用q0,...,qN-1表示。 其中,qi维护松弛性小于i+1 的任务,并采用一个单独的队列q′存储所有松弛性超出当前epoch 的任务。 随着时间的流逝,在每个slot 的开始,任务的松弛性将减少,然后将分配一定数量的服务器给这些任务,直到任务完成为止。 在每个epoch 开始时,松弛性小于epoch 的作业会被分配到相应的qi中,而前一个epoch 未完成的任务将分配到q0中。 因此,epoch 的任务包括来自q′的任务、epoch 结束前在当前epoch 期间到达的带有松弛性的任务以及来自之前epoch的任务。 假设每个slot 所需的服务器数量是ni。 如果ni超出了集群容量,需要将当前slot 中运行的任务移动到具有可用资源的队列j。 重复这个过程,直到所有ni都不大于集群的容量。
3.3.2 绿色感知优化的任务转换
CGDP 支持四种基本工作转换:(1)推迟D(j,i):该操作将任务j 推迟i 个slot;(2)提前A(j,i):该操作将任务j 提前i 个slot;(3)分配P(j,i):该操作为任务j 增加了服务器的数量;(4)减配D(j,i):该操作减少了任务j 的服务器数量。
第一阶段:在这一阶段,在保持当前epoch 的基本节能执行计划的同时,进行提前A(j,i)和推迟D(j,i)操作,以降低不可再生能源的消耗。 由于基本节能执行计划中的所有任务都尽可能地被推迟,任何推迟操作都将违反任务的截止时间。 因此,如果不可再生能源的消耗可以进一步被优化,首先进行提前操作,然后考虑推迟操作。 第一阶段的优化算法如下:
第二阶段:第二阶段是第一阶段的补充,考虑分配和减配来进一步减少不可再生能源的消耗。 第二阶段算法可以改变执行计划,但可能会降低能源效率。
3.3.3 电池辅助的能源转移
当可再生能源供应过剩时,可以利用电池储存能源,以备将来使用。 设计了电池辅助转移来进一步优化执行计划的任务转换。 有了电池,可以把任务时间推迟到更晚的时间段,以提高能源效率。 由于充放电存在能量损失,需要评估电池辅助转移的能量增益与充放电损失之间的权衡。 将这个问题表示为带有约束的非线性整数规划问题,并提出了一种启发式算法来进行绿色转移优化。
对当前slot 内的每个任务进行减配操作,并利用剩余的可再生能源对电池进行充电。 首先,将所有由可再生能源供能的任务J 添加到FIFO 队列Q 中。 然后,每次从Q 中取出一个作业,在保证能够减少不可再生能源消耗的情况下,执行减配和充电操作。 重复该过程,直到队列Q 为空。 对于每个任务j,如果减配不会违反任务的截止时间,对任务j 执行减配。 由于充电、放电时会有能量损失和电池满负荷时的能量浪费,为了提高能源效率,需要将未来任务所消耗的能源与可再生能源的实际数量进行比较。 如果实际的可再生能源量大于未来任务的能源消耗,将进行降级操作,并利用剩余的可再生能源对电池进行充电。
3.4 成本效益调度
为了利用动态定价来降低集群的电力成本,通过扩展CGDP 来提供具有成本效益的调度。
3.4.1 成本优化的任务转换
通过考虑不可再生能源的价格,进行成本效益优化。 成本效益优化的基本思想是利用不可再生能源来调度任务,如果可以降低当前epoch 的总电力成本,则将高峰期的不可再生能源消耗转移到其他时段。 在一个epoch 中的电力成本为,其中N 是slot 的个数,Ci是slot i 的电力成本,其定义如下:
图3 不可再生能源消耗对比
3.4.2 电池辅助的不可再生能源转移
设计了电池辅助的不可再生能源转移机制,通过具有成本效益的工作转移进一步优化执行计划[6]。 在电池的帮助下,可以较低的价格购买非高峰时段的不可再生能源,并在高峰时段使用。 由于在充放电过程中存在能量损耗,需要比较一下由于价格差异而节省的电费和充放电过程中的损耗。 也可以将这个问题表示为一个带约束的非线性整数规划问题,并采用启发式算法来执行计划上的不可再生能源转移。 由于在充电、放电的过程中会有能量损失,因此并非所有购买的不可再生能源都可以在未来得到利用。因此,需要将峰谷电价差异所带来的电费节约与能源浪费所带来的损失进行比较[7]。 如果价格差异带来的收益大于充放电过程中的浪费,将购买不可再生能源,并进行充电以便未来使用。
4 实验评估
将系统部署在一个由10 节点组成的集群上,并进行实验以评估本系统的性能。 基于最新版本的Hadoop YARN 2.6.0 实现了本系统,并将Hadoop YARN 2.6.0[5]作为基本算法,记为“Hadoop”。 与此同时,选择Greena-ware Hadoop(记为“GreenHadoop”)算法进行比较。 在该集群中,每个节点有两个Intel Xeon CPU、24 GB 内存和1T 的磁盘。 节点的闲时功耗为150 瓦,峰值功耗为280 瓦。 这些节点通过10Gb 的以太网连接。其中一个节点被配置为主节点,其他节点被部署为从节点。
图3 为不同系统的不可再生能源能耗。 总的来说, GreenHadoop、CGDP-basic 和CGDP 消耗的不可再生能源都比Hadoop 少。 与GreenHadoop 相比,CGDP 通过采用高效节能的优化,消耗了更少的不可再生能源。考虑到能源效率,CGDP-basic 比GreenHadoop 减少了6%的消耗,而CGDP 将任务转换和电池辅助转移应用于基本节能计划,因此比CGDP-basic 进一步减少14.9%的消耗。
图4 各部分能源消耗对比
图4 展示了不可再生能源消耗、可再生能源消耗、电池充电、可再生能源浪费和数据复制的开销的对比结果[8]。 浪费的可再生能源包括充电、放电时的能量损失和电池充满电后被丢弃的部分。 通过将电力需求与绿色供应结合起来,GreenHadoop 可以比Hadoop 利用更多的绿色能源。 然而,在不考虑焦耳效率的情况下,它比CGDP 消耗更多的不可再生能源。 CGDP-basic比GreenHadoop 更能有效地利用能源,消耗更少的不可再生能源。 CGDP 的电池辅助转移技术将更多的绿色能源充电到电池中,而不是直接使用电池,从而减少了不可再生能源。
5 结论
本研究探讨了大学生创业创新平台的构建。
基于大数据的创业创新平台构建面临着许多挑战,其中一大挑战就是大数据处理的能源效率问题。 提出了CGDP,一个具有成本效益的绿色大数据处理框架,并将大学生创业创新平台部署在基于CGDP 的集群中。