Types of Parallel Computers

Similar documents
BİL 542 Parallel Computing

Outline. Distributed Shared Memory. Shared Memory. ECE574 Cluster Computing. Dichotomy of Parallel Computing Platforms (Continued)

Parallel Systems Prof. James L. Frankel Harvard University. Version of 6:50 PM 4-Dec-2018 Copyright 2018, 2017 James L. Frankel. All rights reserved.

Parallel Architectures

Scalability and Classifications

Chapter 8 : Multiprocessors

COSC 6374 Parallel Computation. Parallel Computer Architectures

COSC 6374 Parallel Computation. Parallel Computer Architectures

Parallel Computers. c R. Leduc

FLYNN S TAXONOMY OF COMPUTER ARCHITECTURE

Parallel Architecture. Sathish Vadhiyar

Computer parallelism Flynn s categories

Chapter 1. Introduction: Part I. Jens Saak Scientific Computing II 7/348

Lecture 7: Parallel Processing

Advanced Parallel Architecture. Annalisa Massini /2017

Introduction to Parallel and Distributed Systems - INZ0277Wcl 5 ECTS. Teacher: Jan Kwiatkowski, Office 201/15, D-2

Multiprocessors - Flynn s Taxonomy (1966)

Parallel Processors. The dream of computer architects since 1950s: replicate processors to add performance vs. design a faster processor

Advanced Computer Architecture. The Architecture of Parallel Computers

Parallel Architectures

CSE Introduction to Parallel Processing. Chapter 4. Models of Parallel Processing

Overview. Processor organizations Types of parallel machines. Real machines

Computer Architecture

Parallel Computer Architectures. Lectured by: Phạm Trần Vũ Prepared by: Thoại Nam

Chapter 11. Introduction to Multiprocessors

COSC 6385 Computer Architecture - Multi Processor Systems

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

MULTIPROCESSORS AND THREAD-LEVEL. B649 Parallel Architectures and Programming

MULTIPROCESSORS AND THREAD-LEVEL PARALLELISM. B649 Parallel Architectures and Programming

Lecture 7: Parallel Processing

ARCHITECTURAL CLASSIFICATION. Mariam A. Salih

Processor Architecture and Interconnect

CS Parallel Algorithms in Scientific Computing

SHARED MEMORY VS DISTRIBUTED MEMORY

Dr. Joe Zhang PDC-3: Parallel Platforms

CS 770G - Parallel Algorithms in Scientific Computing Parallel Architectures. May 7, 2001 Lecture 2

Pipeline and Vector Processing 1. Parallel Processing SISD SIMD MISD & MIMD

SMD149 - Operating Systems - Multiprocessing

Overview. SMD149 - Operating Systems - Multiprocessing. Multiprocessing architecture. Introduction SISD. Flynn s taxonomy

Lecture 2 Parallel Programming Platforms

Unit 9 : Fundamentals of Parallel Processing

Chapter 9 Multiprocessors

CS/COE1541: Intro. to Computer Architecture

Multiple Issue and Static Scheduling. Multiple Issue. MSc Informatics Eng. Beyond Instruction-Level Parallelism

Flynn s Taxonomy of Parallel Architectures

Computer and Information Sciences College / Computer Science Department CS 207 D. Computer Architecture. Lecture 9: Multiprocessors

BlueGene/L (No. 4 in the Latest Top500 List)

ARCHITECTURES FOR PARALLEL COMPUTATION

Computer Architecture and Organization

EE/CSCI 451: Parallel and Distributed Computation

Taxonomy of Parallel Computers, Models for Parallel Computers. Levels of Parallelism

10 Parallel Organizations: Multiprocessor / Multicore / Multicomputer Systems

Issues in Multiprocessors

Introduction to parallel computing

COMP4300/8300: Overview of Parallel Hardware. Alistair Rendell. COMP4300/8300 Lecture 2-1 Copyright c 2015 The Australian National University

COMP4300/8300: Overview of Parallel Hardware. Alistair Rendell

Fundamentals of. Parallel Computing. Sanjay Razdan. Alpha Science International Ltd. Oxford, U.K.

Computer Architecture Spring 2016

Chap. 4 Multiprocessors and Thread-Level Parallelism

INTERCONNECTION NETWORKS LECTURE 4

Parallel Computing Platforms. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Parallel Numerics, WT 2013/ Introduction

Introduction to Parallel Programming

06-Dec-17. Credits:4. Notes by Pritee Parwekar,ANITS 06-Dec-17 1

2. Parallel Architectures

CS650 Computer Architecture. Lecture 10 Introduction to Multiprocessors and PC Clustering

Parallel Computing Platforms

Computing architectures Part 2 TMA4280 Introduction to Supercomputing

Normal computer 1 CPU & 1 memory The problem of Von Neumann Bottleneck: Slow processing because the CPU faster than memory

COSC 6385 Computer Architecture - Thread Level Parallelism (I)

Computer Organization. Chapter 16

Objectives of the Course

CSC630/CSC730: Parallel Computing

Top500 Supercomputer list

A General Discussion on! Parallelism!

Issues in Multiprocessors

CS252 Graduate Computer Architecture Lecture 14. Multiprocessor Networks March 9 th, 2011

Introduction II. Overview

CMSC 611: Advanced. Parallel Systems

PARALLEL COMPUTER ARCHITECTURES

THREAD LEVEL PARALLELISM

Interconnection Network. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

MULTIPROCESSORS. Characteristics of Multiprocessors. Interconnection Structures. Interprocessor Arbitration

I) The Question paper contains 40 multiple choice questions with four choices and student will have

