aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-02-19 13:39:31 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-02-19 13:39:31 +0000
commit36607a5044f47d312c71df369fef0821b7b3e6da (patch)
tree33a719cc9b906c8f78688d9751cbed6ef0ff81e7
parentda1b4ed507d47e9869d507c41f1528b5948d244b (diff)
downloadgnunet-36607a5044f47d312c71df369fef0821b7b3e6da.tar.gz
gnunet-36607a5044f47d312c71df369fef0821b7b3e6da.zip
documentation
-rw-r--r--src/ats/gnunet-service-ats_addresses_mlp.c69
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