关键词:
容器云
数据科学工作流
分布式系统
存储优化
数据传输
摘要:
随着数据科学的不断发展,数据分析科研人员需要对大量的数据进行分析以找出数据的规律性,进而对特定问题提出解决方案。在数据科学工作流中,数据分析科研人员通常需要经过数据准备、环境准备、数据分析、结果分析等必要环节。本文主要解决目前的数据科学工作流存在的三个问题:第一,许多科研人员都是共用集群中的物理资源,这给维护每个科研人员私有开发环境的增加了很多难度,切换环境或者安装新的软件也会耗费开发者大量的时间和精力;第二,多位科研人员在共用集群资源时,往往会产生大量的冗余数据,给集群带来较大的存储压力;第三,使用传统的数据传输方法,传输单个数据文件的速度与其分发到集群中多个节点的速度往往比较缓慢,当发生网络故障导致数据文件传输中断时,通常需要重新传输,这种传输方法的可靠性较低。为解决上述问题,本文设计并实现了一个容器化的分布式数据科学工作流系统,避免科研人员在环境准备环节耗费大量时间。同时,针对系统中数据存储与数据传输的问题提出了相应的优化方法,减少了冗余数据的产生,减轻了集群的存储压力,提高了传输单个文件与其分发至集群多个节点中的速度和可靠性。具体工作和贡献如下:1.提出了容器化数据科学工作流系统中的数据存储优化策略与方法在容器化数据科学工作流的场景下,优化数据存储方法,以减少冗余数据的产生并减轻集群的存储压力。具体来说,本文基于OverlayFS创建动态merge层,将用户需要的文件夹合并后以文件卷的形式挂载到容器中,利用OverlayFS写时复制的特点,在多名用户使用同一份数据集进行数据分析时,为每位用户创建独立的写空间,减少了冗余数据的产生。此外,优化低频文件的存储方式,使用纠删码技术来存储低频访问的文件,在保证高可靠性的前提下,牺牲高效的恢复性来换取更小的存储占用,减轻了集群的存储压力。2.提出了容器化数据科学工作流系统中的数据传输优化策略与方法在容器化数据科学工作流的场景下,优化数据传输的传输速度与可靠性。在数据传输速度方面,本文使用多线程分片传输的方法,提高了传输单个文件的速度;同时在用户想要使用多种不同的算法分析同一份数据集时,系统会快速寻找出集群中相对空闲的机器,使用基于动态规划优化的传输策略,将用户所需要的数据文件快速传输到集群中指定的节点上,达到快速启动多个任务的目的,提高了分发文件的效率。在数据传输可靠性方面,本文使用了分片传输方法,当因网络故障或者其它问题导致文件传输中断时,使得数据文件可以从传输中断的位置继续传输,提高了数据传输的可靠性。3.设计并实现了容器化的分布式数据科学工作流系统最后,本文围绕“数据环境准备-算法准备-数据分析”三大环节,按照数据科学工作流的思想,构建了支持数据管理、自动搭建环境、迭代分析数据的分布式数据科学工作流系统。通过对系统的功能测试以及优化测试,验证了上述数据存储优化方法与数据传输优化方法的可行性,并验证了容器化的分布式数据科学工作流系统的有效性。