update evaluation scripts

This commit is contained in:
cyp0633 2024-04-08 22:18:18 +08:00
parent a548d5d88a
commit d169825d31
Signed by: cyp0633
GPG Key ID: CF90D09FB1FDCE45
11 changed files with 89 additions and 18 deletions

View File

@ -54,7 +54,7 @@ SWIFT_MAX_CWND 20000
SWIFT_TARGET_ENDPOINT_DELAY 1000000
RTT_QCN_T_MIN 5000
RTT_QCN_T_MAX 12000
RTT_QCN_T_MAX 7000
RTT_QCN_ALPHA 0.5
RTT_QCN_BETA 0.25

View File

@ -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 7000
RTT_QCN_ALPHA 0.5
RTT_QCN_BETA 0.25
ACK_HIGH_PRIO 0
LINK_DOWN 0 0 0

View File

@ -53,6 +53,11 @@ SWIFT_MIN_CWND 0.001
SWIFT_MAX_CWND 800000
SWIFT_TARGET_ENDPOINT_DELAY 1000000
RTT_QCN_T_MIN 5000
RTT_QCN_T_MAX 7000
RTT_QCN_ALPHA 0.5
RTT_QCN_BETA 0.25
ACK_HIGH_PRIO 0
LINK_DOWN 0 0 0

View File

@ -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"}
######## FAIRNESS #############

View File

@ -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"}
#%%

View File

@ -83,6 +83,12 @@ double SwiftMinCwnd = 0.001;
double SwiftMaxCwnd = 800000;
double SwiftTargetEndpointDelay = 1000000;
// RTT-QCN parameters
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;
@ -997,6 +1003,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();
@ -1015,6 +1041,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;
@ -1344,7 +1371,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>();

View File

@ -85,6 +85,12 @@ double u_target = 0.95;
uint32_t int_multi = 1;
bool rate_bound = true;
// RTT-QCN variables
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;
@ -1257,6 +1263,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();
@ -1276,6 +1302,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;
@ -1606,6 +1633,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>();

View File

@ -6,10 +6,10 @@ RES_RESULTS=$NS3/examples/PowerTCP/results_fairness
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.

View File

@ -4,10 +4,10 @@ RES_RESULTS=$NS3/examples/PowerTCP/results_workload
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.

View File

@ -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.

View File

@ -7,10 +7,10 @@ MIX_DUMP=$NS3/examples/PowerTCP/mix
mkdir $RES_DUMP
mkdir $MIX_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.