Download TDDD25: Distributed Systems Programming Project Petru Eles Ivan Ukhov

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
TDDD25: Distributed Systems
Programming Project
Petru Eles
Ivan Ukhov
Computer and Information Science
Linköping University
January 25, 2016
Contacts
Ivan Ukhov
[email protected]
Office 329:228, Building B
2 / 14
Organization
• 1 teaching session
• 7 lab sessions
• 1 + 5 labs
• 2 groups
• Registration deadline: January 31
• Completion deadline: two weeks after the exam
3 / 14
Distributed Database
C
C
C
L
SP
DB
L
SP
DB
L
SP
DB
C
NS
C
L
C
SP
DB
C — client
SP — server/peer
NS — name service
DB — database
L — lock
C
C
4 / 14
Lab 0: Standalone Database
C
C
C
DB
C
DB
DB
C
DB
DB
C
C
DB
C
DB
DB
• Local database for each client
• TODO: complete the implementation of the read and write
operations of the database
https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab0.pdf
5 / 14
Lab 1: Client-Server Database
C
C
C
C
S
C
C
DB
C
C
• Centralized database
• TODO: complete the implementation of the client/server
communication mechanism
https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab1.pdf
6 / 14
Lab 2: Object Request Broker
P
P
NS
P
P
• Name service and object request broker (ORB)
• Abstract away the communication part of the functionality
• TODO: complete the implementation of the ORB
https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab2.pdf
7 / 14
Lab 3: Peer-to-Peer Communication
P
P
NS
P
P
• Smart mechanism for keeping track of peers
• TODO: complete the functionality dealing with the peers joining
or leaving the system
https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab3.pdf
8 / 14
Lab 4: Distributed Locks
L
P
L
P
L
P
NS
L
P
• Distributed mutual exclusion to control concurrent operations
• TODO: complete the implementation of the second
Ricart–Agrawala algorithm
https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab4.pdf
9 / 14
Lab 5: Client-Server Database with Replicas
C
C
C
L
SP
DB
L
SP
DB
L
SP
DB
C
NS
C
L
C
SP
DB
C
C
• Everything together
• TODO: complete the implementation of the server/peer using all
the previously developed components
https://gitlab.ida.liu.se/tddd25/labs/raw/master/doc/lab5.pdf
10 / 14
Implementation
• Multi-threaded object-oriented code in Python 3
• Communication via objects serialized in JSON
• Data transfer through TCP sockets
11 / 14
Repository
• doc/
• src/
•
•
•
•
•
•
•
lab0/
lab1/
lab2/
lab3/
lab4/
lab5/
modules/
•
•
Common/
Server/
12 / 14
Submission
• No written reports are needed
• Demonstrate your solutions in class
• Email modified files
13 / 14
Good luck!
14 / 14
Related documents