An integrated approach to distributed scheduling and kernel mechanism on cluster architecture
Authors: Rahul Simha
Venue:  (2008)

Clusters that consist of PCs or workstations interconnected by high-speed LAN networks have shown great performance potential and have emerged as a prime contender in the high-performance computing and mission-critical application domain. For the requirement of delivering timely responsive service to remote clients with stringent latency constraints, a cluster architecture provides a technically competitive and cost-effective platform that can scale up to meet increasing needs for computing power. Yet the cluster architecture presents complexity in resource management and task scheduling and imposes a big challenge to the design of cluster server application. A conventional time-sharing general-purpose operating system is inadequate for real-time applications due to the lack of real-time support. Existing real-time operating systems (RTOS), however, are mostly single system based and lack cluster-level scheduling capability. The conventional RTOS is also limited in memory space and computing capability, and has difficulty in scaling up to sustain a large volume of service requests. Furthermore, neither of these operating systems provides the collaboration between application layer and underlying O/S kernel to protect or recover the system from kernel overloading caused by extremely high workload. Targeting the above challenges, we propose a new scheduling scheme, the Pull-Based Distributed Scheme (PBDS), to spread the load distribution and task scheduling functions to backend nodes, which ultimately improves system scalability by eliminating the performance bottleneck at the cluster&rsquo;s front-end. To address the kernel overloading issue, we propose and implement two application-kernel collaboration mechanisms, i.e. the kernel Flush-Out and kernel Early-Drop, to proactively respond to system load level to maintain system serviceability under overloading condition. These two mechanisms also demonstrate its effectiveness in improving system responsiveness to real-time events. The performance assessment experiment performed on clusters under varied workload patterns indicates the proposed PBDS scheme outperforms existing load balance (LB) schemes and centralized scheduling (CS) in average response time to real-time events while maintaining system throughput. The scalability test demonstrates the PBDS scheme scales well from a small-size cluster (10 nodes) to a mid-size cluster (30 nodes), showing its promising future in providing a scalable solution to large-scale cluster systems. The kernel experiments conducted to compare a regular Linux kernel with a mechanism-enhanced kernel indicate the proposed mechanisms can effectively improve system responsiveness under overloading situations by substantially reducing the real-time event&rsquo;s response time by 7&sim;22% and cutting the event drop rate from 30&sim;45% to 10&sim;21%. The application-kernel mechanisms demonstrate its effectiveness in keeping a cluster server in operational state and maintaining serviceability under high workload conditions, which is essential to the success of applications operating in a mission-critical environment.