870 likes | 1.31k Views
Scheduling for Grid Computing. 龚 斌 山东大学计算机科学与技术学院 山东省高性能计算中心. Reference. Fangpeng Dong and Selim G.Akl : Scheduling Algorithms for Grid Computing : State of the Art and Open Problems Yanmin ZHU : A Survey on Grid Scheduling Systems Peter Gradwell : Overview of Grid Scheduling Systems
E N D
Scheduling for Grid Computing 龚 斌 山东大学计算机科学与技术学院 山东省高性能计算中心
Reference • Fangpeng Dong and Selim G.Akl :Scheduling Algorithms for Grid Computing : State of the Art and Open Problems • Yanmin ZHU : A Survey on Grid Scheduling Systems • Peter Gradwell : Overview of Grid Scheduling Systems • Alain Andrieux et al : Open Issues in Grid Scheduling • Jia yu and Rajkumar Buyya : A Taxonomy of Workflow Systems for Grid Computing
什么是网格? 网格(Grid)是构筑在Internet上的一组新兴技术,它将高速互联网、高性能计算机、大型数据库、传感器、远程设备等融为一体,为科技人员和普通老百姓提供更多的资源。Internet主要为人们提供E-mail、网页浏览等通信功能,而网格功能更多更强,能让人们透明地使用计算、存储、信息处理等其他资源。 1998, The Grid: Blueprint for a New Computing Infrastructure. Ian Foster :美国阿岗国家实验室资深 科学家、美国计算网格项目负责人
The Definition of Grid • A type of parallel and distributed system that enables the sharing, selection, and aggregation of geographically distributed autonomous and heterogeneous resources dynamically at runtime depending on their availability, capability, performance, cost and users’ quality-of-service requirements
Characteristics of Grid Computing • Exploiting underutilized resources • Distributed supercomputing capability • Virtual organization for collaboration • Resource balancing • Reliability
Class of Grid Computing • Function: • Computing Grid • Data Grid • Service Grid • Size: • IntraGrid • ExtraGrid • InterGrid
Traditional Parallel Scheduling Systems • System: • SMP : 对称多处理,共享内存 • Cluster:机群 • CC-NUMA: SGI • Scheduling Systems: • OpenPBS, LSF, SGE,Loadlevel, Condor,etc…
The Assumption Underlying Tradition Systems • All resources reside within a single administrative domain. • To provide a single system image, the scheduler controls all of the resources. • The resource pool is invariant. • Contention caused by incoming application can be managed by the scheduler according to some policies, so that its impact on the performance that the site can provide to each application can be well predicted. • Computation and their data reside in the same site or data staging is a highly predictable process, usually from a predetermined source to a predetermined destination, which can be viewed as constant overhead.
Characteristics of Cluster Scheduling • Homogeneity of resource and application • Dedicated resource • Centralized scheduling architecture • High-speed interconnection network • Monotonic performance goal
The Terms of Grid Scheduling • A task is an atomic unit to be scheduled by the scheduler and assigned to a resource. • The properties of a task are parameters like CPU/memory requirement, deadline, priority, etc. • A job (or metatask, or application) is a set of atomic tasks that will be carried out on a set of resources. Job can have a recursive structure, meaning that jobs are composed of sub-jobs and /or tasks, and sub-jobs can themselves be decomposed further into atomic tasks. • A resource is something that is required to carry out an operation, for example: a processor for data processing, a data storage device, or a network link for data transporting. • A site (or node) is an autonomous entity composed of one or multiple resources. • A task scheduling is the mapping of tasks to a selected group of resources which may be distributed in administrative domains.
Three Stages of Scheduling Process • Resource discovering and filtering • Resource selecting and scheduling according to certain objectives • Job submission
Stages of SuperScheduling • Resource Discovery • Authorization Filtering • Application requirement definition • Minimal requirement filtering • System Selection • Gathering information (query) • Select the system (s) to run on • Run Job • (optional) Make an advance reservation • Submit job to resources • Preparation Tasks • Monitor progress (maybe go back to System Selection) • Find out J is done • Completion tasks
Grid Scheduling framework • Application Model • Extracts the characteristics of applications to be scheduled. • Resource Model • Describes the characteristics of the underlying resources in Grid systems. • Performance Model • Responsible for behavior of a specific job on a specific computation resource. • Scheduling Policy • Responsible for deciding how applications should be executed and how resources should be utilized.
Applications Classification • Batch vs. Interactive • Real-time vs. Non real-time • Priority
Resources Classification • Time-shared vs. Non time-shared • Dedicated vs. Non-dedicated • Preemptive vs. Non-preemptive
Performance Estimation • Simulation • Analytical Modeling • Historical Data • On-line Learning • Hybrid
Scheduling Policy • Application-centric • Execution Time : the time duration spent executing the job • Wait Time : the time duration spent waiting in the ready queue • Speedup : the ratio of time spent executing the job on the original platform to time spent executing the job on the Grid. • Turnaround Time : also called response time. It is defined as the sum of waiting time and executing time. • Job Slowdown : it is defined as the ratio of the response time of a job to its actual run time. • System-centric • Throughput : the number of jobs completed in one unit of time, such as per hour or per day. • Utilization : the percent of time a resource is busy. • Flow Time : the flow time of a set of jobs is the sum of completion time of all jobs. • Average Application performance.
Scheduling Strategy • Performance-driven • Market-driven • Trust-driven • Security policy • Accumulated reputation • Self-defense capability • Attack history • Site vulnerability(弱点、攻击)
A logical Grid scheduling architecture Broken lines : resource or application information flows Real lines : task or task scheduling command flows
Grid Scheduler • Grid Scheduler (GS) receives application from Grid users, select feasible resources for these application according to acquired information from the Grid Information Service module, and finally generates application-to-resource mappings based on certain objective functions and predicted resource performance. • GS usually cannot control Grid resources directly, but work like broker or agents • Metascheduler, SuperScheduler • Is not an indispensable component in the Grid infrastructure. Not included in the Globus Tookit • In reality multiple such schedulers might be deployed, and organized to form different structures (centralized, hierarchical and decentralized) according to different concerns, such as performance or scalability.
Grid Information Service (GIS) • To provide such information to Grid schedulers • GIS is responsible for collecting and predicting the resource state information, such as CPU capacities, memory size, network bandwidth, software availabilities and load of a site in a particular period. • GIS can answer queries for resource information or push information subscribers • Globus : Monitoring and Discovery System (MDS) • Application profiling (AP) is used to extract properties of applications • Analogical Benchmarking (AB) provides a measure of how well a resource can perform a given type of job.
Launching and Monitoring (LM) • Binder • Implements a finally-determined schedule by submitting applications to selected resources, staging input data and executables if necessary, and monitoring the execution of the applications • Globus :Grid Resource Allocation and Management, GRAM
Local Resource Manager (LRM) • Is mainly responsible for two jobs: local scheduling inside a resource domain, where not only jobs from exterior Grid users, but also jobs from the domain’s local users are executed, and reporting resource information to GIS. • Open PBS, Condor,LSF,SGE,etc • NWS : Network Weather Service, Hawkeye, Ganglia
Evaluation Criteria for Grid Scheduling Systems • Application Performance Promotion • System Performance Promotion • Scheduling Efficiency • Reliability • Scalability • Applicability to Application and Grid Environment
Scheduler Organization • Centralized • Decentralized • Hierarchical
Existing Grid Scheduling Systems • Information Collection Systems • MDS (Meta Directory Service) • NWS (Network Weather Service) • Condor • Condor-G • AppLeS • Nimrod-G • GRaDS • Etc…
Characteristics of scheduling for Grid Computing • Heterogeneity and Autonomy • Does not have full control of the resources • Hard to estimate the exact cost of executing a task on different sites. • Is required to be adaptive to different local policies • Performance Dynamism • Grid resources are not dedicated to a Grid application • Performance fluctuation, compared with traditional system • Some methods: QoS negotiation, resource reservation, rescheduling • Resource Selection and Computation-Data Separation • In tradition systems, executable codes of application and input/output data are usually in the same site, or the input sources and output destinations determined before the application is submitted, The cost of data staging can be neglected. • Application Diversity
Grid Scheduling Algorithms • The Complexity of a general scheduling problem is NP-Complete. • The scheduling problem becomes more challenging because of some unique characteristics belonging to Grid computing.
A Taxonomy of Grid Scheduling Algorithm • Local vs. Global • Grid scheduling falls into the global scheduling. • Static vs. Dynamic • Both static and dynamic scheduling are widely adopted in Grid computing
Static Scheduling • Every task comprising the job is assigned once to a resource, the placement of an application is static, and a firm estimate of the cost of the computation can be made in advance of the actual execution. • Easier to program from a scheduler’s point of view • Rescheduling mechanism are introduced for task migration. • Another side-effect is that the gap between static scheduling and dynamic scheduling becomes less important.
Dynamic Scheduling • Online Scheduling • Two Major components : system state estimation , decision making. • Advantage : the system need not be aware of the run-time behavior of the application before execution • The primary performance : maximizing resource utilization, rather than minimizing runtime for individual jobs. • Four basic approaches: • Unconstrained FIFO • Balance-constrained techniques • Cost-constrained techniques • Hybrid of static and dynamic techniques
Unconstrained FIFO • The resource with the currently shortest waiting queue or the smallest waiting queue time is selected for the incoming task • Opportunistic Load Balancing (OLB), or myopic ( 近视) algorithm • Simplicity, but far from optimal
Balance-constrained • Attempts to rebalance the loads on all resources by periodically shifting waiting tasks from one waiting queue to another. • The rebalance only happens inside a “neighborhood” where all resources are better interconnected. • Advantages: • The initial loads can be quickly distributed to all resources and started quickly • The rebalancing process is distributed and scalable • The communication delay of rebalancing can be reduced since task shifting only happens among the resources that are “close” to each other
Cost-constrained • Not only considers the balance among resources but also the communication cost between tasks • Instead of doing a task exchange periodically, tasks will be checked before their move. • This approach is more efficient than the previous one when the communication costs among resources are heterogeneous and communication cost to execute the application is the main consideration • It is also flexible, and can be used with other cost factors such as seeking lowest memory size or lowest disc drive activity, and so on.
Hybrid • A further improvement is the static-dynamic hybrid scheduling • Is to take the advantages of static schedule and at the same time capture uncertain behaviors of applications and resources. • For example, in those cases where there are special QoS requirements in some tasks, the static phase can be used to map those task with QoS requirements, and dynamic scheduling can be used for the remaining tasks.
A Taxonomy of Grid Scheduling Algorithm (cont.) • Optimal vs. Suboptimal • Some criterion : minimum makespan , maximum resource utilization • Makespan : is the time spent from the beginning of the first task in a job to the end of the last task of the job. • The NP-Complete nature of scheduling algorithms • Current research tries to find suboptimal solutions
A Taxonomy of Grid Scheduling Algorithm (cont.) • Approximate vs. Heuristic • Approximate • Use formal computational models, but instead of searching the entire solution space for an optimal solution • The factor: • Availability of a function to evaluate a solution • The time required to evaluate a solution • The ability to judge the value of an optimal solution according to some metric. • Availability of a mechanism for intelligently pruning the solution space. • Heuristic • Represents the class of algorithms which make the most realistic assumptions about a priori knowledge concerning process and system loading characteristics. • are more adaptive to the Grid scenarios where both resources and applications are highly diverse and dynamic
A Taxonomy of Grid Scheduling Algorithm (cont.) • Distributed vs. Centralized • The centralized strategy has the advantage of ease of implementation, but suffers from the lack of scalability, fault tolerance and the possibility of becoming a performance bottleneck.
A Taxonomy of Grid Scheduling Algorithm (cont.) • Cooperative vs. Non-cooperative • In the non-cooperative case, individual schedulers act alone as autonomous entities and arrive at decisions regarding their own optimum objects independent of the effects of the decision on the rest of system. • In the cooperative case, each Grid scheduler has the responsibility to carry out its own portion of the scheduling task, but all schedulers are working toward a common system-wide goal.
Objective Functions • The two major parties in Grid computing • Resource consumers who submit various application • Resources Providers who share their resources • Application Centric • Makespan • Economic Cost • Resource Centric • Resource Utilization • Economic Profit
Application-Centric • Aim to optimize the performance of each individual application, as application-level schedulers do. • time : makespan • Grid economic model : economic cost • QoS : Quality of Services
Resource-Centric • Aim to optimize the performance of the resources • Throughput : which is the ability of a resource to process a certain number of jobs in a given period. • Utilization : which is the percentage of time a resource is busy • Grid economic Model : Economic Profit • TPCC : Total Processor Cycle Consumption, which is the total number of instructions the grid could compute from the starting time of executing the schedule to the completion. • Represents the total computing power consumed by an application • Advantage : it can be little affected by the variance of resource performance, yet still related to the makespan.
Adaptive Scheduling • The demand for scheduling adaptation comes from: • The heterogeneity of candidate resources • The dynamism of resource performance • The diversity of applications • Resource Adaptation • Dynamic Performance Adaptation • Application Adaptation