1 bulk synchronous parallel computing trevor schaub jim sellers this presentation was prepared for...

13
1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the requirements for the course CSI 4140

Upload: leslie-mcdonald

Post on 13-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

1

Bulk Synchronous Parallel Computing

Trevor SchaubJim Sellers

This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the requirements for the course CSI 4140

Page 2: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

2

Outline Model description Why it is interesting/important Relationship to real life Some basic techniques, simple

sample program to demonstrate how the approach to algorithm design differs from PRAM and MPP

Page 3: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

3

Why do we need change? Diverse parallel computers and models Shared mem. vs. message passing, no

clear winner Use network locality vs. don’t

Conclusion: parallel code is often computer specific. Need unifying model

Page 4: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

4

Why BSP? Provides consistent, general framework

to develop scaleable software Similar to OO – a way of thinking and writing

programs (paradigm) Not system specific Proceed in “supersteps”

Decouples communication and synchronization

The deadlock problem is minimized

Page 5: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

5

What is BSP? BSP is a process of dividing a task

into steps called supersteps Each process performs the task by

doing the supersteps in order The fundamental concept is the

superstep itself, and it’s structure

Page 6: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

6

What’s a superstep?

1. Processes perform as much as possible using local data

2. Communication and synchronization

3. Move on to next superstepsuperstep

Page 7: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

7

Dissection of a superstep

Local computation

Global CommunicationSynchronization

Threads/Processes

T

I

M

E

Page 8: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

8

Model description What are the benefits of a superstep?

Easier debugging Can look at supersteps in isolation

Removes problem of deadlock Separate computation from communication

Allows reasoning of the correctness of the code nearly as easy as sequential code.

Easier shift for programmers used to sequential programming

Page 9: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

9

Relationship to real life Is BSP in use today?

Yes, sometimes without even realizing it.

When should you use BSP? Becomes more useful with more

communication Benefits vary with the problem

Page 10: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

10

Basic techniques Identify the sections that can be that

need communication or synchronization Modify program so that sync. happens

after communication Separate ones are grouped where possible

Before each communication group there is a global barrier

The code between the end of each communication group becomes a superstep

Page 11: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

11

Example: See code example

Page 12: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

12

References http://approximity.com/papers/ptfopt/node31.html http://www.cs.ucf.edu/csdept/faculty/goudreau/

cop5937_fall96/COP5937.html http://web.comlab.ox.ac.uk/oucl/research/highlights/

bsp_computing.html http://www.math.uu.nl/people/bisselin/pas1_prev.html http://www.math.ruu.nl/people/bisselin/software.html http://web.comlab.ox.ac.uk/oucl/work/bill.mccoll/

oparl.html http://www.cs.hmc.edu/courses/2001/spring/cs156/

html12/slides12.pdf http://www.cag.lcs.mit.edu/bayanihan/papers/javapdc99/

html/node2.html http://www.byte.com/art/9611/sec5/art5.htm

Page 13: 1 Bulk Synchronous Parallel Computing Trevor Schaub Jim Sellers This presentation was prepared for Professor Stefan Dobrev in partial fulfillment of the

13