Course syllabus is available here - see 2011 updates. Minor changes and additions are possible. Note the HW submission schedule - plan ahead
The course starts with the fundamental aspects of programming "shared-memory" architectures: <lu>
- thread-parallel programming
- virtual clocks
- memory consistency models
- data race detection
- data parallel programming </lu> backed up by the technologies for practical implementation of these ideas: Java threads and OpenMP (C++/C).
- BSP programming model
- Map-Reduce </lu>which are complemented by the management of distributed resources in large-scale computing environments (aka Grids)<lu>
- Condor </lu>.
It then goes on with the fundamentals of programming "distributed memory" architectures: <lu>
miluim.pdf 26684 Bytes