● 摘要
网络分布式环境中常常存在着大量的共享资源。由于硬件设备的差异与软件系统的异构性等因素,使得资源的利用率较低。分布式作业管理系统为整合共享资源的计算能力提供了平台。在分布式环境中,用户的计算任务与环境中的资源相匹配,并被分配到结点资源中运行。对于失败的任务,作业调度一般提供检查点操作及进程迁移机制等。 自主计算环境ACE是依托JINI技术搭建的基于构件的分布式环境。环境中的各种资源被服务化,并以构件的形式表现出来。构件可以被动态地部署到合适的资源容器中运行,部署后的实例称为构件服务。它们可以自由地加入或退出当前所在的环境。正是基于ACE环境的这些特点,本文提出了基于构件服务的分布式作业调度基础框架。 任务是ACE作业调度中用以调度的基本粒度,它通过用户提供的参数数据与构件服务相结合反映出来。在ACE作业调度中,利用JINI查找与发现机制,对构件服务进行动态的组织与管理。作业调度的目的在于提高系统作业的吞吐率和资源的利用率。EASY-Backfilling调度算法在FCFS算法的基础上引入了资源预约和作业回填的策略思想,缩短了作业的平均等待时间。在选择回填作业的过程中,本文考虑了回填作业的优先级,即优先级大者具有优先获得回填的权限。但引入回填作业的优先级,并没有破坏算法的控制流程。 另外,为了提高作业调度在动态的ACE环境中的容错能力,本文还提出了基于移动代理的故障恢复机制。它利用代理保存构件服务的状态信息,并在任务执行期间,将新生成的代理复制到JAVASPACES对象空间中,为任务可能的失败提供构件服务状态信息的备份冗余。 最后,通过素数统计构件实例检验了作业调度算法,并对故障恢复机制进行了测试和性能分析。
相关内容
相关标签