Research Article

Efficient Load Balancing Using Active Replica Management in a Storage System

Algorithm 1

Request generating models.
//pon_off(): the probability that ON state changes to OFF state on hotspot data
//poff_on(): the probability that OFF state changes to ON state on hotspot data
//on_off_pb: ON-OFF parameter
//off_on_pb: OFF-ON parameter
//on_off_factor: the parameter used to adjust the load of requests
//ON state: generates a new request to a storage node
//OFF state: no request is generated
pon_off() = l/(on_off_pb − on_off_factor ());
poff_on() = l/(off_on_pb + on_off_factor ());
//decr_load_variation: the parameter is used to control the request’s decrement
//incr_load_variation: the parameter is used to control the request’s increment
//ss_on_off_prob(): the probability that ON state changes to OFF state in storage node
//ss_off_on_prob(): the probability that OFF state changes to ON state in storage node
//burstiness_factor: the parameter used to control the burstiness of request changes
//ON state: increases a request inside a storage node
//OFF state: a request has been processed inside a storage node
for : storage_node
    request_change() = unifrnd(0, decr_load_variation + incr_load_variation);
    if(request_change() <= decr_load_variation)
      = (1 − decr_load_variation)/2;
    else
      = (1 − incr_load_variation)/2 + incr_load_variation;
    end
    ss_on_off_prob() = 1/ceil( burstiness_factor);
    ss_off_on_prob() = 1/(burstiness_factor-ceil( burstiness_factor));
end