MIMD Multiple instruction, multiple data

Slides:



Advertisements
Similar presentations
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Advertisements

Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
SE-292 High Performance Computing
Parallel computer architecture classification
1 Parallel Scientific Computing: Algorithms and Tools Lecture #3 APMA 2821A, Spring 2008 Instructors: George Em Karniadakis Leopold Grinberg.
Computer Architecture Introduction to MIMD architectures Ola Flygt Växjö University
Introduction to MIMD architectures
1 Introduction to MIMD Architectures Sima, Fountain and Kacsuk Chapter 15 CSE462.
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
 Parallel Computer Architecture Taylor Hearn, Fabrice Bokanya, Beenish Zafar, Mathew Simon, Tong Chen.
CPE 731 Advanced Computer Architecture Multiprocessor Introduction
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Flynn’s Taxonomy of Computer Architectures Source: Wikipedia Michael Flynn 1966 CMPS 5433 – Parallel Processing.
CS 470/570:Introduction to Parallel and Distributed Computing.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)
Parallel Computing Basic Concepts Computational Models Synchronous vs. Asynchronous The Flynn Taxonomy Shared versus Distributed Memory Interconnection.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Department of Computer Science University of the West Indies.
2015/10/14Part-I1 Introduction to Parallel Processing.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Multiprocessing. Going Multi-core Helps Energy Efficiency William Holt, HOT Chips 2005 Adapted from UC Berkeley "The Beauty and Joy of Computing"
Orange Coast College Business Division Computer Science Department CS 116- Computer Architecture Multiprocessors.
PARALLEL PROCESSOR- TAXONOMY. CH18 Parallel Processing {Multi-processor, Multi-computer} Multiple Processor Organizations Symmetric Multiprocessors Cache.
Outline Why this subject? What is High Performance Computing?
Computer Architecture And Organization UNIT-II Flynn’s Classification Of Computer Architectures.
Lecture 3: Computer Architectures
Parallel Processing Presented by: Wanki Ho CS147, Section 1.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Parallel Computing Presented by Justin Reschke
CDA-5155 Computer Architecture Principles Fall 2000 Multiprocessor Architectures.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
These slides are based on the book:
CS203 – Advanced Computer Architecture
Auburn University COMP8330/7330/7336 Advanced Parallel and Distributed Computing Parallel Hardware Dr. Xiao Qin Auburn.
Introduction to Parallel Processing
Flynn’s Taxonomy Many attempts have been made to come up with a way to categorize computer architectures. Flynn’s Taxonomy has been the most enduring of.
Overview Parallel Processing Pipelining
Advanced Architectures
CHAPTER SEVEN PARALLEL PROCESSING © Prepared By: Razif Razali.
Distributed and Parallel Processing
Multiprocessor Systems
CMSC 611: Advanced Computer Architecture
Introduction to parallel programming
Distributed Processors
Parallel computer architecture classification
buses, crossing switch, multistage network.
Course Outline Introduction in algorithms and applications
CS 147 – Parallel Processing
Flynn’s Classification Of Computer Architectures
Multi-Processing in High Performance Computer Architecture:
CMSC 611: Advanced Computer Architecture
Parallel and Multiprocessor Architectures – Shared Memory
Parallel Architectures Based on Parallel Computing, M. J. Quinn
Different Architectures
Chapter 17 Parallel Processing
Symmetric Multiprocessing (SMP)
Multiprocessors - Flynn’s taxonomy (1966)
Introduction to Multiprocessors
buses, crossing switch, multistage network.
Overview Parallel Processing Pipelining
AN INTRODUCTION ON PARALLEL PROCESSING
Advanced Computer and Parallel Processing
Part 2: Parallel Models (I)
Chapter 4 Multiprocessors
Advanced Computer and Parallel Processing
Lecture 24: Virtual Memory, Multiprocessors
Lecture 23: Virtual Memory, Multiprocessors
CSL718 : Multiprocessors 13th April, 2006 Introduction
Presentation transcript:

MIMD Multiple instruction, multiple data BY Michael Nuzzolo

Introduction Multiple instruction streams Multiple data streams At any time, different processors may be executing different instructions on different pieces of data. Not limited to executing a single instruction (SIMD)

