Abstract
The QoS-based Resource Allocation Model (Q-RAM) proposed in [20] presented an analytical approach for satisfying multiple quality-of-service dimensions in a resource-constrained environment. Using this model, available system resources can be apportioned across multiple applications such that the net utility that accrues to the end-users of those applications is maximized. In this paper, we present several practical solutions to allocation problems that were beyond the limited scope of [20]. First, we show that the Q-RAM problem of finding the optimal resource allocation to satisfy multiple QoS dimensions (at least one of which is dependent on another) is NP-hard. We then present a polynomial solution for this resource allocation problem which yields a solution within a provably fixed and short distance from the optimal allocation. Secondly, [20] dealt mainly with the problem of apportioning a single resource to satisfy multiple QoS dimensions. In this paper, we study the converse problem of apportioning multiple resources to satisfy a single QoS dimension. In practice, this problem becomes complicated, since a single QoS dimension perceived by the user can be satisfied using different combinations of available resources. We show that this problem can be formulated as a mixed integer programming problem that can be solved efficiently to yield an optimal resource allocation. Finally, we also present the run-times of these optimizations to illustrate how these solutions can be applied in practice. We expect that a good understanding of these solutions will yield insights into the general problem of apportioning multiple resources to satisfy simultaneously multiple QoS dimensions of multiple concurrent applications.