论文部分内容阅读
Map/Reduce型海量数据处理平台(以下简称“Map/Reduce平台”)是海量数据处理领域的最新技术进展。Map/Reduce平台具有海量数据基于计算节点分布存储,以及以数据本地化处理为驱动进行任务调度的新特征。提升海量数据读取效率是确保Map/Reduce平台数据处理高效性的关键因素之一。既有Map/Reduce平台多基于磁盘进行数据读取,数据读取效率较为低下。内存级数据缓存是数据处理领域提升数据读取效率的一类典型技术,并在数据中心存储系统等领域获得成功,但在Map/Reduce平台中鲜有系统研究。本文面向开放式Map/Reduce平台中,应用内部以及应用间存在复用/热点数据的典型场景,针对Map/Reduce平台数据本地化处理等新特征,开展内存级数据缓存技术的研究,提出Map/Reduce平台中内存级数据缓存追求的目标应从缓存命中率转向Map/Reduce并行作业执行效率,并着重对缓存组织模型及管理架构、缓存替换、缓存预取以及任务调度等关键问题开展研究。本文的主要贡献包括:1)面向Map/Reduce平台数据基于计算节点分布式存储的特征以及计算任务处理数据缓存完整性的需求,设计了基于共享内存的分布式协作缓存组织模型,并以文件分片作为基本的缓存单元;2)服务于提升数据本地化处理几率的新目标,并针对Map/Reduce平台中计算资源与存储资源紧耦合部署的新特性,进行缓存替换策略设计,将文件分片本地化访问比例和计算节点slot资源使用特征作为新的决策因素引入缓存替换策略中。性能测试结果表明,与既有典型缓存替换策略相比,本文所设计的缓存替换策略在Map/Reduce作业平均周转时间上可获得的提升最大为19.4%;3)针对Map/Reduce平台中数据一次性访问比例较高的场景,进行缓存预取策略设计,通过预测计算资源slot的释放进度,将任务所需的处理数据预取至即将具有空闲资源的计算节点,提升一次性访问数据的本地化处理几率。性能测试结果表明,所设计的缓存数据预取策略可使Map/Reduce平台中处理一次性访问数据的Map任务的平均执行时间最大减少53.3%;4)以任务调度高效性为目标,设计缓存数据信息感知的任务调度策略,将缓存作为调度资源无缝的集成到既有的任务调度中,以缓存数据本地化和磁盘数据本地化为驱动进行任务调度;5)总结上述研究成果,通过改造开源Hadoop系统实现具有内存级数据缓存功能的Map/Reduce型平台Dacoop。性能测试结果表明,与Hadoop相比,Dacoop的作业平均周转时间最大降低了54.4%,平均降低了47.9%。