A dynamic scheduler for balancing HPC applications
Document typeConference report
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Rights accessOpen Access
Load imbalance cause significant performance degradation in High Performance Computing applications. In our previous work we showed that load imbalance can be alleviated by modern MT processors that provide mechanisms for controlling the allocation of processors internal resources. In that work, we applied static, hand-tuned resource allocations to balance HPC applications, providing improvements for benchmarks and real applications. In this paper we propose a dynamic process scheduler for the Linux kernel that automatically and transparently balances HPC applications according to their behavior. We tested our new scheduler on an IBM POWER5 machine, which provides a software-controlled prioritization mechanism that allows us to bias the processor resource allocation. Our experiments show that the scheduler reduces the imbalance of HPC applications, achieving results similar to the ones obtained by hand-tuning the applications (up to 16%). Moreover, our solution reduces the application's execution time combining effect of load balance and high responsive scheduling.
CitationBoneti, C., Gioiosa, R., Cazorla, F., Valero, M. A dynamic scheduler for balancing HPC applications. A: ACM/IEEE Conference on Supercomputing. "SC'08: proceedings of the 2008 ACM/IEEE Conference on Supercomputing". Austin, TX: Institute of Electrical and Electronics Engineers (IEEE), 2008, p. 1-12.