科研背景
云计算是一种通过网络向用户提供计算资源、平台、应用程序的分布式计算框架,是一种可以为用户提供一种按需使用、无处不在、便捷的共享计算资源,这些计算资源包括但不限于网络,服务器,存储,应用程序和服务。同时这些计算资源可以快速扩展和释放,使用户的管理成本大大降低。根据提供服务的不同,云计算的服务形式可以分为基础设施及服务,平台及服务,软件及服务三种类型。在基础设施即服务这种服务形式中,云服务供应商,比如亚马逊EC2,阿里云,他们通过虚拟机化技术为用户提供了具有不同配置多种类型的服务实例。用户可以根据自身需求自由的选择服务实例,并且可以根据需求变化对服务实例进行弹性拓展和释放,减少了计算资源的浪费,相比于传统计算环境具有更高的性价比。
工作流的定义是业务过程的部分或整体在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。通俗的将,工作流是一组具有数据或功能依赖的任务组成的作业,根据应用场景可以分为将业务过程抽象成任务自动化完成的计算模型的业务工作流,主要存在于自动化办公这类事务密集型场所;有数据依赖性的复杂的科学数据处理活动的集合科学工作流,主要用于地震预测,图像识别这类计算密集型场景。近几年科学工作流已经由小规模、单一领域、单一组织发展成为大规模多学科交叉的科学计算问题,计算量更加庞大且性能要求高,开始普遍使用云计算支持其处理过程。
科研问题
1.工作流内部任务间的依赖关系使其调度是NP-hard问题,调度需要考虑子任务的执行顺序和计算实例。
2.云计算的动态性、异构性、扩展性使云计算环境下的工作流调度问题成为NP-complete问题,云服务实例类型不同、可动态租赁和释放、计算和数据传输性能动态变化影响调度算法性能。
3.实时调度需要满足截止时间约束、成本、能耗等特定的服务质量要求。
科研目地
针对云环境的动态性、异构型、扩展性等特性,提出一种面向不确定云环境的实时云工作流调度方法,通过深度强化学习(DRL)智能体,将实时到达的具有截止时间期限的工作流调度到任务执行情况不确定的云环境中执行。具体来说,在每个工作流到达时,根据工作流结构特征将子任务进行拆分为可直接调度执行的就绪任务和需要等待前置任务完成的等待任务,并为每个子任务分配子截至时间约束,不断将就绪任务通过DQN智能体调度到云虚拟机中执行,并根据任务执行情况更新未调度任务的子截至时间约束,通过智能体不断离线学习调度经验,在虚拟机子任务执行时间和数据传输时间不确定的云环境中实现低响应时间、低成本的工作流调度。
研究框架