1997-98 CS 284: Lecture Notes

This page contains a brief summary of each lecture along with any slides that were presented.
Tuesday, 7th October, 1997
Overview of multiprocessor architectures with an emphasis on shared-memory architectures.
Slides: html or PowerPoint 97.

Wednesday, 8th October, 1997
Overview of multithreaded programming for shared-memory multiprocessors.
Slides: html or PowerPoint 97.

Tuesday, 14th October, 1997
Overview of structured multithreaded programming and Sthreads. Introduction to multithreadable blocks and the sthread_block function.
Slides: html or PowerPoint 97.

Wednesday, 15th October, 1997
Multithreaded recursive mergesort as an example of multithreadable blocks and the sthread_block function. Discussion of Homework One.
Slides: html or PowerPoint 97.

Tuesday, 21st October, 1997
Overview of conditions for using pragma multithreadable: restrictions on shared variables and control flow. Introduction to multithreadable regular for loops and the sthread_regular_for_loop function.
Slides: html or PowerPoint 97.

Wednesday, 22nd October, 1997
Multithreaded matrix multiplication as an example of multithreadable regular for loops and the sthread_regular_for_loop function. Chunk size and thread mappings for multithreadable regular for loops. Cache effects in matrix multiplication. Discussion of Homework Two.
Slides: html or PowerPoint 97.

Tuesday, 28th October, 1997
Introduction to barrier synchronization and the sthread_barrier functions.
Slides: html or PowerPoint 97.

Wednesday, 29th October, 1997
Review of caching and memory access on quad-processor Pentium Pros. Advice on developing an efficient multithreaded matrix multiply. Description of the PSRS (Parallel Sorting by Regular Sampling) algorithm. Discussion of Homework Three.
Slides: html or PowerPoint 97.

Tuesday, 4th November, 1997
Performance issues of the PSRS algorithm. Discussion of general multithreaded programming performance issues: multithreading overheads, load balancing, granularity, memory contention, underlying algorithm.
Slides: html or PowerPoint 97.

Wednesday, 5th November, 1997
Timing the execution overheads of multithreaded regular for loops and barriers. Multithreaded All-Pairs Shortest-Paths (the Floyd-Warshall algorithm) as an example of the use of barriers. Discussion of Homework Four.
Slides: html or PowerPoint 97.

Tuesday, 11th November, 1997
Introduction to synchronization flags and the sthread_flag functions.
Slides: html or PowerPoint 97.

Wednesday, 12th November, 1997
Mergesort of a stream as an example of using synchronization flags. Discussion of Homework Five.
Slides: html or PowerPoint 97.

Tuesday, 18th November, 1997
Introduction to synchronization counters and the sthread_counter functions. LU factorization as an example of the use of counters.
Slides: html or PowerPoint 97.

Wednesday, 19th November, 1997
Discussion of Homework Six - All-Pairs Shortest-Paths revisted.
Slides: html or PowerPoint 97.

Tuesday, 25th November, 1997
Guest lecture by Dr. Rajesh Bordawekar on distributed shared-memory architectures, in particular the SGI/Cray Origin and HP/Convex Exemplar.
No slides for this lecture.

Wednesday, 26th November, 1997
Discussion of Homework Seven - the Skyline Matrix Problem.
Slides: html or PowerPoint 97.


Copyright © 1997-98, John Thornley. Last updated Wednesday, 26th November, 1997. Send comments to cs284@cs.caltech.edu.