Design of Grid Resource Management System Based on Information Service
Abstract—In this paper, a design-oriented information service grid model for resource management and to achieve the various components of the function. The author presents an improved “divided” algorithm based on the traditional, classical Min-Min scheduling algorithm, and then simulates the algorithm by GridSim Grid simulator. Comparing with the traditional Min-Min algorithm, this improved one overcomes the disadvantage of load balancing preferably. A kind of fault tolerance scheduling tactics with real-time characteristic was introduced and implemented in this paper.
Index Terms—resource management system, grid, job scheduling, Divided-Min-Min, fault tolerance scheduling.
I.NTRODUCTION
Grid resource management is an important component of grid system, its main function is to identify resource requirement, match and allocate resource, schedule and monitor resource, so as to use resource efficiently as far as possible. Grid resource management focus on controlling grid resource how to provide capacity and available service to other petitioners, its greatest feature is the virtualization and coordinated use of distributed and heterogeneous resource. It is precisely because the features exist in grid such as distributed, heterogeneous and dynamic, making resource management on grid more complex than that of clusters or distributed computing environment, so it is very necessary to establish a resource management system model adapts to grid, research its features and functions for achieving specific grid resource management system. At present the majority of the research is only limited to the theoretical or prototype system, the manager has been achieved mainly include GRAM (Grid Resource Allocation and Management), Condor and so on. But GRAM provides only a basic management framework,there is no specific algorithm, and Condor is actually a local grid scheduler, can not across VO (Virtual Organization) Dispatch. This paper designs a model of grid resource management system, and proposes a new higher performance resource scheduling algorithm on the basis of the original research.
II.MODEL OF GRID RESOURCE MANAGEMENT SYSTEM
Grid resource management is the core component of grid, the structure of grid resource management system designed in this paper is shown as Figure 1 in the next page. The system is built on GT4, with a hierarchical structure, and it provides users with such functions as resource discovery, job submission, job management and monitoring. The scheduling model consists of job collector, scheduler, manager, information collector and database.
A. Job Collector
Job collector is a user-oriented interface in the entire global scheduler. Whether the job is submitted through portal, or application program, the user needs to provide job name, location, necessary parameters for execution, name and path of the output file and other information. Job collector collects the information and stores them in database serviced for future job scheduling.
B. Information Service
The main function of Grid Information Service is to integrate all kinds of information in grid system, static and dynamic, shield heterogeneous nature, and provide a unified information access interface for users. In distributed, heterogeneous and scalable grid environment, information service not only needs to integrate the static system information (such as operating system, CPU, disk and memory size and other information), but also provide a number of dynamic update information such as the load and so on.. Information service mainly includes two parts, resource acquisition and resource evaluation.
1. Tree-level Topology
Network topology is the definition of technology to construct the physical grid environment [16], it is the objective need and precondition to establish resource model. Based on the classification scheduling model, this paper establishes a tree-level network topology, as shown in Figure 2. Resource agents and computing resources to be released constitute a multi-layered tree structure, including a primary resource agent (control center), a number of resource sub-agents and computing resources registered in these agents. Primary resource agents are the root nodes of a tree, computing resources are the leaf nodes, and sub-agent can be sub-node of a root node or a sub-agent.
Resource agent is responsible for receiving the scheduling task from parent node, and the task will be distributed to all child nodes, when the task is completed, it will return the results to the parent node. In addition, the resource agent is also responsible for the management of the various sub-nodes to achieve the control, add, delete, and other functions, at the same time, monitoring the operation of scheduling and dispatching log records. Resource nodes execute tasks distributed by scheduling agent in their local area and return the results. It will report the node case, as well as the count and completion of jobs on this node to the resource agent at a certain time interval T (typically 5 seconds).
Because of the existence of a large number of resources and users in grid environment, taking the feasibility, efficiency and scalability issues into account, it is not realistic that using a single dispatching center to deal with all of the web users requests in the entire web. Tree-level topology presented in this paper has given full consideration to the system scalability, so it can easily access resources sub-tree node or topology.
2. Resource Discovery
Access to information resources can be divided into two types, static obtaining and dynamic obtaining. Static obtaining means that the grid resource information which is fixed will be stored in a fixed document, and we can read the document to obtain the necessary information. D
剩余内容已隐藏,支付完成后下载完整资料
附录A 译文
基于信息服务网格资源管理系统的设计
摘要:本文以设计网格模型信息服务资源管理系统为目的,来实现各种组件的功能。笔者提出了一种基于传统的、经典的min-min调度算法的改进的“分布式”算法,然后通过GridSim网格模拟器来模拟算法。与传统的min-min算法相比,这种算法更好地实现了负载均衡。一种具有实时特性的容错调度策略被在本文中引入并实施。
一、简介
网格资源管理是网格系统的重要组成部分,其主要功能是识别资源的需求,匹配和分配资源,调度和监控的资源,以便尽可能地利用有效资源。网格资源管理的重点在于控制网格资源如何提供功能和服务给其他请求,其最大的特点是虚拟化和协调分布式异构资源的使用。正是因为网格系统存在的诸如分布式,异构性和动态性的特点,使得网格化资源管理比集群或分布式计算环境的功能更为复杂,所以建立资源管理系统模型来适应网格模型对于研究其功能和实现特定的网格资源管理系统的功能是非常有必要的。目前多数研究仅限于理论或原型系统,管理系统已经实现的主要功能包括GRAM(网格资源分配与管理),Condor等。但是GRAM只提供了基本的管理框架,没有具体的算法,并且Condor实际上是本地网格调度,不能跨VO(虚拟组织)调度。本文设计了网格资源管理系统模型,并在原创性研究的基础上提速了一个新的更高性能的资源调度算法。
二、网格资源管理系统模型
网格资源管理是网格的核心部件,本文设计的网格资源管理系统的体系结构图如图1所示。该系统是建立在GT4上,具有层次结构,并为用户提供了这样的功能:如资源发现,作业提交,作业管理和监控。调度模型由业务收集,调度,管理,信息收集和数据库组成。
A.业务收集
业务收集是一个在全局面向用户界面的调度。业务无论是通过门户网站提交或者是应用程序提交,用户都需要提供业务名称、位置,输出文件的名称、路径和其它信息。业务收集模块收集服务并存储在数据库服务,为以后的工作调度提供信息。
图1 资源管理系统的体系结构
B.信息服务
网格信息服务的主要功能是将静态和动态、屏蔽异构性的各种信息整合到网格系统,为用户提供统一的信息访问接口。在分布,异构和可扩展的网格环境中,信息服务不仅需要整合静态系统信息(如操作系统,CPU,磁盘和存储器大小等信息),而且还提供了一些动态更新的信息,如负载等。信息服务主要包括两部分,资源获取和资源评价。
1.树级拓扑
网络拓扑技术的定义是构建物理网格环境,这是建立资源模型的客观需要和前提。本文建立一个基于分类调度模型的树形层次网络拓扑,如图2.是资源代理和计算资源被释放构成的多层树结构,其中包括一个主资源代理(控制中心),若干在这些代理注册的资源分代理人和计算资源的数量。主资源代理是树的根节点,计算资源是叶节点,并且子代理可以是根节点或子代理的子节点。
资源代理负责接收来自父节点的调度任务,该任务将被分发到所有子节点,当任务完成后,将结果返回给父节点。此外,资源代理还负责各子节点的管理,实现了控制,添加,删除等功能,同时,监测调度的操作和调度的日志记录。资源节点执行由调度代理在当地区域分配的任务并返回结果。资源节点将在一定的时间间隔T(一般为5秒),报告该节点到资源代理上的节点的作业,以及计数和完成情况。
由于大量的资源和用户在网格环境中,考虑可行性,效率和可伸缩性问题,使用一个单一的调度中心,以处理所有的在整个网络的用户的请求是不现实的。本文中的树级拓扑的提出,充分的考虑到系统的可扩展性,所以它可以很容易地访问资源子树节点或拓扑。
图2 树级拓扑图
2.资源发现
获取信息资源可以分为两种类型,静态获得和动态获得。静态获取装置是将被固定的网格资源信息存储在一个固定的文件,这样就可以通过读取文档来获得必要的信息。动态获取建立在一定的主机安装的中间件连接的基础上,使用所提供的中间件,以获得实时,动态的资源信息服务。因此,模块被划分成两部分。 ①动态访问主机的信息:在交互模块,调度提供了一个顶级节点或监控节点,利用中间件提供的信息服务接口建立通过Web服务方式连接后,可以调用的信息查询与所提供的功能的MDS xpath的语句,以获得所需的主机信息,并把它们放进一个XML文件。 ②静态访问主机的信息:从文档提供的文件的主机列表,并对应一台主机,有一定的文件来存储的主机属性,访问文件,并从中读取更多的信息。因为主机信息是根据XML文档的形式,调度不能识别它们。因此,解析XML文档的格式可以通过调度来确定。
3.资源评估
资源评估涉及调度的效率,两种方法被考虑用于资源评估。
(1)先评估,然后安排。
每个调度之前,评估资源由哪个节点管辖,然后计划按照调度策略。
(2)先初始化,然后计划,如果失败,更新资源并重新安排。
在启动时,更新各种资源的状态先,然后提交和进度。如果失败,重新评估的节点,更新其状态,并在同一时间,根据该日志文件重新调度作业。
对于第一种方法,用于产生调度的时间T等于根据调度策略用于评估的时间和用于产生结果的时间的总和。如果使用单线程来评估每个节点,时间将是每个节点的总和,所以这种方法具有较低的效率。使用多线程进行评价,生成线程根据调度的节点数量,在同一时间实现对所有线程进行评估,所以评估时间将缩短。评估时间等于由接收线程评估信息花费最长的时间。然而,随着节点数目的增加,调度节点需要产生许多评估线程,这将需要相当大的成本,运行和维护这些线程,并导致对调度节点性能下降,很显然,这样的方法是更适合于更小的节点调度系统。
第二种方法是更适合于大规模的系统。该评估借鉴了处理在操作系统死锁问题的解决方案。当系统启动时,评估所有已注册的资源节点。当系统被初始化时,在资源池中的每个节点将获得最新的状态信息和等待调度。在每个节点的评估,采用多线程技术可以缩短系统初始化的时候。在每个节点进行评估,利用多线程技术可以缩短系统初始化的时间。
图3是这两个资源评估方法的对比度的模拟,(a)表示第一个策略,(b)表示第二个策略。横坐标是获得调度的结果的时间,如所示,获得调度结果的时间,随具有的资源节点数目的增加不同的变化。通过上述分析,本文采用第二次评估方法,并取得了良好的效果。资源信息采集器,主要是针对在网格节点及其信息的查询。网格节点信息包括静态信息和动态信息。静态信息不随时间而改变,如硬件类型,内存大小,操作系统的类型和版本,当时由采样得到一次的信息。动态信息是取样的一个固定的时间间隔,例如利用CPU和内存,和作业队列的长度。动态信息播放作为网格资源调度的重要的作用,它需要确保实时动态信息。在本文中,MDS4在GT4的信息服务组件中实现收集和发布网格信息。
图3 两个评估方法的对比模拟图
c .作业调度器
网格系统的异构和动态特性,需要不同的资源,这就使资源调度是一个非常复杂的问题。网格作业调度面临两个关键点,首先,由于非常大的规模,由于可伸缩性原因,很难有一个总体控制调度中心,因此它将面临一系列问题,如负载平衡过程的任务映射到可用资源池问题。其次,网格是动态的,因此调度应该适应资源的变化。由于异构、广域、动态的特点,许多硬件错误,网络错误,可能导致失败的节点或资源。所以在网格资源失败很常见。上述错误必须检测和及时的修复,,因此调度器必须有相应的容错方法与相关联的错误解决应用程序。
针对这些问题,本文设计的调度模型的概念主要体现在分类调度,动态调度和容错调度三个方面。模型使用一个两层结构:全局调度器和本地调度器。全局调度器相当于整个控制中心,它负责网格范围内的资源发现和调度。本地的调度器相当于调度需要负责域的子代理。用户提交的工作计划首先在一个控制中心,其次在于子代理。如果有更多的集群或局域网后,应该有多级调度,如三级和四级。在这里,只考虑两个调度模型. 模型使用资源守护进程,以获得和监测实时的所有节点的信息和负载,并在同一时间在数据库中更新资源节点信息提供动态信息的调度。当监视资源的失败,重新安排通过容错调度策略的任务。该调度系统模型借鉴了集中调度,以及灵活的组织,易扩展的分布式调度的简单,高性能的,所以它支持的可扩展性和容错性,并能更好地适应动态网格环境的变化。
根据上述设计思想,本文提出的调度模型的基本结构,如图4,展示出根据一个调度代理为树形拓扑结构,并且可以通过简单的修改应用到其它调度代理。
图4 调度模型的基本结构
D.任务管理器
业务管理器由两个函数提交设备和监控工作。
任务提交的角色是:(1)根据调度结果安排工作资源节点。为了实现工作分配,调度程序需要生成版本文件,然后提交到一个特定的资源节点。与此同时调度器将调度信息写到日志文件。(2)当工作完成后,提交设备也需要收集结果,提供在线结果,无论工作是成功或失败的信息。
由于本地网格资源存在不稳定的情况,用户作业可能无法执行,作业监视器的作用就是监测工作状态信息,以应对容错的实时监控故障工作。网格作业包括的基本状态:已提交(提交),等待(准备在调度队列),运行(运行),完成(成功完成),失败(失败)。工作状态之间的各种转换过程是这样的:一旦作业已经提交,状态显示为待定,如果执行启动,这项工作将从待定表中删除,并添加到运行表,表示作业正在运行。如果作业状态已完成或失败,从运行表中删除工作,同时更新网格作业信息到相应的状态。
E.调度日志
调度日志用于记录调度结果,确保调度成功。每个日志记录包括:调度标记(调度日志的ID);作业标记(指作业调度,NULL意味着新的工作);资源标记(资源分配指标,一般为IP地址);作业描述(描述了使用RSL的工作);作业状态(主要包括两个项目:提交和失败);提交时间(安排时发生的时间);
由于网格资源是动态的,不稳定,故障或退出可能会出现资源。当资源节点发现没有资源监控程序,作业调度程序将根据调度记录,实现调度结果生成RSL要求。
- 网格作业调度算法
作业调度系统是网格资源管理系统的核心部分,它接收任务请求,选择合适的资源来运行作业。作业调度算法确定哪个调度策略用于资源匹配。在没有专门调度算法的网格系统中,在网格申请中使用的调度算法的绝大部分已被使用在分布式系统或集群系统。常用的调度算法是Min-Min算法,Max-Min算法,快速贪心算法,Sufferage算法等。
A. Min-Min 调度算法
Min-Min调度算法首先计算出在所有机器上的每个作业的最小运行时间,选择具有最低运行时的任务,并分发到相应的主机,然后从最近集合映射的工作中删除,并重复这个过程,直到所有的任务都被映射。由于Min-Min算法映射小作业(最小运行时间)到最快速的机器,不仅大多数小型作业将被分配到第一完成他们的机器,然而,低优先级的大型作业将被分配到低效率的机器,这导致负载不平衡而且网格环境中可用的主机利用率较低。为此,本文提出了一种改进的方法来安排本地运行的作业调度,然后根据工作ETC值把作业分成段,如此之大的工作将首先调度,在每一段的工作仍然会采用Min-Min算法,这就是分布式Min-Min(以下简称DMM)算法。
B.分布式Min-Min调度算法
作业调度问题的实质在于,调度m个作业T =(T1,T2,...,TM)至n个主机H =(H1,H2,...,HN)上,使用合理的方式在网格环境下,将m个作业分配到n个可用的作业调度执行单元,来获得尽可能小(完工时间)的总的运行时间。M个作业被调度到n个主机的预计运行时间ETC(预计计算耗时)是一个m* n矩阵。 ETC(I,J)表示第i个作业调度到第j个机器上所用的时间,在矩阵中,每一行示出了某些作业在第n台机器上的的运行时间,每个列表示m个作业各自在这台主机执行的运行时时间。
DMM算法首先根据它们的ETC值对作业进行排序,将它们归类为一个由平均ETC值或最小值的ETC值,或最大的ETC值组成的序列.然后将其分段成具有相同的大小的分区,并首先调度大型作业分区,然后调度小分区。对于每个分区,Min-Min算法将被用于调度。DMM算法描述如下:
- 计算每个作业的排序值keyi,在异构网格环境中,在不同的机器相同的作业的执行时间是不同的,这就是所谓的网格作业异质性。考虑到的是,在计算排序值时测试三个子策略——平均值,最小值,最大值期望的执行时间,确定排序值的部分策略1:DMM-平均时间:计算矩阵中每行的平均值。
部分策略2:DMM-MIN:计算矩阵的每一行的最小值:
部分策略3:DMM-MAX:计算矩阵的每一行的最大值:
(2) 安排作业的排序值降序排列,形成一个序列。
(3) 将作业序列平均分割到n部分。关注如何选择最佳的N值。一方面,越大的N值会使负载更加平衡,另一方面,过大的N值将降低Min-Min算法的效率。图5中的曲线显示了使用DMM-平均子策略当选择不同的N值和Min-Min的算法提升的比较。如图2所示,当C = M / N值较小时,也就是分配给每台机器的作业的平均数量较小时,DMM算法显示出良好的性能。
图5 N值对算法改进的影响
无论C的值是多少,当N为4时,图2中的算法改进的曲线始终达到最高程度,所以本文设置N至4,并且通常划分作业序列分成4段。
(4)每段依次使用Min-Min调度算法调度作业。
和Min-Min算法不同,DMM算法在调度作业前对其进行排序,这意味着,执行时间长,作业将更早调度。然后,Min-Min算法将在本地使用每个作业段。该算法的关键是如何确保大型作业优先调度。
C.调度
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[503010],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。