![Page 1: Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f175503460f94c2dbbb/html5/thumbnails/1.jpg)
Flynn’s Taxonomy
• SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time
• SIMD: An array of processors all executing the same instruction but on different data
![Page 2: Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f175503460f94c2dbbb/html5/thumbnails/2.jpg)
Flynn’s Taxonomy
• MISD: Some consider this category to be empty. However, some consider systolic arrays to fall in this category: – Data is pumped through processors, each
processor applying a different operation to the same data stream.
• MIMD: More than one CPU, each running its own program on its own data
![Page 3: Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f175503460f94c2dbbb/html5/thumbnails/3.jpg)
Speedup & Efficiency
• Speedup = (Execution Time on N processors) / (Execution Time on 1 Single Processor)
• NB: Must be the most efficient serial algorithm
• Efficiency = Speedup / N
• Example: if sequential time = 8 sec, parallel time = 2 sec (on 5 processors), then Speedup = 4, Efficiency = 0.8
![Page 4: Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f175503460f94c2dbbb/html5/thumbnails/4.jpg)
Speedup
• Parallelizability: Same as speedup but comparing against the parallel algorithm running on a 1-processor machine
• Can speedup be greater than 1?– Called superlinear speedup– Some say not possible because: a single processor
can always emulate thru time-slicing– Moreover, since parallelization always contains some
overhead, some argue it must be sublinear.
![Page 5: Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f175503460f94c2dbbb/html5/thumbnails/5.jpg)
Superlinear Speedup?
• Some say it is possible because: – sometimes one of the parallel processors may
luck out.– Architecturally, emulation is never perfect
because of factors such as cache hit rate
![Page 6: Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f175503460f94c2dbbb/html5/thumbnails/6.jpg)
Control and Data Parallelism
• Control Parallelism: Different operations are applied to different data elements simultaneously
• Data Parallelism: Same operations are applied to different different data
• Example: Sieve of Erastosthenes
![Page 7: Flynn’s Taxonomy SISD: Although instruction execution may be pipelined, computers in this category can decode only a single instruction in unit time SIMD:](https://reader036.vdocument.in/reader036/viewer/2022083005/56649f175503460f94c2dbbb/html5/thumbnails/7.jpg)
Amdahl’s Law
• If f is an inherently sequential fraction of execution time, then
speedup 1 / [f + (1-f)/p]
• Corollary: Maximum speedup = 1/f