Starting from:

$34.99

COP5612 Project 3 – Pastry Alin Dobra Solution

• One submission per group • Submit using eLearning
• What to include:
o README file including group members, other requirements specified below
o project3.tgz/project3.zip the code for the project
o project3-bonus.tgz/project3-bonus.zip the code for the bonus part, if any

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.

More products