I. Assessment Requirements
You will work individually on this assessment to write a design report detailing how load balancing and coordination can be applied to multiple machines. The second part of this assessment will also require you to work on your own to implement the system.
II. Assessment Scenario/Problem
When considering how computer system is comprised, the importance of an operating system is of vital for it to operate. However, when dealing with a distributed system, the same issues that we encounter in an operating system can also apply, but to a greater degree.
To help prepare you to design your system you will need to read the module text book (Tanenbaum) regarding how the process scheduler works within the operating system. Specifically, read information and gain understanding of how the round- robin and weighted round-robin algorithms work and how this could be applied to solve a distributed computing problem. The weighted round-robin approach will require you to read new material as this is not covered in term 1 (only in term 2). However, surgeries during term 1 will introduce you to the idea to help you get started.
For this assignment, you will be required to design a distributed computing system which either uses “round-robin” and “weighted round-robin” as a means of distributing workload between a number of computing systems. Here, a single machine will act as the coordinator (load balancer) which is distributing work to a number of worker machines (nodes). A number of worker machines will be used and will have jobs running on them (i.e. nodes which are other computers connected together via a network).
In the following figure, an example distributed system comprising of a coordinator (load balancer) and several worker nodes is shown. These will be connected together via a network:
In the above figure, the load balancer will implement some form of “distributing algorithm” (from now on, this will be referred to as a load-balancing algorithm)