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

Slides:



Advertisements
Similar presentations
Distributed Systems CS
Advertisements

CSE 321: Case Studies in Component-Based Software.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
Introduction Class Notes How to Program in C++ By : dettle & dettle READING MATERIAL
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
By Sarita Adve & Kourosh Gharachorloo Review by Jim Larson Shared Memory Consistency Models: A Tutorial.
Message Passing Fundamentals Self Test. 1.A shared memory computer has access to: a)the memory of other nodes via a proprietary high- speed communications.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Activity Diagrams Derived from several techniques: Event diagrams of Jim Odell SDL state modeling techniques Workflow modeling Petri nets Especially useful.
Bulk Synchronous Parallel (BSP) Model Illustration of a BSP superstep.
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
A Load Balancing Framework for Adaptive and Asynchronous Applications Kevin Barker, Andrey Chernikov, Nikos Chrisochoides,Keshav Pingali ; IEEE TRANSACTIONS.
1 CS101 Introduction to Computing Lecture 19 Programming Languages.
Introduction of Apache Hama Edward J. Yoon, October 11, 2011.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Comp 245 Data Structures Software Engineering. What is Software Engineering? Most students obtain the problem and immediately start coding the solution.
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Top-Down Design and Modular Development
View-Oriented Parallel Programming for multi-core systems Dr Zhiyi Huang World 45 Univ of Otago.
Bulk Synchronous Parallel Processing Model Jamie Perkins.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Parallel ICA Algorithm and Modeling Hongtao Du March 25, 2004.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Parallel Distributed Programming Introduction.
Parallel Suffix Array Construction by Accelerated Sampling Matthew Felice Pace University of Warwick Joint work with Alexander Tiskin University of Warwick.
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Concurrent Aggregates (CA) Andrew A. Chien and William J. Dally Presented by: John Lynn and Ryan Wu.
RAM, PRAM, and LogP models
LogP and BSP models. LogP model Common MPP organization: complete machine connected by a network. LogP attempts to capture the characteristics of such.
Bulk Synchronous Processing (BSP) Model Course: CSC 8350 Instructor: Dr. Sushil Prasad Presented by: Chris Moultrie.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
By Sarita Adve & Kourosh Gharachorloo Slides by Jim Larson Shared Memory Consistency Models: A Tutorial.
Cache Coherence Protocols 1 Cache Coherence Protocols in Shared Memory Multiprocessors Mehmet Şenvar.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Motivation: Sorting is among the fundamental problems of computer science. Sorting of different datasets is present in most applications, ranging from.
Data Structures and Algorithms in Parallel Computing Lecture 4.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
OOP (Object Oriented Programming) Lecture 1. Why a new paradigm is needed? Complexity Five attributes of complex systems –Frequently, complexity takes.
2016/1/5Part I1 Models of Parallel Processing. 2016/1/5Part I2 Parallel processors come in many different varieties. Thus, we often deal with abstract.
Outline Why this subject? What is High Performance Computing?
Parallelization Strategies Laxmikant Kale. Overview OpenMP Strategies Need for adaptive strategies –Object migration based dynamic load balancing –Minimal.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Department of Computer Science, Johns Hopkins University Pregel: BSP and Message Passing for Graph Computations EN Randal Burns 14 November 2013.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
Parallel Programming Models EECC 756 David D. McGann 18 May, 1999.
Programming paradigms
Policy-oriented Enterprise Management (POEM)
Interactive Course for Parallel Programming
Introduction CSE 1310 – Introduction to Computers and Programming
First work in AI 1943 The name “Artificial Intelligence” coined 1956
Starting Out with Programming Logic & Design
Why Object-oriented Programming?
Shared Memory Consistency Models: A Tutorial
EE 4xx: Computer Architecture and Performance Programming
Starting Out with Programming Logic & Design
Bulk Synchronous Parallel (BSP) Model Illustration of a BSP superstep.
What Is Good Software(Program)?
Computational Thinking
Chapter 10 Thinking in Objects Part 1
Software Development Chapter 1.
Presentation transcript:

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

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

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

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

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

6 What’s a superstep? 1. Processes perform as much as possible using local data 2. Communication and synchronization 3. Move on to next superstep superstep …

7 Dissection of a superstep Local computation Global Communication Synchronization Threads/Processes TIMETIME

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

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

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

11 Example: See code examplecode example

12 References COP5937.html ting.html s12.pdf ode2.html

13