• No se han encontrado resultados

Caracterización del clima histórico y durante el desarrollo del estudio

In document UNIVERSIDAD VERACRUZANA (página 42-46)

6. RESULTADOS Y DISCUSIÓN

6.1. Caracterización del clima histórico y durante el desarrollo del estudio

Resource reservation enables you to reserve system resources for specified pending jobs. When you reserve resources for a job, those resources are blocked from being used by jobs with lower priority.

Jobs can reserve resources depending on criteria such as resource requirements, job priority, waiting time, resource sharing entitlements, and so forth. The scheduler enforces reservations in such a way that jobs with the highest priority get the earliest possible resource assignment. This avoids such well-known problems as "job

starvation."

You can use resource reservation to guarantee that resources are dedicated to jobs in job-priority order.

Consider the following example. Job A is a large pending job, possibly parallel, that requires a large amount of a particular resource. A stream of smaller Jobs B(i) require a smaller amount of the same resource. Without resource reservation, a resource

assignment for Job A cannot be guaranteed, assuming that the stream of B(i) jobs does not stop. The resource cannot be guaranteed even though Job A has a higher priority than the B(i) jobs.

With resource reservation, Job A gets a reservation that blocks the lower priority Jobs B(i). Resources are guaranteed to be available for Job A as soon as possible.

Backfilling enables a lower-priority job to use resources that are blocked due to a resource reservation. Backfilling work only if there is a runnable job whose prospective run time is small enough to allow the blocked resource to be used without interfering with the original reservation.

In the example described earlier, a Job C, of very short duration, could use backfilling to start before Job A.

Because resource reservation causes the scheduler to look ahead, using resource reservation affects system performance. In a small cluster, the effect on performance is negligible when there are only a few pending jobs. In larger clusters, however, and in clusters with many pending jobs, the effect on performance might be significant. To offset this potential performance degradation, you can limit the overall number of resource reservations that can be made during a scheduling interval. You can limit resource reservation in two ways:

■ To limit the absolute number of reservations that can be made during a scheduling

interval, set the Maximum Reservation parameter on the Scheduler Configuration dialog box. For example, if you set Maximum Reservation to 20, no more than 20 reservations can be made within an interval.

■ To limit reservation scheduling to only those jobs that are important, use the -R y

option of the qsub command. In the example described earlier, there is no need to schedule B(i) job reservations just for the sake of guaranteeing the resource reservation for Job A. Job A is the only job that you need to submit with the -R y option.

You can configure the scheduler to monitor how it is influenced by resource

reservation. When you monitor the scheduler, information about each scheduling run is recorded in the file $SGE_ROOT/$SGE_CELL/common/schedule.

The following example shows what schedule monitoring does. Assume that the following sequence of jobs is submitted to a cluster where the global license consumable resource is limited to 5 licenses:

qsub -N L4_RR -R y -l h_rt=30,license=4 -p 100 $SGE_ROOT/examples/jobs/sleeper.sh 20

qsub -N L5_RR -R y -l h_rt-30,license=5 $SGE_ROOT/examples/jobs/sleeper.sh 20

qsub -N L1_RR -R y -l h_rt=31,license=1 $SGE_ROOT/examples/jobs/sleeper.sh 20

Assume that the default priority settings in the scheduler configuration are being used:

weight_priority 1.000000 weight_urgency 0.100000 weight_ticket 0.010000

The -p 100 priority of job L4_RR supersedes the license-based urgency, which results in the following prioritization:

job-ID prior name --- 3127 1.08000 L4_RR 3128 0.10500 L5_RR 3129 0.00500 L1_RR

In this case, traces of these jobs can be found in the schedule file for six schedule intervals: :::::::: 3127:1:STARTING:1077903416:30:G:global:license:4.000000 3127:1:STARTING:1077903416:30:Q:all.q@carc:slots:1.000000 3128:1:RESERVING:1077903446:30:G:global:license:5.000000 3128:1:RESERVING:1077903446:30:Q:all.q@bilbur:slots:1.000000 3129:1:RESERVING:1077903476:31:G:global:license:1.000000 3129:1:RESERVING:1077903476:31:Q:all.q@es-ergb01-01:slots:1.000000 :::::::: 3127:1:RUNNING:1077903416:30:G:global:license:4.000000 3127:1:RUNNING:1077903416:30:Q:all.q@carc:slots:1.000000 3128:1:RESERVING:1077903446:30:G:global:license:5.000000 3128:1:RESERVING:1077903446:30:Q:all.q@es-ergb01-01:slots:1.000000 3129:1:RESERVING:1077903476:31:G:global:license:1.000000 3129:1:RESERVING:1077903476:31:Q:all.q@es-ergb01-01:slots:1.000000 :::::::: 3128:1:STARTING:1077903448:30:G:global:license:5.000000 3128:1:STARTING:1077903448:30:Q:all.q@carc:slots:1.000000 3129:1:RESERVING:1077903478:31:G:global:license:1.000000 3129:1:RESERVING:1077903478:31:Q:all.q@bilbur:slots:1.000000 :::::::: 3128:1:RUNNING:1077903448:30:G:global:license:5.000000 3128:1:RUNNING:1077903448:30:Q:all.q@carc:slots:1.000000

3129:1:RESERVING:1077903478:31:Q:all.q@es-ergb01-01:slots:1.000000 :::::::: 3129:1:STARTING:1077903480:31:G:global:license:1.000000 3129:1:STARTING:1077903480:31:Q:all.q@carc:slots:1.000000 :::::::: 3129:1:RUNNING:1077903480:31:G:global:license:1.000000 3129:1:RUNNING:1077903480:31:Q:all.q@carc:slots:1.000000

Each section shows, for a schedule interval, all resource usage that was taken into account. RUNNING entries show usage of jobs that were already running at the start of the interval. STARTING entries show the immediate uses that were decided within the interval. RESERVING entries show uses that are planned for the future, that is, reservations.

The format of the schedule file is as follows:

jobID - The job ID

taskID - The array task ID, or 1 in the case of nonarray jobs

state - Can be RUNNING, SUSPENDED, MIGRATING, STARTING, or

RESERVING

start-time - Start time in seconds after 1.1.1070duration - Assumed job duration in seconds

level-char - Can be P (for parallel environment), G (for global), H (for host), or Q

(for queue)

object-name - The name of the parallel environment, host, or queueresource-name - The name of the consumable resource

usage - The resource usage incurred by the job

The line :::::::: marks the beginning of a new schedule interval.

In document UNIVERSIDAD VERACRUZANA (página 42-46)

Documento similar