Fair-Share-Scheduling

Fair -share scheduling is a scheduling method for operating systems where the CPU usage is evenly distributed between system users or groups, in contrast to the equal distribution between processes.

For example, if four users (A, B, C, D) each perform a process at the same time, the process scheduler divides the available CPU cycles so that each user gets 25% of all cycles (100 % / 4 = 25%). If the user B starts a second process, each user will still get 25% of all cycles, but each processes of B will now use only 12.5%. However, when a new user starts a process in the system, the scheduler will divide the available CPU cycles new, so that each user gets 20% of all cycles (100 % / 5 = 20%).

A further level of abstraction makes it possible to divide users into groups and the fair share algorithm also apply to groups. In this case, the available CPU cycles are divided only by the number of groups, then the number of users in the group and then by the number of processes per user. For example, when there are three groups (1,2,3), each having three, two, and four users, the available CPU cycles are divided as follows:

A common method of logical implementation of the fair-share scheduling method is ( etc. processes, users, groups ) recursively apply the round-robin scheduling method on each level of abstraction. The time quantum that requires the round-robin is not important here, because each allocation of the same time would provide the same results.

  • Operating system theory
324880
de