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: thread-parallel programming synchronizationvirtual clocksmemory consistency modelsdata race detection data parallel programming backed up by the technologies for practical implementation of these ideas: Java threads and OpenMP (C++/C).
It then goes on with the fundamentals of programming "distributed memory" architectures: BSP programming modelMaster-WorkerMap-Reducewhich are complemented by the management of distributed resources in large-scale computing environments (aka Grids)Condor.
miluim.pdf 26684 Bytes