Special Topics: The BSP Model for Portable & Efficient Parallel Computing

Special Topics: The BSP Model for
Portable & Efficient Parallel Computing

COP 5937, Section 1
Fall 1996
T Th 5:00pm - 6:15pm
BA 206

Professor Mark Goudreau


Course Description

Parallel computing has long been heralded as the wave of the future. Decades of experience, however, have demonstrated that creating efficient and portable parallel software is a difficult task, largely due to the diversity of current parallel computers and parallel computer models. Some use shared-memory techniques, others use message passing. Some take advantage of network locality, others do not. As a result of this chaotic situation, parallel application code is usually computer specific - to run the application on a different parallel computer generally requires a fundamental restructuring of the solution method.

In order to make parallel computing more manageable, therefore, it would be desirable to have a unifying model for parallel computing. An acceptable unifying model should have several properties. First, it should be simple enough to allow programmers to reason about and write parallel code. Second, it should be close enough to physical reality that computer architects can design efficient hardware. Third, it should be mathematically tractable to aid in the development and analysis of algorithms. The Bulk-Synchronous Parallel (BSP) model, proposed by Leslie Valiant, is a promising candidate for the unifying model.

The purpose of this course is to familiarize the student with the theory behind the BSP model and its practical consequences. The course will consist of a series of group discussions - students will be expected to present their own ideas and opinions. Furthermore, this is a fruitful research area. Students seeking cutting-edge research projects that are of both practical and theoretical significance are strongly encouraged to enroll.

This course was first offered in Fall 1995 and was very well-received by students.


General information:
  • Project proposal due Tuesday, October 8, 1996.
  • Project progress report due Tuesday, November 5, 1996.
  • Project final report due Tuesday, December 3, 1996.
  • Project presentation Thursday, December 12, 1996. (4:00pm-6:50pm.)

  • Presentation schedule:
  • October 15, 1996. Christopher La May on memory-consistency models.
  • October 17, 1996. Matt Travis on Direct Bulk-Synchronous Parallel Algorithms by Gerbessiotis and Valiant.
  • October 22, 1996. Ali Mazrui on Communication-Efficient Parallel Algorithms for Distributed Random-Access Machines by Leiserson and Maggs.
  • October 24, 1996. Greg Shumaker (guest presentation).
  • October 29, 1996. Tiffani Williams on Deterministic Sorting and Randomized Mean Finding on the BSP Model by Gerbessiotis and Siniolakis.
  • October 31, 1996. Dominic Da Silva on BSPk: Low Overhead Communication Constructs and Logical Barriers for Bulk Synchronous Parallel Programming by Fahmy and Heddaya.
  • November 5, 1996. Tammy Zvorak on Programming Parallel Algorithms by Blelloch.
  • November 7, 1996. Bruce Martin on LogP: Towards a Realistic Model of Parallel Computation by Culler et al.
  • November 12, 1996. Guru Prasad on An Atomic Model for Message Passing by Liu et al.
  • November 14, 1996. Eric Root (guest presentation).

  • Course handouts (postscript format):
  • Course flier.
  • Syllabus.
  • Project description.

  • Lecture notes, issue #1. (BSP introduction.)
  • Lecture notes, issue #2. (Example use of BSP: iterative relaxation, Benes network.)
  • Lecture notes, issue #3. (BSP libraries: Oxford, Green, and BSPlib.)
  • Lecture notes, issue #4. (Getting started with BSPlib on the UCF CS computers.)
  • Lecture notes, issue #5. (PRAM and MPRAM.)

  • Problem set #1.


  • BSP pages:
  • BSP Worldwide . An association for those interested in the further development of the BSP model, including coordination of research and standardization of tools, languages, and facilities.
  • BSP Repository, maintained by Ravi Palepu of Carleton University . Contains numerous WWW pointers, on-line BSP papers, and lists of references.
  • The Harvard BSP Project. Focus areas include linguistic constructs, compiler technology, runtime libraries, and applications.
  • Oxford Parallel and the The Oxford BSP Project. These related groups perform a wide range of activities, including development of software tools, libraries, applications, and languages.
  • Rob Bisseling of Utrecht University. Design of BSP algorithms, especially sparse-matrix computations.

  • Related parallel computing pages:
  • Active Messages. A simple and efficient network interface. Intended to be used by parallel libraries and parallel compilers.
  • Illinois Fast Messages (FM). Low-latency, high-bandwidth transmission of small messages. Intended to be used by parallel libraries and parallel compilers.
  • MPI: Message Passing Interface. A proposed standard for a portable message-passing library.
  • PVM: Parallel Virtual Machine. A popular approach for portable parallel software, with a focus on distributed computing environments.
  • Split-C. A parallel extension to the C programming language for use with distributed memory multiprocessors. It provides a global address space and a simple cost model that incorporates the concept of data locality.
  • Stanford Parallel Applications for Shared Memory (SPLASH). A set of parallel application programs for the evaluation of shared-memory multiprocessor systems.

  • UCF pages:
  • Professor Mark Goudreau
  • Department of Computer Science
  • Department of Computer Science Course Descriptions
  • UCF Center for Parallel Computation
  • University of Central Florida

  • Last modified November 4, 1996