| Branch: | Revision:

streamers / topology.c @ d27d49f4

History | View | Annotate | Download (43.3 KB)

# Date Author Comment
d27d49f4 07/24/2011 02:54 PM Stefano Traverso


Signed-off-by: Stefano Traverso <>

0bc13556 07/23/2011 08:41 AM Stefano Traverso

Added controls to check measures availability.

Signed-off-by: Stefano Traverso <>

08154cee 07/22/2011 03:25 PM Stefano Traverso

1) If my capacity iS large and peer to remove is the source, do not remove
(TODO: this is tricky and dirty, better to find a better solution).
2) Fixed bug about metadata when adding peer to neighbourood.
3) Fixed bug in KEEP policy.

Signed-off-by: Stefano Traverso <>

e2ba7f11 07/21/2011 04:19 PM Stefano Traverso

Added control to remove the source from neighbourood only if peer's bw is not enough large.

Signed-off-by: Stefano Traverso <>

7df30c6a 07/21/2011 01:41 PM Stefano Traverso

1) Source cannot control its neighbourood now (it is simply chosen or removed by others).
2) Send a bmap after insertion in incoming neighbourood (especially useful if just inserted
father is the source).

Signed-off-by: Stefano Traverso <>

ab56fcf3 07/20/2011 04:12 PM Stefano Traverso

Added subnet trick to substitute RTT when trying to localize with ADD/KEEP.

Signed-off-by: Stefano Traverso <>

54e0e0ee 07/20/2011 11:48 AM Stefano Traverso

Fixed bug when attaching metadata to streamer topology messages.

Signed-off-by: Stefano Traverso <>

62d3f7d9 07/15/2011 03:58 PM Stefano Traverso

Added metadata decoding function. TODO: fix bug.

Signed-off-by: Stefano Traverso <>

3a85536f 07/15/2011 03:04 PM Stefano Traverso

Added metadata when transmitting a MSG STREAMER TOPOLOGY.

Signed-off-by: Stefano Traverso <>

e976718d 07/15/2011 02:08 PM Stefano Traverso

Added KEEP W_BW and W_RTT policies.

Signed-off-by: Stefano Traverso <>

e60b8ed9 07/15/2011 01:42 PM Stefano Traverso

Added ADD W_RTT scheme.

Signed-off-by: Stefano Traverso <>

ff3e49b8 07/14/2011 04:31 PM Stefano Traverso

Solve the problem of NAN measurements.

Signed-off-by: Stefano Traverso <>

839f6799 07/14/2011 09:29 AM Stefano Traverso

1) Moved pseudo-random generator functions to the top
2) Added add_weights array for ranking based on negexp RVs (however can
be used with all other metrics).
3) Added Csaba's cdf patch.

Signed-off-by: Stefano Traverso <>

2b7d10a9 07/13/2011 04:42 PM Stefano Traverso

topology: add example weight function for weighted choice

Signed-off-by: Stefano Traverso <>

c3ba9f25 07/13/2011 04:39 PM Stefano Traverso

topology: implement nidset_select to choose nodeIDs using scheduler functions

Signed-off-by: Stefano Traverso <>

c0a6ce18 07/13/2011 04:31 PM Stefano Traverso

Added a simple two-state control to regulate the frequency at which
neighbourood is updated.

Signed-off-by: Stefano Traverso <>

1972c3dd 07/13/2011 01:52 PM Stefano Traverso

Fixed small bug.

Signed-off-by: Stefano Traverso <>

6405ff89 07/13/2011 08:43 AM Stefano Traverso

Added cmp_bw_weight function (TODO: add memory to it!).

Signed-off-by: Stefano Traverso <>

7569f5a5 07/11/2011 02:44 PM Stefano Traverso

Added AFFINITY metric for ranking.

Signed-off-by: Stefano Traverso <>

c1e77ded 07/11/2011 10:18 AM Stefano Traverso

