Concurrent Programming


The game is over for software that is written only for a single processor.

Robert Crooke
general manager Business Client Division, Intel


Opis przedmiotu/Course description

Semestr/Semester Wykład/Lecture Laboratorium/Laboratory Ćwiczenia/Class Egzamin/Exam
8 2 -- 2 --
9 -- 2 -- E
The course provides both a comprehensive introduction to concurrent and parallel programming, and a thorough discussion of selected advanced topics. The lecture covers important concepts and mechanisms, while the classes give opportunity to test the new skills and knowledge in practice.

Tematyka/Topics

Wykład/Lectures

  1. Fundamentals:
  2. Expressing concurrency
  3. Concurrent programming with shared memory
  4. Concurrent programming with distributed memory
  5. Properties of concurrent programs and their correctness.
  6. PRAM
  7. Performance of parallel algorithms.
  8. Parallel programming

Laboratorium/Laboratory

  1. OpenMP.
  2. POSIX threads.
  3. MPI.

Zaliczenie/Credits and examination method


Regulamin/Regulations

Regulamin przedmiotu/Course regulations

  1. The course consists of lectures, laboratories and classes.
  2. Credits in lectures are obtained automatically.
  3. Laboratories and classes are obligatory. Two unjustified absences cause lack of attestation. According to the Regulations of Studies at Silesian University of Technology, the fact of absence may be presented to the Dean.
  4. During the 1st semester of the course students have to take an assesment test. To obtain the credits in classes it is necessary to acheive a grade greater or equal to 3. Unjustified absence during a test results in grade 2.0 (fail) for the test.
  5. Second semester of the course is regulated by separate regulations, see below.
  6. In all cases stated neither in these Regulations nor in the Regulations of Studies at Silesian University of Technology, the lecturer will decide.

Regulamin laboratorium /Laboratory regulations

  1. Laboratory classes are obligatory. Two unjustified absences cause lack of attestation. According to the Regulations of Studies in the Silesian University of Technology, the fact of absence may be presented to the Dean.
  2. To obtain credits for the classes a student is required to complete three exercises and obtain positive (i.e. >= 3.0) grades for each of them. An exercise involves a practical task, that may be assigned to an individual student or to a team of students.
  3. An exercise is graded as an average of with restrictions discussed below. Both grades must be positive (i.e. >= 3.0) for the exercise to be graded.
  4. A student who did not submitted a solution of a task before the deadline as set in the schedule or who failed the assessment test will not be given more than 3.0 for the exercise. In such a case the student is still required to obtain both positive grades for the exercise as described above.
  5. While grading the program and the report the teacher takes into account not only the quality of the final product but also the way it has been obtained: timing of the work, distribution of workload in case of team assignment, level of skills and knowledge demonstrated in the classroom.
  6. Auxiliary tasks are assigned and auxiliary assessment tests are organized by the teacher responsible for a given exercise. The teacher sets the deadlines on individual basis.
  7. Positive grades are final and can not be improved.
  8. The final grade is equal to
  9. In all cases stated neither in these Regulations nor in the Regulations of Studies in the Silesian University of Technology, the lecturer will decide.

Literatura/Bibliography


Materiały pomocnicze/Materials