iCSC2006 The Art of Designing Parallel Applications

Marek Biskup - University of Warsaw

A few questions

  • Have you realized the growing importance of parallel programming?

  • Do you know how to distribute data and computations among working nodes?

  • Do you know how to synchronize threads in your application?

  • Can you efficiently use mutexes, semaphores, monitor objects, condition variables?

  • Can you write concurrent software in an object-oriented way?

  • Are you aware of tools which can help you write portable software?

All the answers in the Advanced Software Theme at iCSC

The theme focuses on parallel programming, either local on a multiprocessor system, or distributed, with computers communicating over a network.

The topics covered by the theme are hardware for parallel programs, scheme of designing parallel applications, means of synchronizing threads and processes (mutexes, semaphores, monitors) with examples in C and Java, the underlying principle of RMI and RPC and their usage for distributed programs.

The theme also covers writing cross-platform programs, which is especially important for distributed systems. We will conclude with a presentation of a portable, parallel data analysis platform - the ROOT framework.



Slot Lecture Description Lecturer

Tuesday 7 March


Lecture 1

Parallel Computing Marek Biskup
10:05 - 11:00

Lecture 2

Synchronizing Threads and Processes

Marek Biskup
11:30 - 12:25

Lecture 3

Design Patterns for Concurrent Objects

Marek Biskup
12:30 - 14:00  


14:00 - 14:55

Lecture 4

Portable Programming

Yushu Yao
15:05 - 16:00

Lecture 5

Parallel Computing with ROOT and PROOF

Marek Biskup
Yushu Yao