We describe a scheduler based on the microeconomic paradigm for scheduling on-line a set of parallel jobs in a multiprocessor system. In addition to increasing the system throughput and reducing the response time, we consider fairness in allocating system resources among the users, and provide the user with control over the relative performances of his jobs. Every user has a savings account in which he receives money at a constant rate. To run a job, the user creates an expense account for that job to which he transfers money from his savings account. The job uses the funds in its expense account to obtain the system resources it needs. The share of the system resources allocated to the user is directly related to the rate at which the user receives money the rate at which the user transfers money into a job expense account controls the job's performance. We prove that starvation is not possible in our model. Simulation results show that our scheduler improves both system and user...
Ion Stoica, Hussein M. Abdel-Wahab, Alex Pothen