Multi-Processor Systems Flashcards
(15 cards)
General Purpose GPU (GPGPU)
Purpose: GPUs are increasingly used for general processing beyond graphics.
Strengths:
Highly pipelined and can perform fine-grained parallelism.
Limitations:
Tend to have limited I/O interfaces and are more suited to batch-style processing.
Non-Uniform Memory Access (NUMA
Definition: In NUMA systems, the memory access time varies depending on which processor accesses it.
Fast Access: Memory directly connected to the CPU.
Slow Access: Memory connected to a different CPU.
Symmetric Multi-Processing (SMP)
All processors are equal, each running its own scheduler.
Run Queues: Can be either shared between processors or specific to each one.
Challenges:
Load-balancing and process migration become complex.
Push: Processes are redistributed across CPUs.
Pull: Idle processors request more processes.
Benefit: Improves overall system performance with parallel processing.
Asymmetric Multi-Processing (AMP)
A single processor runs the scheduler and coordinates all other processors.
Challenges:
Scheduler data structures are accessed only by the main CPU.
Significant cost in moving processes (invalidates caches).
Some processors (like specialist processors) may not be suitable for all tasks.
Processor Affinity
A process has an affinity for specific CPUs.
This is controlled by a bitmask that indicates which CPUs the process can run on.
cons: If a process last ran on a specific CPU, it’s likely to run there again.
Interrupts in Multi-Processor Systems
Interrupt Direction: Interrupts need to be routed to the correct CPU, especially in systems with multiple processors.
Spin-Locks
definition: Spin-locks are used in multi-processor systems to handle brief locks.
efficient for short term locks
what is a multi processor
A multi-processor system is a computer system that has two or more processors (CPUs) working together to perform tasks
virtualisation
Virtualization helps to efficiently use resources, securely isolate systems, and easily create or move virtual machines.
It’s used in cloud services, server hosting, and load balancing.
Motivation for Virtualization
Underused machines: Many servers aren’t fully used, so virtualization helps utilize them better.
Need for strong isolation: Simple protection is not enough when hosting servers or running cloud services.
Virtualization provides independent and secure virtual machines.
Types of Virtualization
Type 0 - Mainframes:
Uses hardware support to divide resources (like processors) between different OSs on a single machine.
Type 1 - Bare-metal Hypervisors:
Examples: VMware ESX, Linux KVM, Windows Hyper-V.
Runs directly on the hardware without needing an underlying operating system.
Type 2 - Hosted Virtualization:
Examples: VMware Workstation, VirtualBox.
Runs on top of an existing operating system.
Containers (OS Partitioning):
Example: Linux LXC (Linux Containers).
Divides the OS into lightweight sections (containers), sharing the main OS kernel.
Hardware Virtualization
manage devices like network cards and storage across multiple VMs, making the system more efficient and secure.
Intel and AMD Support:
intel VT-x, VT-i, VT-d and AMD-V: Technologies that allow processors to directly support virtual machines (VMs).
Single-Root I/O Virtualization (SR-IOV)
Physical Function (PF): The real device.
Virtual Functions (VFs): Virtual versions of the device for each VM.
SR-IOV: Makes the same device appear as multiple devices to different VMs.
Intel VT-d and I/O-MMU
I/O-MMU: Protects data when VMs access I/O devices (like network cards).
Protection Domains: Each VM gets its own secure I/O space to avoid conflicts.