Parallel Programming

  • Parallel computers, parallel hardware systems
  • Parallel programming, parallel software systems
  • Processes, process interactions, interprocess communication, efficiency of parallel computations
  • Channels, messages, synchronous and asynchronous communication
  • The Occam language and the PVM system architecture
  • Multiplexers, pipelines, structure clash
  • Load balancing, processor farm
  • Parallelism in the Java language
  • Semaphores, mutual exclusion, synchronisation
  • Produces-consumer, readers-writers problem
  • Monitors, condition variables, synchronisation in monitors