Algorithms in a Multiprocessor Environment Kevin Frandsen ENCM 515.

Slides:



Advertisements
Similar presentations
Electrical and Computer Engineering UAH System Level Optical Interconnect Optical Fiber Computer Interconnect: The Simultaneous Multiprocessor Exchange.
Advertisements

Parallel Processing with OpenMP
Introduction to Openmp & openACC
CSC Multiprocessor Programming, Spring, 2011 Outline for Chapter 6 – Task Execution Dr. Dale E. Parson, week 7.
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Parallel Programming Yang Xianchun Department of Computer Science and Technology Nanjing University Introduction.
ICS 556 Parallel Algorithms Ebrahim Malalla Office: Bldg 22, Room
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Parallel Computing Overview CS 524 – High-Performance Computing.
11/14/05ELEC Fall Multi-processor SoCs Yijing Chen.
1  1998 Morgan Kaufmann Publishers Chapter 9 Multiprocessors.
An Introduction to Parallel Computing Dr. David Cronk Innovative Computing Lab University of Tennessee Distribution A: Approved for public release; distribution.
Parallel Programming Models and Paradigms
May 29, Final Presentation Sajib Barua1 Development of a Parallel Fast Fourier Transform Algorithm for Derivative Pricing Using MPI Sajib Barua.
Design, Implementation, and Evaluation of Differentiated Caching Services Ying Lu, Tarek F. Abdelzaher, Avneesh Saxena IEEE TRASACTION ON PARALLEL AND.
1 Computer Science, University of Warwick Architecture Classifications A taxonomy of parallel architectures: in 1972, Flynn categorised HPC architectures.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
A Load Balancing Framework for Adaptive and Asynchronous Applications Kevin Barker, Andrey Chernikov, Nikos Chrisochoides,Keshav Pingali ; IEEE TRANSACTIONS.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Introduction to Symmetric Multiprocessors Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı
Parallel Architectures
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
KUAS.EE Parallel Computing at a Glance. KUAS.EE History Parallel Computing.
Data Partitioning on Heterogeneous Multicore and Multi-GPU Systems Using Functional Performance Models of Data-Parallel Applications Published in: Cluster.
Optimization of System Performance using OpenMP m Yumiko Kimezawa May 25, 20111RPS.
Introduction MSCS 6060 – Parallel and Distributed Systems.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Spaces Dr. Samir Tartir Extracted from Principles of Concurrent and Distributed Programming, Second Edition By M. Ben-Ari.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
PFPC: A Parallel Compressor for Floating-Point Data Martin Burtscher 1 and Paruj Ratanaworabhan 2 1 The University of Texas at Austin 2 Cornell University.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
Silberschatz, Galvin and Gagne  Operating System Concepts Lectured by Dr. Lican Huang
Lecture 7: Design of Parallel Programs Part II Lecturer: Simon Winberg.
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
1 Lecture 1: Parallel Architecture Intro Course organization:  ~18 parallel architecture lectures (based on text)  ~10 (recent) paper presentations 
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Threaded Programming Lecture 1: Concepts. 2 Overview Shared memory systems Basic Concepts in Threaded Programming.
Computer Organization CS224 Fall 2012 Lesson 52. Introduction  Goal: connecting multiple computers to get higher performance l Multiprocessors l Scalability,
Parallelization Geant4 simulation is an embarrassingly parallel computational problem – each event can possibly be treated independently 1.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 3.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
INEL6067 Parallel Architectures Why build parallel machines? °To help build even bigger parallel machines °To help solve important problems °Speed – more.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Multiprocessor Systems Distributed.
Parallel Computing Presented by Justin Reschke
SMP Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Background Computer System Architectures Computer System Software.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Page 1 2P13 Week 1. Page 2 Page 3 Page 4 Page 5.
1  2004 Morgan Kaufmann Publishers Fallacies and Pitfalls Fallacy: the rated mean time to failure of disks is 1,200,000 hours, so disks practically never.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
Sridhar Rajagopal Bryan A. Jones and Joseph R. Cavallaro
These slides are based on the book:
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
CHAPTER SEVEN PARALLEL PROCESSING © Prepared By: Razif Razali.
Parallel Programming By J. H. Wang May 2, 2017.
Lecture 1: Parallel Architecture Intro
Symmetric Multiprocessing (SMP)
Introduction to Multiprocessors
CSE8380 Parallel and Distributed Processing Presentation
COMP60621 Fundamentals of Parallel and Distributed Systems
By Brandon, Ben, and Lee Parallel Computing.
Chapter 4 Multiprocessors
Presentation transcript:

Algorithms in a Multiprocessor Environment Kevin Frandsen ENCM 515

Outline Introduction Algorithms Communication Models Common DSP Uses Conclusion

Introduction What are Multiprocessor Cores? – Two CPUs – Same Silicon – Equal Capability – Shared Memory – Tighter Access

Introduction cont. Other Multiprocessing Options – SMP Usually Two on same board, not silicon Shared Memory Limited access to each other – Clustering Independent processors Communication Medium NUMA

Algorithms Finite Impulse Response (FIR) Filter – Common DSP Algorithm – Specialized hardware exists

Algorithms cont. More on FIR – Divide and Conquer O(n)/p time – Shared memory/registers a plus Reduced communication overhead

Algorithms cont. Matrix Operations – Common algorithms on large sets [ A 11 A 12 … A 1n [ B 11 B 12 … B 1n [ C 11 C 12 … C 1n A 21 A 22 … A 2n B 21 B 22 … B 2n C 21 C 22 … C 2n … … X … … = … … A m1 A m2 … A mn ] B m1 B m2 … B mn ] C m1 C m2 … C mn ]

Algorithms cont. Matrix Multiplication – Large data transfers necessary in non-shared environments – If not bandwidth limited, scales well with processors Matrix Inversion – Larger data loads

Communication Models Shared Memory – Fast – Few concurrency problems Still some, race conditions, etc. – Need to be on same board – Custom designed – Need secondary synchronization – Mutexes, Semaphores

Communication Models cont. Message Passing (PVM, MPI, etc) – Flexible implementations – Self-synchronizing – Communication overhead (large)

Common DSP Uses Shared Core and SMP – Best for real-time response – Easiest for integrated systems – ADSP Clustering – Batch processing – Images, 3D rendering SCI at University of Utah

Scientific Computing Institute 3D Visualization of Brain Tumor

Conclusion How multiprocessing affects tasks Ways of implementing a multiprocessing system Uses in the “real world”

Questions?

References University of Utah. (2004, February 28). Applications: Tumor Visualization – Scientific Computing and Imaging Institute. Retrieved April 10, 2004, from Dr. Smith’s Mar 8 Presentation on Highly Parallel FIRs Dr. Leon’s Parallel Computing Course