Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Slides:



Advertisements
Similar presentations
CCGrid2013 Panel on Clouds Henri Bal Vrije Universiteit Amsterdam.
Advertisements

Big Data: Big Challenges for Computer Science Henri Bal Vrije Universiteit Amsterdam.
Nis, March 4th, 2005Public Reporting on Project Results Review of Activities of Working Group for Computer Architecture Mile Stojcev Oliver Vojinovic Faculty.
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
Introduction CSCI 444/544 Operating Systems Fall 2008.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500 Cluster.
Chapter1 Fundamental of Computer Design Dr. Bernard Chen Ph.D. University of Central Arkansas.
More information Examination (date: 19 december) Written exam based on: - Reader (without paper 12 by Marsland and Campbell) - Awari paper (available from.
Advanced Computational Research Laboratory (ACRL) Virendra C. Bhavsar Faculty of Computer Science University of New Brunswick Fredericton, NB, E3B 5A3.
Summary Background –Why do we need parallel processing? Applications Introduction in algorithms and applications –Methodology to develop efficient parallel.
Parallel Programming Henri Bal Rob van Nieuwpoort Vrije Universiteit Amsterdam Faculty of Sciences.
Introduction in algorithms and applications Introduction in algorithms and applications Parallel machines and architectures Parallel machines and architectures.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
1 Lecture-I CSIT-120 Spring 2001 Introducing the Course Syllabus Introduction to Computers Introduction to Computer Science Information, Algorithms and.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500 Cluster.
Parallel Computer Architectures
Chapter 13 The First Component: Computer Systems.
Parallel Programming Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences.
Chapter 01 Nell Dale & John Lewis.
Chapter1 Fundamental of Computer Design Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Course Outline Introduction in software and applications. Parallel machines and architectures –Overview of parallel machines –Cluster computers (Myrinet)
1 Developing Native Device for MPJ Express Advisor: Dr. Aamir Shafi Co-advisor: Ms Samin Khaliq.
© Spinnaker Labs, Inc. Google Cluster Computing Faculty Training Workshop Open Source Tools for Teaching.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Chapter 1 The Big Picture.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Programming Concepts in GPU Computing Dušan Gajić, University of Niš Programming Concepts in GPU Computing Dušan B. Gajić CIITLab, Dept. of Computer Science.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters,
Service - Oriented Middleware for Distributed Data Mining on the Grid ,劉妘鑏 Antonio C., Domenico T., and Paolo T. Journal of Parallel and Distributed.
CLUSTER COMPUTING TECHNOLOGY BY-1.SACHIN YADAV 2.MADHAV SHINDE SECTION-3.
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
CS 460/660 Compiler Construction. Class 01 2 Why Study Compilers? Compilers are important – –Responsible for many aspects of system performance Compilers.
Distributed Programming CA107 Topics in Computing Series Martin Crane Karl Podesta.
1 CS145 Lecture 24 What’s next?. 2  What questions does Computer Science study?  Where is programming and Computer Science headed? –With special emphasis.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
MULTICORE PROCESSOR TECHNOLOGY.  Introduction  history  Why multi-core ?  What do you mean by multicore?  Multi core architecture  Comparison of.
Dept. of Computer Science - CS6461 Computer Architecture CS6461 – Computer Architecture Fall 2015 Lecture 1 – Introduction Adopted from Professor Stephen.
Parallel and Distributed Computing Overview and Syllabus Professor Johnnie Baker Guest Lecturer: Robert Walker.
Computer performance issues* Pipelines, Parallelism. Process and Threads.
Wide-Area Parallel Computing in Java Henri Bal Vrije Universiteit Amsterdam Faculty of Sciences vrije Universiteit.
CSci6702 Parallel Computing Andrew Rau-Chaplin
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 3.
Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
HPC University Requirements Analysis Team Training Analysis Summary Meeting at PSC September Mary Ann Leung, Ph.D.
BLUE GENE Sunitha M. Jenarius. What is Blue Gene A massively parallel supercomputer using tens of thousands of embedded PowerPC processors supporting.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
GCSE Computer Science Content Overview
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Web: Parallel Computing Rabie A. Ramadan , PhD Web:
Course Outline Introduction in algorithms and applications
Summary Background Introduction in algorithms and applications
Course Outline Introduction in algorithms and applications
CSE8380 Parallel and Distributed Processing Presentation
Constructing a system with multiple computers or processors
Parallel Computing Demand for High Performance
Operating Systems (CS 340 D)
Parallel Computing Demand for High Performance
MPJ: A Java-based Parallel Computing System
Vrije Universiteit Amsterdam
Presentation transcript:

Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam

Overview What is parallel programming? Why do we need parallel programming? Organization of this course Practicum Parallel Programming

ICWall A large display suitable for: – Education (classroom) – Modern scientific applications that need to visualize large data-sets – 3D applications

ICWall: an "off-the-shelf" video wall High-end graphics is very expensive Use tiled display with many projectors Use standard (inexpensive) components – 9 PCs, graphic and network cards, 16 projectors Similar idea as cluster computing, but applied to graphics Current ICWall is strongly simplified version –1 PC with 2 projectors

Parallel Programming Sequential programming Single thread of control Parallel programming Multiple threads of control Why parallel programming? Eases programming? Not really. Performance? Yes!

Famous quote “Parallel programming may do something to revive the pioneering spirit in programming, which seems to be degenerating into a rather dull and routine occupation’’ S. Gill, Computer Journal, 1958

Why do we need parallel processing? Many applications need much faster machines Sequential machines are reaching their speed limits Use multiple processors to solve large problems fast Microprocessors are getting cheaper and cheaper Cheap multiprocessors and multicore CPUs bring parallel processing to the desktop!

History 1950s: first ideas (see Gill’s quote) 1967 first parallel computer (ILLIAC IV) 1970s programming methods, experimental machines 1980s: parallel languages (SR, Linda, Orca), commercial supercomputers 1990s: software standardization (MPI), clusters, large-scale machines (Blue Gene) 2000s: grid computing: combining resources world-wide (Globus)

Large-scale parallel machines Many parallel machines exist See Current #1 is IBM BlueGene/L with CPUs

Challenging Applications Modeling ozone layer, climate, ocean Quantum chemistry Protein folding General: computational science Aircraft modeling Handling use volumes of data from scientific instruments –Lofar (astronomy) –LHC (CERN, high-energy physics) Computer chess Analyzing multimedia content Generating movies

About this Course Goal: Study how to write programs that run in parallel on a large number of machines. Focus on programming methods, languages, applications Prerequisites: Some knowledge about sequential languages Little knowledge about networking and operating systems

Aspects of Parallel Computing Algorithms and applications Programming methods, languages, and environments Parallel machines and architectures

Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500 Cluster computers, BlueGene Programming methods, languages, and environments Message passing (SR, MPI, Java) Higher-level language: HPF Applications N-body problems, search algorithms, bioinformatics Grid computing Multimedia content analysis on Grids (guest lecture Frank Seinstra)

Course Information Examination Written exam based on: - Reader: available electronically from Blackboard - Lectures More information (and slides):

Practicum Parallel Programming Separate practicum (6 ECTS) Implement ASP + SOR algorithms in C/MPI Implement IDA* search algorithm in Java/RMI Test and measure the programs on our DAS cluster

More information Register by to (Niels Drost) now Starts after MPI lecture (mid October) See for a complete description