Nyhetsflöde
Logga in till din kurswebb
Du är inte inloggad på KTH så innehållet är inte anpassat efter dina val.
I Nyhetsflödet hittar du uppdateringar på sidor, schema och inlägg från lärare (när de även behöver nå tidigare registrerade studenter).
Oktober 2017
Visa tidigare händelser (18)
Lärare
Johan Montelius
skapade sidan
8 juli 2012
Lärare
Johan Montelius
ändrade rättigheterna
8 juli 2012
Kan därmed läsas av alla och ändras av lärare.
Johan Montelius
redigerade
25 augusti 2012
There will be six seminar topics that will guide you through some interesting aspects of distributed systems.
For each topic you will have two sessions. The first session is not mandatory but you will be able to get some help in solving the problem. The best thing is if you are already well prepared and spend the time at the session solving the tricky issues and maybe run some experiments.
On the second seminar you should have a working system up and running so that you can either connect to others in a larger distrubuted system, extend the system, run some benchmarks and discuss the problems encountered. The second seminar sessions are mandatory and you should be prepared to explain your results. Note - the first topic is not mandatory and there is nothing that you need to hand in.
The report At the seminar you should hand in a 2-3 page report that describes your results. You should use the LaTex template provided and hand in a printed copy at the start of the seminar. If you fail to prepare properly you have falled the seminar and will have to redo the course next year.¶ Use the following LaTex template:¶
* Seminar template
SIgn up Sign up to one of the sessions for the Thursday seminars: morning, before lunch and afternoon. You sign up using Daisy.
Schedule
* Hello Erlang: an introduction to Erlang
* Tuesday x'th of September
* Thursday x'st of September - not mandatory
* Rudy: a small web server
* Tuesday x'th of September
* Thursday x'th of September - mandatory
* Routy: a routing network
* Tuesday x of September
* Thursday x of September - mandatory
* Loggy: a logical time logger
* Tuesday x of September
* Thursday x of September - mandatory
* Groupy: a group membership service
* Tuesday x of September
* Thursday x of September - mandatory
* Chordy: a distributed hash table
* Tuesday x of October
* Friday x of October - mandatory
Johan Montelius
redigerade
22 september 2014
There will be six seminar topics that will guide you through some interesting aspects of distributed systems.
For each topic you will have two sessions. The first session is not mandatory but you will be able to get some help in solving the problem. The best thing is if you are already well prepared and spend the time at the session solving the tricky issues and maybe run some experiments.
On the second seminar you should have a working system up and running so that you can either connect to others in a larger distrubuted system, extend the system, run some benchmarks and discuss the problems encountered. The second seminar sessions are mandatory and you should be prepared to explain your results. Note - the first topic is not mandatory and there is nothing that you need to hand in.
The report At the seminar you should hand in a 2-3 page report that describes your results. You should use the LaTex template provided and hand in a printed copy at the start of the seminar. If you fail to prepare properly you have falled the seminar and will have to redo the course next year. Use the following LaTex template:
* Seminar template
Sign up Sign up to one of the sessions for the Thursday seminars: morning, before lunch and afternoon. You sign up using Daisy.
Schedule
* Hello Erlang: an introduction to Erlang
* Not mandatory, help is available during the first two weeks.
* Rudy: a small web server
* Monday/Tuesday 15-16'th of September
* Thursday 18'th of September - mandatory
* Routy: a routing network
* Monday/Tuesday 22-23'th of September
* WedneThursday 245'th of September - mandatory
* Loggy: a logical time logger
* Tuesday 30'th of September
* Thursday 2'nd of October - mandatory
* Groupy: a group membership service
* Tuesday 7'th of October
* WedneThursday 89'th of October - mandatory
* Chordy: a distributed hash table
* Monday 13'th of October
* Tuehursday 146'th of October - mandatory
Oktober 2016
Visa tidigare händelser (24)
Lärare
Johan Montelius
skapade sidan
8 juli 2012
Johan Montelius
redigerade
20 september 2012
In this assignment you will implement a group membership service. If everything works ok, you will not only see colours but the same colours.
This is an assignment were you will implement a group membership service that provides atomic multicast. The aim is to have several application layer processes with a coordinated state i.e. they should all perform the same sequence of state changes. A node that wish to perform a state change must first multicast the change to the group so that all nodes can execute it. Since the multicast layer provides total order, all nodes will be synchronized. The problem in this assignment is that all nodes need to be synchronized even though nodes may come and go (crash). As you will see it is not as trivial as one might first think.
Complete the assignment up to, and including, section 3. Write up your observations in a short report and be prepared to connect the nodes in a class room wide group. On the seminars we will discuss the questions under section 4.
* groupy.pdf
Johan Montelius
redigerade
24 september 2012
In this assignment you will implement a group membership service. If everything works ok, you will not only see colours but the same colours.
This is an assignment were you will implement a group membership service that provides atomic multicast. The aim is to have several application layer processes with a coordinated state i.e. they should all perform the same sequence of state changes. A node that wish to perform a state change must first multicast the change to the group so that all nodes can execute it. Since the multicast layer provides total order, all nodes will be synchronized. The problem in this assignment is that all nodes need to be synchronized even though nodes may come and go (crash). As you will see it is not as trivial as one might first think.
Complete the assignment up to, and including, section 3. Write up your observations in a short report and be prepared to connect the nodes in a class room wide group. On the seminars we will discuss the questions under section 4.
* groupy.pdf
Johan Montelius
redigerade
25 september 2012
In this assignment you will implement a group membership service. If everything works ok, you will not only see colours but the same colours.
This is an assignment were you will implement a group membership service that provides atomic multicast. The aim is to have several application layer processes with a coordinated state i.e. they should all perform the same sequence of state changes. A node that wish to perform a state change must first multicast the change to the group so that all nodes can execute it. Since the multicast layer provides total order, all nodes will be synchronized. The problem in this assignment is that all nodes need to be synchronized even though nodes may come and go (crash). As you will see it is not as trivial as one might first think.
Complete the assignment up to, and including, section 3. Write up your observations in a short report and be prepared to connect the nodes in a class room wide group. On the seminars we will discuss the questions under section 4.
* groupy.pdf (third try)
Johan Montelius
redigerade
25 september 2012
In this assignment you will implement a group membership service. If everything works ok, you will not only see colours but the same colours.
This is an assignment were you will implement a group membership service that provides atomic multicast. The aim is to have several application layer processes with a coordinated state i.e. they should all perform the same sequence of state changes. A node that wish to perform a state change must first multicast the change to the group so that all nodes can execute it. Since the multicast layer provides total order, all nodes will be synchronized. The problem in this assignment is that all nodes need to be synchronized even though nodes may come and go (crash). As you will see it is not as trivial as one might first think.
Complete the assignment up to, and including, section 3. Write up your observations in a short report and be prepared to connect the nodes in a class room wide group. On the seminars we will discuss the questions under section 4.
* groupy.pdf (third tryfourth)
Johan Montelius
redigerade
28 september 2015
In this assignment you will implement a group membership service. If everything works ok, you will not only see colours but the same colours.
This is an assignment were you will implement a group membership service that provides atomic multicast. The aim is to have several application layer processes with a coordinated state i.e. they should all perform the same sequence of state changes. A node that wish to perform a state change must first multicast the change to the group so that all nodes can execute it. Since the multicast layer provides total order, all nodes will be synchronized. The problem in this assignment is that all nodes need to be synchronized even though nodes may come and go (crash). As you will see it is not as trivial as one might first think.
Complete the assignment up to, and including, section 3. Write up your observations in a short report and be prepared to connect the nodes in a class room wide group. On the seminars we will discuss the questions under section 4.
This version uses the wxWidgets library.
* Groupy: a group membership service
Johan Montelius
redigerade
28 september 2015
In this assignment you will implement a group membership service. If everything works ok, you will not only see colours but the same colours.
This is an assignment were you will implement a group membership service that provides atomic multicast. The aim is to have several application layer processes with a coordinated state i.e. they should all perform the same sequence of state changes. A node that wish to perform a state change must first multicast the change to the group so that all nodes can execute it. Since the multicast layer provides total order, all nodes will be synchronized. The problem in this assignment is that all nodes need to be synchronized even though nodes may come and go (crash). As you will see it is not as trivial as one might first think.
Complete the assignment up to, and including, section 3. Write up your observations in a short report and be prepared to connect the nodes in a class room wide group. On the seminars we will discuss the questions under section 4.
This version uses the wxWidgets library.
* Groupy: a group membership service
* worker.erl
* gui.erl
* test.erl
September 2016
Visa tidigare händelser (3)
Oktober 2015
Visa tidigare händelser (1)
Lärare
Johan Montelius
skapade sidan
10 oktober 2012
Johan Montelius
redigerade
15 oktober 2015
A summary and time left over for things that we did not have time to cover.... and then of course we must decide the price of olive oil.
* paxos.pdf
September 2015
Visa tidigare händelser (6)
Lärare
Johan Montelius
skapade sidan
8 juli 2012
Johan Montelius
redigerade
24 september 2012
In this assignment you will implement a distributed hash table following the Chord scheme. In order to understand what you're about to do you should have a basic understanding of Chord and preferably have read the original paper.
Implement the distributed hash table up to the point where you have added the store and done some smaller experiments (section 1 and 2). Write up your results and experience in a report and hand it in at the seminar.
At the seminar we will build a larger ring and perform some measurements. We will also discuss how to proceed with handling of failures.
* chordy.pdf
Johan Montelius
redigerade
28 september 2012
In this assignment you will implement a distributed hash table following the Chord scheme. In order to understand what you're about to do you should have a basic understanding of Chord and preferably have read the original paper.
Implement the distributed hash table up to the point where you have added the store and done some smaller experiments (section 1 and 2). Write up your results and experience in a report and hand it in at the seminar.
At the seminar we will build a larger ring and perform some measurements. We will also discuss how to proceed with handling of failures.
* chordy.pdf
Johan Montelius
redigerade
1 oktober 2012
In this assignment you will implement a distributed hash table following the Chord scheme. In order to understand what you're about to do you should have a basic understanding of Chord and preferably have read the original paper.
Implement the distributed hash table up to the point where you have added the store and done some smaller experiments (section 1 and 2). Write up your results and experience in a report and hand it in at the seminar.
At the seminar we will build a larger ring and perform some measurements. We will also discuss how to proceed with handling of failures.
* chordy.pdf
* Chord: A Scalable Peertopeer Lookup Service for Internet Applications
Johan Montelius
redigerade
28 september 2015
In this assignment you will implement a distributed hash table following the Chord scheme. In order to understand what you're about to do you should have a basic understanding of Chord and preferably have read the original paper.
Implement the distributed hash table up to the point where you have added the store and done some smaller experiments (section 1 and 2). Write up your results and experience in a report and hand it in at the seminar.
At the seminar we will build a larger ring and perform some measurements. We will also discuss how to proceed with handling of failures.
* Chordy - a distributed hash table
* Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
Some code that might come in handy when testing the system.
* test.erl
Visa tidigare händelser (7)
Lärare
Johan Montelius
skapade sidan
8 juli 2012
Johan Montelius
redigerade
7 september 2012
Keeping track of order of events.
In this exercise you will learn how to use logical time in a practical example. The task is to implement a logging procedure that receives log events from a set of workers. The events are tagged with the Lamport time stamp of the worker and the events must be ordered before written to stdout. It is slightly more tricky than one might first think.
* loggy.pdf
Johan Montelius
redigerade
28 september 2015
Keeping track of order of events.
In this exercise you will learn how to use logical time in a practical example. The task is to implement a logging procedure that receives log events from a set of workers. The events are tagged with the Lamport time stamp of the worker and the events must be ordered before written to stdout. It is slightly more tricky than one might first think.
* Loggy: a logical time logger
Visa tidigare händelser (2)
Lärare
Johan Montelius
skapade sidan
8 januari 2014
Lärare
Johan Montelius
ändrade rättigheterna
29 januari 2014
Kan därmed läsas av alla och ändras av lärare.
Johan Montelius
redigerade
28 september 2015
Send messages from Tokyo to Brasil.In this exercise we will implement a network of routers. Before the seminar you will have to complete the functions that handle the routing table, set of interfaces and maps. You should also have a implemented a router process. During the seminar we should connect the routers together.
* Routy: a small routing proticol
Visa tidigare händelser (4)
Lärare
Johan Montelius
skapade sidan
8 juli 2012
Johan Montelius
redigerade
25 augusti 2012
Write your own web server and access it using a regular web browser.
In this assignment you will build a small web server; sounds more complicate than it is. Before the seminar you should have started with Erlang and have completed a small web server. You should have done some performance measurements and written a small report describing your experiments and findings.
* Rudy - a small web server
During the seminar we will discuss your findings and discuss pros and cons on how to improve the server.
Johan Montelius
redigerade
28 september 2015
Write your own web server and access it using a regular web browser.
In this assignment you will build a small web server; sounds more complicate than it is. Before the seminar you should have started with Erlang and have completed a small web server. You should have done some performance measurements and written a small report describing your experiments and findings.
* Rudy - a small web server
* RFC 2616
You should complete the rudimentary server described above and do someexperiments. Set up the server on one machine and access it from another machine. A small benchmark program can generate requests and measure the time it takes to receive the answers. Write up your findings in a small report.
During the seminar we will discuss your findings and discuss pros and cons on how to improve the server.
Hej,
I cannot register a course neither in My Pages nor in Daisy in order to do the seminar registration.
Will we have to wait untill our courses are automatically registered to our accounts?. (If I recall something like that was told to us in the introduction day, for the new students.)