Professional Documents
Culture Documents
Distributed Systems Course Labs Presentation
Distributed Systems Course Labs Presentation
Research Group
Distributed Systems 2
Where do you get information
Distributed Systems 3
Timeplan (iLearn contains the most up-to-date version)
Distributed Systems 4
In a nutshell
• Prelab (1.5 week)
• Learn the basics of Python
• setup your environment
• Labs 1 to 3 Project
• Three labs, build a distributed Lab 4
system, and improve it everytime Lab 3
• Lab 1: basic distributed blackboard
Lab 2
(2 weeks)
• Lab 2: Centralized blackboard (3 Lab 1
weeks) Prelab (Setup environment)
• Lab 3: Eventually consistent
blackboard
Distributed Systems 5
In a nutshell
Then, you must choose between Lab 4 or
a Project
• The project is more work, but gives
more points!
• Remember, lab points can help
you improve your final grade
Project
Lab 4
• Lab 4
• Byzantine fault-tolerance Lab 3
• 2 weeks, 10 pts max Lab 2
Lab 1
• Project
Prelab (Setup environment)
• You propose and work on your own
system
• 3 weeks, 20 pts max
Distributed Systems 6
How to pass the labs?
Di s p l
Items 1
Item
:
ay?
• In short, we apply and implement the
concepts you’ll see in the lectures
Distributed Systems 8
How we will do it
• Incremental steps
Lab 1 – naïve
make it work
Distributed Systems 9
How we will do it
User
Network Emulator
(delays, losses, etc.)
Distributed Systems 10
Distributed Systems
Research Group
Labs Deliverables
What you NEED to give/show us
(Prelab deliverable is described in prelab)
(Project deliverables will be explained later)
Deliverables
• Your implementation
• Including any script you used to test consistency! iLearn
• Must be commented and understandable!
• Upload it on iLearn
Distributed Systems 13
Video – Design & Demo
• Explain what concepts / algorithms you used
• Why did you choose this one instead of another?
• What are the pros/cons?
• You can use slides and diagrams to explain things, if your algorithm is not
studied in the course
• What are typical corner cases? Would your system survive them?
• Concurrent write, modify, delete
• Delayed write, modify, delete
• Out of order write, modify, delete
• Lost write, modify, delete
Distributed Systems 14
Video – Evaluation
• How well does your system perform?
• Here, I do not want to see if your system works (it should, at this point), but rather how well
• If I input 50 requests on each machine, how long until the last machine receives
the last request?
Distributed Systems 15
Distributed Systems
Research Group
Mininet
The platform
Mininet
• Network emulator
• Emulate hosts (machines), switches, controllers, and network links
• All of that, on one PC!
Distributed Systems 17
Mininet: How does it work?
• Container-based virtualization
Distributed Systems 18
Very Simple Network using Lightweight Virtualization
firefox httpd
10.1.0.1 10.1.0.2
eth0 eth0
Network Namespace 1 Network Namespace 2
veth1 veth2
ovs-vswitchd
Linux Kernel openvswitch kernel module
firefox httpd
10.1.0.1 10.1.0.2
eth0 eth0
Network Namespace 1 Network Namespace 2
virtual Ethernet pairs
veth1 veth2
Software
Switch
Root Namespace
Distributed Systems 21
Some useful links
Goto Lab 1
Prelab deadline:
Thursday 12th, November
Credits – based on slides from
• Beshr Al Nahas
• Charalampos Stylianopoulos
• Olaf Landsiedel
• Christos Profentzas
• Iosif Salem
• Ioannis Nikolakopoulos
• And many others
Distributed Systems 24