I. Introduction
Nowadays networked applications are growing in popularity and complexity. They are supported by a variety of end devices, services in the cloud and different kind of networks. Resources in modern computer and communication systems include those in end devices such as CPU, memory and disk, and in networks such as bandwidth and spectrum. To serve a user running networked applications, we need to satisfy resource requirements in multiple dimensions within the capacity constraint of each dimension. Therefore, one computing system, as the unit with which some limited resources are associated, can only admit a subset of the users/tasks at the same time. If we assign weight or profit to tasks, our goal is to maximize the total profit admitted to the system without exceeding the resource limitations.