Fixed BW_RTT metric.

Signed-off-by: Stefano Traverso <>

7410fb68 07/08/2011 04:29 PM Stefano Traverso

Added noise to UPDATE_PEERS_TIMEOUT to avoid weird synchronicity effects.

Signed-off-by: Stefano Traverso <>

aa9a0066 07/08/2011 04:06 PM Stefano Traverso

Added -T option to set the refresh neighbourood period.

Signed-off-by: Stefano Traverso <>

f7e03184 07/08/2011 03:59 PM Stefano Traverso

1) Removed -r and --desired_bw options since they are useless now.
2) Removed desiredness and is_desired functions which were based on above

Signed-off-by: Stefano Traverso <>

77b38e8f 07/08/2011 03:49 PM Stefano Traverso

Fixed bug when verifying presence of a peer in a pset.

Signed-off-by: Stefano Traverso <>

45733714 07/08/2011 02:22 PM Stefano Traverso

1) Desiredness is based on non-blacklistdness only.
2) When adding peers, take the first ones in the rank.

Signed-off-by: Stefano Traverso <>

cfff6086 07/08/2011 01:40 PM Stefano Traverso

Added noise when ranking. Percentage of noise is given by parameter alpha.

Signed-off-by: Stefano Traverso <>

4457720f 07/08/2011 01:29 PM Stefano Traverso

Fixed a bug in packet_loss ranking and added noise
function based on alpha parameter.

Signed-off-by: Stefano Traverso <>

15d074e7 07/08/2011 09:35 AM Stefano Traverso

Added get_outgoing_peers() and get_incoming_peers() functions to
make them accessible from extern.

Signed-off-by: Stefano Traverso <>

d4776f7c 07/07/2011 04:04 PM Stefano Traverso

Compiling checkpoint!

1) Added "add best" based on offers in flight metric.
2) Fixed a bug when removing peers form controlled neighbourood.

Signed-off-by: Stefano Traverso <>

a3d4a7f7 07/07/2011 02:45 PM Stefano Traverso

Compiling checkpoint!

Modified ref_neigh_size to publish stats about incoming and outgoing neighboroods.

Signed-off-by: Stefano Traverso <>

91363912 07/07/2011 02:30 PM Stefano Traverso

Compilation checkpoint!

Main mods:
1) add a double neighbourood (incoming [fathers] and outgoing [sons]).
2) added function to retrieve metadata of known peers.
3) modified update_peers to handle only one of the two neighboroods.

Signed-off-by: Stefano Traverso <>

b88c6f4e 07/06/2011 07:11 AM Stefano Traverso

TOCHECK: caches behaviour is buggy!!

Signed-off-by: Stefano Traverso <>

63a52683 07/04/2011 03:00 PM Stefano Traverso

Compiling checkpoint!

1) First update_peers() call is done immediately without waiting UPDATE_PEERS_TIMEOUT seconds.
2) Fixed some minor bugs.

Signed-off-by: Stefano Traverso <>

375b4494 07/01/2011 03:46 PM Stefano Traverso

Fixed stupid bug when printing QSORT ADD BEST.

Signed-off-by: Stefano Traverso <>

fe769b0b 07/01/2011 01:53 PM Stefano Traverso

Main modifications:

1) Fixed qsort for topo_add_best and topo_keep_best;
2) Added capability to specify metrics for ranking (RTT, BW and RTT*BW for topo_add_best and
RXCHUNKS and PACKET_LOSS for topo_keep_best).

TODO: get_capacity_of(a) funtion is faulty....

e30c3e36 06/28/2011 09:25 AM Stefano Traverso

Compilation checkpoint!

Main modifications:

1) peers update their neighbourood when:
a - they receive an explicit "add/remove peer to neighbours" message;
b - when they see it's time to (when UPDATE_PEERS_TIMEOUT expires);
2) when a gossiping message is received, newscast cache is updated, but NO...

