CM12002 Multi-Processor Systems

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/21

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 3:35 PM on 5/23/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

22 Terms

1
New cards

What is shared memory? [2]

All processors are connected over a logical bus

All have access to common memory

2
New cards

Why is shared memory not easy to implement? [2]

Speed of access of processors is not constant

Harder to keep consistent with more caching

3
New cards

What is unified memory access (UMA)? [2]

Processors have equal access to shared memory

One processor can access bus at one time

4
New cards

What are disadvantages of UMA? [2]

Bus contention

Cache coherency

5
New cards

What is non-uniform memory access? [2]

Use a large scale network instead of bus

Memory closer to the CPU on network is faster since less hops needed

6
New cards

What is an NC NUMA machine? [2]

Non-Cache Coherent Non-Uniform Memory Access

Avoids caching or leaves programmer to deal with it

7
New cards

What is a CC NUMA? [2]

Requires OS to keep track of caches

Uses a directory to keep track

8
New cards

What are 3 ways an OS is used on multi-processor machines? [3]

Every processor runs its own OS

Leader-follower approach

Symmetric Multi-Processors (SMP)

9
New cards

How does one OS per processor work? [3]

Full, independent OS on each processor

Extended memory mapping API

Better than having separate machines as resources can be shared

10
New cards

How does the leader-follower approach work? [3]

OS runs on first processor

Coordinates launching user processes on other processors

Bottlenecks at scale

11
New cards

How does SMP work? [3]

All processors take turns becoming the leader

Removes bottleneck

Need to manage single copy of OS tables, if more than one processor tries to access, we risk corruption

12
New cards

What is multiprocessor scheduling? [3]

Multiple kernel threads running simultaneously

Maintain list of threads running and threads ready to run
Load balance across all processors

13
New cards

What is smart scheduling? [2]

Letting a thread run a little longer than its allocated time

So system is overall more efficient

14
New cards

What is affinity scheduling? [2]

When a thread runs on a processor, it fills the cache

Therefore next time slice, it should run on the same processor

15
New cards

What is two-level scheduling? [2]

Thread is allocated to least busy processor on creation

Then scheduled within that processor

16
New cards

What is space sharing? [2]

If multiple threads communicate, making them run together is more efficient

So assume threads are created in batches, only allocate when enough processors available

17
New cards

What is gang scheduling? [2]

Groups of related threads scheduled in a gang

All gang members run at once on different processors, start and end time slice together

18
New cards

What is message passing? [2]

Uses a standardised API which allows for portability of applications

Point to point messages and collective operations

19
New cards

What are remote procedure calls? [2]

One process can call a function on another processor

Client calls a stub in library, which calls server stub in remote server

20
New cards

What is distributed shared memory? [2]

When process accesses memory location that is not mapped, requests a copy

Allows multiple read only copies for whole system

21
New cards

What is false sharing? [2]

Two processors have own private variables within single page

Writing to the page will require maintaining coherence

22
New cards

What are distributed systems? [2]

Each machine is separate

Parallelism comes from a user level layer