Skip to main content

Round Robin Algorithm - Distributed Network Architectures & Operating Systems

Buy now

I. Assessment Requirements

You must work individually on this assessment to develop a load balancer Java application. A report is required which explains what you had to change since assessment 1 and the challenges that you encountered and solved for your project.

II. Assessment Scenario/Problem

Restating the scenario from Assessment 1:For this assignment, you will be taking your design from assessment 1 and implementing it using Java.
Here, your standard or weighted round-robin algorithm will be running on the load balancing machine (i.e. the load balancing program will be working on a single computer) while some client applications will be running on each of the nodes. Your system will need to consider the following functionality and messaging (in no particular order):

  1. Standard/weighted round-robin algorithm working on a designated load balancer machine.
  2. Each node will register with the server by sending a message.
  3. The load balancer will record node details.
  4. The notion of a job (as a message) requires the load balancer to allocate the task to the next free node. The position information will detail the number of seconds that a job will take to run, rather than trying to include some form of code that is required to be executed.
  5. The load balancer will need to store an ordered list of nodes. In the weighted round-robin strategy, the list could be ordered based on the nodes workload (i.e. the number of jobs given to them already by the scheduler). The least weighted node (i.e. the one that has the least amount of work) will be at the top.
  6. Weighted information to determine the order of the scheduled jobs can be gained by remembering how many jobs are currently running on a node.
  7. The load balancer assigns the task to a node by sending it a message to work for X seconds. Nodes will receive job requests and wait for

You will be expected to produce separate programs for:

  1. The load balancer
  2. General worker node (do not hardcode names or IP address into this but instead have these passed in as parameters on the command line)
  3. A program for sending jobs into the systemTo achieve a good mark in this assignment, you will need to (at least):
  4. have different programs as stated above
  5. make use of multiple classes in each program
  6. ensure that the relevant functionality for the class is contained within it
  7. link levels together to form the overall algorithm
  8. use multi-threading where necessary
  9. send, receive and process messages as explained in the lectures (Lecture on messaging systems and covered in lectures 18 / 19).
  10. only use the primary method for extracting information from the arguments passed in from the command line and to start your system
  11. not provide a reliable solution (e.g. all code in one class or primary method)You can choose which load balancing algorithm you will implement. You will be able to get up to 60% for applying a round-robin approach or up to 100% if you use a weighted round-robin approach.For either option, you can provide clients that can be executed on the same machine but as separate programs to the load balancer system. This will allow you to develop and test your distributed system on your home computer, rather than to rely on access to the Raspberry Pis or multiple computers in the lab.The demonstration of your system will take place on a single or multiple devices, depending on what resources are available on the day. Make sure that you test that your programs can work on the same machine or separate machines before the demonstration as you will not be allowed to fix any problems during the presentation.

Order now!


Buy now

CONTACT DETAILS

For any other questions or other tasks please feel free to contact me
via email: mhassnainjamil@gmail.com
via WhatsApp: +92-324-7042178
via skype: hassnainjamil1

Comments

Popular posts from this blog

The Zoo Management System - entity relationship diagram & MS Access Database

Zoo Management System - Project Details: You are the employee of a big, worldwide working Zoo Management Company. Your company is responsible for the Zoo management. Your boss thinks it would be a great idea to store all data for each Zoo in a brand new self-developed ZOO Management System. Up to now, the ZOO management company has maps of each ZOO available. Your boss knows that you took a course in introduction on an ERP system, so he asks you if you could help designing such a system. Each ZOO must have the same organizational structure, which should look like this: Each Zoo has a Zoo-Address. Each Zoo has many visitors (Visitor Ticket Process (VTP). Many Zoo-Attractions belong to a Zoo. Module 1: Entity Relationship Diagram Design a ER (entity-relationship) diagram for your ZOO Management System. Use the information provided below with the entities and its attributes. Put the entities in the correct relationship to each other (organizational structure). Module 2: DB Implem...

Human Physiology by Stuart Ira Fox [PDF] (12th edition) free download

Sudoku Game Project in Java with full source code including GUI task

Introduction The purpose of the project is to try in practice the use of recursion and object-oriented program design. Please make sure to read this entire note before starting your work. Pay close attention to the sections on deadlines, deliverables, and exam rules. The problem Your task in this part of the project is to write a solver for Sudoku puzzles. Sudoku puzzles are a kind of crossword puzzles with numbers where the following two conditions have to be met: In each row or column, the nine numbers have to be from the set [1,2,3,4,5,6,7,8,9] and they must all be different.  For each of the nine non-overlapping 3x3 blocks, the nine numbers have to be from the set [1,2,3,4,5,6,7,8,9] and they ust all be different. The following two figures show a Sudoku puzzle and its solution. The input The input of your program, the Sudoku puzzles, is given in text files. More specifically, they are represented as nine lines of nine characters separated by spaces. The characters can be of two...