- 2071 Magh · 6 marks
Instruction, thread, process level parallelism
Short answer
Instruction-level parallelism overlaps multiple instructions inside one processor via pipelining and superscalar execution. Thread-level parallelism splits a program into threads sharing an address space, running concurrently on multiple cores. Process-level parallelism runs independent processes with separate address spaces on multiple processors, communicating via IPC.
Describe instruction level, thread level and process level parallelism.
Instruction-level parallelism (ILP)
Several instructions of a single program are overlapped or executed at the same time inside one processor. Hardware techniques include pipelining, superscalar execution (several execution units issue more than one instruction per clock), out-of-order execution, and VLIW. The limit comes from data and control dependences between instructions. The programmer need not do anything; the hardware or compiler extracts it.
Thread-level parallelism (TLP)
A program is split into several threads (lightweight units sharing the same address space and resources), and threads execute at the same time on different cores, or are interleaved on one core with hardware multithreading (such as Hyper-Threading). For example, a web browser uses one thread for the user interface and others for downloading. Threads communicate through shared memory and need synchronisation (locks).
Process-level parallelism
Different independent processes (separate address spaces) run simultaneously on multiple processors or machines (multiprocessors, clusters). Processes communicate by IPC (messages, pipes). It is coarse-grained and suits multi-user and distributed systems, for example running a compiler and a database server in parallel.
| Level | Unit | Granularity | Example |
|---|---|---|---|
| Instruction | Instruction | Fine | Pipeline, superscalar |
| Thread | Thread | Medium | Multicore, Hyper-Threading |
| Process | Process | Coarse | Cluster, multiprocessor |
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Parallelism, IPC deadlock and OS role · Microprocessor, chapter 6
- Process vs thread; user and kernel threads · Operating System, chapter 2
- Process versus thread differences · Embedded System, chapter 6 · asked 4×
- Process vs thread; multithreading advantages · Operating System, chapter 2
- What is process; process vs thread · Operating System, chapter 2