Fair-share scheduling

Fair-share scheduling

Fair-share scheduling is a scheduling strategy for computer operating systems in which the CPU usage is equally distributed among system users or groups, as opposed to equal distribution among processes.

For example, if four users (A,B,C,D) are concurrently executing one process each, the scheduler will logically divide the available CPU cycles such that each user gets 25% of the whole (100% / 4 = 25%). If user B starts a second process, each user will still receive 25% of the total cycles, but both of user B's processes will now use 12.5%. On the other hand, if a new user starts a process on the system, the scheduler will reapportion the available CPU cycles such that each user gets 20% of the whole (100% / 5 = 20%).

Another layer of abstraction allows us to partition users into groups, and apply the fair share algorithm to the groups as well. In this case, the available CPU cycles are divided first among the groups, then among the users within the groups, and then among the processes for that user. For example, if there are three groups (1,2,3) containing three, two, and four users respectively, the available CPU cycles will be distributed as follows:

* 100% / 3 groups = 33.3% per group
* Group 1: (33.3% / 3 users) = 11.1% per user
* Group 2: (33.3% / 2 users) = 16.7% per user
* Group 3: (33.3% / 4 users) = 8.3% per user

One common method of logically implementing the fair-share scheduling strategy is to recursively apply the round-robin scheduling strategy at each level of abstraction (processes, users, groups, etc.) The time quantum required by round-robin is arbitrary, as any equal division of time will produce the same results.

See also

*Scheduling algorithm


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Fair-Share-Scheduling — ist ein Scheduling Verfahren für Betriebssysteme, in denen die CPU Nutzung gleichmäßig zwischen den System Benutzern oder Gruppen verteilt wird, im Gegensatz zur gleichen Verteilung zwischen Prozessen. Wenn beispielsweise vier Benutzer (A,B,C,D)… …   Deutsch Wikipedia

  • Scheduling (Informatik) — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

  • Fair queuing — is a scheduling algorithm used in computer and telecommunications networks to allow multiple packet flows to fairly share the link capacity. The advantage over conventional first in first out (FIFO) queuing is that a high data rate flow,… …   Wikipedia

  • Completely Fair Scheduler — The Completely Fair Scheduler is the name of a task scheduler which was merged into the 2.6.23 release of the Linux kernel. It handles CPU resource allocation for executing processes, and aims to maximize overall CPU utilization while also… …   Wikipedia

  • Lottery scheduling — is a probabilistic scheduling algorithm for processes in an operating system. Processes are each assigned some number of lottery tickets, and the scheduler draws a random ticket to select the next process. The distribution of tickets need not be… …   Wikipedia

  • Lotterie-Scheduling — ist ein Wahrscheinlichkeits Scheduling Verfahren für Prozesse in einem Betriebssystem. Prozesse bekommen alle eine bestimmte Anzahl von Losen zugewiesen und der Prozess Scheduler zieht ein Zufallslos, um den nächsten Prozess auszuwählen. Die… …   Deutsch Wikipedia

  • Scheduling (computing) — This article is about processes assignment in operating systems. For other uses, see Scheduling (disambiguation). Scheduling is a key concept in computer multitasking, multiprocessing operating system and real time operating system designs.… …   Wikipedia

  • Round-robin scheduling — Round robin (RR) is one of the simplest scheduling algorithms for processes in an operating system, which assigns time slices to each process in equal portions and in order, handling all processes without priority. Round robin scheduling is both… …   Wikipedia

  • I/O scheduling — For process scheduling, see scheduling (computing). For process management, see process management (computing). Input/output (I/O) scheduling is a term used to describe the method computer operating systems decide the order that block I/O… …   Wikipedia

  • Prozessverwaltung — Ein Prozess Scheduler (Scheduler = Steuerprogramm) ist eine Arbitrationslogik, der die zeitliche Ausführung mehrerer Prozesse in Betriebssystemen regelt. Prozess Scheduler kann man grob in unterbrechende (preemptive) und nicht unterbrechende (non …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”