ECM 1413 Scheduling Flashcards

1
Q

Shortest Job First (SJF)

A
  • Select the process with the shortest execution time
  • Non-preemptive - Preemptive (Shortest Remaining time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Pros and cons of SJF

A

+Better average waiting time
+responsiveness
-estimating process execution time
-May lead to starvation (a long process that doesn’t get executed for an extended period of time as many shorter processes go first)

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

Round Robin

A
  • Time-sliced FIFO execution
  • Preemptive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Pros and cons of Round Robin

A

+Fair CPU allocation
+Responsiveness
+No Starvation
-Time Quantum Sensitivity
-Context Switch overhead

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

First Come First Serve

A
  • FIFO - processes get executed in the order they arrive
  • Non-preemptive - Not interrupted until finishes or reaches a wait state
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Pros and Cons of FCFS

A

+Simple and easy to implement
+reduced context switching
+Intuitively fair
+no starvation
-Convoy effect (poor responsiveness, long average wait times)

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

Multi-level queuing

A

Mapping processes to queues

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

Fixed Priority Scheduling

A
  • High priority queues are executed first
  • May lead to starvation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Time slicing

A
  • A time slice for each queue
  • e.g: 60% for interactive, 30% system, 10% batch
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Pros and cons of Multi-level feedback queues

A

+Supports different performance objectives
-Difficult to calibrate and complex

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

Scheduling criteria

A
  • User-oriented
    ○ Turnaround time
    ○ Response time
  • System-oriented
    ○ Throughput
    ○ Processor utilization
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Multi core processors

A
  • Has multiple processing units on a single cpu chip
  • Each with its own l1 cache unit
  • There is a cache hierarchy
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

For efficient multi-processor scheduling:

A

Load balancing
Processor affinity

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

Load balancing

A

Evenly distribute processes among cpu cores. Common ready queues automatically enforce load balancing

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

Processor Affinity

A

Keep a process on the same CPU core(s)
○ Soft affinity: only processes move if there is a good reason
○ Private queues automatically enforce processor affinity
○ Process data saved on the cache, so it must stay on that core

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

The Linux scheduler

A

The linux scheduler is multi-queue (there are also private queues)
Bottom up load balancing among domains
Processor affinity - only perform load balancing if three are severe imbalances

17
Q

Scheduling domain

A

A set of cpu cores that can be balanced against each other

18
Q

How does the Linux scheduler group processor cores for scheduling?

A

Aggregate a set of CPU cores into one scheduling domain

19
Q

In which order does the Linux Scheduler perform load balancing across scheduling domains?

A

Load balancing is first performed in the smallest scheduling domains, then in successively larger domains

20
Q

What is the Linux scheduler’s approach to balancing load balancing and processor affinity/

A

Load balancing is enforced only when imbalances between cpu groups are severe (soft affinity)