OS 2003 1
Multiprocessor
OS 2003 2
Multiple processor systems
- Why? Clock speed limit:
– 10GHz → 2cm chip size – 100GHz → 2mm chip size – 1THz → <100µm chip size
- In practice, we could put many
Multiprocessor OS 2003 1 Multiple processor systems Why? Clock - - PDF document
Multiprocessor OS 2003 1 Multiple processor systems Why? Clock speed limit: 10GHz 2cm chip size 100GHz 2mm chip size 1THz <100 m chip size In practice, we could put many processors together OS 2003 2
OS 2003 1
OS 2003 2
OS 2003 3
Shared memory c c c c c c c c
Interconnect
c c c c c c c c
M M M M M M M M
Internet
c c c c c c c c
M M M M M M M M
Shared memory Tightly coupled Loosely coupled
OS 2003 4
OS 2003 5
Bus CPU CPU Mem
2 CPUs is fine, 64 is not bus contention
Bus CPU CPU Mem
cache
Bus CPU CPU Mem
cache private memory
OS 2003 6
OS 2003 7
M M M M M M P P P P P P Processor n connects to memory q 1 N 1 Q No conflicts (if memory is available)
OS 2003 8
OS 2003 9
OS 2003 10
– What happens in loosely coupled MP systems – No much sharing of memory, CPU cycles, etc. between processes (e.g. a CPU loaded while others idle)
– Single OS, allocating CPUs and memory – Single data structures (memory page tables, process tables, etc.) – Only the master runs the OS
– SMP, each CPU can run the OS – Make sure updates of e.g. page tables are done consistently (mutexes, different parts and different critical regions within the OS)
OS 2003 11
OS 2003 12
– Multiplexing in time (time sharing) – Multiplexing in space (space sharing)
– Different users might start different processes – Same user starting a group of processes
OS 2003 13
OS 2003 14
OS 2003 15
OS 2003 16
OS 2003 17
client stub
OS
network server stub
OS
OS 2003 18