提交 b17329f4 编写于 作者: 丁劲犇's avatar 丁劲犇 😸

加入确保仿真程序低延迟的策略

上级 04dd4fea
......@@ -11,8 +11,8 @@
"instance": {
"additional_args": "IND=1;OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-pcapHub-Release/release/pcapHub.exe",
"instance_value": 19
"exec": "../modules/pcap_hub/pcapHub.exe",
"instance_value": 1
},
"name": {
"name": "pcap_hub"
......@@ -57,8 +57,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "modules/transform_fft.exe",
"instance_value": 20
"exec": "../modules/transform_fft.exe",
"instance_value": 2
},
"name": {
"name": "libfftw"
......@@ -160,8 +160,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "modules/sink_plots.exe",
"instance_value": 21
"exec": "../modules/sink_plots.exe",
"instance_value": 3
},
"name": {
"name": "plots"
......@@ -192,52 +192,6 @@
}
},
"mod3": {
"a2psk_encap": {
"input_subjects": {
"input": {
"instance_value": 1,
"tooltip": "package",
"type": "byte"
},
"water_mark": {
"instance_value": 7,
"tooltip": "water mark for uhd",
"type": "int"
}
},
"instance": {
"additional_args": "IND=4,3;OUTD=1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_encap.exe",
"instance_value": 22
},
"name": {
"name": "a2psk_encap"
},
"output_subjects": {
"output": {
"instance_value": 10,
"tooltip": "encap signal",
"type": "vector"
}
},
"parameters": {
"min_watermark": {
"default": 10000,
"instance_value": "1500",
"tooltip": "Min Watermark",
"type": "long long"
},
"mod_type": {
"default": 1,
"instance_value": "3",
"tooltip": "1:BPSK,2:QPSK,3:8PSK",
"type": "int"
}
}
}
},
"mod4": {
"a2psk_mod": {
"input_subjects": {
"input": {
......@@ -249,8 +203,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_mod.exe",
"instance_value": 23
"exec": "../course/a2psk/a2psk_mod.exe",
"instance_value": 5
},
"name": {
"name": "a2psk_mod"
......@@ -278,7 +232,7 @@
}
}
},
"mod5": {
"mod4": {
"a2psk_dem": {
"input_subjects": {
"input": {
......@@ -290,8 +244,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_dem.exe",
"instance_value": 24
"exec": "../course/a2psk/a2psk_dem.exe",
"instance_value": 6
},
"name": {
"name": "a2psk_dem"
......@@ -318,7 +272,7 @@
}
}
},
"mod6": {
"mod5": {
"a2psk_decap": {
"input_subjects": {
"input": {
......@@ -330,8 +284,8 @@
"instance": {
"additional_args": "OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_decap.exe",
"instance_value": 25
"exec": "../course/a2psk/a2psk_decap.exe",
"instance_value": 7
},
"name": {
"name": "a2psk_decap"
......@@ -353,7 +307,7 @@
}
}
},
"mod7": {
"mod6": {
"a0_simplechannel": {
"input_subjects": {
"input": {
......@@ -365,8 +319,8 @@
"instance": {
"additional_args": "OUTD=1,-2;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a0simplechannel.exe",
"instance_value": 26
"exec": "../course/a0common/a0simplechannel.exe",
"instance_value": 8
},
"name": {
"name": "a0_simplechannel"
......@@ -411,7 +365,7 @@
}
}
},
"mod8": {
"mod7": {
"network_pcaphub": {
"input_subjects": {
"packin": {
......@@ -423,8 +377,8 @@
"instance": {
"additional_args": "IND=1;OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-pcapHub-Release/release/pcapHub.exe",
"instance_value": 27
"exec": "../modules/pcap_hub/pcapHub.exe",
"instance_value": 9
},
"name": {
"name": "pcap_hub"
......@@ -452,6 +406,58 @@
}
}
},
"mod8": {
"a2psk_encap": {
"input_subjects": {
"input": {
"instance_value": 1,
"tooltip": "package",
"type": "byte"
},
"water_mark": {
"instance_value": 7,
"tooltip": "water mark for uhd",
"type": "int"
}
},
"instance": {
"additional_args": "IND=4,2;nice=2;",
"batchtime": 20,
"exec": "../course/a2psk/a2psk_encap.exe",
"instance_value": 4
},
"name": {
"name": "a2psk_encap"
},
"output_subjects": {
"output": {
"instance_value": 10,
"tooltip": "encap signal",
"type": "vector"
}
},
"parameters": {
"min_watermark": {
"default": 10000,
"instance_value": "1500",
"tooltip": "Min Watermark",
"type": "long long"
},
"mod_type": {
"default": 1,
"instance_value": "3",
"tooltip": "1:BPSK,2:QPSK,3:8PSK",
"type": "int"
},
"produce_limit": {
"default": 0,
"instance_value": "1000",
"tooltip": "Sleep for each limit",
"type": "long long"
}
}
}
},
"pos0": {
"x": 2044,
"y": 1129
......@@ -465,28 +471,28 @@
"y": 1554
},
"pos3": {
"x": 1721,
"y": 1314
},
"pos4": {
"x": 2013,
"y": 1544
},
"pos5": {
"pos4": {
"x": 2695,
"y": 1374
},
"pos6": {
"pos5": {
"x": 3007,
"y": 1176
},
"pos7": {
"pos6": {
"x": 2324,
"y": 1471
},
"pos8": {
"pos7": {
"x": 2533,
"y": 1130
},
"pos8": {
"x": 1796,
"y": 1306
},
"total_mods": 9
}
......@@ -11,8 +11,8 @@
"instance": {
"additional_args": "IND=1;OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-pcapHub-Release/release/pcapHub.exe",
"instance_value": 80
"exec": "../modules/pcap_hub/pcapHub.exe",
"instance_value": 1
},
"name": {
"name": "pcap_hub"
......@@ -57,8 +57,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "modules/transform_fft.exe",
"instance_value": 81
"exec": "../modules/transform_fft.exe",
"instance_value": 2
},
"name": {
"name": "libfftw"
......@@ -160,8 +160,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "modules/sink_plots.exe",
"instance_value": 82
"exec": "../modules/sink_plots.exe",
"instance_value": 3
},
"name": {
"name": "plots"
......@@ -192,52 +192,6 @@
}
},
"mod3": {
"a2psk_encap": {
"input_subjects": {
"input": {
"instance_value": 1,
"tooltip": "package",
"type": "byte"
},
"water_mark": {
"instance_value": 7,
"tooltip": "water mark for uhd",
"type": "int"
}
},
"instance": {
"additional_args": "IND=4,3;OUTD=1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_encap.exe",
"instance_value": 83
},
"name": {
"name": "a2psk_encap"
},
"output_subjects": {
"output": {
"instance_value": 10,
"tooltip": "encap signal",
"type": "vector"
}
},
"parameters": {
"min_watermark": {
"default": 10000,
"instance_value": "1500",
"tooltip": "Min Watermark",
"type": "long long"
},
"mod_type": {
"default": 1,
"instance_value": "1",
"tooltip": "1:BPSK,2:QPSK,3:8PSK",
"type": "int"
}
}
}
},
"mod4": {
"a2psk_mod": {
"input_subjects": {
"input": {
......@@ -249,8 +203,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_mod.exe",
"instance_value": 84
"exec": "../course/a2psk/a2psk_mod.exe",
"instance_value": 5
},
"name": {
"name": "a2psk_mod"
......@@ -278,7 +232,7 @@
}
}
},
"mod5": {
"mod4": {
"a2psk_dem": {
"input_subjects": {
"input": {
......@@ -290,8 +244,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_dem.exe",
"instance_value": 85
"exec": "../course/a2psk/a2psk_dem.exe",
"instance_value": 6
},
"name": {
"name": "a2psk_dem"
......@@ -318,7 +272,7 @@
}
}
},
"mod6": {
"mod5": {
"a2psk_decap": {
"input_subjects": {
"input": {
......@@ -330,8 +284,8 @@
"instance": {
"additional_args": "OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_decap.exe",
"instance_value": 86
"exec": "../course/a2psk/a2psk_decap.exe",
"instance_value": 7
},
"name": {
"name": "a2psk_decap"
......@@ -346,14 +300,14 @@
"parameters": {
"mod_type": {
"default": 1,
"instance_value": "1",
"instance_value": "3",
"tooltip": "1=BPSK,2=QPSK,3=8PSK",
"type": "int"
}
}
}
},
"mod7": {
"mod6": {
"a0_simplechannel": {
"input_subjects": {
"input": {
......@@ -365,8 +319,8 @@
"instance": {
"additional_args": "OUTD=1,-2;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a0simplechannel.exe",
"instance_value": 87
"exec": "../course/a0common/a0simplechannel.exe",
"instance_value": 8
},
"name": {
"name": "a0_simplechannel"
......@@ -411,7 +365,7 @@
}
}
},
"mod8": {
"mod7": {
"network_pcaphub": {
"input_subjects": {
"packin": {
......@@ -423,8 +377,8 @@
"instance": {
"additional_args": "IND=1;OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-pcapHub-Release/release/pcapHub.exe",
"instance_value": 88
"exec": "../modules/pcap_hub/pcapHub.exe",
"instance_value": 9
},
"name": {
"name": "pcap_hub"
......@@ -452,6 +406,58 @@
}
}
},
"mod8": {
"a2psk_encap": {
"input_subjects": {
"input": {
"instance_value": 1,
"tooltip": "package",
"type": "byte"
},
"water_mark": {
"instance_value": 7,
"tooltip": "water mark for uhd",
"type": "int"
}
},
"instance": {
"additional_args": "IND=4,2;nice=2;",
"batchtime": 20,
"exec": "../course/a2psk/a2psk_encap.exe",
"instance_value": 4
},
"name": {
"name": "a2psk_encap"
},
"output_subjects": {
"output": {
"instance_value": 10,
"tooltip": "encap signal",
"type": "vector"
}
},
"parameters": {
"min_watermark": {
"default": 10000,
"instance_value": "1500",
"tooltip": "Min Watermark",
"type": "long long"
},
"mod_type": {
"default": 1,
"instance_value": "1",
"tooltip": "1:BPSK,2:QPSK,3:8PSK",
"type": "int"
},
"produce_limit": {
"default": 0,
"instance_value": "1000",
"tooltip": "Sleep for each limit",
"type": "long long"
}
}
}
},
"pos0": {
"x": 2044,
"y": 1129
......@@ -465,28 +471,28 @@
"y": 1554
},
"pos3": {
"x": 1721,
"y": 1314
},
"pos4": {
"x": 2013,
"y": 1544
},
"pos5": {
"pos4": {
"x": 2695,
"y": 1374
},
"pos6": {
"pos5": {
"x": 3007,
"y": 1176
},
"pos7": {
"pos6": {
"x": 2324,
"y": 1471
},
"pos8": {
"pos7": {
"x": 2533,
"y": 1130
},
"pos8": {
"x": 1796,
"y": 1306
},
"total_mods": 9
}
......@@ -11,8 +11,8 @@
"instance": {
"additional_args": "IND=1;OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-pcapHub-Release/release/pcapHub.exe",
"instance_value": 107
"exec": "../modules/pcap_hub/pcapHub.exe",
"instance_value": 1
},
"name": {
"name": "pcap_hub"
......@@ -57,8 +57,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "modules/transform_fft.exe",
"instance_value": 108
"exec": "../modules/transform_fft.exe",
"instance_value": 2
},
"name": {
"name": "libfftw"
......@@ -160,8 +160,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "modules/sink_plots.exe",
"instance_value": 109
"exec": "../modules/sink_plots.exe",
"instance_value": 3
},
"name": {
"name": "plots"
......@@ -192,52 +192,6 @@
}
},
"mod3": {
"a2psk_encap": {
"input_subjects": {
"input": {
"instance_value": 1,
"tooltip": "package",
"type": "byte"
},
"water_mark": {
"instance_value": 7,
"tooltip": "water mark for uhd",
"type": "int"
}
},
"instance": {
"additional_args": "IND=4,3;OUTD=1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_encap.exe",
"instance_value": 110
},
"name": {
"name": "a2psk_encap"
},
"output_subjects": {
"output": {
"instance_value": 10,
"tooltip": "encap signal",
"type": "vector"
}
},
"parameters": {
"min_watermark": {
"default": 10000,
"instance_value": "1500",
"tooltip": "Min Watermark",
"type": "long long"
},
"mod_type": {
"default": 1,
"instance_value": "2",
"tooltip": "1:BPSK,2:QPSK,3:8PSK",
"type": "int"
}
}
}
},
"mod4": {
"a2psk_mod": {
"input_subjects": {
"input": {
......@@ -249,8 +203,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_mod.exe",
"instance_value": 111
"exec": "../course/a2psk/a2psk_mod.exe",
"instance_value": 5
},
"name": {
"name": "a2psk_mod"
......@@ -278,7 +232,7 @@
}
}
},
"mod5": {
"mod4": {
"a2psk_dem": {
"input_subjects": {
"input": {
......@@ -290,8 +244,8 @@
"instance": {
"additional_args": "nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_dem.exe",
"instance_value": 112
"exec": "../course/a2psk/a2psk_dem.exe",
"instance_value": 6
},
"name": {
"name": "a2psk_dem"
......@@ -318,7 +272,7 @@
}
}
},
"mod6": {
"mod5": {
"a2psk_decap": {
"input_subjects": {
"input": {
......@@ -330,8 +284,8 @@
"instance": {
"additional_args": "OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a2psk_decap.exe",
"instance_value": 113
"exec": "../course/a2psk/a2psk_decap.exe",
"instance_value": 7
},
"name": {
"name": "a2psk_decap"
......@@ -353,7 +307,7 @@
}
}
},
"mod7": {
"mod6": {
"a0_simplechannel": {
"input_subjects": {
"input": {
......@@ -365,8 +319,8 @@
"instance": {
"additional_args": "OUTD=1,-2;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-taskbus_course-Desktop_Qt_6-Release/modules/a0simplechannel.exe",
"instance_value": 114
"exec": "../course/a0common/a0simplechannel.exe",
"instance_value": 8
},
"name": {
"name": "a0_simplechannel"
......@@ -411,7 +365,7 @@
}
}
},
"mod8": {
"mod7": {
"network_pcaphub": {
"input_subjects": {
"packin": {
......@@ -423,8 +377,8 @@
"instance": {
"additional_args": "IND=1;OUTD=-1;nice=2;",
"batchtime": 20,
"exec": "C:/projects/build-pcapHub-Release/release/pcapHub.exe",
"instance_value": 115
"exec": "../modules/pcap_hub/pcapHub.exe",
"instance_value": 9
},
"name": {
"name": "pcap_hub"
......@@ -452,6 +406,58 @@
}
}
},
"mod8": {
"a2psk_encap": {
"input_subjects": {
"input": {
"instance_value": 1,
"tooltip": "package",
"type": "byte"
},
"water_mark": {
"instance_value": 7,
"tooltip": "water mark for uhd",
"type": "int"
}
},
"instance": {
"additional_args": "IND=4,2;nice=2;",
"batchtime": 20,
"exec": "../course/a2psk/a2psk_encap.exe",
"instance_value": 4
},
"name": {
"name": "a2psk_encap"
},
"output_subjects": {
"output": {
"instance_value": 10,
"tooltip": "encap signal",
"type": "vector"
}
},
"parameters": {
"min_watermark": {
"default": 10000,
"instance_value": "1500",
"tooltip": "Min Watermark",
"type": "long long"
},
"mod_type": {
"default": 1,
"instance_value": "2",
"tooltip": "1:BPSK,2:QPSK,3:8PSK",
"type": "int"
},
"produce_limit": {
"default": 0,
"instance_value": "1000",
"tooltip": "Sleep for each limit",
"type": "long long"
}
}
}
},
"pos0": {
"x": 2044,
"y": 1129
......@@ -465,28 +471,28 @@
"y": 1554
},
"pos3": {
"x": 1721,
"y": 1314
},
"pos4": {
"x": 2013,
"y": 1544
},
"pos5": {
"pos4": {
"x": 2695,
"y": 1374
},
"pos6": {
"pos5": {
"x": 3007,
"y": 1176
},
"pos7": {
"pos6": {
"x": 2324,
"y": 1471
},
"pos8": {
"pos7": {
"x": 2533,
"y": 1130
},
"pos8": {
"x": 1796,
"y": 1306
},
"total_mods": 9
}
{
"a2psk_encap":{
"a2psk_encap":{
"name":"a2psk_encap",
"parameters":{
"min_watermark":{
"type":"long long",
"tooltip":"Min Watermark",
"default":10000
"min_watermark":{
"type":"long long",
"tooltip":"Min Watermark",
"default":10000
},
"produce_limit":{
"type":"long long",
"tooltip":"Sleep for each limit",
"default":0
},
"mod_type":{
"type":"int",
......@@ -15,21 +20,21 @@
},
"input_subjects":
{
"input":{
"input":{
"type":"byte",
"tooltip":"package"
},
"water_mark":{
},
"water_mark":{
"type":"int",
"tooltip":"water mark for uhd"
}
}
},
"output_subjects":{
"output":{
"type":"vector",
"tooltip":"encap signal"
}
}
}
}
}
}
}
......@@ -86,12 +86,13 @@ int do_function(const cmdlineParser & args)
const unsigned int i_watermark = args.toInt("water_mark",0);
const unsigned int sub_output = args.toInt("output",0);
const unsigned int mod_type = args.toInt("mod_type",1);
const unsigned int produce_limit = args.toInt("produce_limit",0);
//Watermark feedback
const long long minmark = args.toInt64("min_watermark",0);
std::thread send_thread(
[&]()->void{
unsigned long long g_packs = 0,g_dummy = 0;
unsigned long long g_packs = 0,g_dummy = 0, total_bytes = 0;
while (false==bfinished)
{
//水位控制
......@@ -126,6 +127,13 @@ int do_function(const cmdlineParser & args)
out = alg_encap(pkdummy,mod_type);
TASKBUS::push_subject(sub_output,instance,out.size(),out.data());
++g_dummy;
total_bytes += out.size();
if (total_bytes > produce_limit && produce_limit >0 )
{
total_bytes = 0;
QThread::msleep(1);
}
}
else
QThread::msleep(10);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册