COP5615 – Project 3 – Pastry Alin Dobra Solved

30.00 $

Category:

Description

5/5 - (1 vote)

1     Problem definition

We talked extensively in class about the overlay networks and how they can be used to provide services.  The goal of this project is to implement in F# using the actor model the Pastry protocol and a simple object access service to prove its usefulness. The specification of the Pastry protocol  can  be  found  in  the  paper Pastry: Scalable, decentralized object location and routing for large-scale peerto-peer systems.by  A.  Rowstron  and  P.  Druschel.   You can find the paper  at http://rowstron.azurewebsites.net/PAST/pastry.pdf. The paper above, in Section 2.3 contains a specification of the Pastry API and of the API to be implemented by the application.

2     Requirements

You must implement the network join and routing as described in the Pastry paper and encode the simple application that associates a key (same as the ids used in pastry) with a string.  You can change the message type sent and the specific activity as long  as  you  implement  it  using  a  similar  API  to  the  one described in the paper.

Input: The input provided (as command line to yourproject3) will be of the form: project3 numNodes  numRequests

Where numNodesis the number of peers to be created in the peer to peer system and numRequests the number of requests each peer has to make.  When all peers performed that many requests, the program can exit.  Each peer should send a request/second.

Output: Print the average number of hops (node connections) that have to be traversed to deliver a message.

Actor modeling: In this project you have to use exclusively the actor model in  F#  (projects  that  do  not  use  multiple  actors  or  use  any  other form of parallelism will receive no credit).  You should have one actor foreach of the peers modeled.

README file In the README file you have to include the following material:

  • Team members
  • What is working
  • What is the largest network you managed to deal with

3     BONUS

In the above assignment, there is no failure at all.  For a 20% bonus, implement node and failure models (a node dies, a connection dies temporarily or permanently).  Write a report describing how you tested that the systems is resilient and your findings.

  • Pastry_DHT_Simulation-dh1679.zip