Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Multiple Processor Systems
PRAM Algorithms Sathish Vadhiyar. PRAM Model - Introduction Parallel Random Access Machine Allows parallel-algorithm designers to treat processing power.
Distributed Systems CS
Optimal PRAM algorithms: Efficiency of concurrent writing “Computer science is no more about computers than astronomy is about telescopes.” Edsger Dijkstra.
Super computers Parallel Processing By: Lecturer \ Aisha Dawood.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Taxanomy of parallel machines. Taxonomy of parallel machines Memory – Shared mem. – Distributed mem. Control – SIMD – MIMD.
Computer Architecture Introduction to MIMD architectures Ola Flygt Växjö University
Introduction to MIMD architectures
History of Distributed Systems Joseph Cordina
Slide 1 Parallel Computation Models Lecture 3 Lecture 4.
Parallel Computing Overview CS 524 – High-Performance Computing.
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Introduction to Parallel Processing Ch. 12, Pg
CS 470/570:Introduction to Parallel and Distributed Computing.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
1 Parallel computing and its recent topics. 2 Outline 1. Introduction of parallel processing (1)What is parallel processing (2)Classification of parallel.
Lecture 4: Parallel Programming Models. Parallel Programming Models Parallel Programming Models: Data parallelism / Task parallelism Explicit parallelism.
Parallel Computing Basic Concepts Computational Models Synchronous vs. Asynchronous The Flynn Taxonomy Shared versus Distributed Memory Interconnection.
A brief overview about Distributed Systems Group A4 Chris Sun Bryan Maden Min Fang.
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 8, 2005 Session 8.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture.
1 Chapter 1 Parallel Machines and Computations (Fundamentals of Parallel Processing) Dr. Ranette Halverson.
Lappeenranta University of Technology / JP CT30A7001 Concurrent and Parallel Computing Introduction to concurrent and parallel computing.
1 Scheduling CEG 4131 Computer Architecture III Miodrag Bolic Slides developed by Dr. Hesham El-Rewini Copyright Hesham El-Rewini.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 01, 2005 Session 14.
2015/10/14Part-I1 Introduction to Parallel Processing.
Course Wrap-Up Miodrag Bolic CEG4136. What was covered Interconnection network topologies and performance Shared-memory architectures Message passing.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February Session 6.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
Parallel Computing Department Of Computer Engineering Ferdowsi University Hossain Deldari.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 3, 2005 Session 7.
CSC 7600 Lecture 28 : Final Exam Review Spring 2010 HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS FINAL EXAM REVIEW Daniel Kogler, Chirag Dekate.
Slide 1 Course Description and Objectives: The aim of the module is –to introduce techniques for the design of efficient parallel algorithms and –their.
Copyright © 2011 Curt Hill MIMD Multiple Instructions Multiple Data.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 March 03, 2005 Session 15.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 April 11, 2006 Session 23.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Data Structures and Algorithms in Parallel Computing Lecture 1.
2016/1/5Part I1 Models of Parallel Processing. 2016/1/5Part I2 Parallel processors come in many different varieties. Thus, we often deal with abstract.
Outline Why this subject? What is High Performance Computing?
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 February Session 9.
Parallel Processing Presented by: Wanki Ho CS147, Section 1.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 May 2, 2006 Session 29.
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
Parallel Computing Presented by Justin Reschke
LECTURE #1 INTRODUCTON TO PARALLEL COMPUTING. 1.What is parallel computing? 2.Why we need parallel computing? 3.Why parallel computing is more difficult?
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)
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 February Session 7.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 February Session 11.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 April 6, 2006 Session 22.
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Introduction to Parallel Processing
Parallel Programming By J. H. Wang May 2, 2017.
What is Parallel and Distributed computing?
Guoliang Chen Parallel Computing Guoliang Chen
Data Structures and Algorithms in Parallel Computing
CSE8380 Parallel and Distributed Processing Presentation
Chapter 4 Multiprocessors
Chapter 01: Introduction
Module 6: Introduction to Parallel Computing
Presentation transcript:

Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29

Computer Science and Engineering Course Outline 1. Introduction and Motivation 2. Architecture and Performance 3. Algorithms and Programming 4. Task Scheduling 5. Advanced Topics

Computer Science and Engineering Parallel and Distributed Processing Uniprocessor Multiprocessor Speed-upQuality-upSharing Physical limitations N processors cooperate to solve a single computational task

Computer Science and Engineering Motivation Uniprocessor systems are not capable of delivering solutions to some problems in reasonable time Multiple processors cooperate to jointly execute a single computational task in order to speed up its execution Speed-up versus Quality-up

Computer Science and Engineering Parallel versus Sequential Computing Multiple threads of control vs. single thread of control Partitioning for concurrent execution Task Scheduling Synchronization Performance

