Performance-driven processor allocation
Julita Corbalán, Xavier Martorell, Jesús Labarta
Abstract
This work is focused on processor allocation in shared-memory
multiprocessor systems, where no knowledge of the application is
available when applications are submitted. We perform the processor
allocation taking into account the characteristics of the
application measured at run-time. We want to demonstrate the
importance of an accurate performance analysis and the criteria
used to distribute the processors. With this aim, we present the
SelfAnalyzer, an approach to dynamically analyzing the performance
of applications (speedup, efficiency and execution time), and the
Performance-Driven Processor Allocation (PDPA), a new scheduling
policy that distributes processors considering both the global
conditions of the system and the particular characteristics of
running applications. This work also defends the importance of the
interaction between the medium-term and the long-term scheduler to
control the multiprogramming level in the case of the clairvoyant
scheduling policies. We have implemented our proposal in an SGI
Origin2000 with 64 processors and we have compared its performance
with that of some scheduling policies proposed so far and with the
native IRIX scheduling policy. Results show that the combination of
the SelfAnalyzer+PDPA with the medium/long-term scheduling
interaction outperforms the rest of the scheduling policies
evaluated. The evaluation shows that in workloads where a simple
equipartition performs well, the PDPA also performs well, and in
extreme workloads where all the applications have a bad
performance, our proposal can achieve a speedup of 3.9 with respect
to an equipartition and 11.8 with respect to the native IRIX
scheduling policy.