Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Similar presentations


Presentation on theme: "Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam."— Presentation transcript:

1 Parallel Programming Henri Bal (bal@cs.vu.nl)bal@cs.vu.nl Vrije Universiteit Faculty of Sciences Amsterdam

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

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

4 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

5

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

7 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

8 Why do we need parallel processing? Many applications need much faster machines Sequential machines are reaching their speed limits –Moore’s Law (1975): Circuit complexity doubles every 18 months –Using many transistors effectively to increase performance becomes critical problem Memory becomes a bottleneck –DRAM access times improve only 10% per year –Caches more and more important

9 Parallel processing Use multiple processors to solve large problems fast –Also gives more cache memory and aggregate memory bandwidth Microprocessors are getting cheaper and cheaper Cheap multiprocessors and multicore CPUs bring parallel processing to the desktop!

10 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) Now: much research on multi-cores, Graphical Processor Units (GPUs), IBM Cell, ….

11 Large-scale parallel machines Many parallel machines exist See http://www.top500.orghttp://www.top500.org Current #1: RoadRunner Cell cluster with 122400 cores #2 is IBM BlueGene/L with 212992 cores 131072

12 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

13 Application areas Engineering and design Scientific applications Commercial applications (e.g., transactions, databases) Embedded systems (e.g., cars) This class focuses on scientific applications

14 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 Focus on distributed-memory (message passing) machines, not (yet) on multi-cores, special purpose (GPU, Cell) machines Prerequisites: Some knowledge about sequential languages Little knowledge about networking and operating systems

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

16 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)

17 Course Information Examination Written exam based on: - Reader: available electronically from Blackboard - Lectures More information (and slides): http://www.cs.vu.nl/~bal/college08.html

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

19 More information Register by email to ppp@cs.vu.nl (Niels Drost) now Starts after this course (mid October) See http://www.cs.vu.nl/pp-cursus/ for a complete description


Download ppt "Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam."

Similar presentations


Ads by Google