Lecture 11: Multi-Core Processing Flashcards

1
Q

What are our CPU Scheduling strategies for multi-core systems?

A

1) Asymmetric Multi-Processing

2) Symmetric Multi-Processing

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

List the components in Asymmetric Multi-Processing

A

1) 1 CPU = Master CPU (“Control Plan”)

2) Remaining CPU’s = Slave CPUs (“Data or Code Plane)

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

What does the Master CPU do and not do in Asymmetric Multi-Processing?

A

Does: All decisions with regards to:
1) Scheduling (Ready Queue to Running)
2) I/O Processing (from Running to I/O Queue)
3) System Activities
Doesn’t: Run actual code / processes themselves

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

What are the advantages of Asymmetric Multi-Processing?

A

1) No sharing: only one processor accesses the system data structures (Queues)
2) Good Load Balancing

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

List the components in Symmetric Multi-Processing

A

All CPUs = Master CPUs (no slave CPUs).

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

Describe the behaviour of Symmetric Multi-Processing:

A

1) Here, each processor is self-scheduling
2) All processors share a common ready queue or each processor may have its own private queue of ready processes
3) Whether there is a common ready queue or private ready queues, there is a scheduler for each processor that examines the ready queue and dispatches the CPU to a specific process for execution

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

What are the advantages or disadvantages of Asymmetric Multi-Processing?

A

Disadvantage: Sharing can cause issues –> each processor may update common queue or specific PCBs in queue
Advantage: Obvious performance increase - more CPUs in the multi-CPU system, we observe a directly proportional increase in system performance

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

What are the challenges for Multi-Processing Systems?

A

1) Processor Affinity

2) Load Balancing

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

Define: Processor Affinity

A

Process biasness towards a processor due to PCB information already being written into that particular CPU’s cache. (Reading/writing PCBs to caches is an expensive process and it is desirable to keep it minimized)
- higher the processor affinitiy, the lower load balancing we get

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

Define: Load Balancing

A

Evenly spread out CPU Utilization across all CPUs in the multi-processing system. Better load balancing = desirable

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

This applies to both systems: T or F: a process can move from the I/O queue back to the running state / processor

A

False; it always has to go through the Ready Queue to get back to a processor for processing

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

In Asymmetric Multi-Processing: T or F; All CPUs must communicate with each other

A

False; Only Master communicates with the Slaves

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

In Symmetric Multi-Processing: T or F; All CPUs must communicate with each other

A

True; otherwise they will lose their synchronization.

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

What happens to the cache when a process leaves the running state?

A

The contents of the cache memory must be invalidated due to the fact that the next time the process is scheduled, it may be scheduled to another processor

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

Is the contents of the cache memory being invalidated desirable?

A

Not really since read/write operations to memory (cache) are slow and, thus, not desirable. Thus, it would be better if the PCB info was allowed to stay in the cache and for the process to return to the same processor (this is processor affinity / process biasness)

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

What is the phrase used to describe minimizing the act of invalidating the cache when a process goes to I/O queue, possibly resulting the process to go to another CPU?

A

Avoiding migration by utilizing process affinity.

17
Q

Summary of Single-Core VS. Multi-Core Systems:

A

1) Multi-Core vastly more complex than Single-Core
2) Clear performance gains in Multi-core
3) Difference between ASP and SMP is Sharing and Load Balancing / Process Afinity