Lecture 3: 3rd October 2019 Flashcards

Scheduling in routers

1
Q

What is scheduling, in general?

A

Distributing requests to access a resource in a manner determined by a system or algorithm.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the scheduled resource in routers?

A

A place in the output queue, to gain bandwidth/capacity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the service of routers?

A

packet forwarding

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the service requests of routers?

A

packets arriving on input lines

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How and why are packets classified in routers?

A

inbound packets and control signals from the forwarding and routing policies are fed into the internal packet classifier. This is because there are multiple output buffers so packets will be sent to the appropriate ones by some measure or distinction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What do the switching fabrics of routers do?

A

Use forwarding/routing tables to move received packets from the packet classifier to output buffers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How is it decided which output queue is able to output in each turn?

A

The scheduler decides this.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is FCFS aka?

A

FIFO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How does FCFS work?

A

1st to arrive is 1st out; one queue preserving chronological order.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are work-conserving scheduling algorithms?

A

Scheduling algorithms in which each packet is serviced ASAP, and as long as there is traffic the output will never be idle. Like a roundabout vs traffic light crossroads: as long as cars in, cars going out.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Is FCFS work-conserving? Why?

A

Yes because as long as there is input into the queue there will be output, and each packet is output as soon as it reaches the end of the queue.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the difference between work-conserving and non-work-conserving algorithms?

A

Work-conserving scheduling algorithms are like a roundabout vs traffic light crossroads: as long as cars in, cars going out. A work-conserving scheduler is a scheduler that always tries to keep the scheduled resource/s busy if there are submitted jobs ready to be scheduled. It’s called work-conserving because it conserves the ability to constantly do work if possible.

Non-work conserving algorithms are harder to implement, usually in software rather than hardware, so are usually used toward the edge of networks. Token buckets are used to implement “speed limits”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the FCFS conservation law?

A

The product of the mean link utilisation and the delay due to the scheduler for each flow a scheduler is managing is equal to a constant which limits the maximum performance of a scheduler without hardware changes. The mean link utilisation is equal to the mean arrival rate divided by the mean service rate.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the consequences of the FCFS conservation law?

A

The mean delay due to a scheduler is inversely proportional to its mean link utilisation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Can routers control the arrival rate?

A

No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

How can routers change their delay (the delay they add)?

A

Routers can’t change the mean arrival rate as this depends on users. To change the lin utilisation, and thereby the scheduling delay, therefore, you must change the service rate, since the constant and arrival rate cannot be changed.

17
Q

Why are non-work-conserving scheduling algorithms better for real-time, interactive applications?

A

They can change their service rates, allowing them to smooth out burts and equalise delays between users. Packets will only be serviced after becoming eligible. This reduces jitter, gives more predictable traffic downstream, and reduces the amount of buffer space needed, but increases end-to-end delay, which could worsen TCP throughput and is more complex to implement.

18
Q

What are some desired properties of scheduling algorithms?

A

easy to implement; fair; protect flows from mis/behaviour of others; give a guaranteed performance; control admissions - security, bandwidth, congestion

19
Q

What are FPGA?

A

Field Programmable Gate Arrays: integrated circuits that allow programmers to set the function of hardware.

20
Q

What is the significance of FPGAs with respect to scheduling in routers?

A

They allow the implementation of complex scheduling algorithms directly in hardware, making them faster, and offsetting the issue with non-work-scheduling or complex algorithms being too slow due to their complexity.

21
Q

What is max-min fairness?

A

A method of allocating the capacity of the resource being scheduled to the users wanting it. Each flow gets the minimum of the capacity it requested and its equitable share.

22
Q

How do you calculate the allocation of a resource to flows with max-min fairness?

A

Each capacity gets the minimum of the capacity it requested and the equitable share of the remaining total capacity. Sort flows by demands, smallest to largest. iterate through each and calculate its capacity. The capacity for each will be the minimum of its demand and (the total max of capacity being allocated, at the start - the amount of capacity already allocated) / the number of remaining flows.

23
Q

What are the consequences of max-min fairness?

A

Each flow either gets amount asked for or a fair share o what’s left. Flows get no more than they need. Since smallest first, incentivised to be honest and not ask for more than needed.

24
Q

What is the degree of aggregation of a scheduling algorithm?

A

How and how quickly routers are able to uniquely identify and distinguish flows. The extent to which flows are grouped together indistinguishably.

25
Q

What should scheduling algorithms consider?

A

The number of priority levels, whether to be work-conserving, the degree of aggregation, and if and how to perform intraqueue servicing.

26
Q

What is simple priority queueing?

A

When you have k queues, with a queue i + 1 having a greater priority than i and being serviced before it.

27
Q

What are the properties of simple priority queueing?

A

Simple to implement, little processing needed, but poor fairness since flows in low priority queues get starved.

28
Q

What is WRR scheduling?

A

WRR = weighted round-robin = each queue gets a number of turns proportionally to its assigned weight.

29
Q

What are the properties of WRR scheduling?

A

Unfairness can arise from different mean packet size / weight in each queue since packets sizes can be unpredictable. Usually fair for long-term flows, however.

30
Q

What is class-based queueing?

A

A mechanism for queuing in which queues are described as being nodes in a hierarchical tree. Each parent node must have a capacity greater than or equal to the sum of its children. Child nodes can exchange capacity if one over and one under.

31
Q

What are the properties of class-based queueing?

A

Only a queueing mechanism - still need scheduling on top. Most widely implemented algorithm; focuses on resource allocation; allows arbitrarily fine-grained queues, to the level of one flow.

32
Q

What is the difference between queueing mechanisms and scheduler applications?

A

Queueing mechanisms describe how queues are made, maintained, and operated on. Scheduling algorithms decide how a queue is picked to have a resource at each turn.