论文部分内容阅读
科学工作流是一种基于数据驱动的数据密集型和计算密集型工作流,能够自动化处理用户的业务需求。正因为其能够科学的管理、传输、分析、模拟并通过可视化手段来帮助科研人员进行科学研究,科学工作流己在众多科学研究领域中被广泛使应用,如高能物理、气象预测、生命信息等科学领域。伴随着信息技术的长足发展,云计算正逐渐成为下一代的信息技术平台。云计算服务提供商可以通过互联网以计费的方式为用户提供海量、廉价、动态的计算、存储和网络资源。云计算平台所具有的高性能、可扩展和弹性的计算模式大幅降低了研究机构、企业和政府构建业务系统所需的资金门槛和资源成本,为执行数据密集型工作流系统提供了理想的运行环境。因此,基于云计算的科学工作流管理系统己成为学术界和工业界研究和应用的一个热点。虽然科学云工作流数据管理拥有与生俱来的优势,但其数据布局管理在“大数据”时代中仍面临诸多挑战。科学云工作流通常由多个不同的科研机构、院校、企业、政府部门的研究小组、团队共同合作开展的,工作流内部、之间普遍存在数据共享和交互现象,对于“大数据”时代中海量数据所具有的隐私性、共享性、阶段性,云数据中心具有的多用户性、多任务性,云服务的动态性和不确定性等特点,数据共享型工作流数据布局研究变得尤为重要。学术界已有一些研究致力于优化数据在云数据中心中的存储,但其所获得的数据布局方案大多基于数据和任务之间的依赖关系,既没有充分考虑到工作流中数据的不同属性对布局的影响,又没有对工作流之间的数据共享对数据布局的影响程度进行细致研究。在已有对工作流数据布局研究基础上,本文总结传统数据布局策略,并命名为任务层数据布局策略;对数据共享型科学工作流的数据布局进行深入研究,设计出一种工作流层数据布局策略。它通过优化工作流布局框架、模型和细化工作流的数据类型,并采用基于粒子群优化算法的两个阶段数据布局方法来优化数据布局方案,以降低工作流执行时的数据传输费用。本文的主要工作和创新点具体如下:1.针对工作流系统中的数据、任务和存储资源,研究不同属性数据与数据之间,数据与任务之间,任务与任务之间的依赖关系,以及数据在数据中心的存储情况。科学工作流是一种数据密集型业务流程,任务在执行时需要大量的相关数据,因此会和数据形成一种多对多的关系。工作流中的数据可划分成多种类型,如初始数据(或原始数据)、生成数据(或中间数据)、隐私数据、共享数据、固定数据等等。由于工作流业务流程的灵活多变,导致其数据和任务之间的关系十分复杂,并且出于安全等因素考虑,这些相关数据和任务往往被存储于多个云数据中心。因此本文会系统的分析、归纳数据类型,理清数据和任务的依赖关系,方便对后续工作流布局框架和数据布局模型的整合与优化。2.结合已有数据布局研究,总结出传统的任务层(Task-Level)数据布局模型,给出相关定义和数据传输计费模型。已有的一些云工作流数据布局模型过于抽象,且主要研究科学云工作流在执行过程中的数据传输次数、数据传输量和数据传输时间。虽然这些参数能够表征数据布局方法的性能优劣,但用户最关心的是工作流在云平台中运行所产生的花费。本文根据工作流的不同数据类型,系统的建模云工作流,分析工作流内部的数据共享现象,并从用户角度出发,通过建模工作流数据传输费用模型来获得工作流执行时的数据传输费用,衡量布局方法性能优劣。3.针对任务层数据布局模型不足,提出一种工作流层Workflow-Level)数据布局框架、传输计费模型来优化布局方案,降低数据传输费用。科学云工作流是一种多用户协作的业务流程,其任务在执行过程中往往需要多个不同的科研机构、院校、企业甚至政府部门之间的分工协作。不仅工作流内部之间存在数据共享,多个工作流之间也存在数据共享现象,如相同数据会被用于不同的研究方向,导致不同工作流间存在数据共享现象。任务层数据布局模型孤立的布局每个工作流,并没有考虑工作流之间的共享数据集,且数据布局的灵活性低,导致工作流总体数据开销大。为此,本项目从共享数据出发,通过分析、整合工作流布局框架,研究基于数据依赖的共享型工作流框架,将存在数据共享的多个工作流整合成一个工作流,从工作流层研究数据布局计费模型,优化数据布局方案,降低传输费用。4.结合云工作流的生命周期和数据的不同属性,为数据共享型科学云工作流设计出一种两个阶段的数据布局方法,该布局方法通过调用离散型粒子群优化数据布局算法(Discrete Particle Swarm Optimization Data Placement Algorithm,DPSO-DPA),对不同阶段、不同属性的数据进行布局优化。云工作流的数据布局是一个NP难问题,目前有两大类布局方法用于求解数据布局:聚类方法和智能方法,且主要研究工作流在执行过程中的数据传输次数、传输时间和传输费用。聚类方法通常基于数据中心的负载均衡,利用数据之间的依赖关系,将数据划分成几个独立的数据块,然后将这些数据块布局到数据中心。在实际的云环境中,云数据中心的容量近乎无限,根本不需要考虑数据存储会导致云数据中心过载。智能方法则能够根据云工作流和用户的具体需求,提供适应性强的数据布局方案。粒子群优化方法属于智能方法,因其具有参数少、计算成本低、收敛快、求解效率高等特点被广泛应用于函数优化、任务调度、数据布局等领域。工作流层数据布局策略包括两个阶段,构建阶段(Build-Time)和运行阶段(Runtime)。在工作流构建阶段布局初始数据,并调用本文设计的DPSO-DPA算法获得初始灵活数据的布局方案;在运行阶段调用DPSO-DPA算法获得生成灵活数据的布局方案。通过整合两个阶段,获得整个工作流的最终数据布局方案。本文总结了传统任务层数据布局策略,分析工作流的数据共享现象,提出一种数据共享型云工作流布局框架、数据布局模型,设计面向工作流层的数据传输代价模型、离散型粒子群布局算法。通过使用两个阶段的数据布局方法,获得数据布局方案。实验表明,本文的数据布局方法鲁棒性最强,性能最优,得到的布局方案传输费用也最低。