12.07.2015 Views

Dell Power Solutions

Dell Power Solutions

Dell Power Solutions

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

HIGH-PERFORMANCE COMPUTINGmaintaining job priority in accordance with the site policy that theadministrator has established for the amount and timing of resourcesused to execute jobs. Based on that information, the scheduler decideswhich job will execute on which compute node and when.Understanding job scheduling in clustersWhen a job is submitted to a resource manager, the job waits ina queue until it is scheduled and executed. The time spent in thequeue, or wait time,depends on several factors including job priority,load on the system, and availability of requested resources.Turnaround time represents the elapsed time between when thejob is submitted and when the job is completed; turnaround timeincludes the wait time as well as the job’s actual execution time.Response time represents how fast a user receives a response fromthe system after the job is submitted.Resource utilization during the lifetime of the job represents theactual useful work that has been performed. System throughputtisdefined as the number of jobs completed per unit of time. Meanresponse time is an important performance metric for users, whoexpect minimal response time. In contrast, system administratorsare concerned with overall resource utilization because they wantto maximize system throughput and return on investment (ROI),especially in high-throughput computing clusters.In a typical production environment, many different jobs aresubmitted to clusters. These jobs can be characterized by factorssuch as the number of processors requested (also known as job size,or job width), estimated runtime, priority level, parallel or distributedexecution, and specific I/O requirements. During execution, largejobs can occupy significant portions of a cluster’s processing andmemory resources.System administrators can create several types of queues, eachwith a different priority level and quality of service (QoS). To makeintelligent schedules, however, schedulers need information regardingjob size, priority, expected execution time (indicated by the user),resource access permission (established by the administrator), andresource availability (automatically obtained by the scheduler).In high-performance computing clusters, the scheduling of paralleljobs requires special attention because parallel jobs compriseseveral subtasks. Each subtask is assigned to a unique computenode during execution and nodes constantly communicate amongUser 1User 2User 3User nUserssubmit jobsFigure 1. Typical resource management systemResource managerJob queueExternal jobschedulerInformation is sentto the resource managerInternal jobschedulerJobs areassigned tocompute nodesCompute node 1Compute node 2Compute node 3Compute node 4Compute node nthemselves during execution. The manner in which the subtasksare assigned to processors is called mapping. Because mappingaffects execution time, the scheduler must map subtasks carefully.The scheduler needs to ensure that nodes scheduled to executeparallel jobs are connected by fast interconnects to minimize theassociated communication overhead. For parallel jobs, the jobefficiency also affects resource utilization. To achieve high resourceutilization for parallel jobs, both job efficiency and advancedscheduling are required. Efficient job processing depends on effectiveapplication design.Under heavy load conditions, the capability to provide a fairportion of the cluster’s resources to each user is important. This capabilitycan be provided by using the fair-share strategy, in which thescheduler collects historical data from previously executed jobs anduses the historical data to dynamically adjust the priority of the jobsin the queue. The capability to dynamically make priority changeshelps ensure that resources are fairly distributed among users.Most job schedulers have several parameters that can beadjusted to control job queues and scheduling algorithms, thusproviding different response times and utilization percentages. Usually,high system utilization also means high average response timefor jobs—and as system utilization climbs, the average responsetime tends to increase sharply beyond a certain threshold. Thisthreshold depends on the job-processing algorithms and job profiles.In most cases, improving resource utilization and decreasing jobturnaround time are conflicting considerations. The challenge for ITorganizations is to maximize resource utilization while maintainingacceptable average response times for users.Figure 2 summarizes the desirable features of job schedulers.These features can serve as guidelines for system administrators asthey select job schedulers.Using job scheduling algorithmsThe parallel and distributed computing community has put substantialresearch effort into developing and understanding job schedulingalgorithms. Today, several of these algorithms have been implementedin both commercial and open source job schedulers. Scheduling algorithmscan be broadly divided into two classes: time-sharing andspace-sharing. Time-sharing algorithms divide time on a processorinto several discrete intervals, or slots. These slots are then assignedto unique jobs. Hence, several jobs at any given time can share thesame compute resource. Conversely, space-sharing algorithms givethe requested resources to a single job until the job completes execution.Most cluster schedulers operate in space-sharing mode.Common, simple space-sharing algorithms are first come, firstserved (FCFS); first in, first out (FIFO); round robin (RR); shortest jobfirst (SJF); and longest job first (LJF). As the names suggest, FCFSand FIFO execute jobs in the order in which they enter the queue.This is a very simple strategy to implement, and works acceptablywell with a low job load. RR assigns jobs to nodes as they arrive in134POWER SOLUTIONS Reprinted from <strong>Dell</strong> <strong>Power</strong> <strong>Solutions</strong>, February 2005. Copyright © 2005 <strong>Dell</strong> Inc. All rights reserved. February 2005

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!