multi-processor systems Flashcards

1
Q

in which ways is it difficult to implement multiprocessor systems

A

when using different types of cpus they may have different layouts / limited io interfaces and may need special libraries
memory to process access costs may be different leading to slower access times

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

how does symmetric multiprocessing work

A

the processor are considered equal and can run their own schedulers

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

in symmetric multiprocessing in which tow ways can we implement the run queues

A

shared between different processors
a queue per processor

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

what is a negative of having a run queue per processor in symmetric multiprocessing

A

adds complexity: need load balancing across different processors

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

how do we load balance between different processors in symmetric multiprocessing

A

pull: a processor thats free can pull processes from another queue on the system
push: redistribute periodic tasks to different processors via a management processor

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

how does asymmetric multiprocessing work

A

one processor coordinates all the others in the system

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

what is a positive of asymmetric multiprocessing work

A

simpler system: there’s only one processor looking at the data structures for example

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

what are two negatives of asymmetric multiprocessing work

A

high cost of moving one process between processors
- may need to invalidate caches
- io and interrupt handling may be bound to
a specific cpu/ have to be directed
- need the state and context
some processors may not be suited to a specific task

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

how does processor affinity work to distribute processes

A

each process has a cpu affinity bit mask and a preferred and next cpu
when a cpu becomes free the scheduler looks for a ready process for it based on:
- if the process last ran on that cpu
- if it lists it as its preferred cpu
- if its high priority

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

cpu affinity bit mask

A

defines the cpus that the process can run on

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

how do interrupts and multiprocessor systems work

A

interrupts from io operations need to be directed to the correct cpu and if not then the cpu must forward the request or even move code or data

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

negative of interrupts and multiprocessor systems

A

extra overhead and latency
high cost in non uniform memory allocation (numa) systems as you have to go through different processes (not too bad for symmetric)

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