From 07877df7bf2639e4160167593b212828208efd95 Mon Sep 17 00:00:00 2001 From: "Oriol.Tinto.Prims" Date: Tue, 7 Jul 2020 11:10:07 +0200 Subject: [PATCH 1/7] Few changes related to dimemas --- Makefile | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 3fae8da..65cb06f 100644 --- a/Makefile +++ b/Makefile @@ -157,6 +157,25 @@ paramedir_configurations=$(wildcard ${analysis_tools}/paramedir_configurations/* python ${latex_folder}/report_gen.py -O report.pkl -S "MPI Call Profile" --add-csv $($@_trace_folder)/$*_MPIcallprofile.pm --c touch $@ +paradim_configurations=$(wildcard cfg/trace_analysis/paradim_configurations/*) +.paradim_%.done: .dimemas_experiment_%.done + # Run the paramedir configurations stored in paradim_configurations with all the dimemas traces + cd dimemas_traces; \ + dimemas_traces=$$( ls $**.prv ) ;\ + for trace in $${dimemas_traces}; do \ + for cfg in ${paradim_configurations} ; do \ + ../${analysis_tools}/paramedir $${trace} ../$${cfg} ;\ + output_name=$$(basename $${cfg/.cfg/} ) ;\ + new_name=$${trace/.prv/}_$${output_name} ;\ + mv $${output_name} $${new_name} ;\ + done ;\ + done + touch $@ +#ls $${output_name} $${new_name} ;\ + +test_dependencies=$(foreach var, $(number_of_processes), .paradim_$(var).done) +my_test: $(test_dependencies) + paraver_configurations=$(wildcard cfg/trace_analysis/paraver_configurations/*) .paraver_%.done: .trace_cut_%.done # Variable which contains traces' folder name @@ -175,9 +194,9 @@ paraver_configurations=$(wildcard cfg/trace_analysis/paraver_configurations/*) done touch $@ -%.dim: .Trace_%.done - - ${analysis_tools}/prv2dim $<.prv $@ +%.dim: .trace_cut_%.done + echo "${analysis_tools}/prv2dim trace_$*/trace_$*.prv $@" + ${analysis_tools}/prv2dim trace_$*/trace_$*.prv $@ dimemas_configurations=$(wildcard cfg/dimemas/cfgs/*) @@ -187,7 +206,7 @@ dimemas_configurations=$(wildcard cfg/dimemas/cfgs/*) sufix=$$(basename $${cfg}) ; \ sufix=$${sufix//dimemas./} ;\ sufix=$${sufix//.cfg/} ;\ - ${analysis_tools}/Dimemas -S 32k --dim $< -p dimemas_traces/dimemas_$*_$${sufix}.prv --config-file $${cfg} ;\ + ${analysis_tools}/Dimemas -S 32k --dim $< -p dimemas_traces/$*_$${sufix}.prv --config-file $${cfg} ;\ done touch $@ #################################################### -- GitLab From 417231f67cfd7ee556ba091495a9b6779b9ce434 Mon Sep 17 00:00:00 2001 From: "Oriol.Tinto.Prims" Date: Tue, 7 Jul 2020 11:10:48 +0200 Subject: [PATCH 2/7] Dimemas configurations renamed --- cfg/dimemas/cfgs/Bandwidth.cfg | 160 ++++++++++++++++++++++++++++++++ cfg/dimemas/cfgs/Coupling.cfg | 161 +++++++++++++++++++++++++++++++++ cfg/dimemas/cfgs/Latency.cfg | 160 ++++++++++++++++++++++++++++++++ cfg/dimemas/cfgs/Original.cfg | 160 ++++++++++++++++++++++++++++++++ 4 files changed, 641 insertions(+) create mode 100644 cfg/dimemas/cfgs/Bandwidth.cfg create mode 100644 cfg/dimemas/cfgs/Coupling.cfg create mode 100644 cfg/dimemas/cfgs/Latency.cfg create mode 100644 cfg/dimemas/cfgs/Original.cfg diff --git a/cfg/dimemas/cfgs/Bandwidth.cfg b/cfg/dimemas/cfgs/Bandwidth.cfg new file mode 100644 index 0000000..d7c9bc3 --- /dev/null +++ b/cfg/dimemas/cfgs/Bandwidth.cfg @@ -0,0 +1,160 @@ +#DIMEMAS_CONFIGURATION + +/******************************************************************************* + * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE + ******************************************************************************* + * + * The records here described follow the SDDF file structure. Each field must be + * sepparated by commas in the actual records. + * + * 'int' and 'double' values are expresed as is. 'char[]' values must be always + * wrapped by quotes. 'double' and 'int' arrays must be in the following format: + * + * [n] { value_1, value_2, ..., value_n } + * + * Where 'n' is the number of elements in the array + * + ******************************************************************************* + + "wide area network information" { + 1: char[] "name of the wide area network simulated" + 2: int "number of machines in wan" + 3: int "number of dedicated connections between machines in the simulated" + "system" + 4: int "function that models influence of traffic in the non dedicated" + "network." + "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" + 5: double "maximal value of traffic in the network" + 6: double "external net bandwidth (MBps)" + 7: int "external network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + +"environment information" { + 1: char[] "machine name" + 2: int "machine ID"; + 3: char[] "architecture used to instrument" + 4: int "number of nodes on virtual machine" + 5: double "data tranfer rate between nodes (MBps)" + "0 means instantaneous communication" + 6: int "maximun number of messages on network" + "0 means no limit" + "1 means bus contention" + 7: int "internal network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + + +"node information" { + 1: int "machine ID" + 2: char[] "architecture node name" + 3: int "number of processors within node" + 4: double "relative processor speed (divisive factor)" + 5: double "latency time (s) of intra-node communications model" + 6: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 7: int "maximum number of concurrent messages of intra-node" + "communications model:" + "0 means no limit" + "1 means bus contention" + 8: int "input links of intra-node communications model" + 9: int "output links of intra-node communications model" + 10: double "latency time (s) of inter-node communications model" + 11: int "input links of inter-node communications model" + 12: int "input links of intra-node communications model" + 13: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"multi node information" { + 1: int "machine ID" + 2: int "number of nodes with same configuration" + 3: char[] "architecture node name" + 4: int "number of processors within node" + 5: double "processor speed ratio wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." + 6: double "latency time (s) of intra-node communications model" + 7: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 8: int "maximum number of concurrent messages of intra-node" + "communications model: " + "0 means no limit" + "1 means bus contention" + 9: int "input links of intra-node communications model" + 10: int "output links of intra-node communications model" + 11: double "latency time (s) of inter-node communications model" + 12: int "input links of inter-node communications model" + 13: int "input links of intra-node communications model" + 14: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"mapping information" { + 1: char[] "application tracefile name" + 2: int "number of tasks in application" + 3: int[] "list of nodes where each application tasks is mapped" +};; + +"predefined mapping information" { + 1: char[] "application tracefile name" (OPTIONAL) + 2: char[] "predefined map identifier" + "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" +} + +"configuration files" { + 1: char[] "scheduler definition filename" + 2: char[] "file system definition filename" + 3: char[] "communications fine tuning configuration filename" + 4: char[] "sensitivity configuration filename" +};; + +"modules information" { + 1: int "module type" + 2: int "module value" + 3: double "module speed ration wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." +};; + +"file system parameters" { + 1: double "disk latency" + 2: double "disk bandwidth"; + 3: double "block size"; + 4: int "concurrent requests"; + 5: double "hit ratio"; +};; + +"dedicated connection information" { + 1: int "connection ID" + 2: int "source machine ID" + 3: int "destination machine ID" + 4: double "bandwidth of the connection (MBps)" + 5: int[] "list of tags that will use the connection" + 6: int "size of first message (bytes) to apply the comparision to use the" + "connection" + 7: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and (referent to first message size)" + 8: char[] "operation. options: & AND, | OR" + 9: int "size of second condition that should meet messages to use the" + "connection" + 10: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and its is referent to second message size" + 11: int[] "list of communicators of coll. Operations that can use the" + "connection" + 12: double "latency of dedicated connection (s)" + 13: double "latency due to distance (s)" +};; + +*******************************************************************************/ + + +"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; + + +"environment information" {"MareNostrum3", 0, "", 50, 2000.0, 0, 3};; + +"multi node information" {0, 50, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000008, 6, 6, 0.000000};; + +"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; + +"configuration files" {"", "", "", ""};; + + +"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; diff --git a/cfg/dimemas/cfgs/Coupling.cfg b/cfg/dimemas/cfgs/Coupling.cfg new file mode 100644 index 0000000..c9f11e8 --- /dev/null +++ b/cfg/dimemas/cfgs/Coupling.cfg @@ -0,0 +1,161 @@ +#DIMEMAS_CONFIGURATION + +/******************************************************************************* + * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE + ******************************************************************************* + * + * The records here described follow the SDDF file structure. Each field must be + * sepparated by commas in the actual records. + * + * 'int' and 'double' values are expresed as is. 'char[]' values must be always + * wrapped by quotes. 'double' and 'int' arrays must be in the following format: + * + * [n] { value_1, value_2, ..., value_n } + * + * Where 'n' is the number of elements in the array + * + ******************************************************************************* + + "wide area network information" { + 1: char[] "name of the wide area network simulated" + 2: int "number of machines in wan" + 3: int "number of dedicated connections between machines in the simulated" + "system" + 4: int "function that models influence of traffic in the non dedicated" + "network." + "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" + 5: double "maximal value of traffic in the network" + 6: double "external net bandwidth (MBps)" + 7: int "external network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + +"environment information" { + 1: char[] "machine name" + 2: int "machine ID"; + 3: char[] "architecture used to instrument" + 4: int "number of nodes on virtual machine" + 5: double "data tranfer rate between nodes (MBps)" + "0 means instantaneous communication" + 6: int "maximun number of messages on network" + "0 means no limit" + "1 means bus contention" + 7: int "internal network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + + +"node information" { + 1: int "machine ID" + 2: char[] "architecture node name" + 3: int "number of processors within node" + 4: double "relative processor speed (divisive factor)" + 5: double "latency time (s) of intra-node communications model" + 6: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 7: int "maximum number of concurrent messages of intra-node" + "communications model:" + "0 means no limit" + "1 means bus contention" + 8: int "input links of intra-node communications model" + 9: int "output links of intra-node communications model" + 10: double "latency time (s) of inter-node communications model" + 11: int "input links of inter-node communications model" + 12: int "input links of intra-node communications model" + 13: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"multi node information" { + 1: int "machine ID" + 2: int "number of nodes with same configuration" + 3: char[] "architecture node name" + 4: int "number of processors within node" + 5: double "processor speed ratio wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." + 6: double "latency time (s) of intra-node communications model" + 7: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 8: int "maximum number of concurrent messages of intra-node" + "communications model: " + "0 means no limit" + "1 means bus contention" + 9: int "input links of intra-node communications model" + 10: int "output links of intra-node communications model" + 11: double "latency time (s) of inter-node communications model" + 12: int "input links of inter-node communications model" + 13: int "input links of intra-node communications model" + 14: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"mapping information" { + 1: char[] "application tracefile name" + 2: int "number of tasks in application" + 3: int[] "list of nodes where each application tasks is mapped" +};; + +"predefined mapping information" { + 1: char[] "application tracefile name" (OPTIONAL) + 2: char[] "predefined map identifier" + "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" +} + +"configuration files" { + 1: char[] "scheduler definition filename" + 2: char[] "file system definition filename" + 3: char[] "communications fine tuning configuration filename" + 4: char[] "sensitivity configuration filename" +};; + +"modules information" { + 1: int "module type" + 2: int "module value" + 3: double "module speed ration wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." +};; + +"file system parameters" { + 1: double "disk latency" + 2: double "disk bandwidth"; + 3: double "block size"; + 4: int "concurrent requests"; + 5: double "hit ratio"; +};; + +"dedicated connection information" { + 1: int "connection ID" + 2: int "source machine ID" + 3: int "destination machine ID" + 4: double "bandwidth of the connection (MBps)" + 5: int[] "list of tags that will use the connection" + 6: int "size of first message (bytes) to apply the comparision to use the" + "connection" + 7: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and (referent to first message size)" + 8: char[] "operation. options: & AND, | OR" + 9: int "size of second condition that should meet messages to use the" + "connection" + 10: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and its is referent to second message size" + 11: int[] "list of communicators of coll. Operations that can use the" + "connection" + 12: double "latency of dedicated connection (s)" + 13: double "latency due to distance (s)" +};; + +*******************************************************************************/ + + +"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; + + +"environment information" {"MareNostrum3", 0, "", 50, 500.0, 0, 3};; + +"multi node information" {0, 32, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000008, 6, 6, 0.000000};; +"multi node information" {0, 18, "", 16, 0.000000, 0.000000, 0.000000, 1, 1, 0, 0.000000, 6, 6, 0.000000};; + +"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; + +"configuration files" {"", "", "", ""};; + + +"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; diff --git a/cfg/dimemas/cfgs/Latency.cfg b/cfg/dimemas/cfgs/Latency.cfg new file mode 100644 index 0000000..ce5b3d2 --- /dev/null +++ b/cfg/dimemas/cfgs/Latency.cfg @@ -0,0 +1,160 @@ +#DIMEMAS_CONFIGURATION + +/******************************************************************************* + * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE + ******************************************************************************* + * + * The records here described follow the SDDF file structure. Each field must be + * sepparated by commas in the actual records. + * + * 'int' and 'double' values are expresed as is. 'char[]' values must be always + * wrapped by quotes. 'double' and 'int' arrays must be in the following format: + * + * [n] { value_1, value_2, ..., value_n } + * + * Where 'n' is the number of elements in the array + * + ******************************************************************************* + + "wide area network information" { + 1: char[] "name of the wide area network simulated" + 2: int "number of machines in wan" + 3: int "number of dedicated connections between machines in the simulated" + "system" + 4: int "function that models influence of traffic in the non dedicated" + "network." + "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" + 5: double "maximal value of traffic in the network" + 6: double "external net bandwidth (MBps)" + 7: int "external network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + +"environment information" { + 1: char[] "machine name" + 2: int "machine ID"; + 3: char[] "architecture used to instrument" + 4: int "number of nodes on virtual machine" + 5: double "data tranfer rate between nodes (MBps)" + "0 means instantaneous communication" + 6: int "maximun number of messages on network" + "0 means no limit" + "1 means bus contention" + 7: int "internal network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + + +"node information" { + 1: int "machine ID" + 2: char[] "architecture node name" + 3: int "number of processors within node" + 4: double "relative processor speed (divisive factor)" + 5: double "latency time (s) of intra-node communications model" + 6: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 7: int "maximum number of concurrent messages of intra-node" + "communications model:" + "0 means no limit" + "1 means bus contention" + 8: int "input links of intra-node communications model" + 9: int "output links of intra-node communications model" + 10: double "latency time (s) of inter-node communications model" + 11: int "input links of inter-node communications model" + 12: int "input links of intra-node communications model" + 13: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"multi node information" { + 1: int "machine ID" + 2: int "number of nodes with same configuration" + 3: char[] "architecture node name" + 4: int "number of processors within node" + 5: double "processor speed ratio wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." + 6: double "latency time (s) of intra-node communications model" + 7: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 8: int "maximum number of concurrent messages of intra-node" + "communications model: " + "0 means no limit" + "1 means bus contention" + 9: int "input links of intra-node communications model" + 10: int "output links of intra-node communications model" + 11: double "latency time (s) of inter-node communications model" + 12: int "input links of inter-node communications model" + 13: int "input links of intra-node communications model" + 14: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"mapping information" { + 1: char[] "application tracefile name" + 2: int "number of tasks in application" + 3: int[] "list of nodes where each application tasks is mapped" +};; + +"predefined mapping information" { + 1: char[] "application tracefile name" (OPTIONAL) + 2: char[] "predefined map identifier" + "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" +} + +"configuration files" { + 1: char[] "scheduler definition filename" + 2: char[] "file system definition filename" + 3: char[] "communications fine tuning configuration filename" + 4: char[] "sensitivity configuration filename" +};; + +"modules information" { + 1: int "module type" + 2: int "module value" + 3: double "module speed ration wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." +};; + +"file system parameters" { + 1: double "disk latency" + 2: double "disk bandwidth"; + 3: double "block size"; + 4: int "concurrent requests"; + 5: double "hit ratio"; +};; + +"dedicated connection information" { + 1: int "connection ID" + 2: int "source machine ID" + 3: int "destination machine ID" + 4: double "bandwidth of the connection (MBps)" + 5: int[] "list of tags that will use the connection" + 6: int "size of first message (bytes) to apply the comparision to use the" + "connection" + 7: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and (referent to first message size)" + 8: char[] "operation. options: & AND, | OR" + 9: int "size of second condition that should meet messages to use the" + "connection" + 10: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and its is referent to second message size" + 11: int[] "list of communicators of coll. Operations that can use the" + "connection" + 12: double "latency of dedicated connection (s)" + 13: double "latency due to distance (s)" +};; + +*******************************************************************************/ + + +"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; + + +"environment information" {"MareNostrum3", 0, "", 50, 500.0, 0, 3};; + +"multi node information" {0, 50, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000016, 6, 6, 0.000000};; + +"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; + +"configuration files" {"", "", "", ""};; + + +"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; diff --git a/cfg/dimemas/cfgs/Original.cfg b/cfg/dimemas/cfgs/Original.cfg new file mode 100644 index 0000000..9b12933 --- /dev/null +++ b/cfg/dimemas/cfgs/Original.cfg @@ -0,0 +1,160 @@ +#DIMEMAS_CONFIGURATION + +/******************************************************************************* + * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE + ******************************************************************************* + * + * The records here described follow the SDDF file structure. Each field must be + * sepparated by commas in the actual records. + * + * 'int' and 'double' values are expresed as is. 'char[]' values must be always + * wrapped by quotes. 'double' and 'int' arrays must be in the following format: + * + * [n] { value_1, value_2, ..., value_n } + * + * Where 'n' is the number of elements in the array + * + ******************************************************************************* + + "wide area network information" { + 1: char[] "name of the wide area network simulated" + 2: int "number of machines in wan" + 3: int "number of dedicated connections between machines in the simulated" + "system" + 4: int "function that models influence of traffic in the non dedicated" + "network." + "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" + 5: double "maximal value of traffic in the network" + 6: double "external net bandwidth (MBps)" + 7: int "external network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + +"environment information" { + 1: char[] "machine name" + 2: int "machine ID"; + 3: char[] "architecture used to instrument" + 4: int "number of nodes on virtual machine" + 5: double "data tranfer rate between nodes (MBps)" + "0 means instantaneous communication" + 6: int "maximun number of messages on network" + "0 means no limit" + "1 means bus contention" + 7: int "internal network collective communications model" + "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" +};; + + +"node information" { + 1: int "machine ID" + 2: char[] "architecture node name" + 3: int "number of processors within node" + 4: double "relative processor speed (divisive factor)" + 5: double "latency time (s) of intra-node communications model" + 6: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 7: int "maximum number of concurrent messages of intra-node" + "communications model:" + "0 means no limit" + "1 means bus contention" + 8: int "input links of intra-node communications model" + 9: int "output links of intra-node communications model" + 10: double "latency time (s) of inter-node communications model" + 11: int "input links of inter-node communications model" + 12: int "input links of intra-node communications model" + 13: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"multi node information" { + 1: int "machine ID" + 2: int "number of nodes with same configuration" + 3: char[] "architecture node name" + 4: int "number of processors within node" + 5: double "processor speed ratio wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." + 6: double "latency time (s) of intra-node communications model" + 7: double "bandwidth (MBps) of intra-node communications model" + "0 means instantaneous communication" + 8: int "maximum number of concurrent messages of intra-node" + "communications model: " + "0 means no limit" + "1 means bus contention" + 9: int "input links of intra-node communications model" + 10: int "output links of intra-node communications model" + 11: double "latency time (s) of inter-node communications model" + 12: int "input links of inter-node communications model" + 13: int "input links of intra-node communications model" + 14: double "latency time (s) of inter-machines (WAN) communications model" +};; + +"mapping information" { + 1: char[] "application tracefile name" + 2: int "number of tasks in application" + 3: int[] "list of nodes where each application tasks is mapped" +};; + +"predefined mapping information" { + 1: char[] "application tracefile name" (OPTIONAL) + 2: char[] "predefined map identifier" + "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" +} + +"configuration files" { + 1: char[] "scheduler definition filename" + 2: char[] "file system definition filename" + 3: char[] "communications fine tuning configuration filename" + 4: char[] "sensitivity configuration filename" +};; + +"modules information" { + 1: int "module type" + 2: int "module value" + 3: double "module speed ration wrt. original execution (divisive factor)" + "0 means instantaneous | negative value means fixed duration in s." +};; + +"file system parameters" { + 1: double "disk latency" + 2: double "disk bandwidth"; + 3: double "block size"; + 4: int "concurrent requests"; + 5: double "hit ratio"; +};; + +"dedicated connection information" { + 1: int "connection ID" + 2: int "source machine ID" + 3: int "destination machine ID" + 4: double "bandwidth of the connection (MBps)" + 5: int[] "list of tags that will use the connection" + 6: int "size of first message (bytes) to apply the comparision to use the" + "connection" + 7: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and (referent to first message size)" + 8: char[] "operation. options: & AND, | OR" + 9: int "size of second condition that should meet messages to use the" + "connection" + 10: char[] "size condition that should meet messages to use the connection" + "it can be <, =, > and its is referent to second message size" + 11: int[] "list of communicators of coll. Operations that can use the" + "connection" + 12: double "latency of dedicated connection (s)" + 13: double "latency due to distance (s)" +};; + +*******************************************************************************/ + + +"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; + + +"environment information" {"MareNostrum3", 0, "", 50, 500.0, 0, 3};; + +"multi node information" {0, 50, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000008, 6, 6, 0.000000};; + +"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; + +"configuration files" {"", "", "", ""};; + + +"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; -- GitLab From 7920e224272709850cca1ee5834c83d5fb8bf7dc Mon Sep 17 00:00:00 2001 From: "Oriol.Tinto.Prims" Date: Tue, 7 Jul 2020 11:11:01 +0200 Subject: [PATCH 3/7] Dimemas configurations renamed --- .../cfgs/dimemas.BANDWIDTH_SENSITIVITY.cfg | 160 ----------------- cfg/dimemas/cfgs/dimemas.COUPLING_IMPACT.cfg | 161 ------------------ .../cfgs/dimemas.LATENCY_SENSITIVITY.cfg | 160 ----------------- cfg/dimemas/cfgs/dimemas.ORIGINAL.cfg | 160 ----------------- 4 files changed, 641 deletions(-) delete mode 100644 cfg/dimemas/cfgs/dimemas.BANDWIDTH_SENSITIVITY.cfg delete mode 100644 cfg/dimemas/cfgs/dimemas.COUPLING_IMPACT.cfg delete mode 100644 cfg/dimemas/cfgs/dimemas.LATENCY_SENSITIVITY.cfg delete mode 100644 cfg/dimemas/cfgs/dimemas.ORIGINAL.cfg diff --git a/cfg/dimemas/cfgs/dimemas.BANDWIDTH_SENSITIVITY.cfg b/cfg/dimemas/cfgs/dimemas.BANDWIDTH_SENSITIVITY.cfg deleted file mode 100644 index d7c9bc3..0000000 --- a/cfg/dimemas/cfgs/dimemas.BANDWIDTH_SENSITIVITY.cfg +++ /dev/null @@ -1,160 +0,0 @@ -#DIMEMAS_CONFIGURATION - -/******************************************************************************* - * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE - ******************************************************************************* - * - * The records here described follow the SDDF file structure. Each field must be - * sepparated by commas in the actual records. - * - * 'int' and 'double' values are expresed as is. 'char[]' values must be always - * wrapped by quotes. 'double' and 'int' arrays must be in the following format: - * - * [n] { value_1, value_2, ..., value_n } - * - * Where 'n' is the number of elements in the array - * - ******************************************************************************* - - "wide area network information" { - 1: char[] "name of the wide area network simulated" - 2: int "number of machines in wan" - 3: int "number of dedicated connections between machines in the simulated" - "system" - 4: int "function that models influence of traffic in the non dedicated" - "network." - "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" - 5: double "maximal value of traffic in the network" - 6: double "external net bandwidth (MBps)" - 7: int "external network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - -"environment information" { - 1: char[] "machine name" - 2: int "machine ID"; - 3: char[] "architecture used to instrument" - 4: int "number of nodes on virtual machine" - 5: double "data tranfer rate between nodes (MBps)" - "0 means instantaneous communication" - 6: int "maximun number of messages on network" - "0 means no limit" - "1 means bus contention" - 7: int "internal network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - - -"node information" { - 1: int "machine ID" - 2: char[] "architecture node name" - 3: int "number of processors within node" - 4: double "relative processor speed (divisive factor)" - 5: double "latency time (s) of intra-node communications model" - 6: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 7: int "maximum number of concurrent messages of intra-node" - "communications model:" - "0 means no limit" - "1 means bus contention" - 8: int "input links of intra-node communications model" - 9: int "output links of intra-node communications model" - 10: double "latency time (s) of inter-node communications model" - 11: int "input links of inter-node communications model" - 12: int "input links of intra-node communications model" - 13: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"multi node information" { - 1: int "machine ID" - 2: int "number of nodes with same configuration" - 3: char[] "architecture node name" - 4: int "number of processors within node" - 5: double "processor speed ratio wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." - 6: double "latency time (s) of intra-node communications model" - 7: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 8: int "maximum number of concurrent messages of intra-node" - "communications model: " - "0 means no limit" - "1 means bus contention" - 9: int "input links of intra-node communications model" - 10: int "output links of intra-node communications model" - 11: double "latency time (s) of inter-node communications model" - 12: int "input links of inter-node communications model" - 13: int "input links of intra-node communications model" - 14: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"mapping information" { - 1: char[] "application tracefile name" - 2: int "number of tasks in application" - 3: int[] "list of nodes where each application tasks is mapped" -};; - -"predefined mapping information" { - 1: char[] "application tracefile name" (OPTIONAL) - 2: char[] "predefined map identifier" - "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" -} - -"configuration files" { - 1: char[] "scheduler definition filename" - 2: char[] "file system definition filename" - 3: char[] "communications fine tuning configuration filename" - 4: char[] "sensitivity configuration filename" -};; - -"modules information" { - 1: int "module type" - 2: int "module value" - 3: double "module speed ration wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." -};; - -"file system parameters" { - 1: double "disk latency" - 2: double "disk bandwidth"; - 3: double "block size"; - 4: int "concurrent requests"; - 5: double "hit ratio"; -};; - -"dedicated connection information" { - 1: int "connection ID" - 2: int "source machine ID" - 3: int "destination machine ID" - 4: double "bandwidth of the connection (MBps)" - 5: int[] "list of tags that will use the connection" - 6: int "size of first message (bytes) to apply the comparision to use the" - "connection" - 7: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and (referent to first message size)" - 8: char[] "operation. options: & AND, | OR" - 9: int "size of second condition that should meet messages to use the" - "connection" - 10: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and its is referent to second message size" - 11: int[] "list of communicators of coll. Operations that can use the" - "connection" - 12: double "latency of dedicated connection (s)" - 13: double "latency due to distance (s)" -};; - -*******************************************************************************/ - - -"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; - - -"environment information" {"MareNostrum3", 0, "", 50, 2000.0, 0, 3};; - -"multi node information" {0, 50, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000008, 6, 6, 0.000000};; - -"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; - -"configuration files" {"", "", "", ""};; - - -"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; diff --git a/cfg/dimemas/cfgs/dimemas.COUPLING_IMPACT.cfg b/cfg/dimemas/cfgs/dimemas.COUPLING_IMPACT.cfg deleted file mode 100644 index c9f11e8..0000000 --- a/cfg/dimemas/cfgs/dimemas.COUPLING_IMPACT.cfg +++ /dev/null @@ -1,161 +0,0 @@ -#DIMEMAS_CONFIGURATION - -/******************************************************************************* - * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE - ******************************************************************************* - * - * The records here described follow the SDDF file structure. Each field must be - * sepparated by commas in the actual records. - * - * 'int' and 'double' values are expresed as is. 'char[]' values must be always - * wrapped by quotes. 'double' and 'int' arrays must be in the following format: - * - * [n] { value_1, value_2, ..., value_n } - * - * Where 'n' is the number of elements in the array - * - ******************************************************************************* - - "wide area network information" { - 1: char[] "name of the wide area network simulated" - 2: int "number of machines in wan" - 3: int "number of dedicated connections between machines in the simulated" - "system" - 4: int "function that models influence of traffic in the non dedicated" - "network." - "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" - 5: double "maximal value of traffic in the network" - 6: double "external net bandwidth (MBps)" - 7: int "external network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - -"environment information" { - 1: char[] "machine name" - 2: int "machine ID"; - 3: char[] "architecture used to instrument" - 4: int "number of nodes on virtual machine" - 5: double "data tranfer rate between nodes (MBps)" - "0 means instantaneous communication" - 6: int "maximun number of messages on network" - "0 means no limit" - "1 means bus contention" - 7: int "internal network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - - -"node information" { - 1: int "machine ID" - 2: char[] "architecture node name" - 3: int "number of processors within node" - 4: double "relative processor speed (divisive factor)" - 5: double "latency time (s) of intra-node communications model" - 6: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 7: int "maximum number of concurrent messages of intra-node" - "communications model:" - "0 means no limit" - "1 means bus contention" - 8: int "input links of intra-node communications model" - 9: int "output links of intra-node communications model" - 10: double "latency time (s) of inter-node communications model" - 11: int "input links of inter-node communications model" - 12: int "input links of intra-node communications model" - 13: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"multi node information" { - 1: int "machine ID" - 2: int "number of nodes with same configuration" - 3: char[] "architecture node name" - 4: int "number of processors within node" - 5: double "processor speed ratio wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." - 6: double "latency time (s) of intra-node communications model" - 7: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 8: int "maximum number of concurrent messages of intra-node" - "communications model: " - "0 means no limit" - "1 means bus contention" - 9: int "input links of intra-node communications model" - 10: int "output links of intra-node communications model" - 11: double "latency time (s) of inter-node communications model" - 12: int "input links of inter-node communications model" - 13: int "input links of intra-node communications model" - 14: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"mapping information" { - 1: char[] "application tracefile name" - 2: int "number of tasks in application" - 3: int[] "list of nodes where each application tasks is mapped" -};; - -"predefined mapping information" { - 1: char[] "application tracefile name" (OPTIONAL) - 2: char[] "predefined map identifier" - "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" -} - -"configuration files" { - 1: char[] "scheduler definition filename" - 2: char[] "file system definition filename" - 3: char[] "communications fine tuning configuration filename" - 4: char[] "sensitivity configuration filename" -};; - -"modules information" { - 1: int "module type" - 2: int "module value" - 3: double "module speed ration wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." -};; - -"file system parameters" { - 1: double "disk latency" - 2: double "disk bandwidth"; - 3: double "block size"; - 4: int "concurrent requests"; - 5: double "hit ratio"; -};; - -"dedicated connection information" { - 1: int "connection ID" - 2: int "source machine ID" - 3: int "destination machine ID" - 4: double "bandwidth of the connection (MBps)" - 5: int[] "list of tags that will use the connection" - 6: int "size of first message (bytes) to apply the comparision to use the" - "connection" - 7: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and (referent to first message size)" - 8: char[] "operation. options: & AND, | OR" - 9: int "size of second condition that should meet messages to use the" - "connection" - 10: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and its is referent to second message size" - 11: int[] "list of communicators of coll. Operations that can use the" - "connection" - 12: double "latency of dedicated connection (s)" - 13: double "latency due to distance (s)" -};; - -*******************************************************************************/ - - -"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; - - -"environment information" {"MareNostrum3", 0, "", 50, 500.0, 0, 3};; - -"multi node information" {0, 32, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000008, 6, 6, 0.000000};; -"multi node information" {0, 18, "", 16, 0.000000, 0.000000, 0.000000, 1, 1, 0, 0.000000, 6, 6, 0.000000};; - -"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; - -"configuration files" {"", "", "", ""};; - - -"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; diff --git a/cfg/dimemas/cfgs/dimemas.LATENCY_SENSITIVITY.cfg b/cfg/dimemas/cfgs/dimemas.LATENCY_SENSITIVITY.cfg deleted file mode 100644 index ce5b3d2..0000000 --- a/cfg/dimemas/cfgs/dimemas.LATENCY_SENSITIVITY.cfg +++ /dev/null @@ -1,160 +0,0 @@ -#DIMEMAS_CONFIGURATION - -/******************************************************************************* - * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE - ******************************************************************************* - * - * The records here described follow the SDDF file structure. Each field must be - * sepparated by commas in the actual records. - * - * 'int' and 'double' values are expresed as is. 'char[]' values must be always - * wrapped by quotes. 'double' and 'int' arrays must be in the following format: - * - * [n] { value_1, value_2, ..., value_n } - * - * Where 'n' is the number of elements in the array - * - ******************************************************************************* - - "wide area network information" { - 1: char[] "name of the wide area network simulated" - 2: int "number of machines in wan" - 3: int "number of dedicated connections between machines in the simulated" - "system" - 4: int "function that models influence of traffic in the non dedicated" - "network." - "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" - 5: double "maximal value of traffic in the network" - 6: double "external net bandwidth (MBps)" - 7: int "external network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - -"environment information" { - 1: char[] "machine name" - 2: int "machine ID"; - 3: char[] "architecture used to instrument" - 4: int "number of nodes on virtual machine" - 5: double "data tranfer rate between nodes (MBps)" - "0 means instantaneous communication" - 6: int "maximun number of messages on network" - "0 means no limit" - "1 means bus contention" - 7: int "internal network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - - -"node information" { - 1: int "machine ID" - 2: char[] "architecture node name" - 3: int "number of processors within node" - 4: double "relative processor speed (divisive factor)" - 5: double "latency time (s) of intra-node communications model" - 6: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 7: int "maximum number of concurrent messages of intra-node" - "communications model:" - "0 means no limit" - "1 means bus contention" - 8: int "input links of intra-node communications model" - 9: int "output links of intra-node communications model" - 10: double "latency time (s) of inter-node communications model" - 11: int "input links of inter-node communications model" - 12: int "input links of intra-node communications model" - 13: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"multi node information" { - 1: int "machine ID" - 2: int "number of nodes with same configuration" - 3: char[] "architecture node name" - 4: int "number of processors within node" - 5: double "processor speed ratio wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." - 6: double "latency time (s) of intra-node communications model" - 7: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 8: int "maximum number of concurrent messages of intra-node" - "communications model: " - "0 means no limit" - "1 means bus contention" - 9: int "input links of intra-node communications model" - 10: int "output links of intra-node communications model" - 11: double "latency time (s) of inter-node communications model" - 12: int "input links of inter-node communications model" - 13: int "input links of intra-node communications model" - 14: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"mapping information" { - 1: char[] "application tracefile name" - 2: int "number of tasks in application" - 3: int[] "list of nodes where each application tasks is mapped" -};; - -"predefined mapping information" { - 1: char[] "application tracefile name" (OPTIONAL) - 2: char[] "predefined map identifier" - "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" -} - -"configuration files" { - 1: char[] "scheduler definition filename" - 2: char[] "file system definition filename" - 3: char[] "communications fine tuning configuration filename" - 4: char[] "sensitivity configuration filename" -};; - -"modules information" { - 1: int "module type" - 2: int "module value" - 3: double "module speed ration wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." -};; - -"file system parameters" { - 1: double "disk latency" - 2: double "disk bandwidth"; - 3: double "block size"; - 4: int "concurrent requests"; - 5: double "hit ratio"; -};; - -"dedicated connection information" { - 1: int "connection ID" - 2: int "source machine ID" - 3: int "destination machine ID" - 4: double "bandwidth of the connection (MBps)" - 5: int[] "list of tags that will use the connection" - 6: int "size of first message (bytes) to apply the comparision to use the" - "connection" - 7: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and (referent to first message size)" - 8: char[] "operation. options: & AND, | OR" - 9: int "size of second condition that should meet messages to use the" - "connection" - 10: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and its is referent to second message size" - 11: int[] "list of communicators of coll. Operations that can use the" - "connection" - 12: double "latency of dedicated connection (s)" - 13: double "latency due to distance (s)" -};; - -*******************************************************************************/ - - -"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; - - -"environment information" {"MareNostrum3", 0, "", 50, 500.0, 0, 3};; - -"multi node information" {0, 50, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000016, 6, 6, 0.000000};; - -"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; - -"configuration files" {"", "", "", ""};; - - -"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; diff --git a/cfg/dimemas/cfgs/dimemas.ORIGINAL.cfg b/cfg/dimemas/cfgs/dimemas.ORIGINAL.cfg deleted file mode 100644 index 9b12933..0000000 --- a/cfg/dimemas/cfgs/dimemas.ORIGINAL.cfg +++ /dev/null @@ -1,160 +0,0 @@ -#DIMEMAS_CONFIGURATION - -/******************************************************************************* - * RECORDS DEFINITION - NOTES TO MANUAL EDIT OF THIS FILE - ******************************************************************************* - * - * The records here described follow the SDDF file structure. Each field must be - * sepparated by commas in the actual records. - * - * 'int' and 'double' values are expresed as is. 'char[]' values must be always - * wrapped by quotes. 'double' and 'int' arrays must be in the following format: - * - * [n] { value_1, value_2, ..., value_n } - * - * Where 'n' is the number of elements in the array - * - ******************************************************************************* - - "wide area network information" { - 1: char[] "name of the wide area network simulated" - 2: int "number of machines in wan" - 3: int "number of dedicated connections between machines in the simulated" - "system" - 4: int "function that models influence of traffic in the non dedicated" - "network." - "options: 1 EXPONENTIAl, 2 LOGARITHMIC, 3 LINEAR, 4 CONSTANT" - 5: double "maximal value of traffic in the network" - 6: double "external net bandwidth (MBps)" - 7: int "external network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - -"environment information" { - 1: char[] "machine name" - 2: int "machine ID"; - 3: char[] "architecture used to instrument" - 4: int "number of nodes on virtual machine" - 5: double "data tranfer rate between nodes (MBps)" - "0 means instantaneous communication" - 6: int "maximun number of messages on network" - "0 means no limit" - "1 means bus contention" - 7: int "internal network collective communications model" - "options: 1 CONSTANT, 2 LINEAR, 3 LOGARITHMIC" -};; - - -"node information" { - 1: int "machine ID" - 2: char[] "architecture node name" - 3: int "number of processors within node" - 4: double "relative processor speed (divisive factor)" - 5: double "latency time (s) of intra-node communications model" - 6: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 7: int "maximum number of concurrent messages of intra-node" - "communications model:" - "0 means no limit" - "1 means bus contention" - 8: int "input links of intra-node communications model" - 9: int "output links of intra-node communications model" - 10: double "latency time (s) of inter-node communications model" - 11: int "input links of inter-node communications model" - 12: int "input links of intra-node communications model" - 13: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"multi node information" { - 1: int "machine ID" - 2: int "number of nodes with same configuration" - 3: char[] "architecture node name" - 4: int "number of processors within node" - 5: double "processor speed ratio wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." - 6: double "latency time (s) of intra-node communications model" - 7: double "bandwidth (MBps) of intra-node communications model" - "0 means instantaneous communication" - 8: int "maximum number of concurrent messages of intra-node" - "communications model: " - "0 means no limit" - "1 means bus contention" - 9: int "input links of intra-node communications model" - 10: int "output links of intra-node communications model" - 11: double "latency time (s) of inter-node communications model" - 12: int "input links of inter-node communications model" - 13: int "input links of intra-node communications model" - 14: double "latency time (s) of inter-machines (WAN) communications model" -};; - -"mapping information" { - 1: char[] "application tracefile name" - 2: int "number of tasks in application" - 3: int[] "list of nodes where each application tasks is mapped" -};; - -"predefined mapping information" { - 1: char[] "application tracefile name" (OPTIONAL) - 2: char[] "predefined map identifier" - "options: FILL_NODES | TASKS_PER_NODE | INTERLEAVED" -} - -"configuration files" { - 1: char[] "scheduler definition filename" - 2: char[] "file system definition filename" - 3: char[] "communications fine tuning configuration filename" - 4: char[] "sensitivity configuration filename" -};; - -"modules information" { - 1: int "module type" - 2: int "module value" - 3: double "module speed ration wrt. original execution (divisive factor)" - "0 means instantaneous | negative value means fixed duration in s." -};; - -"file system parameters" { - 1: double "disk latency" - 2: double "disk bandwidth"; - 3: double "block size"; - 4: int "concurrent requests"; - 5: double "hit ratio"; -};; - -"dedicated connection information" { - 1: int "connection ID" - 2: int "source machine ID" - 3: int "destination machine ID" - 4: double "bandwidth of the connection (MBps)" - 5: int[] "list of tags that will use the connection" - 6: int "size of first message (bytes) to apply the comparision to use the" - "connection" - 7: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and (referent to first message size)" - 8: char[] "operation. options: & AND, | OR" - 9: int "size of second condition that should meet messages to use the" - "connection" - 10: char[] "size condition that should meet messages to use the connection" - "it can be <, =, > and its is referent to second message size" - 11: int[] "list of communicators of coll. Operations that can use the" - "connection" - 12: double "latency of dedicated connection (s)" - 13: double "latency due to distance (s)" -};; - -*******************************************************************************/ - - -"wide area network information" {"", 1, 0, 4, 0.0, 0.0, 1};; - - -"environment information" {"MareNostrum3", 0, "", 50, 500.0, 0, 3};; - -"multi node information" {0, 50, "", 16, 1.000000, 0.000000, 0.000000, 1, 1, 0, 0.000008, 6, 6, 0.000000};; - -"predefined mapping information" {"/scratch/Earth/xyepes/EC-Earth-3.2.0.dim", "FILL_NODES"};; - -"configuration files" {"", "", "", ""};; - - -"file system parameters" {0.0, 0.0, 8.0, 0, 1.0};; -- GitLab From 92ccf698425512f820f287756a80e9f73d9e8d84 Mon Sep 17 00:00:00 2001 From: "Oriol.Tinto.Prims" Date: Tue, 7 Jul 2020 11:58:21 +0200 Subject: [PATCH 4/7] Few changes related to dimemas --- Makefile | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 91f34f0..7be939a 100644 --- a/Makefile +++ b/Makefile @@ -159,25 +159,6 @@ paramedir_configurations=$(wildcard ${analysis_tools}/paramedir_configurations/* python ${latex_folder}/report_gen.py -O report.pkl -S "MPI Call Profile" --add-csv $($@_trace_folder)/$*_MPIcallprofile.pm --c touch $@ -paradim_configurations=$(wildcard cfg/trace_analysis/paradim_configurations/*) -.paradim_%.done: .dimemas_experiment_%.done - # Run the paramedir configurations stored in paradim_configurations with all the dimemas traces - cd dimemas_traces; \ - dimemas_traces=$$( ls $**.prv ) ;\ - for trace in $${dimemas_traces}; do \ - for cfg in ${paradim_configurations} ; do \ - ../${analysis_tools}/paramedir $${trace} ../$${cfg} ;\ - output_name=$$(basename $${cfg/.cfg/} ) ;\ - new_name=$${trace/.prv/}_$${output_name} ;\ - mv $${output_name} $${new_name} ;\ - done ;\ - done - touch $@ -#ls $${output_name} $${new_name} ;\ - -test_dependencies=$(foreach var, $(number_of_processes), .paradim_$(var).done) -my_test: $(test_dependencies) - paraver_configurations=$(wildcard cfg/trace_analysis/paraver_configurations/*) .paraver_%.done: .trace_cut_%.done # Variable which contains traces' folder name @@ -210,7 +191,27 @@ dimemas_configurations=$(wildcard cfg/dimemas/cfgs/*) sufix=$${sufix//.cfg/} ;\ ${analysis_tools}/Dimemas -S 32k --dim $< -p dimemas_traces/$*_$${sufix}.prv --config-file $${cfg} ;\ done + +# Using paramedir configurations with dimemas outputs +paradim_configurations=$(wildcard cfg/trace_analysis/paradim_configurations/*) +.paradim_%.done: .dimemas_experiment_%.done + # Run the paramedir configurations stored in paradim_configurations with all the dimemas traces + cd dimemas_traces; \ + dimemas_traces=$$( ls $**.prv ) ;\ + for trace in $${dimemas_traces}; do \ + for cfg in ${paradim_configurations} ; do \ + ../${analysis_tools}/paramedir $${trace} ../$${cfg} ;\ + output_name=$$(basename $${cfg/.cfg/} ) ;\ + new_name=$${trace/.prv/}_$${output_name} ;\ + mv $${output_name} $${new_name} ;\ + done ;\ + done + touch $@ + +paradim_dependencies=$(foreach var, $(number_of_processes), .paradim_$(var).done) +.paradim_experiment.done: $(paradim_dependencies) touch $@ +paradim_experiment: .paradim_experiment.done #################################################### # Recipes to prepare inidata inidata: @@ -339,7 +340,7 @@ paraver_dependencies=$(foreach var, $(number_of_processes), .paraver_$(var).done paraver_experiment: $(paraver_dependencies) # Collect information and produce a json file with it. -.json.done: .scalability.done paramedir_experiment +.json.done: .scalability.done paramedir_experiment paradim_experiment python cfg/parser/collector.py test_*/*.timing trace_*/*pm -n ${configuration_name} touch $@ json: .json.done -- GitLab From ee076901ea68c1de6e988fef7141121c54c9fde1 Mon Sep 17 00:00:00 2001 From: "Oriol.Tinto.Prims" Date: Tue, 7 Jul 2020 12:35:50 +0200 Subject: [PATCH 5/7] Few paradim configurations added --- .../FunctionTime.dm.cfg | 77 ++++++++++++++++ .../paradim_configurations/MPIstats.dm.cfg | 88 +++++++++++++++++++ .../paradim_configurations/Wallclock.cfg | 74 ++++++++++++++++ 3 files changed, 239 insertions(+) create mode 100644 cfg/trace_analysis/paradim_configurations/FunctionTime.dm.cfg create mode 100644 cfg/trace_analysis/paradim_configurations/MPIstats.dm.cfg create mode 100644 cfg/trace_analysis/paradim_configurations/Wallclock.cfg diff --git a/cfg/trace_analysis/paradim_configurations/FunctionTime.dm.cfg b/cfg/trace_analysis/paradim_configurations/FunctionTime.dm.cfg new file mode 100644 index 0000000..7b02cf8 --- /dev/null +++ b/cfg/trace_analysis/paradim_configurations/FunctionTime.dm.cfg @@ -0,0 +1,77 @@ +#ParaverCFG +ConfigFile.Version: 3.4 +ConfigFile.NumWindows: 1 + + +################################################################################ +< NEW DISPLAYING WINDOW User function x thread > +################################################################################ +window_name User function x thread +window_type single +window_id 1 +window_position_x 371 +window_position_y 60 +window_width 1317 +window_height 359 +window_comm_lines_enabled false +window_flags_enabled false +window_noncolor_mode true +window_logical_filtered true +window_physical_filtered false +window_comm_fromto true +window_comm_tagsize true +window_comm_typeval true +window_units Microseconds +window_maximum_y 69.000000000000 +window_minimum_y 3.000000000000 +window_compute_y_max false +window_level thread +window_scale_relative 1.000000000000 +window_end_time_relative 1.000000000000 +window_object appl { 1, { All } } +window_begin_time_relative 0.000000000000 +window_open false +window_drawmode draw_maximum +window_drawmode_rows draw_maximum +window_pixel_size 1 +window_labels_to_draw 1 +window_selected_functions { 14, { {cpu, Active Thd}, {appl, Adding}, {task, Thread i}, {thread, Last Evt Val}, {node, Adding}, {system, Adding}, {workload, Adding}, {from_obj, All}, {to_obj, All}, {tag_msg, All}, {size_msg, All}, {bw_msg, All}, {evt_type, =}, {evt_value, All} } } +window_compose_functions { 9, { {compose_cpu, As Is}, {compose_appl, As Is}, {compose_task, As Is}, {compose_thread, Stacked Val}, {compose_node, As Is}, {compose_system, As Is}, {compose_workload, As Is}, {topcompose1, As Is}, {topcompose2, As Is} } } +window_semantic_module task Thread i { 1, { 1 0.000000000000 } } +window_filter_module evt_type 1 60000019 +window_filter_module evt_type_label 1 "User function" + +< NEW ANALYZER2D > +Analyzer2D.Name: FunctionTime +Analyzer2D.X: 636 +Analyzer2D.Y: 116 +Analyzer2D.Width: 600 +Analyzer2D.Height: 300 +Analyzer2D.ControlWindow: 1 +Analyzer2D.DataWindow: 1 +Analyzer2D.Accumulator: Semantic +Analyzer2D.Statistic: % Window Time +Analyzer2D.CalculateAll: True +Analyzer2D.HideCols: False +Analyzer2D.HorizVert: Horizontal +Analyzer2D.Color: True +Analyzer2D.SemanticColor: False +Analyzer2D.Zoom: Enabled +Analyzer2D.SortCols: False +Analyzer2D.SortCriteria: Average +Analyzer2D.Parameters: 4 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 +Analyzer2D.AnalysisLimits: Alltrace +Analyzer2D.ComputeYScale: True +Analyzer2D.Minimum: 3.000000000000 +Analyzer2D.Maximum: 72.000000000000 +Analyzer2D.Delta: 1.000000000000 +Analyzer2D.ComputeGradient: True +Analyzer2D.MinimumGradient: 0.047707594002 +Analyzer2D.MaximumGradient: 13.794629037739 +Analyzer2D.DrawModeObjects: draw_maximum +Analyzer2D.DrawModeColumns: draw_maximum +Analyzer2D.PixelSize: 1 +Analyzer2D.ColorMode: window_in_gradient_mode +Analyzer2D.ShowOnlyTotals: False +Analyzer2D.ShortHeaderLabels: True + diff --git a/cfg/trace_analysis/paradim_configurations/MPIstats.dm.cfg b/cfg/trace_analysis/paradim_configurations/MPIstats.dm.cfg new file mode 100644 index 0000000..449483f --- /dev/null +++ b/cfg/trace_analysis/paradim_configurations/MPIstats.dm.cfg @@ -0,0 +1,88 @@ +#ParaverCFG +ConfigFile.Version: 3.4 +ConfigFile.NumWindows: 1 + +CFG4D_ENABLED + +################################################################################ +< NEW DISPLAYING WINDOW MPI call > +################################################################################ +window_name MPI call +window_type single +window_id 1 +window_position_x 377 +window_position_y 288 +window_width 600 +window_height 114 +window_comm_lines_enabled false +window_flags_enabled false +window_noncolor_mode true +window_logical_filtered true +window_physical_filtered false +window_comm_fromto true +window_comm_tagsize true +window_comm_typeval true +window_units Microseconds +window_maximum_y 70.000000000000 +window_minimum_y 0.000000000000 +window_compute_y_max false +window_level thread +window_scale_relative 1.000000000000 +window_end_time_relative 1.000000000000 +window_object appl { 1, { All } } +window_begin_time_relative 0.000000000000 +window_open false +window_drawmode draw_maximum +window_drawmode_rows draw_maximum +window_pixel_size 1 +window_labels_to_draw 1 +window_selected_functions { 14, { {cpu, Active Thd}, {appl, Adding}, {task, Thread i}, {thread, Last Evt Val}, {node, Adding}, {system, Adding}, {workload, Adding}, {from_obj, All}, {to_obj, All}, {tag_msg, All}, {size_msg, All}, {bw_msg, All}, {evt_type, [x,y]}, {evt_value, All} } } +window_compose_functions { 9, { {compose_cpu, As Is}, {compose_appl, As Is}, {compose_task, As Is}, {compose_thread, As Is}, {compose_node, As Is}, {compose_system, As Is}, {compose_workload, As Is}, {topcompose1, As Is}, {topcompose2, As Is} } } +window_semantic_module task Thread i { 1, { 1 0.000000000000 } } +window_filter_module evt_type 2 50000001 50000005 +window_filter_module evt_type_label 2 "MPI Point-to-point" "Unknown" + + +< NEW ANALYZER2D > +Analyzer2D.Name: MPI call profile +Analyzer2D.X: 807 +Analyzer2D.Y: 358 +Analyzer2D.Width: 700 +Analyzer2D.Height: 431 +Analyzer2D.ControlWindow: 1 +Analyzer2D.DataWindow: 1 +Analyzer2D.Accumulator: Semantic +Analyzer2D.Statistic: % Time +Analyzer2D.CalculateAll: True +Analyzer2D.HideCols: True +Analyzer2D.HorizVert: Horizontal +Analyzer2D.Color: True +Analyzer2D.SemanticColor: True +Analyzer2D.Zoom: Enabled +Analyzer2D.SortCols: False +Analyzer2D.SortCriteria: Average +Analyzer2D.Parameters: 4 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 +Analyzer2D.AnalysisLimits: Alltrace +Analyzer2D.ComputeYScale: False +Analyzer2D.Minimum: 0.000000000000 +Analyzer2D.Maximum: 200.000000000000 +Analyzer2D.Delta: 1.000000000000 +Analyzer2D.ComputeGradient: True +Analyzer2D.MinimumGradient: 0.001075673857 +Analyzer2D.MaximumGradient: 92.142033429125 +Analyzer2D.DrawModeObjects: draw_maximum +Analyzer2D.DrawModeColumns: draw_maximum +Analyzer2D.PixelSize: 1 +Analyzer2D.ColorMode: window_in_gradient_mode +Analyzer2D.ShowOnlyTotals: False +Analyzer2D.ShortHeaderLabels: True + +cfg4d Maximum Gradient|Table Gradient (max) +cfg4d Minimum Gradient|Table Gradient (min) +cfg4d Statistic|Statistic +cfg4dstatistic % Time|% Time +cfg4dstatistic % Window Time|% Window Time +cfg4dstatistic Average Burst Time|Average duration +cfg4dstatistic Time|Time +cfg4dstatistic # Bursts|# calls + diff --git a/cfg/trace_analysis/paradim_configurations/Wallclock.cfg b/cfg/trace_analysis/paradim_configurations/Wallclock.cfg new file mode 100644 index 0000000..6374113 --- /dev/null +++ b/cfg/trace_analysis/paradim_configurations/Wallclock.cfg @@ -0,0 +1,74 @@ +#ParaverCFG +ConfigFile.Version: 3.4 +ConfigFile.NumWindows: 1 + + +################################################################################ +< NEW DISPLAYING WINDOW Useful > +################################################################################ +window_name Useful +window_type single +window_id 1 +window_position_x 153 +window_position_y 380 +window_width 600 +window_height 134 +window_comm_lines_enabled false +window_flags_enabled false +window_noncolor_mode true +window_logical_filtered true +window_physical_filtered true +window_comm_fromto true +window_comm_tagsize true +window_comm_typeval true +window_units Microseconds +window_maximum_y 1.000000000000 +window_minimum_y 0.000000000000 +window_compute_y_max false +window_level thread +window_scale_relative 1.000000000000 +window_end_time_relative 1.000000000000 +window_object appl { 1, { All } } +window_begin_time_relative 0.000000000000 +window_open false +window_drawmode draw_maximum +window_drawmode_rows draw_maximum +window_pixel_size 1 +window_labels_to_draw 1 +window_selected_functions { 14, { {cpu, Active Thd}, {appl, Adding}, {task, Adding}, {thread, Useful}, {node, Adding}, {system, Adding}, {workload, Adding}, {from_obj, None}, {to_obj, None}, {tag_msg, All}, {size_msg, All}, {bw_msg, All}, {evt_type, None}, {evt_value, All} } } +window_compose_functions { 9, { {compose_cpu, As Is}, {compose_appl, As Is}, {compose_task, As Is}, {compose_thread, As Is}, {compose_node, As Is}, {compose_system, As Is}, {compose_workload, As Is}, {topcompose1, As Is}, {topcompose2, As Is} } } + +< NEW ANALYZER2D > +Analyzer2D.Name: WallclockTime +Analyzer2D.X: 1143 +Analyzer2D.Y: 242 +Analyzer2D.Width: 315 +Analyzer2D.Height: 195 +Analyzer2D.ControlWindow: 1 +Analyzer2D.DataWindow: 1 +Analyzer2D.Accumulator: Semantic +Analyzer2D.Statistic: Time +Analyzer2D.CalculateAll: True +Analyzer2D.HideCols: False +Analyzer2D.HorizVert: Horizontal +Analyzer2D.Color: True +Analyzer2D.SemanticColor: False +Analyzer2D.Zoom: Disabled +Analyzer2D.SortCols: False +Analyzer2D.SortCriteria: Average +Analyzer2D.Parameters: 4 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000000000 +Analyzer2D.AnalysisLimits: Alltrace +Analyzer2D.ComputeYScale: False +Analyzer2D.Minimum: 0.000000000000 +Analyzer2D.Maximum: 1.000000000000 +Analyzer2D.Delta: 2.000000000000 +Analyzer2D.ComputeGradient: True +Analyzer2D.MinimumGradient: 476533.780000000028 +Analyzer2D.MaximumGradient: 476533.780000000028 +Analyzer2D.DrawModeObjects: draw_maximum +Analyzer2D.DrawModeColumns: draw_maximum +Analyzer2D.PixelSize: 1 +Analyzer2D.ColorMode: window_in_gradient_mode +Analyzer2D.ShowOnlyTotals: True +Analyzer2D.ShortHeaderLabels: True + -- GitLab From a48732d8a5b74770f3d38bb93a8ef8ec15ff0cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oriol=20Tint=C3=B3?= Date: Tue, 7 Jul 2020 14:35:17 +0200 Subject: [PATCH 6/7] Dimemas report available. --- cfg/parser/reporter.py | 10 +++++++++ cfg/parser/utils/curation.py | 41 +++++++++++++++++++++++++++++++++- cfg/parser/utils/histograms.py | 4 ++++ cfg/parser/utils/parsers.py | 12 +++++++--- 4 files changed, 63 insertions(+), 4 deletions(-) diff --git a/cfg/parser/reporter.py b/cfg/parser/reporter.py index 7f51ab8..9cbf30c 100644 --- a/cfg/parser/reporter.py +++ b/cfg/parser/reporter.py @@ -54,6 +54,13 @@ def get_command_line_instructions(): help="Produce functions report", default=None, ) + parser.add_option( + "--dimemas", + dest="dimemas_file", + help="Produce dimemas report", + default=None, + ) + # OptParser will parse the text provided as command line arguments and will distringuish between the options # and other arguments @@ -77,6 +84,7 @@ if __name__ == "__main__": sypd_file = options.sypd_file sypd_plot_file = options.sypd_plot_file functions_file = options.functions_file + dimemas_file = options.dimemas_file # Load the json file provided experiment_results = TimingInformation( @@ -93,5 +101,7 @@ if __name__ == "__main__": experiment_results.simulated_years_per_day_plot(sypd_plot_file) if functions_file is not None: experiment_results.function_summary().save(functions_file) + if dimemas_file is not None: + experiment_results.dimemas_summary().save(dimemas_file) # To create a new diagnostic/plot you need to create the function in curation.py and add the call inside parsers.py diff --git a/cfg/parser/utils/curation.py b/cfg/parser/utils/curation.py index 282e84f..3f415e7 100644 --- a/cfg/parser/utils/curation.py +++ b/cfg/parser/utils/curation.py @@ -1,7 +1,6 @@ # Imports import numpy as np - class Log: """ Object to store the Logs (info to be printed). @@ -67,6 +66,46 @@ def function_curated_summary(experiment_data): return log +def dimemas_curated_summary(experiment_data): + """ + This is an example of a function to curate the results and return something understandable + :param experiment_data: + :return: text with a summary of functions scalability in the experiment. + """ + from cfg.parser.utils.parsers import dictionary_pointer + + log = Log() + cases = experiment_data.cases + base_case = experiment_data.base_case + dimemas_experiments = list(experiment_data[base_case]["Dimemas"]) + information_types = list(experiment_data[base_case]["Dimemas"][dimemas_experiments[0]].keys()) + information_types = ["Wallclock"] + log_text = "Cores" + for de in dimemas_experiments: + log_text += ",%s" % de + log_text += "\n" + + for case in cases: + log_text += "%i" % case + for exp in dimemas_experiments: + for it in information_types: + address = (case, + "Dimemas", + exp, + it, + "data", + "Maximum", + ) + + section = dictionary_pointer(experiment_data.data, address) + wallclock_time = section[0]/10.**6 + log_text += ", %.2f" % wallclock_time + log_text += "\n" + log.add(log_text) + + return log + + def save_function_summary_csv(experiment_data, csv_folder): """ Function to save the results as a csv which will be used in the latex report diff --git a/cfg/parser/utils/histograms.py b/cfg/parser/utils/histograms.py index 8a383c7..09abc67 100644 --- a/cfg/parser/utils/histograms.py +++ b/cfg/parser/utils/histograms.py @@ -36,6 +36,10 @@ def split_3d_histogram(text3d): name = case_lines[0].strip() histogram = "\n".join(case_lines[1:]) histograms[name] = histogram + # In case of having a single histogram, fix it + if len(histograms) == 1: + for key in histograms.keys(): + histograms = {"data": key + "\n" + histograms[key]} return histograms diff --git a/cfg/parser/utils/parsers.py b/cfg/parser/utils/parsers.py index 5861aa1..7d2517b 100644 --- a/cfg/parser/utils/parsers.py +++ b/cfg/parser/utils/parsers.py @@ -1,8 +1,11 @@ # This script takes several timing.output logs and computes several stats import re import numpy as np -from cfg.parser.utils.curation import function_curated_summary, simulated_years_per_day_summary, \ - save_function_summary_csv, simulated_years_per_day_plot +from cfg.parser.utils.curation import function_curated_summary,\ + dimemas_curated_summary, \ + simulated_years_per_day_summary, \ + save_function_summary_csv,\ + simulated_years_per_day_plot from os.path import basename from cfg.parser.utils.histograms import process_category_histogram, split_3d_histogram @@ -311,6 +314,7 @@ def parse_paramedir_files(files): for filename in files: # Get core count and information type from filename cores, information_type = parse_paramedir_filename(filename) + cores = int(cores) # Initialize dictionary in case it does not exists # Retrieve the section to store the data address = (cores, @@ -338,6 +342,7 @@ def parse_dimemas_files(files): for filename in files: # Get core count and information type from filename cores, simulation_type, information_type = parse_dimemas_filename(filename) + cores = int(cores) # Retrieve the section to store the data address = (cores, @@ -463,7 +468,8 @@ class TimingInformation: # Adding calls to different ways of processing the data def function_summary(self): return function_curated_summary(self) - + def dimemas_summary(self): + return dimemas_curated_summary(self) # Saves functions' info to csv def function_info_csv(self, csv_folder): save_function_summary_csv(self, csv_folder) -- GitLab From 3e53c0b70e41284d6e3c14d761d0cf96be9ef61d Mon Sep 17 00:00:00 2001 From: "Oriol.Tinto.Prims" Date: Tue, 7 Jul 2020 14:36:46 +0200 Subject: [PATCH 7/7] Added dimemas info to json recipe --- Makefile | 2 +- .../paradim_configurations/{Wallclock.cfg => Wallclock.dm.cfg} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename cfg/trace_analysis/paradim_configurations/{Wallclock.cfg => Wallclock.dm.cfg} (100%) diff --git a/Makefile b/Makefile index 7be939a..d19613a 100644 --- a/Makefile +++ b/Makefile @@ -341,7 +341,7 @@ paraver_experiment: $(paraver_dependencies) # Collect information and produce a json file with it. .json.done: .scalability.done paramedir_experiment paradim_experiment - python cfg/parser/collector.py test_*/*.timing trace_*/*pm -n ${configuration_name} + python cfg/parser/collector.py test_*/*.timing trace_*/*pm dimemas_traces/*dm -n ${configuration_name} touch $@ json: .json.done diff --git a/cfg/trace_analysis/paradim_configurations/Wallclock.cfg b/cfg/trace_analysis/paradim_configurations/Wallclock.dm.cfg similarity index 100% rename from cfg/trace_analysis/paradim_configurations/Wallclock.cfg rename to cfg/trace_analysis/paradim_configurations/Wallclock.dm.cfg -- GitLab