论文部分内容阅读
近年来,出现了诸如大规模的媒体任务处理和大数据分析等大粒度服务并得到迅速发展,这些服务通常需要耗费大量的计算资源,云计算、雾计算、海计算等分布式服务架构提供了利用大量分布的虚拟机为这类服务提供应用的可能。为了保证实时性,研究人员提出了利用靠近用户的设备提供服务的计算模式,从而保证带宽可用和低延迟性能。这类计算模式(即边缘计算)是基于边缘网络设备(端节点)就近、自治地协作提供有限的计算、存储和网络服务的新架构,其基本目标是能够为时间敏感的应用提供低延迟的服务,减少骨干网的数据传输压力。大粒度服务可以拆分为子任务,然后通过此类计算模式系统将子任务分配到可用资源节点上进行处理,从而充分利用此类计算模式中的可用资源,减少任务完成时间。 边缘计算中端节点的分散性、动态性、异构性、管理多重性等特点使得要实现真正意义上的资源共享存在很多的困难。如何发现有用的资源并高效地调度它们成为其中的两个焦点和难点。任务调度和资源发现是分布式系统中的两个关键技术,近年来已成为众学者们关注的两个研究热点。 任务调度算法和资源发现算法的效率直接影响到端节点组成的边缘计算系统的效率和结果。端节点任务调度问题的研究范畴是如何充分、高效、合理地利用端节点组成的网络中的计算资源;端节点资源发现问题则是研究如何主动地发现可用的资源,并注册、监控和管理这些资源。 本文的主要工作围绕任务调度和资源发现两个技术展开,在分析了边缘计算系统主要问题和现有研究方法的思想的基础上,提出了新的任务调度算法和资源发现算法,主要研究成果如下: 1、在分布式系统中任务调度问题是常见而又关键的问题,启发式算法相比传统寻优方法更适合求解此类调度问题。本文对现有的几个经典启发式任务调度算法进行了研究,在此基础上,通过引入邻居蝙蝠算子和自适应动态权重控制策略,提出了改进二进制蝙蝠算法(IBBA,Improved Binary Bat Algorithm)。最后通过基准测试函数进行了实验,并进行了性能对比。实验所得的p值结果都小于0.05,表明IBBA在避免陷入局部最优方面明显优于其他算法。 2、针对分布式系统下通常会有任务实时响应的性能要求,本文提出了一种针对实时响应任务调度的端节点任务调度算法。以任务总完成时间makespan最小化为优化目标,建立将n个相互独立的任务分配到m个端节点上,使得makespan最小的任务调度模型。采用本文提出的改进二进制蝙蝠算法IBBA求解任务调度方案。在基于CloudSim仿真平台的实验中,子任务数大于等于300时,其他三种算法与IBBA比较所得的student t检验值都大于1.96,表明在子任务数较大时,基于IBBA的任务调度算法的性能明显优于其他算法,能够提高处理大规模任务的效率。 3、在边缘计算中的端节点资源发现问题的研究中,提出了一种改进的资源动态搜索算法(Improved Dynamic Search Algorithm,IDS)。通过对动态搜索算法(Dynamic Search Algorithm,DS)增加Neighbors Table索引机制,增强了算法的效率,以满足端节点的资源发现需求。实验表明,IDS算法与DS算法相比,在查找失败率基本不变的情况下,平均能够减少3.02%的查询跳数,提高了资源发现性能。 4、资源发现性能不仅与整体网络资源搜索策略相关,也与单个端节点的资源查询效率相关。针对该需求,设计并实现了一种优化的HTTP服务器系统,提供资源文件服务功能。通过在内存中构建红黑树缓存最近使用的资源文件信息,实现了端节点间资源文件的快速查询与响应。此外,利用文件的历史使用信息,依据SLRU算法(Similar Least Recently Used Algorithm)实现文件资源缓存替换。实验表明,在文件数较小(少于100)时,优化的HTTP服务器的查询耗时低于普通HTTP服务器所需的2us,能够提高资源文件服务效率,提升用户体验。目前该策略已经应用于海服务智能路由器系统中。 总之,本文的研究工作对于边缘计算系统技术的研究与应用可以起到借鉴作用。比如,对基于启发式算法的调度算法的定量分析、对比,可以作为边缘计算系统选用任务调度算法时的参考;将改进的二进制蝙蝠算法应用于任务调度算法可以减少边缘计算系统中任务调度的任务完成总时间;提出的资源发现算法,不仅提高了资源发现的效率,而且对边缘计算系统的实际应用具有一定的理论价值和现实意义。