Terabit-Ethernet / dcPIM

BSD 3-Clause "New" or "Revised" License
20 stars 6 forks source link

Hardcoded parameters. #28

Open bgautham4 opened 3 days ago

bgautham4 commented 3 days ago

Hello @qizhe , the code for the kernel module currently has the following coded in for the dcpim_params struct:

323     void dcpim_params_init(struct dcpim_params* params) {
324     params->clean_match_sock = 0;
325     params->match_socket_port = 3000;
326     params->bandwidth = 98; // in Gbps
327     params->control_pkt_rtt = 20; // in us
328     params->rtt = 60; // in us
329     params->bdp  = params->rtt * params->bandwidth / 8 * 1000; // bytes
330     /* retransmission time = rtx_message * controk pkt rtt for messages */
331     params->rtx_messages = 5;
332     // params->bdp = 500000;
333     // params->gso_size = 1500;
334     // matchiing parameters
335     params->alpha = 1;
336     params->beta = 13; // beta / 10 is the real beta.
337     params->fct_round = 1;
338     params->num_rounds = 4;
339     params->round_length = params->beta * params->control_pkt_rtt * 1000 / 10; // in ns
340     params->epoch_length = params->num_rounds * params->round_length * params->alpha;
341     params->rmem_default = 4384520;
342     params->wmem_default = 4384520;
343     params->short_flow_size = params->bdp;
344     params->control_pkt_bdp = params->control_pkt_rtt * params->bandwidth * 1000 / 8;
345     params->data_budget = 1000000;
346 }

are there any alternatives to adjusting parameters such as bandwidth and RTT on the fly without having to edit the code and recompiling?