Lappeenranta University of Technology / JP CT30A7001 Concurrent and Parallel Computing Introduction to concurrent and parallel computing.

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Distributed Systems CS
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
CM-5 Massively Parallel Supercomputer ALAN MOSER Thinking Machines Corporation 1993.
Optimistic Parallel Discrete Event Simulation Based on Multi-core Platform and its Performance Analysis Nianle Su, Hongtao Hou, Feng Yang, Qun Li and Weiping.
ICS 556 Parallel Algorithms Ebrahim Malalla Office: Bldg 22, Room
PARALLEL PROCESSING COMPARATIVE STUDY 1. CONTEXT How to finish a work in short time???? Solution To use quicker worker. Inconvenient: The speed of worker.
ASU/TGen Computational Facility.
History of Distributed Systems Joseph Cordina
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
Introduction CS 524 – High-Performance Computing.
Parallel Computers Past and Present Yenchi Lin Apr 17,2003.
Parallel Computing Overview CS 524 – High-Performance Computing.
Chapter 1 Introduction 1.1A Brief Overview - Parallel Databases and Grid Databases 1.2Parallel Query Processing: Motivations 1.3Parallel Query Processing:
Hitachi SR8000 Supercomputer LAPPEENRANTA UNIVERSITY OF TECHNOLOGY Department of Information Technology Introduction to Parallel Computing Group.
Arquitectura de Sistemas Paralelos e Distribuídos Paulo Marques Dep. Eng. Informática – Universidade de Coimbra Ago/ Machine.
Fall 2008Introduction to Parallel Processing1 Introduction to Parallel Processing.
Mapping Techniques for Load Balancing
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Parallel Programming in.NET Kevin Luty.  History of Parallelism  Benefits of Parallel Programming and Designs  What to Consider  Defining Types of.
Lecture 2 : Introduction to Multicore Computing Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
KUAS.EE Parallel Computing at a Glance. KUAS.EE History Parallel Computing.
CC02 – Parallel Programming Using OpenMP 1 of 25 PhUSE 2011 Aniruddha Deshmukh Cytel Inc.
1 Programming Multicore Processors Aamir Shafi High Performance Computing Lab
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Lecture 2 : Introduction to Multicore Computing
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster and powerful computers –shared memory model ( access nsec) –message passing.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
MIMD Distributed Memory Architectures message-passing multicomputers.
Loosely Coupled Parallelism: Clusters. Context We have studied older archictures for loosely coupled parallelism, such as mesh’s, hypercubes etc, which.
SJSU SPRING 2011 PARALLEL COMPUTING Parallel Computing CS 147: Computer Architecture Instructor: Professor Sin-Min Lee Spring 2011 By: Alice Cotti.
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.
Super computers Parallel Processing By Lecturer: Aisha Dawood.
1 CMPE 511 HIGH PERFORMANCE COMPUTING CLUSTERS Dilek Demirel İşçi.
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
Computing Environment The computing environment rapidly evolving ‑ you need to know not only the methods, but also How and when to apply them, Which computers.
Data Management for Decision Support Session-4 Prof. Bharat Bhasker.
CCSM Performance, Successes and Challenges Tony Craig NCAR RIST Meeting March 12-14, 2002 Boulder, Colorado, USA.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Outline Why this subject? What is High Performance Computing?
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-2.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Parallel IO for Cluster Computing Tran, Van Hoai.
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.
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)
Hardware Trends CSE451 Andrew Whitaker. Motivation Hardware moves quickly OS code tends to stick around for a while “System building” extends way beyond.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Group Members Hamza Zahid (131391) Fahad Nadeem khan Abdual Hannan AIR UNIVERSITY MULTAN CAMPUS.
These slides are based on the book:
University of Technology
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Parallel Programming By J. H. Wang May 2, 2017.
What is Parallel and Distributed computing?
Data Structures and Algorithms in Parallel Computing
CSE8380 Parallel and Distributed Processing Presentation
Chapter 1 Introduction.
Hybrid Programming with OpenMP and MPI
Multithreaded Programming
By Brandon, Ben, and Lee Parallel Computing.
Operating System Overview
Presentation transcript:

Lappeenranta University of Technology / JP CT30A7001 Concurrent and Parallel Computing Introduction to concurrent and parallel computing

Lappeenranta University of Technology / JP Definitions Concurrent computing –Concurrent computing is the concurrent (simultaneous) execution of multiple interacting computational tasks. Concurrent computing is related to parallel computing, but focuses more on the interactions between tasks. Parallel computing –Parallel computing is a form of computation in which many instructions are carried out simultaneously. Distributed computing –In distributed computing a program is split up into parts that run simultaneously on multiple computers communicating over a network. Distributed computing is a form of parallel computing, but parallel computing is most commonly used to describe program parts running simultaneously on multiple processors in the same computer. Grid computing –Grid computing is a form of distributed computing whereby a "super and virtual computer" is composed of a cluster of networked, loosely-coupled computers, acting in concert to perform very large tasks.

Lappeenranta University of Technology / JP Motivation The ever increasing need of computing power has traditionally been fulfilled by producing new more powerful processors => physical limits restrict the growth ( Clock rates have increased from 40 MHz (1988) to over 2 GHz (2002); Multiple instructions/cycle, multiple processors)

Lappeenranta University of Technology / JP Performance – Cost ratio Cost Performance 1960s 1990s 1980s 1970s

Lappeenranta University of Technology / JP Can’t you go any faster ? More power can be achieved by using multiple computers (parallel computing) => allows us to break the limits set for the single processor

Lappeenranta University of Technology / JP Trends ? Faster processors will evolve !! –Moore’s law (statement) –Development of parallel applications take time ? However –Memory access times lag behind (10% growth) –The data transfer speed lags behind the processing capacity –Software lags behind the hardware

