Module 1: PARALLEL AND DISTRIBUTED COMPUTING
Module 1: PARALLEL AND DISTRIBUTED COMPUTING
Fundamentals
Motivation
• With respect to both hardware and software,
– Road blocks to improve performance with serial
code / single uni-core systems
• TLP
• Control Unit
– Unit to control the Data path
Pipelining
Pipelined Data-path
• Data Hazards
• Control Hazards
Pipeline Hazards & Solutions
• Structural Hazards
– Redundancy
• Data Hazards
– Forwarding, Loop Unrolling
• Control Hazards
– Branch Prediction
Constraints in In-order Execution
• Eg:
DIV.D F0,F2,F4
ADD.D F6,F0,F8
SUB.D F8,F10,F14
MUL.D F6,F10,F8
– WAR Hazard between ADD.D and SUB.D
– WAW Hazard between ADD.D and MUL.D
Out-of-Order Completion Complexities
• Exceptions should be preserved and imprecise
exceptions should not arise.
• Exploiting ILP
What is Instruction Level Parallelism?
Power Wall
Multi-core processor
Multi-core processor with shared cache Multi-core processor with distributed cache
Goals of Parallelism
What are the Goals of parallelism?
• To make the architectural design scalable