• No se han encontrado resultados

El Estado Terrorista argentino 193 b) En el mensaje de elevación del proyecto de ley de Punto Final,

tion. Co-ordinated coscheduling (CC) [23] makes use of both send and receiver side optimizations. In CC the sender process spins for a pre-determined amount of time after sending the message and waits for an acknowledgment that the message was sent by the NIC of the sender process host node (note it does not wait for the response from the receiver side). If the message was sent, the algorithm optimistically hopes that the receiver node will coschedule the corresponding process and response will arrive soon. If the message was not sent (by the NIC) after a pre-determined spin, then the process blocks (inferring that the NIC is overloaded with previous messages) and gives the CPU to other process. This methodology ensures fast progression of parallel applications in time-shared environment. On the receiver side, a table containing information of message arrival for each process is maintained. After pre-determined duration (2-3 ms), the scheduler gets the list of pending messages for each process and makes the decision about what process should be invoked based upon number of messages waiting for a process. The downside of the coscheduling is that its implementation requires modifications in device drivers, firmware, OS kernel and parallel programming libraries etc. This is not only time consuming in implementation but is also difficult to maintain as upgrades are not easy. The comparison of batch, gang and coscheduling shows that coscheduling and gang scheduling outperform the batch processing. Similarly CC and gang scheduling (SCore) perform almost alike.

2.5

Scheduling Solutions

Scheduling algorithms are only part of broader resource management service [69, 43]. The resource management service enables the scheduler to make efficient scheduling decisions. Casavant and Kuhl [42] have outlined two major classes of resource management service in distributed/parallel computing: static and dynamic. The static algorithms are offline the algorithms which schedule the jobs based on the information made available at the compile time. The dynamic algorithms, are the algorithms that take the current system state as input to scheduling policy and are often categorized asonline algorithms. The algorithms required for grid/cluster computing shall be highly dynamic in nature, as jobs can be submitted at any time and new resources can become available at any time [55]. Apart from being ‘online’ the resource manager shall be fault tolerent, scalable, provide execution time estimation and interoperable with other schedulers (in case of grid computing) [67].

Bucur and Epema have discussed various scheduling policies for multi-cluster (Grid) systems in [38]. They have presented four basic scheduling policies and the impact of these policies on the response time of a job. The scheduling policies are

1. Global Scheduler (GP): The grid infrastructure has one meta scheduler. 2. Local Scheduler (LS): The system is based upon local schedulers for each

cluster which contains both single and multi-cluster jobs. Local scheduling policies are further divided in four sub categories (a) LS-OR, where queues are enabled in a fixed order starting with same queue. (b) LS-RD, where queues are enabled in fixed order starting with randomly chosen queue. (c) LS-RO, the queues are enabled in the order in which the processors in the corresponding clusters are released by the departing job. (d) LS-DO, the queues are enabled in the same order in which they were disabled.

3. Global Priority (GP), where the local queues are only enabled if there is no job in the global queue.

4. Local Priority (LP), where local queues have priority and global queue is enabled only when there is at least one local queue empty. LP is further divided in three sub categories (a) LP-LF, where local queues are first enabled and then the global queue. (b) LP-GF, where global queue is enabled before the local queue (c) LP-RD, local or global queues are enabled with equal probability. Simulations were carried out using synthetic workload as well as original traces.

It was concluded by Bucur and Epema that amongst the local schedulers, LS-DO is the best performer and LS-OR performs worst. Overall LP-GF is the best performer. It may be noted that the simulations were conducted for different types of workloads and there is no single clear winner between LP and LS. The simulations were conducted assuming all processes were non-preemptive and once a process is assigned a mapping it cannot be changed.

Krallmann et. al have discussed various design issues and algorithms for parallel computers [75]. They observe that most of the scheduling algorithms are required to be tailored according to an organization’s needs. Amongst the popular algorithms they list FCFS and Backfilling. SMART can also be used but it is originally an off-line algorithm which assumes that all the jobs are ready to be executed from ‘0’ time.

2.5.1 Maui Scheduler

Jackson et. al have discussed core algorithms in the Maui scheduler [69]. The Maui scheduler is one of the most popular open source scheduler used by HPC community. The Maui scheduler uses backfill scheduling, priority scheduling and fair share along with throttling policies. Throttling policies limits the quantity

Outline

Documento similar