Parallel Architectures MIMD Machines
CMSC 415: Computer Architecture Marist College Spring 2001 Crystal VanDeMark Matthew Cousens
From the beginning of time, computer scientists have been challenging computers with larger and larger problems. Eventually, computer processors were combined together in parallel to work on the same task together. This is parallel processing. Types Of Parallel Processing SISD – Single Instruction stream, Single Data stream MISD – Multiple Instruction stream, Single Data stream SIMD – Single Instruction stream, Multiple Data stream MIMD – Multiple Instruction stream, Multiple Data stream
CPU Data Multiply SISD One piece of data is sent to one processor. Ex: To multiply one hundred numbers by the number three, each number would be sent and calculated until all one hundred results were calculated.
MISD One piece of data is broken up and sent to many processor. CPU Data CPU Search CPU CPU Ex: A database is broken up into sections of records and sent to several different processor, each of which searches the section for a specific key.
Data CPU Data CPU Multiply Data CPU Data CPU SIMD Multiple processors execute the same instruction of separate data. Ex: A SIMD machine with 100 processors could multiply 100 numbers, each by the number three, at the same time.
MIMD Multiple processors execute different instruction of separate data. Data CPU Multiply Data CPU Search Data CPU Add Data CPU Subtract This is the most complex form of parallel processing. It is used on complex simulations like modeling the growth of cities.
MIMD computers usually have a different program running on every processor. This makes for a very complex programming environment. What’s doing what when? What processor? Doing which task? At what time?
Memory latency The time between issuing a memory fetch and receiving the response. Simply put, if execution proceeds before the memory request responds, unexpected results will occur. What values are being used? Not the ones requested!
A similar problem can occur with instruction executions themselves. Synchronization The need to enforce the ordering of instruction executions according to their data dependencies. Instruction b must occur before instruction a.
Despite potential problems, MIMD can prove larger than life. MIMD Successes IBM Deep Blue – Computer beats professional chess player. Some may not consider this to be a fair example, because Deep Blue was built to beat Kasparov alone. It “knew” his play style so it could counter is projected moves. Still, Deep Blue’s win marked a major victory for computing.
IBM’s latest, a supercomputer that models nuclear explosions. IBM Poughkeepsie built the world’s fastest supercomputer for the U. S. Department of Energy. It’s job was to model nuclear explosions.
MIMD – it’s the most complex, fastest, flexible parallel paradigm. It’s beat a world class chess player at his own game. It models things that few people understand. It is parallel processing at its finest.