78449db6 06/15/2011 02:55 PM Stefano Traverso


Added --topo_black_list option to streamer.c.

a3b74b71 06/15/2011 01:52 PM Stefano Traverso


Added blacklisting features to topology manager.

When removing a peer from neighbourood, add it to blacklist if it was
a bad neighbour.

Remove peer from neighborood when timeout expires.

Signed-off-by: Stefano Traverso <>

3e8cd067 05/25/2011 12:41 PM Stefano Traverso


Modified metadata to follow offer threads policy.

Signed-off-by: Stefano Traverso <>

73ee6525 05/11/2011 12:30 PM Csaba Kiraly

Merge branch 'fixes-polito'


4b40812a 05/11/2011 11:46 AM Csaba Kiraly

topology: add peer only if it wasn't in the peerset yet

d9e92d08 05/11/2011 11:46 AM Csaba Kiraly

topology: remove unused define

f6e9f400 03/31/2011 05:28 PM Csaba Kiraly

added topo_keep_best and topo_add_best options

69dfa8b1 03/29/2011 11:25 AM Csaba Kiraly

topology: fix calculation of random_size

304607e2 03/29/2011 11:25 AM Csaba Kiraly

topology: fix max_ids calculation in case of topo_in

dd2e7bcf 03/29/2011 11:20 AM Csaba Kiraly

fix: getting rid of size_t and related signedness problems

79c926d0 03/29/2011 09:13 AM Csaba Kiraly

topology: fixing --topo_in behaviour

65a62f30 03/29/2011 09:12 AM Csaba Kiraly

topology: just some better messages

e5cd99c1 03/29/2011 08:33 AM Csaba Kiraly

topology: restoring original default behaviour of out-neigh selection

483dec26 03/29/2011 08:30 AM Csaba Kiraly

topology: making control variables for neighbourhood directionality

2dab7813 03/29/2011 08:23 AM Csaba Kiraly

topology: refactoring add_peer/remove_peer code

9176d3d1 03/29/2011 08:16 AM Csaba Kiraly

add streamer topology messages

9f1da074 03/29/2011 08:10 AM Csaba Kiraly

topology: fix call to bind_msg_types

3131d7d1 03/28/2011 11:55 AM Csaba Kiraly

toplogy: improved debug info

6f490e6a 03/28/2011 11:38 AM Csaba Kiraly

topology: change logic to keep "topo_mem" portion of peers between irerations

default is topo_mem=0, i.e. the old way

b4419dd1 03/28/2011 11:37 AM Csaba Kiraly

topology: add MAX macro

f6d28931 03/28/2011 11:36 AM Csaba Kiraly

topology: fix remove code

should have worked also before, but it was operating in a larger
set than needed

16ae4927 03/28/2011 10:45 AM Csaba Kiraly

factoring nodeid_set operation into separate file

d84d066d 03/21/2011 07:37 PM Csaba Kiraly

topology: print some timestamps

9b36d077 03/18/2011 07:56 PM Csaba Kiraly

changing default neighbour activity timeout to 20 sec

5f483e66 03/18/2011 07:56 PM Csaba Kiraly

topology: changing default neighbourhood target size to 30

48a8f955 03/18/2011 07:25 PM Csaba Kiraly

topology: fixed a printf

8bda7a99 03/16/2011 11:46 PM Csaba Kiraly

topology: improving debug message and fixing some fprintf compile warnings on 32bit

a4933dfb 03/16/2011 11:45 PM Csaba Kiraly

topology: fix: adding parenthesis around MIN macro

2167040b 03/16/2011 11:45 PM Csaba Kiraly

topology: fix: inverting alpha (again)

it was inverted during the rewrite of the desired algorithm

dff739fc 03/16/2011 02:00 PM Csaba Kiraly

topology: fix problem with adding random nodes

size value was not initialized

4280cac4 03/16/2011 01:54 PM Csaba Kiraly

topology: more debug messages

