Lecture 1: Parallel Architecture Intro

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

L.N. Bhuyan Adapted from Patterson’s slides
Distributed Systems CS
SE-292 High Performance Computing
Multiple Processor Systems
Background Computer System Architectures Computer System Software.
1 Introduction to MIMD Architectures Sima, Fountain and Kacsuk Chapter 15 CSE462.
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
1 Lecture 1: Parallel Architecture Intro Course organization:  ~5 lectures based on Culler-Singh textbook  ~5 lectures based on Larus-Rajwar textbook.
1 Lecture 1: Introduction Course organization:  4 lectures on cache coherence and consistency  2 lectures on transactional memory  2 lectures on interconnection.
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
1 Lecture 23: Multiprocessors Today’s topics:  RAID  Multiprocessor taxonomy  Snooping-based cache coherence protocol.
1 Lecture 1: Introduction Course organization:  13 lectures on parallel architectures  ~5 lectures on cache coherence, consistency  ~3 lectures on TM.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
1 Lecture 1: Introduction and Memory Systems CS 7810 Course organization:  5 lectures on memory systems  5 lectures on cache coherence and consistency.
Computer System Architectures Computer System Software
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
August 15, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 12: Multiprocessors: Non-Uniform Memory Access * Jeremy R. Johnson.
Parallel Computer Architecture and Interconnect 1b.1.
CSIE30300 Computer Architecture Unit 15: Multiprocessors Hsin-Chou Chi [Adapted from material by and
Multiple Processor Systems Chapter Multiprocessors 8.2 Multicomputers 8.3 Distributed systems.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 8 Multiple Processor Systems Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
1 Lecture 1: Parallel Architecture Intro Course organization:  ~18 parallel architecture lectures (based on text)  ~10 (recent) paper presentations 
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 1.
August 13, 2001Systems Architecture II1 Systems Architecture II (CS ) Lecture 11: Multiprocessors: Uniform Memory Access * Jeremy R. Johnson Monday,
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
1 Lecture 17: Multiprocessors Topics: multiprocessor intro and taxonomy, symmetric shared-memory multiprocessors (Sections )
CDA-5155 Computer Architecture Principles Fall 2000 Multiprocessor Architectures.
Background Computer System Architectures Computer System Software.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
CMSC 611: Advanced Computer Architecture Shared Memory Most slides adapted from David Patterson. Some from Mohomed Younis.
The University of Adelaide, School of Computer Science
Elec/Comp 526 Spring 2015 High Performance Computer Architecture Instructor Peter Varman DH 2022 (Duncan Hall) rice.edux3990 Office Hours Tue/Thu.
Lecture 13 Parallel Processing. 2 What is Parallel Computing? Traditionally software has been written for serial computation. Parallel computing is the.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Feeding Parallel Machines – Any Silver Bullets? Novica Nosović ETF Sarajevo 8th Workshop “Software Engineering Education and Reverse Engineering” Durres,
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
CS 704 Advanced Computer Architecture
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Multiprocessor System Distributed System
18-447: Computer Architecture Lecture 30B: Multiprocessors
CMSC 611: Advanced Computer Architecture
Introduction to parallel programming
CS5102 High Performance Computer Systems Thread-Level Parallelism
Parallel Computers Definition: “A parallel computer is a collection of processing elements that cooperate and communicate to solve large problems fast.”
CS 147 – Parallel Processing
Lecture 18: Coherence and Synchronization
CMSC 611: Advanced Computer Architecture
Shared Memory Multiprocessors
Chapter 17 Parallel Processing
Multiprocessors - Flynn’s taxonomy (1966)
Multiple Processor Systems
Multiple Processor Systems
Introduction to Multiprocessors
Parallel Processing Architectures
Lecture 24: Memory, VM, Multiproc
Distributed Systems CS
Shared Memory. Distributed Memory. Hybrid Distributed-Shared Memory.
Distributed Systems CS
/ Computer Architecture and Design
Lecture 25: Multiprocessors
Multiple Processor and Distributed Systems
High Performance Computing
Chapter 4 Multiprocessors
Lecture 24: Virtual Memory, Multiprocessors
Lecture 23: Virtual Memory, Multiprocessors
Lecture 17 Multiprocessors and Thread-Level Parallelism
Lecture 19: Coherence and Synchronization
Presentation transcript:

Lecture 1: Parallel Architecture Intro Course organization: ~13 lectures based on textbook ~10 lectures on recent papers ~5 lectures on parallel algorithms and multi-thread programming New topics: interconnection networks, transactional memories, power efficiency, CMP cache hierarchies Text: Parallel Computer Architecture, Culler, Singh, Gupta Reference texts: Principles and Practices of Interconnection Networks, Dally & Towles Introduction to Parallel Algorithms and Architectures, Leighton

More Logistics Sign up for the class mailing list (cs7820) Projects: simulation-based, creative, be prepared to spend time towards end of semester – more details on simulators in a couple of weeks Grading: 50% project 10% multi-thread programming assignments 20% paper critiques 20% take-home final

Parallel Architecture History A parallel computer is a collection of processing elements that communicate and cooperate to solve large problems fast Up to 80’s: intended for large applications, costing millions of dollars 90’s: every organization owns a “cluster” or an “SMP”, costing an order of magnitude less 21st century: most desktops/workstations will have multiple cores and simultaneous threads on a single die – perhaps, motivated by designers’ inability to scale single core performance

Parallel Architecture Trends Source: Mark Hill, Ravi Rajwar

CMP/SMT Papers CMP/SMT/Multiprocessor papers in recent conferences: 2001 2002 2003 2004 2005 2006 2007 ISCA: 3 5 8 6 14 17 HPCA: 4 6 7 3 11 13 14

Bottomline Expect an increase in multiprocessor papers Performance stagnates unless we learn to transform traditional applications into parallel threads It’s all about the data! Data management: distribution, coherence, consistency It’s also about the programming model: onus on application writer / compiler / hardware

Communication Architecture At first, the hardware for shared memory and message passing were different – today, a single parallel machine can efficiently support different programming models CAD Database Scientific modeling Parallel applications Multiprogramming Shared Message address passing Programming models Compilation or library User/System boundary OS support HW/SW boundary Communication hardware

Shared Memory Architectures Key differentiating feature: the address space is shared, i.e., any processor can directly address any memory location and access them with load/store instructions Cooperation is similar to a bulletin board – a processor writes to a location and that location is visible to reads by other threads

Physical address space Shared Address Space Process P1 Shared Private Shared Process P2 Shared Pvt P1 Pvt P2 Private Pvt P3 Process P3 Shared Physical address space Private Virtual address space of each process

Symmetric Multiprocessors (SMP) A collection of processors, a collection of memory: both are connected through some interconnect (usually, the fastest possible) Symmetric because latency for any processor to access any memory is constant – uniform memory access (UMA) Proc 1 Proc 2 Proc 3 Proc 4 Mem 1 Mem 2 Mem 3 Mem 4

Distributed Memory Multiprocessors Each processor has local memory that is accessible through a fast interconnect The different nodes are connected as I/O devices with (potentially) slower interconnect Local memory access is a lot faster than remote memory – non-uniform memory access (NUMA) Advantage: can be built with commodity processors and many applications will perform well thanks to locality Proc 1 Mem 1 Proc 2 Mem 2 Proc 3 Mem 3 Proc 4 Mem 4

Message Passing Programming model that can apply to clusters of workstations, SMPs, and even a uniprocessor Sends and receives are used for effecting the data transfer – usually, each process ends up making a copy of data that is relevant to it Each process can only name local addresses, other processes, and a tag to help distinguish between multiple messages

Topics Programming models Synchronization Snooping based coherence protocols Directory based coherence protocols Consistency models Transactional memories Interconnection networks Papers (caching, speculation, interconnects, power, etc.) Parallel algorithms

Title Bullet