ArticleslgStudy

biology

Generalized processor sharing

Generalized processor sharing is a biology topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Generalized processor sharing rather than just read about it. In short: Generalized processor sharing (GPS) is an ideal scheduling algorithm for process schedulers and network schedulers. It is related to the fair-queuing principle which groups packets into classes and shares the service capacity between them.

Key takeaways

  • Generalized processor sharing belongs to biology; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Generalized processor sharing to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Generalized processor sharing from memory before moving on to harder problems.

Reference excerpt

Generalized processor sharing (GPS) is an ideal scheduling algorithm for process schedulers and network schedulers. It is related to the fair-queuing principle which groups packets into classes and shares the service capacity between them. GPS shares this capacity according to some fixed weights. In process scheduling, GPS is "an idealized scheduling algorithm that achieves perfect fairness. All practical schedulers approximate GPS and use it as a reference to measure fairness." Generalized processor sharing assumes that traffic is fluid (infinitesimal packet sizes), and can be arbitrarily split. There are several service disciplines which track the performance of GPS quite closely such as weighted fair queuing (WFQ), also known as packet-by-packet generalized processor sharing (PGPS).

Justification In a network such as the internet, different application types require different levels of performance. For example, email is a genuinely store and forward kind of application, but videoconferencing isn't since it requires low latency. When packets are queued up on one end of a congested link, the node usually has some freedom in deciding the order in which it should send the queued packets. One example ordering is simply first-come, first-served, which works fine if the sizes of the queues are small, but can result in problems if there are latency-sensitive packets being blocked by packets from bursty, higher bandwidth applications.

Details In GPS, a scheduler handling N {\displaystyle N} flows (also called "classes", or "sessions") is configured with one weight w i {\displaystyle w_{i}} for each flow. Then, the GPS ensures that, considering one flow i {\displaystyle i} , and some time interval ( s , t ] {\displaystyle (s,t]} such that the flow i {\displaystyle i} is continuously backlogged on this interval (i.e. the queue is never empty), then, for any other flow j {\displaystyle j} , the following relation holds

w j O i ( s , t ) ≥ w i O j ( s , t ) {\displaystyle w_{j}O_{i}(s,t)\geq w_{i}O_{j}(s,t)}

where O k ( s , t ) {\displaystyle O_{k}(s,t)} denotes the amount of bits of the flow k {\displaystyle k} made output on interval ( s , t ] {\displaystyle (s,t]} . Then, it can be proved that each flow i {\displaystyle i} will receive at least a rate

R i = w i ∑ j = 1 N w j R {\displaystyle R_{i}={\frac {w_{i}}{\sum _{j=1}^{N}w_{j}}}R}

where R {\displaystyle R} is the rate of the server. This is a minimal rate. If some flow does not use its bandwidth during some period, this remaining capacity is shared by the active flows with regard to their respective weights. For example, consider a GPS server with w 1 = 2 , w 2 = w 3 = 1 {\displaystyle w_{1}=2,w_{2}=w_{3}=1} . The first flow will receive at least half of the capacity, whereas the other two only get 1/4. Nevertheless, if on some time interval ( s , t ] {\displaystyle (s,t]} , only the second and third flows are active, they will receive each one half of the capacity.

Implementations, parametrization and fairness In GPS, and all protocols inspired by GPS, the choice of the weights is left to the network administrator. Generalized processor sharing assumes that the traffic is fluid, i.e., infinitely divisible so that whenever an application type has packets in the queue, it will receive exactly the fraction of the server given by the formula above. However, traffic is not fluid and consists of packets, possibly of variable sizes. Therefore, GPS is mostly a theoretical idea, and several scheduling algorithms have been developed to approximate this GPS ideal: PGPS, aka Weighted fair queuing, is the most known implementation of GPS, but it has some drawbacks, and several other implementations have been proposed, as Deficit round robin or WF2Q. GPS is considered as a fair ideal, and all its approximations "use it as a reference to measure fairness." Nevertheless, several Fairness measures exist. GPS is insensitive to packet sizes, since it assumes a fluid model.

See also Network scheduler Fair queuing Processor sharing Weighted fair queuing Deficit round robin Weighted round robin Statistical multiplexing Fairness measure

References

Worked examples

Example 1 — a first encounter with Generalized processor sharing

Start with the simplest possible case. Write down what Generalized processor sharing claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In biology, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Generalized processor sharing before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Generalized processor sharing ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Generalized processor sharing

In research
Generalized processor sharing appears in biology research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Generalized processor sharing in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Generalized processor sharing is common in secondary-school and first-year university syllabi. It links to neighbouring topics Scheduling algorithms, so understanding it makes those chapters shorter.
In everyday life
Look for Generalized processor sharing outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Generalized processor sharing in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Generalized processor sharing means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Generalized processor sharing out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Generalized processor sharing in simple terms?

Generalized processor sharing (GPS) is an ideal scheduling algorithm for process schedulers and network schedulers. It is related to the fair-queuing principle which groups packets into classes and shares the service capacity between them.

Why does Generalized processor sharing matter?

Because it connects several biology ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Generalized processor sharing?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Generalized processor sharing.

Tags

  • Scheduling algorithms

Keep exploring