Skip navigation

Site Map | College of Engineering | UC Davis | MyUCDavis

ECS 158 PROGRAMMING ON PARALLEL ARCHITECTURES (4) III

Lecture: 3 hours

Prerequisites: Course ECS 150; ECS 154B recommended

Grading: Letter; two midterms (20% each), final exam (40%) and programming work (20%)

Catalog Description:
Techniques for software development using the shared-memory and message-passing paradigms, on parallel architectures and networks of workstations. Locks, barriers and other techniques for synchronization. Introduction to parallel algorithms.

Expanded Course Description:

  1. Programming Paradigms
    1. Shared-memory
    2. Message-passing
    3. Bulletin-board (tuple space)
    4. Distributed shared memory (DSM)
    5. Software packages: MPI, PVM, Linda, p4, Adsmith, pthreads
  2. Overview of Parallel Architectures
    1. Shared-memory and message-passing hardware
    2. Interconnect structures, e.g. bus, crossbar,Omega-net, mesh
    3. Cache coherency
  3. Interprocess Synchronization
    1. Review of operating systems material: Processes, timesharing, OS-based interprocess synchronization
    2. Synchronization hardware, e.g. test-and-set and fetch-and-add instructions
    3. Locks, barriers
  4. Latency Problems
    1. Memory/network delays
    2. Latency hiding, e.g. using nonblocking messages
  5. Collective Communication
    1. Broadcast, scatter/gather, all-scatter/all-gather
  6. Overview of Parallel Applications
    1. Sorting, database
    2. Graph algorithms
    3. Scientific computing
Textbook:
Instructor's class notes.

Computer Usage:
Extensive programming assignments on our CSIF networked machines. The shared-memory work is done using Adsmith and the MulSim simulator, and the message-passing component using MPI.

Engineering Design Statement:
Students in the course write sophisticated, systems-level programs according to their own design. Many of the programs involve analysis of tradeoffs between efficient use of the hardware and ease of programming.

ABET Category Content:
Engineering Science: 2 units
Engineering Design: 2 units

Goals:
Student will:

Student Outcomes:

Instructors: M. Farrens, N. Matloff , R. Pandey, K. Ma

Prepared By: N. Matloff (November 2003)

Overlap Statement:
Comparison of this course with other existing courses does not indicate any significant overlap.

Back to Course Descriptions