We use cookies to improve your experience with our site.

以客户端为核心的面向服务应用的适应性调度

Client-Centric Adaptive Scheduling of Service-Oriented Applications

  • 摘要: 在面向服务环境下,服务作为一种松散耦合、可重用的网络构件,是构造新型网络应用的重要资源。面向服务的应用具有结构灵活,方便构造的特点,是当前构造分布式、松耦合集成应用的主要形式。在应用的建模和实施方面,人们往往采用抽象的应用描述语言来描述业务需求,在运行时通过执行引擎来调度和执行具体服务。在此,面向服务的应用的执行可以看作是服务构成的动态的虚拟组织的落实过程。目前,大多数面向服务应用的执行采用以服务器为核心的架构,当面临大量客户端并发请求时,存在可扩展性有限、性能瓶颈等问题。另一方面,计算机硬件技术的飞速发展使得一般客户端机器的计算能力大幅提高,而在此种计算模式下,客户端往往仅作为请求的发起者和结果的接受者,其资源没有得到充分有效的利用。以此为出发点,我们在VINCA个人服务网格项目中,提出了一种以客户端为核心的计算模型,客户端作为应用调度和执行的控制中心,组织和使用本地及网络资源,为用户提供个性化的问题求解环境。本文的主要贡献有以下三点:一、提出了以客户端为核心的计算模型。该模型的核心思想是将本地资源和远程资源共同纳入可用资源范畴,将应用执行的核心控制组件部署在客户端,根据用户的个性化需求动态构造问题求解环境。通过该模型,客户端的计算能力和应用资源参与到传统的服务器为中心的应用执行过程中,即扩展了可用资源的范围,又能减少服务器的压力,提供更好的可扩展性以及用户个人隐私保护。二、提出了以客户端为中心的应用调度算法。通过该算法,面向服务应用的定义被分解为一组任务,分派到本地和远程的任务引擎上进行执行。文中分析了任务分派的三种模式及对执行时间的影响,给出了取得应用最小执行时间的近似求解算法。仿真实验结果显示,通过此算法可以灵活的调度本地资源和远程资源,提高应用的性能。三、提出了重调度的策略和算法,包括重调度的检测和实施两部分的内容。由于网络环境的动态性和服务的自主性,应用的调度需要能够进行适应性的动态优化调整。通过文中的检测算法,当任务执行时间比预期计划滞后时,将触发重调度实施算法,动态调整调度方案,从而适应网络环境的变化。

     

    Abstract: The paper proposes a client-centric computing model thatallows for adaptive execution of service-oriented applications. Themodel can flexibly dispatch application tasks to the client side andthe network side, dynamically adjust an execution scheme to adapt toenvironmental changes, and thus is expected to achieve betterscalability, higher performance and more controllable privacy.Scheduling algorithms and the rescheduling strategies are proposed forthe model. Experiments show that with the model the performance ofservice-oriented application execution can be improved.

     

/

返回文章
返回