Lappeenranta University of Technology / JP Moore’s law

Lappeenranta University of Technology / JP Parallel computing ? Non-”von Neumann” type of computing Some problem is solved at the same time in two or more locations (processors …) –Example: library workers –Problem need to have some inherent parallelism –Problem is solved in some parallel architecture –Problem is solved by some algorithm

Lappeenranta University of Technology / JP Library workers example 1 or more workers return books into shelves Aisles are divided according to the alphabet –A-E, F-J, K-O, P-T, U-Z How to divide work among workers ?

Lappeenranta University of Technology / JP 1 Worker Algorithm Work

Lappeenranta University of Technology / JP 2 Workers

Lappeenranta University of Technology / JP 2 Workers

Lappeenranta University of Technology / JP 2 Workers A-E F-J K-O P-T U-Z

Lappeenranta University of Technology / JP Things to consider The amount of work –When do we need several workers ? The number of workers –How many workers is enough ? Internal algorithm –How do we divide the work ? External algorithm (communication) –How is the work is synchronized

Lappeenranta University of Technology / JP Utilization

Lappeenranta University of Technology / JP Inherent parallelism Parallel computing can only be applied to those problems that have some inherent parallelism Parallelism is an inherent property that cannot be increased ! –Some problems are naturally sequential –One can affect how well the parallelism is used

Lappeenranta University of Technology / JP Benefits of parallel computing Many problems are naturally parallel although they are modeled sequentially –Interrupts, polling => loss of information There are problems that cannot be solved sequentially Performance may increase linearly (some times even more) In future natural parallelism is commonly utilized –There are no sequential computers (inherent parallelism)

Lappeenranta University of Technology / JP Parallel computing goals Different types of goals: –Reduce the execution time Example: weather forecasts –Solve bigger problems (more accurate models) Example: Mobile network simulations –Run multiple applications at the same time Multithreading –Natural approach

Lappeenranta University of Technology / JP Example: Weather forecast Compute weather forecast for 3000*3000 miles area up to 11 miles high Divide the model into parts of size 0.1*0.1*0.1 miles => parts Compute weather forecast for two days (48 hours) Computing one part takes ~100 operations and parts are computed ~100 times within these 48 hours => operations to compute If we have a single 1000 MIPS workstation computations take ~280 hours !!! If we use 1000 workstations capable of 100 MIPS the computation takes only ~3 hours

Lappeenranta University of Technology / JP Applicability ? Parallel computing can be used for solving all those problems that contain some parallel properties Time consuming task ! –Performance –Portability –Scalability

Lappeenranta University of Technology / JP Application areas Technical applications –floating point operations, computing grids Business applications –decision support systems, simulations,... Network applications –multimedia, video-on-demand,...

Lappeenranta University of Technology / JP

Parallel architectures Problems are computed in parallel in parallel architectures There exits several different approaches: –Massively parallel processors (MPP) –Symmetrical multiprocessor (SMP) –Vector -processors –Cluster machines

Lappeenranta University of Technology / JP Examples Cray-1 Avalon Cluster - 140

Lappeenranta University of Technology / JP RankManufacturer Computer/ProcsR max R peak Installation Site Country/Year 1NEC Earth-Simulator/ Japan/2002 2Hewlett-Packard ASCI Q - AlphaServer SC ES45/1.25 GHz/ USA/2002 3Hewlett-Packard ASCI Q - AlphaServer SC ES45/1.25 GHz/ USA/2002 4IBM ASCI White, SP Power3 375 MHz/ USA/2000 5Linux NetworX MCR Linux Cluster Xeon 2.4 GHz - Quadrics/ USA/2002 6Hewlett-Packard AlphaServer SC ES45/1 GHz/ USA/2001 7Hewlett-Packard AlphaServer SC ES45/1 GHz/ France/2001 8HPTi Aspen Systems, Dual Xeon 2.2 GHz - Myrinet2000/ USA/2002 9IBM pSeries 690 Turbo 1.3GHz/ UK/ IBM pSeries 690 Turbo 1.3GHz/ USA/2002 TOP

Lappeenranta University of Technology / JP Top

TOP Lappeenranta University of Technology / JP

No 54

Lappeenranta University of Technology / JP

Hyperthreading within processor Use of threads within workstation Message passing inside cluster GRID Number of possible users increases User interaction increases (requires knowledge) Geographic size increases

Lappeenranta University of Technology / JP Algorithms Selection of the algorithm is important as different algorithms have different suitability The fastest sequential algorithm may not be the best algorithm to be parallelized ! The selection of algorithm may depend on the selected parallel architecture

Lappeenranta University of Technology / JP Example: Sorting a sequence Traditional approach: O(nlogn) time Simple Merge-Sort algorithm: O(logn loglogn) time Pipelined sorting algorithm: O(logn) time

Lappeenranta University of Technology / JP

Note ! Parallel computing does NOT help if the bottleneck of the system is in memory, in disk system or in network ! Parallel computing may produce surprises –resources are competed => winner is not known beforehand => non-deterministic behavior of the program => deadlock ? (mutual exclusion)

Lappeenranta University of Technology / JP Aspects slowing the future Not all problems can be solved in parallel –Example: Digging a well vs. a dike Parallel programming requires a new way of thinking (compare OO-programming) Sequential algorithm may not be suitable for parallel execution Partitioning and load balancing are not an easy task Tools are to be developed at the moment

Lappeenranta University of Technology / JP Tools for parallel computing Threads – products/threads/ products/threads/ PVM (Parallel Virtual Machine) – MPI (Message Passing Interface) – – OpenMP