Computer Science and Engineering A model is an interface separating high level properties from low level ones Modeling Applications Architectures Provides operations Requires implementation MODEL

Computer Science and Engineering Leopold’s View of the Field Numerous Application Programs Concrete Architectures PthreadsJava Threads OpenMP Skeletons MPI PVM Threads Shared Memory Message Passing Distributed SM Cluster SMPCC-NUMAATMMyrinet Hiding Details High Low

Computer Science and Engineering 3 Layers Applications Parallel Tools Architecture Smart Compiler

Computer Science and Engineering Course Outline 1. Introduction and Motivation 2. Architecture and Performance 3. Algorithms and Programming 4. Task Scheduling 5. Advanced Topics

Computer Science and Engineering Past Trends in Parallel Architecture (inside the box) Completely custom designed components (processors, memory, interconnects, I/O) Longer R&D time (2-3 years) Expensive systems Quickly becoming outdated Bankrupt companies!!

Computer Science and Engineering New Trends in Parallel Architecture (outside the box) Advances in commodity processors and network technology Network of PCs and workstations connected via LAN or WAN forms a Parallel System Network Computing Compete favorably (cost/performance) Utilize unused cycles of systems sitting idle

Computer Science and Engineering Architecture Three major Components Processors Memory Modules Interconnection Network

Computer Science and Engineering Parallel and Distributed Computers MIMD Shared Memory Bus based Switch based CC-NUMA MIMD Distributed Memory SIMD Computers Clusters Grid Computing

Computer Science and Engineering MIMD Shared Memory Systems Interconnection Networks MMMM PPPPP

Computer Science and Engineering MIMD Distributed Memory Systems Interconnection Networks MMMM PPPP

Computer Science and Engineering SIMD Computers Processor Memory P M P M P M P M P M P M P M P M P M P M P M P M P M P M P M P M von Neumann Computer Some Interconnection Network

Computer Science and Engineering Clusters M C P I/O OS M C P I/O OS M C P I/O OS Middleware Programming Environment Interconnection Network

Computer Science and Engineering Grids Grids are geographically distributed platforms for computation. They provide dependable, consistent, pervasive, and inexpensive access to high end computational capabilities.

Computer Science and Engineering Interconnection Network Taxonomy Interconnection Network Static Dynamic Bus-basedSwitch-based 1-D2-DHC SingleMultiple SSMS Crossbar

Computer Science and Engineering Course Outline 1. Introduction and Motivation 2. Architecture and Performance 3. Algorithms and Programming 4. Task Scheduling 5. Advanced Topics

Computer Science and Engineering Speedup, Efficiency, Utilization Amdahl’s Law The Gustafson-Barsis Law Benchmarks Performance Evaluation

Computer Science and Engineering Course Outline 1. Introduction and Motivation 2. Architecture and Performance 3. Algorithms and Programming 4. Task Scheduling 5. Advanced Topics

Computer Science and Engineering PRAM Model Synchronized Read Compute Write Cycle EREW ERCW CREW CRCW Complexity: T(n), P(n), C(n) Control Private Memory P1P1 Private Memory P2P2 Private Memory PpPp Global Memory

Computer Science and Engineering Parallel Algorithms Sorting on CRCW PRAM Computing sum on EREW PRAM Computing all partial sums on EREW PRAM Matrix Multiplication on CREW Other Algorithms

Computer Science and Engineering Distributed Algorithms Message Passing Model Complexity Analysis Leader Election

Computer Science and Engineering Course Outline 1. Introduction and Motivation 2. Architecture and Performance 3. Algorithms and Programming 4. Task Scheduling 5. Advanced Topics

Computer Science and Engineering Parallel Virtual Machine (PVM) Environment & Application Structure Task Creation Task Groups Communication Synchronization Reduction operations Work Assignments

Computer Science and Engineering Course Outline 1. Introduction and Motivation 2. Architecture and Performance 3. Algorithms and Programming 4. Task Scheduling 5. Advanced Topics

Computer Science and Engineering Task Scheduling Model Program tasks Machine Schedule Execution and communication time Problem Complexity

Computer Science and Engineering Scheduling System ConsumersResourcesScheduler Policy

Computer Science and Engineering Task Graph A 10 D 15 E 10 F 20 B 15 C 10 G 15 H I

Computer Science and Engineering Scheduling Algorithms Optimal Algorithms (w/o communication) 1. Task graph is in-forest or out-forest 2. Task graph is an interval order 3. two processors Optimal Algorithms (with communication) 1. Task graph is in-forest or out-forest on 2 procs 2. Task graph is an interval order Many heuristics

Computer Science and Engineering Course Outline 1. Introduction and Motivation 2. Architecture and Performance 3. Algorithms and Programming 4. Task Scheduling 5. Advanced Topics

Computer Science and Engineering Good Luck to You!!