9818ca86 03/16/2011 10:49 AM Csaba Kiraly

adding desired_bw parameter to define BW threshold in topology selection

b1d41fdb 03/16/2011 10:48 AM Csaba Kiraly

topology: gossiping capacity

requires change of struct peer in GRAPES as well

e4247dda 03/16/2011 10:46 AM Csaba Kiraly

topology: fix: changing metadata to packed

fe4dc798 03/15/2011 11:40 PM Csaba Kiraly

topology: use nodeid_equal instead of just "=="

825df88c 03/15/2011 11:11 PM Csaba Kiraly

topology: better debug messages

fe5d7b85 03/15/2011 10:38 PM Csaba Kiraly

topology: fix some size parameters in the update algorithm

e216399f 03/15/2011 10:18 PM Csaba Kiraly

topology: fix nidset_add to work as set add should

6b2924d4 03/15/2011 09:58 PM Csaba Kiraly

topology: change code to add only the necessary ones

1caf4e58 03/15/2011 09:57 PM Csaba Kiraly

topology: some more debug output

eac0d4ce 03/15/2011 09:56 PM Csaba Kiraly

topology: remove inactive peers at every call

01982f64 03/15/2011 09:54 PM Csaba Kiraly

topology: remove commented code

c7ebbd34 03/15/2011 09:52 PM Csaba Kiraly

adding nidset_find

89ccef52 03/15/2011 09:51 PM Csaba Kiraly

topology: fixing const in nideset_ functions

0ff70090 03/15/2011 05:56 PM Csaba Kiraly

topology: fix the calculation of the new size when TARGET_SIZE is set to 0

896704e9 03/15/2011 04:37 PM Csaba Kiraly

topology: fix get_rtt_of

was not working, always giving NAN!

d8a205cd 03/15/2011 04:16 PM Csaba Kiraly

topology: the new "desired" based selection logic

a9e55854 03/15/2011 04:15 PM Csaba Kiraly

topology: splitting is_desired in two

31ba5789 03/15/2011 04:15 PM Csaba Kiraly

topology: defining the MIN macro

c2d8fe2d 03/15/2011 04:15 PM Csaba Kiraly

topology: a bunch of nodeidset manipulation functions

9eea44af 03/15/2011 11:36 AM Csaba Kiraly

topology: revert alpha (now 0 means max RTT awareness)

9d55b3b7 03/15/2011 09:49 AM Csaba Kiraly

gossip chunks_per_sec (offers_per_sec)

0877a9f6 03/15/2011 09:48 AM Csaba Kiraly

fix some compile warnings

a26a0456 03/15/2011 09:26 AM Csaba Kiraly

topology: fix use of get_rtt in case there is no MONL

e0f05cb2 03/14/2011 08:58 PM napawine

some topology debug

970bd24a 03/14/2011 08:58 PM napawine

change defaul desired rtt to 200ms

acbc9155 03/14/2011 12:02 PM Csaba Kiraly

try to keep a target ratio of desired peers

9610d648 03/12/2011 09:42 AM Csaba Kiraly

turning on bmap timout with 10sec

5be2e90d 03/11/2011 11:43 PM Csaba Kiraly

adding recv_delay to matadata


d2514625 03/11/2011 11:18 AM Csaba Kiraly

changing cb_size to fixed 16bit


dfbb3923 03/08/2011 11:02 AM Csaba Kiraly

do not add nodeIDs to topo if known indirectly

we do not know metadata for these nodes, which could create problems.
Besides, peers should start gossiping their own data, and should not start
gossiping threads for others.

b88c9f4a 03/02/2011 08:56 AM Csaba Kiraly

adding cb_size to metadata

cc0cd459 03/02/2011 08:56 AM Csaba Kiraly

changing metadata to a structure

3b69d299 02/16/2011 09:21 PM Csaba Kiraly

Merge branch 'win' into merge-wine-0.9.9