, you will have to decide on which type of algorithm to implement and start to...
Fantastic news! We've Found the answer you've been seeking!
Question:
Transcribed Image Text:
, you will have to decide on which type of algorithm to implement and start to program the system. The language you will use is Java. Here, your round-robin 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 machine in its own project) while a number of node programs will be running on each of the nodes (separate machines or on the same machine if none available). You will be expected to produce separate programs for: 1. The load balancer system. 2. General worker node. Do not hard code names, IP address, etc into this but instead have these passed in as parameters on the command line. The node program will be running multiple times (either on the same machine or on separate ones) 3. A program for sending jobs into the system. To potentially achieve a good mark in this assignment you will need to at least ensure your implementation considers: 1. having different programs / projects as stated above; 2. make use of multiple classes in each program; 3. ensure that the relevant functionality for the class is contained within it; 4. link classes together to form the overall algorithm; 5. use multi-threading where necessary; 6. send, receive and process messages as explained in the lectures (help will be given in the lecture on messaging systems and lab); 7. only use the main method for extracting information from the arguments passed in from the command line and to start your system to ensure that you are not hard-coding any system specific information; 8. do not provide a monolithic solution (e.g. all code in one class or main method); and, 9. do not introduce any form of OS scheduling techniques. As this is a coordination system, you will only need to consider how to deal with working out which worker node needs to be sent a job message. In addition, you should also consider the following functional aspects: 1. Separate standard/ weighted round-robin algorithm working on a designated server machine (the load balancer). 2. Each node will register with the load balancer by sending a message. 3. The scheduler will record node details. 4. Jobs require the load-balancer to assign the job to the next free node. The job 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 node's workload (i.e. the number of jobs given to it already by the load balancer). The least weighted node (i.e. the one that has the least amount of work) will be the one that the job will be sent to. 6. Weighted information to determine the order of the nodes can be gained by remembering how many jobs are currently running on a node along with what its maximum load is. 7. The load balancer assigns the job to a node by sending it a message to work for X seconds. Nodes will receive job requests and wait for the required time. Once a job has finished on a node, a message will be sent back. You can provide a client (or a program to initiate and send messages into your system) that can be running on the same machine but as a separate program to the load balancer system. This will allow you to develop and test your distributed system on your home machine, or on multiple machines in the lab if lab access is possible. , you will have to decide on which type of algorithm to implement and start to program the system. The language you will use is Java. Here, your round-robin 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 machine in its own project) while a number of node programs will be running on each of the nodes (separate machines or on the same machine if none available). You will be expected to produce separate programs for: 1. The load balancer system. 2. General worker node. Do not hard code names, IP address, etc into this but instead have these passed in as parameters on the command line. The node program will be running multiple times (either on the same machine or on separate ones) 3. A program for sending jobs into the system. To potentially achieve a good mark in this assignment you will need to at least ensure your implementation considers: 1. having different programs / projects as stated above; 2. make use of multiple classes in each program; 3. ensure that the relevant functionality for the class is contained within it; 4. link classes together to form the overall algorithm; 5. use multi-threading where necessary; 6. send, receive and process messages as explained in the lectures (help will be given in the lecture on messaging systems and lab); 7. only use the main method for extracting information from the arguments passed in from the command line and to start your system to ensure that you are not hard-coding any system specific information; 8. do not provide a monolithic solution (e.g. all code in one class or main method); and, 9. do not introduce any form of OS scheduling techniques. As this is a coordination system, you will only need to consider how to deal with working out which worker node needs to be sent a job message. In addition, you should also consider the following functional aspects: 1. Separate standard/ weighted round-robin algorithm working on a designated server machine (the load balancer). 2. Each node will register with the load balancer by sending a message. 3. The scheduler will record node details. 4. Jobs require the load-balancer to assign the job to the next free node. The job 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 node's workload (i.e. the number of jobs given to it already by the load balancer). The least weighted node (i.e. the one that has the least amount of work) will be the one that the job will be sent to. 6. Weighted information to determine the order of the nodes can be gained by remembering how many jobs are currently running on a node along with what its maximum load is. 7. The load balancer assigns the job to a node by sending it a message to work for X seconds. Nodes will receive job requests and wait for the required time. Once a job has finished on a node, a message will be sent back. You can provide a client (or a program to initiate and send messages into your system) that can be running on the same machine but as a separate program to the load balancer system. This will allow you to develop and test your distributed system on your home machine, or on multiple machines in the lab if lab access is possible.
Expert Answer:
Answer rating: 100% (QA)
To implement the described load balancing system in Java youll need separate programs for the load balancer system general worker nodes and a program ... View the full answer
Related Book For
Management Science The Art of Modeling with Spreadsheets
ISBN: 978-1118582695
4th edition
Authors: Stephen G. Powell, Kenneth R. Baker
Posted Date:
Students also viewed these programming questions
-
Managing Scope Changes Case Study Scope changes on a project can occur regardless of how well the project is planned or executed. Scope changes can be the result of something that was omitted during...
-
can someone solve this Modern workstations typically have memory systems that incorporate two or three levels of caching. Explain why they are designed like this. [4 marks] In order to investigate...
-
Find the point in the first quadrant on the curve y = x + x 1 closest to the origin.
-
A neuroscientist measures the reaction times (in seconds) during an experimental session in a sample of cocaine-addicted (n = 8), morphine-addicted (n = 12), and heroin-addicted rats (n = 6). Mean...
-
You work for a mid-sized law firm, and your boss has asked you to research Amazon Web Services (AWS), Google Compute Engine, and Windows Azure cloud computing services. Write a paragraph summarizing...
-
Fun-Tastic Shows, Inc., is a company that hosts carnivals and similar events. Susan Swartwood, Crystal Groth, and a minor (named in the case as M.G.S.) attended Fun-Tastics Rhododendron Festival in...
-
Newton Inc. uses a calendar year for financial reporting. The company is authorized to issue 9,000,000 shares of $10 par common stock . At no time has Newton issued any potentially dilutive...
-
What is immediate, up-to-date information? What is Real-time systems Information governance?
-
Jones Corporation sells a single product. Management has provided the following data for two levels of monthly sales volume. The company sells the product for $172.50 per unit. Sales Volume in Units...
-
Who investigated Arthur Andersen and Enron?
-
What was the accounting firm that made unethical choices in the Enron scandal ?
-
What are various sections/cost centres or departments within your organisation, which are responsible for financial management of their activities and from whom you would need to collect financial...
-
For the following sequence, determine if it is an arithmetic sequence, a geometric sequence, or neither. If it is either arithmetic or geometric, give the next term in the sequence. 4, 6, 10, 16, 26,...
-
How do you balance your professional and personal life? What type of question is this example? both an open question and primary question both an open question and secondary question secondary...
-
Quincy James, born and bred in Palmerston North, moved to Auckland for jobs in his early twenties and eventually came back in Palmy to raise a young family and enjoyed the relatively lower local...
-
Proposals have been made to ?sail? spacecraft to the outer solar system using the pressure of sunlight, or even to propel interstellar spacecraft with high-powered, Earth-based lasers. Sailing...
-
The database German Credit.xlsx** contains information on the credit risk of 1,000 customers. The data include demographic information (e.g., gender) and financial information (e.g., savings account...
-
Gamma's objective is to select the bid that maximizes its expected profit. a. What is the optimal bid for Gamma to make? b. What is the expected profit associated with the optimal bid in part (a)? c....
-
For the moving-average example in Figure 7.2, compute the three error measures based on the forecasts for periods 510. a. What is the value of MSE? b. What is the value of MAD? c. What is the value...
-
a. The equation of the Phillips curve from 1970 to 1995 is: \[\pi_{t}-\pi_{t-1}=7.4 \%-1.2 u_{t}\] Calculate and define the natural rate of unemployment using this curve. b. The equation of the...
-
Suppose that the mark-up of goods prices over marginal cost is \(5 \%\), and that the wage-setting equation is: \[W=P(1-u)\] where \(u\) is the unemployment rate. a. What is the real wage, as...
-
How can a lockdown result in stagflation? A lockdown can have three different effects: a. The first happens when demand during the lockdown decreases so that actual output, \(Y_{t}\), falls exactly...
Capitalism In The 21st Century Through The Prism Of Value 1st Edition - ISBN: 1786806975 - Free Book
Study smarter with the SolutionInn App