Parallelism Architectures Single Instruction Multiple Instruction Single Program Multiple Program Single Data SISD MISD - Multiple Data SIMD MIMD SPMD MPMD Flynn’s Taxonomy

Multiple Instruction, Multiple Data Became popular in the 80s, when multiple processors became relatively inexpensive and easily accessible ^Made possible by progress in integrated circuit technology and the transputer By the 90s, MIMD computers with hundreds of processors became available Transputer was the first general purpose microprocessor designed specifically to be used in parallel computing systems (Sima, D., Fountain, T. J., Kacsuk, P.)

Example Program Execution Speed is dependent on the longest execution time of one processor in MMD (Wojcik, 2014)

(Baig, El-Ghazawi, and Alexandridis, p.460) MIMD Good at independent branching (if & else) Poor at synchronization and communication (SIMD has opposite problem) MSIMD/MIMD systems solve this problem, but are expensive Configured at run-time Multiple SIMD/ MIMD (Baig, El-Ghazawi, and Alexandridis, p.460)

MIMD Allows for more efficient execution of conditional statements because each processor can independently follow either decision path Generally more expensive and complex than SIMD Multiple decoders (one for each processor) (Kaur & Kaur, 2013)

Memory Architectures Shared Memory Distributed Memory

Interconnection Network Shared Memory Memory 1 Memory 2 Memory 3 Interconnection Network Processor 1 Processor 2 Processor 3 (Choi, 2014)

Shared Memory Advantages: Can use single processor programming style Efficient communication between processors Disadvantages: Need to synchronize access to the shared data Memory contention limits scalability (Choi, 2014)

Shared Memory Classes NUMA COMA CC-NUMA (Kaur & Kaur, 2013) COMA and CC-NUMA are used in newer generation of parallel computers (Kaur & Kaur, 2013)

NUMA (Non-uniform memory access) Shared memory is divided into blocks, each block is attached with processor (Kaur & Kaur, 2013)

NUMA (PE - processing element) (Choi, 2014)

COMA (Cache only memory access) Every memory block works as a cache memory (Kaur & Kaur, 2013)

COMA (Choi, 2014)

CC-NUMA (Cache-coherent non-uniform memory access) Cache memory and memory blocks are attached with a processor Solves cache coherence problem (Kaur & Kaur, 2013)

CC-NUMA (Choi, 2014)

Memory Architectures Shared Memory Distributed Memory

Interconnection Network Distributed Memory PE 1 PE 2 PE 3 Memory 1 Memory 2 Memory 3 Processor 1 Processor 2 Processor 3 Interconnection Network (Choi, 2014)

Distributed Memory Each processor contains its own memory Accessing remote memory can cause stalls Messages are sent between processing elements by switch units (router) May be a communication processor - organizes communication, packetizing & depacketizing (Kaur & Kaur, 2013)

Distributed Memory Advantages: Scalable design No synchronization problem Disadvantages: Load balancing problem Message passing between processors causes deadlock Shared data must be copied between processors (Choi, 2014)

References Kaur, Mandeep, Kaur, Rajdeep. (September, 2013) A Comparative Analysis of SIMD and MIMD Architectures. International Journal of Advanced Research in Computer Science and Software Engineering (1151-1156). http://www.ijarcsse.com/docs/papers/Volume_3/9_September2013/V3I9-0332.pdf Choi, Ben. (2014) Introduction to MIMD Architectures http://www2.latech.edu/~choi/Bens/Teaching/Development/Hardware/ Wojcik, Vlad. (2013)Taxonomy of Supercomputers http://www.cosc.brocku.ca/Offerings/3P93/notes/2-Taxonomy.pdf Sima, D., Fountain, T. J., Kacsuk, P.. Advanced Computer Architectures. Chaper 15 - Introduction to MIMD Architectures http://eclass.uoa.gr/modules/document/file.php/D36/%CE%A3%CE%B7%CE%BC% CE%B5%CE%B9%CF%8E%CF%83%CE%B5%CE%B9%CF%82%20%CE%93%C E%B9%CE%AC%CE%BD%CE%BD%CE%B7%20%CE%9A%CE%BF%CF%84%C F%81%CF%8E%CE%BD%CE%B7%29/chap15%20SIMA%20MIMD.pdf