3 14 23 3 19 pm project 2 project 2 3 20 2023 attempt 1 in progress ne
Search for question
Question
3/14/23, 3:19 PM
Project 2
Project 2
3/20/2023
Attempt 1
IN PROGRESS
☐ Next up. Submit Assignment
100 Possible Points
Add Comment
Unlimited Attempts Allowed
3/1/2023 to 3/25/2023
✓ Details
Two students can form a team and turn in one submission
Please add the following statement at the beginning of your report. I have neither given nor received
unauthorized assistance on this work
Sign:
Date:
Project Description
In this programming project, you will develop an n-node distributed system that implements a vector
clock. The distributed system uses a logical clock to timestamp messages sent/received among the
nodes. To simplify the design and testing, the distributed system will be emulated using multiple
processes on a single machine. Each process represents a machine and has a unique port number
for communication. You can use any programming language.
Implement the vector clock for your distributed system. You can create two threads for each process,
one for sending messages to other nodes and one for listening to its communication port.
Communication among nodes can be done using RPC or using sockets. Once a process sends a
message, it should print its vector clock before and after sending a message. Similarly, once a
process receives a message, it should print its vector clock before and after receiving the message.
You can assume that the number of processes (machines) is fixed (equal to or larger than 3) and
processes will not fail, join, or leave the distributed system.
Part-1 (40 points)
Each process can send a unicast message to another process. Update the vector clocks of the
processes involved and print their vector clocks before and after sending/receiving the messages.
Dort 110 nointal
https://uta.instructure.com/courses/132703/assignments/1410052
Submit Assignment
1/2 3/14/23, 3:19 PM
Project 2
Each process can broadcast a message to all other processes. Update the vector clocks of all the
processes and print the vectors of all the processes before and after sending/receiving the
messages.
Deliverables
The deliverables include the source code of the programs, a README file (10 points) containing
instructions on how to compile and run your programs, and a report (10 points) that briefly describes
how you implemented the programs, what you have learned, and what issues you encountered. Put
all the required documents into a zipped folder. Make sure you clearly list your names and student
IDs in the report.
Choose a submission type
Upload
Studio
More
https://uta.instructure.com/courses/132703/assignments/1410052
o Webcam Photo
Canvas Files
or
Choose a file to upload
Submit Assignment
2/2