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

Parallel Programming Henri Bal Vrije Universiteit Faculty of Sciences Amsterdam

Embed Size (px)

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

Citation preview

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