Your SlideShare is downloading. ×
0
Lecture2
Lecture2
Lecture2
Lecture2
Lecture2
Lecture2
Lecture2
Lecture2
Lecture2
Lecture2
Lecture2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Lecture2

594

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
594
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. CS-416 Parallel and Distributed Systems<br />JawwadShamsi<br />Lecture #2 <br />19th January 2010<br />
  • 2. How Much of Parallelism<br />Decomposition: The process of partitioning a computer program into independent pieces that can be run simultaneously (in parallel).<br />Data Parallelism<br />Task Parallelism<br />
  • 3. Scalar Instruction<br />Single Instruction at a time<br />Load R1 @ 1000<br />Vector Instruction<br />Vector operations<br />C(1:100)=A(1:100)+B(1:100)<br />Super computer<br />Vector Instructions with pipelined floating point arithematic<br />
  • 4. Pipelining<br />Pipelining overlaps various stages of instruction execution to achieve performance. <br />At a high level of abstraction, an instruction can be executed while the next one is being decoded and the next one is being fetched. <br />This is akin to an assembly line for manufacture of cars. <br />
  • 5. Pipeline-limitations<br />Pipelining, however, has several limitations. <br />The speed of a pipeline is eventually limited by the slowest stage. <br />For this reason, conventional processors rely on very deep pipelines (20 stage pipelines in state-of-the-art Pentium processors). <br />However, in typical program traces, every 5-6th instruction is a conditional jump! This requires very accurate branch prediction. <br />The penalty of a misprediction grows with the depth of the pipeline, since a larger number of instructions will have to be flushed.<br />
  • 6. Pipelining and Superscalar Execution <br />One simple way of alleviating these bottlenecks is to use multiple pipelines. <br />The question then becomes one of selecting these instructions. <br />
  • 7. Super Scalar Execution<br />Issue multiple instructions during the same CPU cycle<br />How?<br />By simultaneously dispatching multiple instructions to redundant units<br />not a separate CPU core <br />but an execution resource within a single CPU e.g. ALU<br />
  • 8. Difference Between Vector Instruction and Pipelining<br />
  • 9. Parallel Processing <br />Computer speed / output is increased through parallel processing<br />Increase hardware<br />Increase cost<br />Tech advancements<br />Increase in cost is minimal<br />
  • 10. Types of Parallelism - explained<br />
  • 11. Data Parallelism<br />Same code segment runs concurrently on each processor<br />Each processor is assigned its own part of the data to work on<br />

×