论文部分内容阅读
从AlphaGo与人类对弈以来,人工智能得到了极大的发展。从语音识别领域的语音助手,计算机视觉应用中的人脸识别,自然语言处理的机器翻译等多方面给我们带来便利,这依靠的是深度学习技术。深度学习的过程需要进行神经网络的构建和训练数据特征的提取,借鉴人脑结构特点通过将大规模的数据在多层神经网络上不断的训练,从多层的训练中不断得到抽象程度更高的数据特征,便于复杂问题的解决,带给深度学习巨大的发展空间。各大计算机巨头也纷纷开源其深度学习框架例如Caffe、Torch、MXNet。其中Google的Tensor Flow因其高可用,工作流程简单,社区支持活跃而优势很大。深度学习投入应用仅仅依靠TensorFlow来进行模型训练是不够的,应用过程要考虑到数据的存储与处理、资源的管理和调度、应用的部署等方面。同时深度学习训练过程资源消耗大,更需要合理的调度。为此,需要借助云计算相关技术搭建云深度学习平台,通过虚拟化技术实现资源的统一管理,通过集成各种框架保证深度学习应用的正常运行。为了提升深度学习任务训练过程的资源利用率,本文从以下两个方面展开,进行了分析和论证:(1)改进粒子群算法应用到云深度学习平台下的虚拟机与物理机的映射问题。作为一种启发式算法,粒子群算法适合于解决组合优化类问题。通过从粒子群多样性,参数设置等方面对其加以该进,使算法的收敛速度和求解精度得到提高。而后针对TensorFlow深度学习任务的资源需求,特别是GPU的需求,构建以提高资源利用率为目的的资源调度模型,通过将改进后的粒子群算法应用到设计的模型中,用于解决云深度学习平台资源调度中的虚拟机放置问题。(2)提出GPU服务器进行深度学习训练时基于GPU设备运行状况的资源调度策略。目前在GPU服务器上进行TensorFlow深度学习训练,主资源GPU的使用依赖人工的、静态的进行资源指配,在多任务多GPU情况下会造成某些GPU的闲置。为此通过进行基准测试,结合TensorFlow使用GPU的方式和对GPU设备运行数据的采集分析,提出了应用于TensorFlow深度学习任务的GPU资源调度策略,提高GPU的利用率,缩短一系列任务总的完成时间。在CloudSim仿真平台上验证了应用于虚拟机放置的调度算法,资源利用率有了很大的提升;调度策略应用于GPU服务器上的任务训练时缩短了一系列任务总的完成时间,提高了GPU设备利用率。