In this paper, we address several key issues in designing coscheduling algorithms for clusters. First, we propose a generic framework for deploying coscheduling techniques by providing a reusable and dynamically loadable kernel module. Second, we implement several communication-driven coscheduling algorithms [dynamic coscheduling (DCS), spin block (SB) and periodic boost (PB)] on a 16- node Linux cluster using the above framework. Third, with exhaustive experimentation using mixed workloads, we observe that unlike PB, which provided the best performance on a Solaris platform, the SB scheme outperforms all other techniques on a Linux platform. Finally, we investigate the impact of several job placement strategies, multiprogramming level (MPL), communication intensity and CPU and I/O intensive jobs on the performance of these coscheduling schemes. The experimental results show that the blocking-based coscheduling scheme (SB) has better tolerance to system workload variation compared with the spin-based schemes (DCS and PB), and overall, the blocking-based coscheduling scheme seems a better choice for non-dedicated Linux clusters.
|Original language||English (US)|
|Number of pages||15|
|Journal||International Journal of High Performance Computing Applications|
|State||Published - Jan 1 2007|
All Science Journal Classification (ASJC) codes
- Theoretical Computer Science
- Hardware and Architecture