Part 1: Introduction to Parallel Programming

  • Notes on the SGI Power Challenge
  • Introduction to parallel programming
  • Process management and parallel programming
  • Process management in Unix
  • Environment of a Unix process
  • Performance of parallel computations
  • Part 2: Process Interaction

  • Controlling process execution in Unix
  • Process interaction by file locking
  • Process interaction by pipes
  • Process interaction by sending and receiving signals
  • Light process creation under Unix (ps)
    Light process creation under Unix (pdf)
  • Example of sproc() usage (ps)
    Example of sproc() usage (pdf)
  • Unix V IPC Resources (ps)
    Unix V IPC Resources (pdf)
  • Unix V IPC Resources: Semaphores
  • Unix V IPC Resources: Message Queue
  • Unix V IPC Resources: Shared Memory
  • Process scheduling for execution
  • Part 3: Models of Parallel Programs

  • Structure of parallel programs (the model)
  • Parallel programming under UNIX - A Critical Review
  • Posix Threads
  • Thread synchronization
  • Part 4: Network Programming

  • Introduction to process communication by sockets
  • Process communication by connection oriented sockets
  • Process communication by connectionless sockets
  • Coordinating socket activities
  • Part 5: Distributed Programming

  • Remote procedure call: command execution
  • Remote procedure call: function execution
  • Using rpcgen to generate templates and makefile
  • Summary on remote procedure call
  • Example of rpcgen usage
  • Getting familiar with distributed systems
  • CORBA Client/Server architecture
  • Interface Definition Language
  • Building a CORBA Application
  • Part 6: Parallel Programming Using Coordination Languages

  • Introduction to MPI programming
  • MPI programming on SGI
  • Running MPI programs on silicon
  • Determinism of MPI programs
  • MPI Collective Communication Operations
  • MPI Data Grouping Operations
  • MPI Communicator and Topology Management Operations
  • MPI Asynchronous Operations
  • Performance of MPI pograms