The area of distributed systems has evolved during the last 2-3 decades, and in the last decade, the spreading of the Internet and intranets has made the area a central for the development of modern software. Today distributed systems are everywhere: from the world wide web, through the banks interconnected systems, to systems of embedded controllers like the network of computers in a modern car. There are several good reasons for developing and deploying distributed systems, often heard are: fault tolerance, better performance than by using single processor solutions, economics, and autonomy.
In the course we shall have a look at different aspects of distributed systems. Their basic properties differ profoundly from centralized and sequential systems, and this has severe impacts on how we understand and develop such systems. We start by considering programming models and tools for distributed systems. Next we look at different fundamental distributed algorithms, which gives an impression of the basic problems involved in developing distributed systems, and gives a foundation for developing your own problem specific solutions. Next we exemplify the application level by looking at concrete systems and applications. Finally, we look at new research directions in distributed systems.
Amount: 3 ECTS (15 lectures)
The student obtains knowledge about concepts in distributed systems, knowledge about their construction, and understanding of advantages and disadvantages of their application.
Contents:
Brian Nielsen e-mail: bnielsen@cs.aau.dk, SLV 1.2.10
Claus Thrane e-mail: crt@cs.aau.dk, SLV 1.2.38
Tuesdays in room 0.2.12. Lectures from 12.30 to 14.15 and exercises from 14.30 to 16.15
Thursdays in room 0.2.12. Lectures: 08:15-10:00 and exercises: 10:15-12:00
Lecture No. | Date | Room | Topic | Slides |
1 | Thu
4/9 8.15 |
0.2.12 | Introduction to Distributed Systems | intro.pdf |
2 | Tue 9/9 12.30 | 0.2.12 | Programming Models I (Client/server, RPC, RMI) | cs.pdf |
3 | Thu 11/9 8.15 |
0.2.12 | Distributed File Systems | dfs.pdf |
4 | Tue
23/9 12.30 |
0.2.12 | Programming Models II (.Net
Remoting) Guest Lecture by Morten Dahl |
remoting.pdf |
5 | Thu 25/9 8:15 | 0.2.12 | Programming Models II (Events, Message Passing, Linda) | dp2.pdf |
6 | Tue
30/9 12:30 |
0.2.12 | Peer2peer Systems | p2p.pdf squirrel.pdf |
7 | Thu
2/10 8:15 |
0.2.12 | Clock Synchronization | clock.pdf |
8 | Tue
7/10 12:30 |
0.2.12 | Distributed Mutual Exclusion | mutex.pdf |
9 | Thu
9/10 8:15 |
0.2.12 | Multicast communication | mcast.pdf |
10 | Tue 21/10 | 0.2.12 | Consensus and study-exercises | consensus.pdf |
11 | Thu 23/10 |
Study Exercise (No Lecture) | ||
12 | Tue 28/10 | Replication | repl.pdf | |
14 | Thu 6/11 | 0.2.12 | Introduction to Grid Computing (Guest Lecture by Josva Kleist) | grid.pdf |
13 | Thu 13/11 | Web Services | webserv.pdf | |
15a | Thu 20/11 | 0.2.12 11.00-12.00 |
Conclusions and Exam Information | summary.pdf |
15b | ?? | ?? |
Exam Questioning Hour / Spørgetime |
No lectures: 18/9, 16/10, 30/10
DAT3/F7S
SSE, MI and DE
EVU
Brian Nielsen