diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-02-19 13:39:31 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-02-19 13:39:31 +0000 |
commit | 36607a5044f47d312c71df369fef0821b7b3e6da (patch) | |
tree | 33a719cc9b906c8f78688d9751cbed6ef0ff81e7 /src/ats | |
parent | da1b4ed507d47e9869d507c41f1528b5948d244b (diff) | |
download | gnunet-36607a5044f47d312c71df369fef0821b7b3e6da.tar.gz gnunet-36607a5044f47d312c71df369fef0821b7b3e6da.zip |
documentation
Diffstat (limited to 'src/ats')
-rw-r--r-- | src/ats/gnunet-service-ats_addresses_mlp.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/ats/gnunet-service-ats_addresses_mlp.c b/src/ats/gnunet-service-ats_addresses_mlp.c index a8e2965dc..4b698b07d 100644 --- a/src/ats/gnunet-service-ats_addresses_mlp.c +++ b/src/ats/gnunet-service-ats_addresses_mlp.c | |||
@@ -31,6 +31,75 @@ | |||
31 | #include "gnunet_statistics_service.h" | 31 | #include "gnunet_statistics_service.h" |
32 | #include "glpk.h" | 32 | #include "glpk.h" |
33 | 33 | ||
34 | /** | ||
35 | * | ||
36 | * NOTE: Do not modify this documentation. This documentation is based on | ||
37 | * gnunet.org:/vcs/fsnsg/ats-paper.git/tech-doku/ats-tech-guide.tex | ||
38 | * use build_txt.sh to generate plaintext output | ||
39 | * | ||
40 | * 4 MLP solver | ||
41 | * | ||
42 | * The MLP solver (mlp) tries to finds an optimal bandwidth assignmentby | ||
43 | * optimizing an mixed integer programming problem. The MLP solver uses a | ||
44 | * number of constraints to find the best adddress for a peer and an optimal | ||
45 | * bandwidth assignment. mlp uses the GNU Linear Programming Kit to solve the | ||
46 | * MLP problem. | ||
47 | * | ||
48 | * 4.1 Input data | ||
49 | * | ||
50 | * The quotas for each network segment are passed by addresses. MLP can be | ||
51 | * adapted using configuration settings and uses the following parameters: | ||
52 | * * MLP_MAX_DURATION: | ||
53 | * Maximum duration for a MLP solution procees (default: 3 sec.) | ||
54 | * * MLP_MAX_DURATION: | ||
55 | * Maximum number of iterations for a MLP solution process (default: | ||
56 | * 1024) | ||
57 | * * MLP_MIN_CONNECTIONS: | ||
58 | * Minimum number of desired connections (default: 4) | ||
59 | * * MLP_MIN_BANDWIDTH: | ||
60 | * Minimum amount of bandwidth assigned to an address (default: 1024) | ||
61 | * * MLP_COEFFICIENT_D: | ||
62 | * Diversity coefficient (default: 1.0) | ||
63 | * * MLP_COEFFICIENT_R: | ||
64 | * Relativity coefficient (default: 1.0) | ||
65 | * * MLP_COEFFICIENT_U: | ||
66 | * Utilization coefficient (default: 1.0) | ||
67 | * * MLP_COEFFICIENT_D: | ||
68 | * Diversity coefficient (default: 1.0) | ||
69 | * * MLP_COEFFICIENT_QUALITY_DELAY: | ||
70 | * Quality delay coefficient (default: 1.0) | ||
71 | * * MLP_COEFFICIENT_QUALITY_DISTANCE: | ||
72 | * Quality distance coefficient (default: 1.0) | ||
73 | * * MLP_COEFFICIENT_QUALITY_DISTANCE: | ||
74 | * Quality distance coefficient (default: 1.0) | ||
75 | * * MLP_COEFFICIENT_QUALITY_DISTANCE: | ||
76 | * Quality distance coefficient (default: 1.0) | ||
77 | * * MLP_COEFFICIENT_QUALITY_DISTANCE: | ||
78 | * Quality distance coefficient (default: 1.0) | ||
79 | * | ||
80 | * 4.2 Data structures used | ||
81 | * | ||
82 | * mlp has for each known peer a struct ATS_Peer containing information about | ||
83 | * a specific peer. The address field solver_information contains information | ||
84 | * about the mlp properties of this address. | ||
85 | * | ||
86 | * 4.3 Initializing | ||
87 | * | ||
88 | * During initialization mlp initializes the GLPK libray used to solve the | ||
89 | * MLP problem: it initializes the glpk environment and creates an initial LP | ||
90 | * problem. Next it loads the configuration values from the configuration or | ||
91 | * uses the default values configured in -addresses_mlp.h. The quotas used | ||
92 | * are given by addresses but may have to be adjusted. mlp uses a upper limit | ||
93 | * for the bandwidth assigned called BIG M and a minimum amount of bandwidth | ||
94 | * an address gets assigned as well as a minium desired number of | ||
95 | * connections. If the configured quota is bigger than BIG M, it is reduced | ||
96 | * to BIG M. If the configured quota is smaller than MLP_MIN_CONNECTIONS | ||
97 | * *MLP_MIN_BANDWIDTH it is increased to this value. | ||
98 | * | ||
99 | * 4.4 Shutdown | ||
100 | * TBD | ||
101 | */ | ||
102 | |||
34 | #define LOG(kind,...) GNUNET_log_from (kind, "ats-mlp",__VA_ARGS__) | 103 | #define LOG(kind,...) GNUNET_log_from (kind, "ats-mlp",__VA_ARGS__) |
35 | 104 | ||
36 | #define WRITE_MLP GNUNET_NO | 105 | #define WRITE_MLP GNUNET_NO |