Module lb_psv_simple

Simple passive load balancing sampling k nodes and choosing the one that reduces the standard deviation the most.

Copyright © 2010-2011 Zuse Institute Berlin

Version: $Id$

Behaviours: lb_psv_beh.

Authors: Nico Kruber (kruber@zib.de).

Description

Simple passive load balancing sampling k nodes and choosing the one that reduces the standard deviation the most. Uses randomly sampled IDs.

Data Types

custom_message()

custom_message() = none()

Function Index

check_config/0Checks whether config parameters of the passive load balancing algorithm exist and are valid.
create_join/4Creates a join operation if a node would join at my node with the given key.
get_number_of_samples/1Gets the number of IDs to sample during join.
get_number_of_samples_remote/2Sends the number of IDs to sample during join to the joining node.
process_join_msg/3
sort_candidates/1Sorts all provided operations so that the one with the biggest change of the standard deviation is at the front.

Function Details

get_number_of_samples/1

get_number_of_samples(Conn :: dht_node_join:connection()) -> ok

Gets the number of IDs to sample during join. Note: this is executed at the joining node.

get_number_of_samples_remote/2

get_number_of_samples_remote(SourcePid :: comm:mypid(),
                             Conn :: dht_node_join:connection()) ->
                                ok

Sends the number of IDs to sample during join to the joining node. Note: this is executed at the existing node.

create_join/4

create_join(DhtNodeState :: dht_node_state:state(),
            SelectedKey :: rt_chord:key(),
            SourcePid :: comm:mypid(),
            Conn :: dht_node_join:connection()) ->
               dht_node_state:state()

Creates a join operation if a node would join at my node with the given key. This will simulate the join operation and return a lb_op() with all the data needed in sort_candidates/1. Note: this is executed at an existing node.

sort_candidates/1

sort_candidates(Ops :: [lb_op:lb_op()]) -> [lb_op:lb_op()]

Sorts all provided operations so that the one with the biggest change of the standard deviation is at the front. Note: this is executed at the joining node.

process_join_msg/3

process_join_msg(Msg :: comm:message(),
                 State :: any(),
                 DhtNodeState :: dht_node_state:state()) ->
                    unknown_event

check_config/0

check_config() -> boolean()

Checks whether config parameters of the passive load balancing algorithm exist and are valid.


Generated by EDoc, Feb 29 2016, 16:13:45.