Overlay Network on Ukko Cluster
Description: Before a distributed system being deployed in the real world, it must undertake many rigorous tests. The experiment designer not only tests the system with different combination of parameters, but also tries to simulate various scenarios such as the network topology. However, the experiment scale is often limited by the physical resources. The question is can we implement an application-layer overlay network which serves as an experiment infrastructure? How can we design this overlay such that it is flexible and robust? How should we define the interfaces between the overlay and the experiment targets running on top that? What techniques should we adopt to minimize the modifications we have to make to the experiment target? What are the differences between the experiment results from this overlay and those from a simulator(or from real physical topology)?
There are also many interesting questions that students can derive from this topic.
Skills needed:
- Solid knowledge in distributed systems and overlay networks;
- Knowing a programming language; (e.g. C, Java, Python etc.)
- Knowledge in internet protocols, especially routing protocols would be a plus;
Focus gauge:
- Theory 2/5: Depends on how deep the students delve into this topic, also depends on which part of the system the students focus on.
- Coding/Implementation 5/5: Quite amount of practical work, the students need to develop a working system.
- Reading 2/5: Depends on what features the system can provide. Implementing a simple working system doesn't require too much reading. Basically, the knowledge from the course book is enough. However, implementing a full-fledge and flexible system is quite a task.