Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Load balancing and scheduling algorithms

so here is my problem:

I have several different configuarion servers. I have different calculations (jobs); I can predict how long approximately each job will take to be caclulated. Also, I have priorities. My question is how to keep all machines loaded 99-100% and schedule the jobs in the best way.

Each machine can do several calculations at a time. Jobs are pushed to the machine. The central machine knows the current load of each machine. Also, I would like to to assign some kind of machine learning here, because I will know statistics of each job (started, finished, cpu load etc.).

How can I distribute jobs (calculations) in the best possible way, keeping in mind the priorities?

Any suggestions, ideas, or algorithms?

FYI: My platform .NET.

like image 768
Lukas Šalkauskas Avatar asked Jun 15 '10 06:06

Lukas Šalkauskas


People also ask

What is load balancer scheduling?

Load balancing methods are also known as algorithms for load balancing or scheduling methods as they specify the manner in which a server load is shared across a server pool. There are various load balancing methods available, and each method uses a particular criterion to schedule an incoming traffic.

What is difference between job scheduling and load balancing?

Dividing which process should execute on which machine (processes) in a distributed environment is called job scheduling. It mainly deals with task assignment. Load balancing: The process of maintaining a balanced load on all the machine in a system.

What is load balancing with example?

Load balancing is a key component of highly-available infrastructures commonly used to improve the performance and reliability of web sites, applications, databases and other services by distributing the workload across multiple servers. In this example, the user connects directly to the web server, at yourdomain.com.

What is load balancing algorithm in cloud computing?

Load balancing is the process of redistribution of workload in a distributed system like cloud computing ensuring no computing machine is overloaded, under-loaded or idle [12, 13]. Load balancing tries to speed up different constrained parameters like response time, execution time, system stability etc.


1 Answers

  1. Look at Dryad linq. It already in academic release and may be useful.
  2. Win HPC server - enterprise solution for distributed computing from Microsoft.
  3. Some code samples which can help to build load balancing by analyzing performance counters.
  4. Microsoft has StockTrader sample application (with sources), which is example of distributable SOA with hand-written RoundRobin load balancing.
like image 191
Yauheni Sivukha Avatar answered Oct 23 '22 18:10

Yauheni Sivukha