In this paper, we attempt to 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 all prior dynamic coscheduling algorithms (Dynamic coscheduling (DCS), Spin Block (SB) and Periodic Boost (PB)) and a new coscheduling technique, called Co-ordinated coscheduling (CC), 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 (followed by SB and DCS), the proposed CC scheme outperforms all other techniques on a Linux platform, followed by SB, PB and DCS, in that order. Finally, we argue that due to its modular design, portable implementation on a standard platform, high performance and tolerance to workload mixes, the proposed CC scheme can be a viable scheduling option for time-sharing clusters.