Introduction to parallel computers and parallel programming. Introduction to parallel computersand parallel programming p. 1

Crossbar switch. Chapter 2: Concepts and Architectures. Traditional Computer Architecture. Computer System Architectures. Flynn Architectures (2)

Multiple Processor Systems. Lecture 15 Multiple Processor Systems. Multiprocessor Hardware (1) Multiprocessors. Multiprocessor Hardware (2)

MIMD Overview. Intel Paragon XP/S Overview. XP/S Usage. XP/S Nodes and Interconnection. ! Distributed-memory MIMD multicomputer

Design of Parallel Algorithms. The Architecture of a Parallel Computer

Computer and Hardware Architecture II. Benny Thörnberg Associate Professor in Electronics

Interconnection Network

A General Discussion on! Parallelism!

Physical Organization of Parallel Platforms. Alexandre David

Number of processing elements (PEs). Computing power of each element. Amount of physical memory used. Data access, Communication and Synchronization

Multi-Processor / Parallel Processing

PIPELINING AND VECTOR PROCESSING

Chapter 6. Parallel Processors from Client to Cloud. Copyright 2014 Elsevier Inc. All rights reserved.

What is Parallel Computing?

Dr e v prasad Dt

Transcription:

slides1-22 Two principal types: Types of Parallel Computers Shared memory multiprocessor Distributed memory multicomputer

slides1-23 Shared Memory Multiprocessor

Conventional Computer slides1-24 Consists of a processor executing a program stored in a (main) memory: Main memory Instructions (to processor) Data (to or from processor) Processor Each main memory location located by its address. Addresses start at 0 and extend to 2 b 1 when there are b bits (binary digits) in address.

Natural way to extend single processor model - have multiple processors connected to multiple memory modules, such that each processor can access any memory module - so-called shared memory configuration: slides1-25 One address space Memory modules Interconnection network Processors

Simplistic view of a small shared memory multiprocessor slides1-26 Processors Shared memory Bus Dual Pentiums Quad Pentiums Examples:

slides1-27 Quad Pentium Shared Memory Multiprocessor Processor Processor Processor Processor L1 cache L1 cache L1 cache L1 cache L2 Cache L2 Cache L2 Cache L2 Cache Bus interface Bus interface Bus interface Bus interface Processor/ memory bus I/O interface Memory Controller I/O bus Shared memory Memory

Programming Shared Memory Multiprocessors slides1-28 Threads - programmer decomposes the program into individual parallel sequences, (threads), each being able to access variables declared outside threads. Example Pthreads A sequential programming language with preprocessor compiler directives to declare shared variables and specify parallelism. Example OpenMP - industry standard - needs OpenMP compiler A sequential programming language with added syntax to declare shared variables and specify parallelism. Example UPC (Unified Parallel C) - needs a UPC compiler. A parallel programming language with syntax to express parallelism, in which the compiler creates the appropriate executable code for each processor (not now common) A sequential programming language and ask a parallelizing compiler to convert it into parallel executable code. - also not now common

Message-Passing Multicomputer slides1-29 Complete computers connected through an interconnection network: Messages Processor Interconnection network Local memory Computers

slides1-30 Interconnection Networks With direct links between computers Exhausive connections 2-dimensional and 3-dimensional meshs Hypercube Using Switches: Crossbar Trees Multistage interconnection networks

Two-dimensional array (mesh) slides1-31 Links Computer/ processor Also three-dimensional - used in some large high performance systems.

slides1-32 Three-dimensional hypercube 110 111 100 101 010 011 000 001

slides1-33 Four-dimensional hypercube 0110 0111 1110 1111 0100 0101 1100 1101 0010 0011 1010 1011 0000 0001 1000 1001 Hypercubes popular in 1980 s - not now

slides1-34 Crossbar switch Memories Processors Switches

slides1-35 Tree Root Links Switch element Processors

Multistage Interconnection Network Example: Omega network slides1-36 2 2 switch elements (straight-through or crossover connections) 000 001 000 001 010 011 Inputs 100 101 010 011 Outputs 100 101 110 111 110 111

Distributed Shared Memory slides1-37 Making the main memory of a group of interconnected computers look as though it is a single memory with a single address space. Then can use shared memory programming techniques. Messages Processor Interconnection network Shared memory Computers

slides1-38 Flynn s Classifications Flynn (1966) created a classification for computers based upon instruction streams and data streams: Single instruction stream-single data stream (SISD) computer In a single processor computer, a single stream of instructions is generated from the program. The instructions operate upon a single stream of data items. Flynn called this single processor computer a single instruction stream-single data stream (SISD) computer.

slides1-39 Multiple Instruction Stream-Multiple Data Stream (MIMD) Computer General-purpose multiprocessor system - each processor has a separate program and one instruction stream is generated from each program for each processor. Each instruction operates upon different data. Both the shared memory and the message-passing multiprocessors so far described are in the MIMD classification.

slides1-40 Single Instruction Stream-Multiple Data Stream (SIMD) Computer A specially designed computer in which a single instruction stream is from a single program, but multiple data streams exist. The instructions from the program are broadcast to more than one processor. Each processor executes the same instruction in synchronism, but using different data. Developed because there are a number of important applications that mostly operate upon arrays of data.

Multiple Program Multiple Data (MPMD) Structure slides1-41 Within the MIMD classification, which we are concerned with, each processor will have its own program to execute: Instructions Program Instructions Program Processor Processor Data Data

slides1-42 Single Program Multiple Data (SPMD) Structure Single source program is written and each processor will execute its personal copy of this program, although independently and not in synchronism. The source program can be constructed so that parts of the program are executed by certain computers and not others depending upon the identity of the computer.