论文部分内容阅读
近年来,公有云服务越来越成熟和普遍。公有云服务提供了以用户为中心、资源对用户透明、“按需付费、按量付费”的新型商业服务模式,为用户省去了自行组建和维护服务器集群的成本和精力。很多对人力、物力和时间成本较为敏感的中小型企业和组织选择在公有云平台上购买云服务器节点来组建其集群。同时,大数据处理技术己被广泛熟知和应用,而近年来出现了一种新的应用场景:跨地域大数据处理,即针对分布在不同地域集群中的大数据进行处理。很多公司或组织需要根据自有的业务类型或地区不同,在不同的地域购买云服务器来组建集群以处理相应的业务。这些不同的集群每天都会产生大量的数据且需要进行统一处理。对于这些输入数据分布在不同地域的处理作业,我们将其称为跨地域大数据处理作业。为了处理这些大量的分布在不同区域集群中的数据,现在主流的方法仍是集中式处理,即先将这些数据集中传输到一个集群中再对其进行分析处理。但是这样的处理方式并不总是可行的。除了大量原始数据传输会产生的时间和费用成本问题外,更重要的问题是,有些国家或地区为保护数据隐私,会禁止将用户原始数据传输到境外。因此,为了避免移动原始数据,就需要对其采用非集中式的处理方式,但与此同时也需要解决很多问题。首先,作业中间数据的跨地域传输无法避免,而公有云平台的广域网链路会按数据传输量来收费,虽然作业中间数据量一般要小于原始数据,但也会产生一定的数据传输费用,这是对成本敏感的用户会关注的问题;其次,跨地域大数据处理作业的完成时间更容易受到广域网链路瓶颈、不同集群差异性以及集群内环境变化等多种因素的影响。因此,考虑到上述问题的存在,如何更合理的对跨地域的大数据进行处理是一个亟需解决的问题。本文考虑的问题是,在不移动原始数据的前提下,考虑作业中间数据跨域传输的费用预算约束,对跨地域大数据处理作业进行任务调度,使其作业完成时间最小化。本文的主要工作包括:1.针对多阶段结构的Spark类型作业,提出了一种成本约束的跨地域作业的任务调度策略RTSG。包括:自适应调整各阶段数据传输预算的预算分配策略,阶段完成时间的预估方法,以及具有数据传输成本约束的任务调度等内容。2.在RTSG调度策略的基础上,进一步考虑集群内空闲计算资源量动态变化对跨地域大数据处理作业的影响,提出了一种针对跨地域作业的资源感知任务调度策略R-RTSG。包括:基于马尔科夫链模型的空闲计算资源量和资源申请量的预测方法,针对跨地域大数据处理作业的资源预留策略,以及根据各个集群的运行状态实时调整任务分配结果的动态任务调度策略等内容。3.由于现有的大数据处理系统不适用于跨地域大数据处理作业,因此我们基于Spark和Hadoop设计并实现了一个针对跨地域大数据处理作业的系统平台,实现了无需修改现有作业程序内容即可直接处理跨地域数据的功能。在模拟实验和系统实验中,相比于Spark的调度机制和一些现有工作,本文所设计的RTSG和R-RTSG算法都展现出了比较好的效果,对缩短作业完成时间和减少数据传输成本起到了较好的作用。