Computer Science 335
Parallel Processing and High Performance Computing
Fall 2026, Siena University
Lecture 7: Lab 2 Recap; Speedup and Scalability
Date: Wednesday, September 23, 2026
Agenda
- Announcements
- Repository reminder: make sure you don't add/commit/push
executables, object files, core files, Emacs backup files
- Discussion of Programming Project 1: Introduction to Jacobi
Iteration [PDF]
- for high-performance computing, especially as we move to C,
we will want to think about the balance between a very detailed
object-oriented decomposition of the problem, and the efficiency
of a simple, direct implementation
- Lab 2: Chapter 2 Questions [HTML] [PDF] discussion
- Other questions/discussion of Chapter 2 readings?
- Q&A/work time on ongoing tasks
Terminology
- vonNeumann architecture: main memory, central processing unit/processor/core, interconnection,
- registers, program counter, bus, fetch/read, store/write
- vonNeumann bottleneck
- operating system
- process
- call stack, heap
- multitasking, time slicing
- blocking
- threading
- fork, join
- single-program multiple data (SPMD)
- task parallel
- load balancing
- parallelization
- embarrassingly parallel
- shared vs. private memory
- static vs. dynamic (pop-up) threads
- nondeterminism
- race condition
- critical section
- mutual exclusion
- mutex lock
- serialization
- busy waiting
- thread safety
- distributed memory
- message passing
- speedup
- efficiency
- Amdahl's law
- scalability