some rtt-qcn evaluation stuff
This commit is contained in:
parent
9e641a5716
commit
de9a22c612
|
@ -53,6 +53,11 @@ SWIFT_MIN_CWND 0.001
|
|||
SWIFT_MAX_CWND 20000
|
||||
SWIFT_TARGET_ENDPOINT_DELAY 1000000
|
||||
|
||||
RTT_QCN_T_MIN 5000
|
||||
RTT_QCN_T_MAX 12000
|
||||
RTT_QCN_ALPHA 0.5
|
||||
RTT_QCN_BETA 0.25
|
||||
|
||||
ACK_HIGH_PRIO 0
|
||||
|
||||
LINK_DOWN 0 0 0
|
||||
|
|
|
@ -23,8 +23,8 @@ plt.rcParams.update({'font.size': 18})
|
|||
|
||||
|
||||
|
||||
algs=list(["dcqcn", "powerInt", "hpcc", "powerDelay", "timely", "dctcp","patchedTimely","swift"])
|
||||
algnames={"dcqcn":"DCQCN","powerInt":"PowerTCP","hpcc":"HPCC","powerDelay":r'$\theta-PowerTCP$',"timely":"TIMELY","DCTCP":"DCTCP","patchedTimely":"Patched TIMELY","swift":"Swift"}
|
||||
algs=list(["dcqcn", "powerInt", "hpcc", "powerDelay", "timely", "dctcp","patchedTimely","swift","rttqcn"])
|
||||
algnames={"dcqcn":"DCQCN","powerInt":"PowerTCP","hpcc":"HPCC","powerDelay":r'$\theta-PowerTCP$',"timely":"TIMELY","DCTCP":"DCTCP","patchedTimely":"Patched TIMELY","swift":"Swift","rttqcn":"RTT-QCN"}
|
||||
|
||||
|
||||
#%%
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <cstdint>
|
||||
#undef PGO_TRAINING
|
||||
#define PATH_TO_PGO_CONFIG "path_to_pgo_config"
|
||||
|
||||
|
@ -84,6 +85,11 @@ double SwiftMinCwnd = 0.001;
|
|||
double SwiftMaxCwnd = 800000;
|
||||
double SwiftTargetEndpointDelay = 1000000;
|
||||
|
||||
uint32_t RttQcnTmin = 3000;
|
||||
uint32_t RttQcnTmax = 5000;
|
||||
double RttQcnAlpha = 0.5;
|
||||
double RttQcnBeta = 0.25;
|
||||
|
||||
uint32_t ack_high_prio = 0;
|
||||
uint64_t link_down_time = 0;
|
||||
uint32_t link_down_A = 0, link_down_B = 0;
|
||||
|
@ -1012,6 +1018,26 @@ main(int argc, char* argv[])
|
|||
conf >> SwiftTargetEndpointDelay;
|
||||
std::cout << "SWIFT_TARGET_ENDPOINT_DELAY\t\t\t\t" << SwiftTargetEndpointDelay << '\n';
|
||||
}
|
||||
else if (key == "RTT_QCN_T_MIN")
|
||||
{
|
||||
conf >> RttQcnTmin;
|
||||
std::cout << "RTT_QCN_T_MIN\t\t\t\t" << RttQcnTmin << '\n';
|
||||
}
|
||||
else if (key == "RTT_QCN_T_MAX")
|
||||
{
|
||||
conf >> RttQcnTmax;
|
||||
std::cout << "RTT_QCN_T_MAX\t\t\t\t" << RttQcnTmax << '\n';
|
||||
}
|
||||
else if (key == "RTT_QCN_ALPHA")
|
||||
{
|
||||
conf >> RttQcnAlpha;
|
||||
std::cout << "RTT_QCN_ALPHA\t\t\t\t" << RttQcnAlpha << '\n';
|
||||
}
|
||||
else if (key == "RTT_QCN_BETA")
|
||||
{
|
||||
conf >> RttQcnBeta;
|
||||
std::cout << "RTT_QCN_BETA\t\t\t\t" << RttQcnBeta << '\n';
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
conf.close();
|
||||
|
@ -1031,6 +1057,7 @@ main(int argc, char* argv[])
|
|||
{
|
||||
case CC_MODE::TIMELY:
|
||||
case CC_MODE::PATCHED_TIMELY:
|
||||
case CC_MODE::RTT_QCN:
|
||||
// timely or patched timely, use ts
|
||||
IntHeader::mode = IntHeader::TS;
|
||||
break;
|
||||
|
@ -1364,6 +1391,10 @@ main(int argc, char* argv[])
|
|||
rdmaHw->SetAttribute("SwiftMaxCwnd", DoubleValue(SwiftMaxCwnd));
|
||||
rdmaHw->SetAttribute("SwiftTargetEndpointDelay",
|
||||
UintegerValue(SwiftTargetEndpointDelay));
|
||||
rdmaHw->SetAttribute("RttQcnTmin", UintegerValue(RttQcnTmin));
|
||||
rdmaHw->SetAttribute("RttQcnTmax", UintegerValue(RttQcnTmax));
|
||||
rdmaHw->SetAttribute("RttQcnAlpha", DoubleValue(RttQcnAlpha));
|
||||
rdmaHw->SetAttribute("RttQcnBeta", DoubleValue(RttQcnBeta));
|
||||
rdmaHw->SetPintSmplThresh(pint_prob);
|
||||
// create and install RdmaDriver
|
||||
Ptr<RdmaDriver> rdma = CreateObject<RdmaDriver>();
|
||||
|
|
|
@ -5,10 +5,10 @@ RES_RESULTS=$NS3/examples/PowerTCP/results_burst
|
|||
mkdir $RES_DUMP
|
||||
mkdir $RES_RESULTS
|
||||
|
||||
algs=(0 1 2 3 4 5 6 7)
|
||||
algs=(0 1 2 3 4 5 6 7 8)
|
||||
|
||||
algNames=("dcqcn" "powerInt" "hpcc" "powerDelay" "timely" "dctcp" "patchedTimely" "swift")
|
||||
CCMODE=(1 3 3 3 7 8 11 12)
|
||||
algNames=("dcqcn" "powerInt" "hpcc" "powerDelay" "timely" "dctcp" "patchedTimely" "swift" "rttqcn")
|
||||
CCMODE=(1 3 3 3 7 8 11 12 13)
|
||||
|
||||
# at the moment, power int and delay are called from hpcc ACK function separately and hence cc mode is still 3.
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ MIX_DUMP=$NS3/examples/PowerTCP/mix
|
|||
mkdir $RES_DUMP
|
||||
mkdir $MIX_DUMP
|
||||
|
||||
algs=(0 1 2 3 4 5 6 7)
|
||||
algs=(0 1 2 3 4 5 6 7 8)
|
||||
|
||||
algNames=("dcqcn" "powerInt" "hpcc" "powerDelay" "timely" "dctcp" "patchedTimely" "swift")
|
||||
CCMODE=(1 3 3 3 7 8 11 12)
|
||||
algNames=("dcqcn" "powerInt" "hpcc" "powerDelay" "timely" "dctcp" "patchedTimely" "swift" "rttqcn")
|
||||
CCMODE=(1 3 3 3 7 8 11 12 13)
|
||||
|
||||
# at the moment, power int and delay are called from hpcc ACK function separately and hence cc mode is still 3.
|
||||
|
||||
|
@ -51,7 +51,7 @@ for algorithm in ${algs[@]};do
|
|||
delay=false
|
||||
fi
|
||||
|
||||
if [[ ${algNames[$algorithm]} == "timely" || ${algNames[$algorithm]} == "dcqcn" ]];then
|
||||
if [[ ${algNames[$algorithm]} == "timely" || ${algNames[$algorithm]} == "dcqcn" || ${algNames[$algorithm]} == "rttqcn" ]];then
|
||||
window=0
|
||||
else
|
||||
window=1
|
||||
|
|
Loading…
Reference in New Issue