Scheduling legacy multimedia applications
Millions of applications have been developed on conventional time-sharing systems. We call those applications legacy applications. Many of them, typically multimedia applications, have Quality of Service (QoS) demands, which are not supported in time-sharing systems. Although many scheduling algorithms and schedulers have been proposed to schedule multimedia applications, it is not feasible to rebuild millions of legacy multimedia applications in a completely new programming model. Moreover, the execution pattern of multimedia applications is difficult to predict.This work presents a legacy application-compatible, adaptation-oriented scheduling framework. The new scheduler is implemented as a Linux loadable module. Thus users can either use the original Linux scheduler or use our scheduler by loading the module. In the new scheduler, users can reserve a default execution rate for legacy multimedia applications, and a rate adjustment mechanism is provided for adaptation. The framework also supports rate-based execution (RBE) and periodic threads that run at a constant rate, and non-real-time threads that have no QoS demand.