1 bulk synchronous parallel computing trevor schaub jim sellers this presentation was prepared for...
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022080914/56649f455503460f94c677a8/html5/thumbnails/13.jpg)
13