TCS / Studies / T-79.4301 Parallel and Distributed Systems
Helsinki University of Technology, 
     Laboratory for Theoretical Computer Science

T-79.4301 Parallel and Distributed Systems (4 ECTS)

Spring 2007


Modern software systems are often implemented as parallel and distributed systems. This can give benefits such as improved performance. However, designing, implementing, and testing such systems involves new challenges not fully addressed by traditional software engineering methods developed for sequential systems.

This course will introduce the student to techniques for the development of parallel systems. The main used method is the modelling of parallel and distributed systems. These design models of systems can then be analysed through computer-aided verification methods.

The main focus on the course is on modelling methods and practical modelling of parallel and distributed systems. Basics of computer-aided verification methods will also be discussed.

Note: The course will be taught in English. The course contents and material will change somewhat from previous years, so old material might not be sufficient.


Requirements: Exam and home exercises: at least 50% of points from home exercises to pass, at least 80% of points gives +1 to exam grade. Note: The exercises should be done individually, no exercise groups/sharing of solutions allowed.

Prerequisites: T-79.1001/T-79.1002/T-79.148, T-79.3001/T-79.144, and the compulsory mathematics studies of the study programme.

Lectures: Monday 12.15-14:00 in Lecture hall T3 (CS-building), first lecture on Monday 15th of January. Lectures and all material will be in English.

Tutorials: Mondays 14:15-15:00 in T3, first tutorial on Monday 22nd of January!

Literature: Lecture notes (slides) to be distributed through Edita. Note: The course contents and material will change somewhat from previous years, so old material might not be sufficient.

Lectures: Docent Keijo Heljanko.

Tutorials: Stud. Tech. Tuomas Launiainen, email: t794301-spring07@tcs.tkk.fi

Preliminary Lecture schedule:

Monday 15.1 at 12:15 - Lecture 1 (.ps.gz, 4 slides per page)
Monday 22.1 at 12:15 - Lecture 2 (.ps.gz, 4 slides per page)
Monday 29.1 at 12:15 - Lecture 3 (.ps.gz, 4 slides per page)
Monday 5.2 at 12:15 - Lecture 4 (.ps.gz, 4 slides per page)
Monday 12.2 at 12:15 - No lecture (Lecturer away)
Monday 19.2 at 12:15 - Lecture 5 (.ps.gz, 4 slides per page), Home exercise 1 distributed (ps.gz) (partial Promela model of an elevator)
Monday 26.2 at 12:15 - Lecture 6 (.ps.gz, 4 slides per page)
Monday 5.3 at 12:15 - No lecture (exam period)
Monday 12.3 at 12:15 - Lecture 7 (.ps.gz, 4 slides per page), Deadline of home exercise 1, Home exercise 2 distributed (ps.gz) (partial Promela model of a unidirectional ring protocol)
Monday 19.3 at 12:15 - Lecture 8 (.ps.gz, 4 slides per page)
Monday 26.3 at 12:15 - Lecture 9 (.ps.gz, 4 slides per page), Deadline of home exercise 2, Home exercise 3 distributed (ps.gz) (partial Promela model of an FPU controller)
Monday 2.4 at 12:15 - Lecture 10 (.ps.gz, 4 slides per page)
Monday 9.4 at 12:15 - No lecture (Easter holiday)
Monday 16.4 at 12:15 - Lecture 11 (.ps.gz, 4 slides per page), Deadline of home exercise 3
Monday 23.4 at 12:15 - Lecture 12 (.ps.gz, 4 slides per page)
Monday 30.4 - No lecture

The deadlines for home exercises are always at 12:15 and the deadlines are tight!

Preliminary Tutorial schedule:

Monday 15.1 at 14:15 - No tutorial
Monday 22.1 at 14:15 - Tutorial 1 (ps.gz); Solutions (ps.gz)
Monday 29.1 at 14:15 - Tutorial 2 (ps.gz); Solutions (ps.gz)
Monday 5.2 at 14:15 - Tutorial 3 (ps.gz); Solutions (ps.gz)
Monday 12.2 at 14:15 - No tutorial
Monday 19.2 at 14:15 - Tutorial 4 (ps.gz); Solutions (ps.gz)
Monday 26.2 at 14:15 - Tutorial 5 (ps.gz); Solutions (ps.gz)
Monday 5.3 - No tutorial (exam period)
Monday 12.3 at 14:15 - Tutorial 6 (ps.gz); Solutions (ps.gz)
Monday 19.3 at 14:15 - Answers of home exercise 1; results of home exercise 1
Monday 26.3 at 14:15 - Tutorial 7 (ps.gz); Solutions (ps.gz)
Monday 2.4 at 14:15 - Answers of home exercise 2; results of home exercise 2
Monday 9.4 at 14:15 - No tutorial (Easter holiday)
Monday 16.4 at 14:15 - Tutorial 8 (ps.gz); Solutions (ps.gz)
Monday 23.4 at 14:15 - Answers of home exercise 3; results of home exercise 3
Monday 30.4 at 14:15 - No tutorial


Course Feedback

Please give course feedback before 23rd of May at 23:59 using one of the links below.

  • Feeback form in English
  • Feeback form in Finnish
  • Feeback form in Swedish


    Exams

  • Exam on 31st of August 2007: Finnish version, English version, Exam results

    The preliminary date for the next exam is Wednesday, 19th of December 2007 9:00-12:00 in Lecture hall T1.


    Old Exams

  • Exam on 8th of May 2007: Finnish version, English version, Exam results
  • Exam on 31st of August 2006: Finnish version, English version
  • Exam on 10th of May 2006: Finnish version, English version

    Using the Spin model checker in the Computing Centre workstations

    Spin and XSpin executables are installed in the /p/edu/t-79.4301/bin directory on the Linux workstations in the Computing Centre (see here for a list of workstations).

    To make using the tools easier, you can first add the directory /p/edu/t-79.4301/bin to your PATH environment variable, for example, by running one of the commands
        (using tcsh as your shell): setenv PATH /p/edu/t-79.4301/bin:$PATH
        (using bash as your shell): export PATH=/p/edu/t-79.4301/bin:$PATH

    Spin and XSpin should then be accessible by running the commands spin and xspin, respectively.


    Links:

    Spin model checker homepage
    T-79.4301 Parallel and Distributed Systems (Spring 2006 version)


    The course T-79.4301 replaces either the course T-79.179 Parallel and Distributed Digital Systems or the course T-79.231 Parallel and Distributed Digital Systems.


    [TCS main] [Contact Info] [Personnel] [Research] [Publications] [Software] [Studies] [News Archive] [Links]
    Latest update: 21 September 2007.