Distributed systems, practical sessions 2014

Rooms

Room E001 will not be available every week and we will use room 171 on the following dates: 24/9, 12/11, 19/11, 26/11 and 3/12. This is subject to change and information given by Nicole Meftah takes precedence.

TD1

td01.pdf

slides of the Erlang course

Erlang Documentation

A quicksort solution for question 3.

A few erlang things to remember from the session:
* apply/3 launches a function from a module with a parameter list and returns its result (same as spawn/3 but does not start a new process).
* You can use the syntax "fun myfunc/3" to get a function based on a function name.

TD2

td02.pdf

td02.erl

Solution w/o bonus

Erlang io:fwrite documentation

Grid'5000

How to create a Grid'5000 account for the practical sessions

First, read the Grid'5000 User Charter.

Then, you need a public SSH key. Here is a simple tutorial about generating SSH keys Here is a more detailed one if you don't know much about SSH keys. Don't hesitate to ask me or your fellow tech-savvy students about SSH if you're not comfortable with it.

Then, go here to request an account. Aside from the obvious basic information, here is how you should fill the fields :
* Account expiration: 2014-12-20
* Choose a password and add your public key (either copy-paste it in the box or upload the actual file)
* Intended usage : TP SysDis ENS de Lyon (run by Vincent Lanore and Eddy Caron)
* Grid'5000 Affiliation: Manager: vlanore, Site (or guest): guest, Group(s): sysdis2014, Privilege(s): user.
* Professional status: student

Please take two minutes to request an account now. It is possible to do it at the beggining of the practical session but it might not be usable rightaway.

TD3

td03.pdf

The most useful page in the Erlang doc

Grid5000 website

TD4

td04.pdf

Erlang IO doc

Distributed Erlang Doc

Lyon site Gantt chart

Mini-proj 1

td05.pdf

factory.erl

robotUtils.erl

Mini-proj 2

td06.pdf

arbiter.erl

Protocol 0.1 : replace toofar with invalid in the return of the move action. Invalid corresponds both to the "destination is too far" and to the "there is no robot on the starting cell" cases. Additional remark: this modification extends to the enter action too in which case invalid encompasses cases such as "entry point number incorrect".

Mini-proj 3-5

td07.pdf

Below are protocol patches. The implementation of these patches is not strictly mandatory (since they were not in the original protocol which was given to you at session 3) but is encouraged since it will help greatly with multi-region transfers.

Protocol 1.1:
* new info request entry which returns the list of available entry points and corresponding coordinates in the {entries, [{X0,Y0},... {Xn,Yn}]} format.
* move action can now return {entry,{X,Y}} when the move resulted in the entry into another region.

Protocol 1.2:
* move action can now return {entry,{X,Y},Pid} when the move resulted in the entry into another region. (X,Y) are the coordinates of the arrival point and Pid is the Pid of the new arbiter.
* new info request entry which returns the list of available entry points and corresponding coordinates in the {entries, [{X0,Y0},... {Xn,Yn}]} format.
* new info request region which returns the name of the current region. This name is totally up to the arbiter but should not change over time.

Mini-proj 5

Last recommandations: td09.pdf

TD10

td10.pdf

corba.tar

http://documentation.progress.com/output/Iona/orbix/gen3/33/html/orbix33java_pguide/IDL.html

TD11

td11.pdf

DIET_2014_1.tar.gz

DIET useful information

DIET webpage

DIET User Guide

TD12

td12.pdf

Useful info 2