Scalable qos-based resource allocation
Ragunathan Rajkumar, Sourav Kumar Ghosh · 2004
A distributed real-time or embedded system consists of a large number of applications that interact with the physical environment and must satisfy end-to-end timing constraints. Applications in such system may offer different quality levels (such as higher or lower frame rates for a video conferencing application) across multiple factors or dimensions (such as frame rate, resolution). The end-user derives different degrees of satisfaction (known as utility) from these quality levels. In this dissertation, we design and implement a resource allocation methodology that determines the quality settings of the applications in a given system with the goal of maximizing the global utility of the system. We build on the QoS-based Resource Allocation Model (Q-RAM) as a QoS optimizer [51]. This acts as a resource manager between the applications and the operating system scheduler. Q-RAM was able to reduce the NP-hard complexity of the optimal algorithm to a polynomial one while yielding a near-optimal solution. Nevertheless, Q-RAM becomes practically intractable as the system becomes large and dynamic. Hence, we develop scalable hierarchical optimization algorithms that yields near-optimal results within 5% of Q-RAM while obtaining several orders magnitude of gain in execution times. Collectively, we name the above techniques as Hierarchical Q-RAM (H-Q-RAM). H-Q-RAM can be practically implemented in large-scale distributed systems at design time and/or at run-time. We apply our scheme to: large multiprocessor systems, hierarchical networked systems, phased-array radar systems and distributed automotive systems. We also exemplify the interaction of this optimizer with the lower level resource scheduler.