Enunciado do projecto de época especial:



Participation in the practical classes is registered *here*.

The final schedule  of the meetings for project evaluation is posted below. Be prepared to make a short demo of your project. For the demo, prepare a scenario that you consider challenging (i.e, with some combination of delays and/or freeze/unfreeze that illustrates the algorithm working in adverse conditions).


A draft schedule of the meetings for project evaluation is posted below (please confirm the final schedule on Sunday 27: the schedule may change in function of the number of projects that are actually delivered)
  • Groups may swap slots by mutual agreement but should let me known in advance
  • I am looking for a group from Taguspark that does not mind to make the discussion in Alameda on Wednesday at the end of the day (7pm slot), such that I can avoid finishing at 9pm on Thursday.
  • ProjectEvaluation-v01.pdf

A LaTeX template to write the report (I suggest you use an online tool such as overleaf to write the report):

The schedule of the project follow-up meetings is now available:

The evaluation includes a project. The project should be completed by groups of 3 students. All group members should be registered in the same lab (labs will be used for paper presentations and for following up the projects).
The project specification can be found here:
Clarifications regarding the project specification:
  • You can assume that the reconfiguration command will always commit (there is only one console and there are no concurrent reconfiguration commands).
Bored without nothing to do? You are free to add additional steps to the project:
  • Step 5: Read *Transactions* avoid paxos.
  • Step 6: Support Sharding
  • Step 7: Garbage-collect part of the log and implement state-transfer, such that stragglers can "catch up"
  • Step 8: Allow new replicas to be added at any point
  • Step 9: Generalize code to support any number of reads/writes in a transaction.
  • Step 10: Implement sharding using consistent hashing and a one-hop (or even better, a multi-hop) DHT.

Information regarding the software to be used and a template for the code can be found here:

If you cannot find a group to register in the labs, use this shared sheet:
  • (obsolete: deleted)

Important RCP feature:
There is a potential issue when doing an outbound RPC from an inbound RPC handler. Many projects suffer from this problem. Please check a potential fix that can be found on stackoverfow: