Skip to Main Content
In this paper, we propose a new algorithm for fair scheduling, and we compare it to other scheduling schemes such as the earliest deadline first (EDF) and the first come first served (FCFS) schemes. Our algorithm uses a max-min fair sharing approach for providing fair access to users. When there is no shortage of resources, the algorithm assigns to each task enough computational power for it to finish within its deadline. When there is congestion, the main idea is to fairly reduce the CPU rates assigned to the tasks so that the share of resources that each user gets is proportional to the users weight. The weight of a user may be defined as the users contribution to the infrastructure or the price he is willing to pay for services or any other socioeconomic consideration. In our algorithms, all tasks whose requirements are lower than their fair share CPU rate are served at their demanded CPU rates. However, the CPU rates of tasks whose requirements are larger than their fair share CPU rate are reduced to fit the total available computational capacity in a fair manner. Three different versions of fair scheduling are adopted in this paper: the simple fair task order (SFTO), which schedules the tasks according to their respective fair completion times, the adjusted fair task order (AFTO), which refines the SFTO policy by ordering the tasks using the adjusted fair completion time, and the max-min fair share (MMFS) scheduling policy, which simultaneously addresses the problem of finding a fair task order and assigning a processor to each task based on a max-min fair sharing policy. Experimental results and comparisons with traditional scheduling schemes such as the EDF and the FCFS are presented using three different error criteria. Validation of the simulations using real experiments of tasks generated from 3D image- rendering processes is also provided. The three proposed scheduling schemes can be integrated into existing grid computing architectures.