Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

20
Parallel Programming Henri Bal ([email protected] ) Vrije Universiteit Faculty of Sciences Amsterdam

description

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

Transcript of Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Page 1: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Parallel Programming

Henri Bal([email protected])

Vrije UniversiteitFaculty of Sciences

Amsterdam

Page 2: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.
Page 3: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Overview

• What is this large display??• What is parallel programming?• Why do we need parallel programming?• Organization of this course• Parallel Programming & Visualization• Practicum Parallel Programming

Page 4: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

ICWall•A large display suitable for:–Education (classroom)–Modern scientific applications thatneed to visualize large data-sets

–3D applications

Page 5: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

ICWall: an "off-the-shelf" video wall

•High-end graphics is very expensive•Use tiled display with many projectors•Use standard (inexpensive) components–PCs, graphic and network cards–'PowerPoint' video projectors (~ 1 kg)

•Similar idea as cluster computing, but applied to graphics

Page 6: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Setup•4x2x2 projectors

–1024x768 pixels (4096x1536 total)

•Screen–Back-projection, ~5.5m x 2m

•PC cluster–8 nodes + 1 server –Myrinet network–Dual AMD Athlons–Nvidia GeForce 3

Page 7: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

•Problems–Mechanical alignment ofprojectors is difficult

–Projectors have differentcolors, brightness, etc.

Solution–Project test image–Observe image with a camera–Analyse difference between original and observed image–Compensate for differences in software

Making a single image

Page 8: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Parallel Programming

• Sequential programmingSingle thread of control

• Parallel programmingMultiple threads of control

• Why parallel programming?

Page 9: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Parallel Programming

• Sequential programmingSingle thread of control

• Parallel programmingMultiple threads of control

• Why parallel programming?Eases programming? Not really.

Page 10: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Parallel Programming

• Sequential programmingSingle thread of control

• Parallel programmingMultiple threads of control

• Why parallel programming?Eases programming? Not really.Performance? Yes!

Page 11: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

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

Page 12: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Grand Challenges

• Applications with high impact on industry or society

• Require extraordinary performance:1 Teraflop = 1.000.000.000.000 operations/sec

• Several Teraflop parallel machines existSee http://www.top500.org

Page 13: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Challenging Applications

• Analyzing video images• Aircraft modeling• Ozone layer modeling• Climate modeling• Ocean circulation• Quantum chemistry• General: computational science• Computer chess• Protein folding

Page 14: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

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 languagesLittle knowledge about networking and operating systems

Page 15: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Aspects of Parallel Computing

Algorithms and applications

Programming methods, languages, and environments

Parallel machines and architectures

Page 16: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Course Outline• Introduction in algorithms and applications• Parallel machines and architectures

Overview of parallel machinesCluster computers (Myrinet)

• Programming methods, languages, and environmentsMessage passing (SR, MPI, Java)Higher-level languages: Linda, Orca, HPF

• ApplicationsN-body problems, search algorithms

• Grid computing

Page 17: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Course Information

ExaminationWritten exam based on:- Reader- Handouts- Lectures

More information (slides, recommended books):http://www.cs.vu.nl/~bal/college04.html

Page 18: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

Related Courses

Parallel programming practicum

Computer graphics

Scientific visualization (together with Physics)

Page 19: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

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-2 cluster

Page 20: Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam.

More information

Register by email to [email protected] (Rob van Nieuwpoort) now

Starts after MPI lecture (25 October)

See http://www.cs.vu.nl/pp-cursus/ for a complete description