IA009 Parallel Computing

Faculty of Informatics
Spring 2005
Extent and Intensity
3/0. 3 credit(s) (plus extra credits for completion). Recommended Type of Completion: zk (examination). Other types of completion: k (colloquium), z (credit).
Teacher(s)
prof. RNDr. Antonín Kučera, Ph.D. (lecturer)
Guaranteed by
prof. RNDr. Mojmír Křetínský, CSc.
Department of Computer Science – Faculty of Informatics
Contact Person: prof. RNDr. Antonín Kučera, Ph.D.
Timetable
Wed 12:00–13:50 B410
Prerequisites
! I009 Parallel Computing
A preliminary knowledge on operational semantics and modal logic is an advantage (but not a necessity).
Course Enrolment Limitations
The course is only offered to the students of the study fields the course is directly associated with.
fields of study / plans the course is directly associated with
there are 7 fields of study the course is directly associated with, display
Course objectives
The course is an introduction to the area of concurrent and distributed programming. It focuses on general principals and paradigms which stand behind the design of concurrent and distributed algorithms.
Syllabus
  • The studied problems are first demonstrated on concrete (real) examples, then they are formulated abstractly and a solution is proposed. An emphasis is on formal justification of correctness of the presented solutions; in order to do that, some formalisms (transition systems, temporal logics) are introduced and applied. Finally, it is also demonstrated how the things work in practice (e.g., in the Unix operating system).
  • Basic principles; atomic instructions, interleaving, liveness, fairness.
  • Concurrent programs; formal semantics, temporal logics.
  • The mutual exclusion problem; Dekker's and Peterson's algorithm.
  • Semaphores; definition, application (mutual exclusion, producer-consumer, etc.), implementation in the Unix operating system.
  • Monitors; definition, application (producer-consumer, readers and writers), implementation (simulation of monitors by semaphores and vice versa).
  • The problem of dining philosophers; solutions using semaphores and monitors.
  • Distributed programming; synchronous and asynchronous communication, rendezvous, messages.
  • CSP and Occam; transputer.
  • Distributed algorithms; distributed mutual exclusion, distributed termination.
Literature
  • ANDREWS, Gregory R. Concurrent programming :principles and practice. Redwood City: Benjamin/Cummings Publishing Company, 1991, xvii, 637. ISBN 0-8053-0086-4. info
Language of instruction
Czech
Further Comments
The course is taught annually.
The course is also listed under the following terms Spring 2003, Spring 2004.
  • Enrolment Statistics (recent)
  • Permalink: https://is.muni.cz/course/fi/spring2005/IA009