CSC 456 Fall 2013/4a bc: Difference between revisions
Jump to navigation
Jump to search
| Line 12: | Line 12: | ||
Server Load balancing pseudocode | Server Load balancing pseudocode | ||
{ | |||
server_load_vec_desc = sort_descending(server_load_vec); | server_load_vec_desc = sort_descending(server_load_vec); | ||
| Line 36: | Line 36: | ||
remove server_load_vec_desc[0] and corresponding entry in server_load_vec_asc | remove server_load_vec_desc[0] and corresponding entry in server_load_vec_asc | ||
server_load_vec_desc = sort_descending(server_load_vec_desc); | server_load_vec_desc = sort_descending(server_load_vec_desc); | ||
} | |||
} | } | ||
Revision as of 15:40, 8 October 2013
Load Balancing
Static Vs. Dynamic Techniques
Static Load balancing
Dynamic Load Balancing
Real World applications of Load Balancing
Examples of Load Balancing in action
Server Load balancing pseudocode {
server_load_vec_desc = sort_descending(server_load_vec); server_load_vec_asc = sort_ascending(server_load_vec); while (server_load_vec_desc[0].deviation > DEVIATION_THRESHOLD) {
populate_range_load_vector(server_load_vec_desc[0].server_name);
sort descending range_load_vec;
i=0;
while (server_load_vec_desc[0].deviation > DEVIATION_THRESHOLD &&
i < range_load_vec.size()) {
if (moving range_load_vec[i] from server_load_vec_desc[0] to server_load_vec_asc[0] reduces deviation) {
add range_load_vec[i] to balance plan
partial_deviation = range_load_vec[i].loadestimate * loadavg_per_loadestimate;
server_load_vec_desc[0].loadavg -= partial_deviation;
server_load_vec_desc[0].deviation -= partial_deviation;
server_load_vec_asc[0].loadavg += partial_deviation;
server_load_vec_asc[0].deviation += partial_deviation;
server_load_vec_asc = sort_ascending(server_load_vec_asc);
}
i++;
}
if (i == range_load_vec.size())
remove server_load_vec_desc[0] and corresponding entry in server_load_vec_asc
server_load_vec_desc = sort_descending(server_load_vec_desc);
}
}