From 5a4398f36edf679ed8ff3fdd17f062dc3d43dc03 Mon Sep 17 00:00:00 2001 From: Matthias Jung Date: Sat, 3 Feb 2018 21:56:44 +0100 Subject: [PATCH] Added elastic trace description to README --- .../gem5/configs/dualElasticTraceReplay.ini | 7 ++++ .../gem5/configs/singleElasticTraceReplay.ini | 4 ++ README.md | 40 +++++++++++++++++-- 3 files changed, 48 insertions(+), 3 deletions(-) diff --git a/DRAMSys/gem5/configs/dualElasticTraceReplay.ini b/DRAMSys/gem5/configs/dualElasticTraceReplay.ini index 40b13304..4f459d3e 100644 --- a/DRAMSys/gem5/configs/dualElasticTraceReplay.ini +++ b/DRAMSys/gem5/configs/dualElasticTraceReplay.ini @@ -20,6 +20,7 @@ exit_on_work_items=false init_param=0 kernel= kernel_addr_check=true +kernel_extras= load_addr_mask=1099511627775 load_offset=0 mem_mode=timing @@ -84,10 +85,12 @@ numThreads=1 p_state_clk_gate_bins=20 p_state_clk_gate_max=1000000000000 p_state_clk_gate_min=1000 +power_gating_on_idle=false power_model=Null profile=0 progressMsgInterval=0 progress_interval=0 +pwr_gating_latency=300 simpoint_start_insts= sizeLoadBuffer=16 sizeROB=40 @@ -369,10 +372,12 @@ numThreads=1 p_state_clk_gate_bins=20 p_state_clk_gate_max=1000000000000 p_state_clk_gate_min=1000 +power_gating_on_idle=false power_model=Null profile=0 progressMsgInterval=0 progress_interval=0 +pwr_gating_latency=300 simpoint_start_insts= sizeLoadBuffer=16 sizeROB=40 @@ -656,6 +661,7 @@ p_state_clk_gate_bins=20 p_state_clk_gate_max=1000000000000 p_state_clk_gate_min=1000 point_of_coherency=true +point_of_unification=true power_model=Null response_latency=2 snoop_filter=system.membus1.snoop_filter @@ -685,6 +691,7 @@ p_state_clk_gate_bins=20 p_state_clk_gate_max=1000000000000 p_state_clk_gate_min=1000 point_of_coherency=true +point_of_unification=true power_model=Null response_latency=2 snoop_filter=system.membus2.snoop_filter diff --git a/DRAMSys/gem5/configs/singleElasticTraceReplay.ini b/DRAMSys/gem5/configs/singleElasticTraceReplay.ini index b5cc6bdd..e213531c 100644 --- a/DRAMSys/gem5/configs/singleElasticTraceReplay.ini +++ b/DRAMSys/gem5/configs/singleElasticTraceReplay.ini @@ -20,6 +20,7 @@ exit_on_work_items=false init_param=0 kernel= kernel_addr_check=true +kernel_extras= load_addr_mask=1099511627775 load_offset=0 mem_mode=timing @@ -84,10 +85,12 @@ numThreads=1 p_state_clk_gate_bins=20 p_state_clk_gate_max=1000000000000 p_state_clk_gate_min=1000 +power_gating_on_idle=false power_model=Null profile=0 progressMsgInterval=0 progress_interval=0 +pwr_gating_latency=300 simpoint_start_insts= sizeLoadBuffer=16 sizeROB=40 @@ -371,6 +374,7 @@ p_state_clk_gate_bins=20 p_state_clk_gate_max=1000000000000 p_state_clk_gate_min=1000 point_of_coherency=true +point_of_unification=true power_model=Null response_latency=2 snoop_filter=system.membus.snoop_filter diff --git a/README.md b/README.md index 39c4ef38..dae95afa 100644 --- a/README.md +++ b/README.md @@ -1107,8 +1107,35 @@ For further sophisticated address mappings or scenarios checkout the file DRAMSy ### DRAMSys with gem5 Elastic Traces -Some predefined configs are stored in dram.vp.system/DRAMSys/gem5/configs and the related python files are stored here: dram.vp.system/DRAMSys/gem5/examples +For understanding elastic traces and their generation, study the gem5 wiki +(http://gem5.org/TraceCPU) and the paper [13]. Some predefined configs are +stored in dram.vp.system/DRAMSys/gem5/configs and the related python files are +stored here: dram.vp.system/DRAMSys/gem5/examples +This is an example for running an elastic trace: + +``` bash +./DRAMSys_gem5 /path/to/dram.vp.system/DRAMSys/library/resources/simulations/ddr3-example.xml ../../DRAMSys/gem5/configs/singleElasticTraceReplay.ini +``` + +Note that the address offset is usually zero for elastic traces. + +If two elastic traces should be used the main.cpp must be modified: + +``` c++ +//#define CHOICE1 +#define CHOICE2 +//#define CHOICE3 +``` + +Run the simulation with the following example: + +``` +./DRAMSys_gem5 /path/to/dram.vp.system/DRAMSys/library/resources/simulations/ddr3-example.xml ../../DRAMSys/gem5/configs/dualElasticTraceReplay.ini +``` + +For more spophisticated setups, even with l2 caches the proper ini file should be created. +If you need help please contact Matthias Jung. ## References @@ -1150,5 +1177,12 @@ Thermal Investigations of ICs and Systems (THERMINIC'10), Barcelona, Spain, [11] http://esl.epfl.ch/3D-ICE -[12] System Simulation with gem5 and SystemC: The Keystone for Full Interoperability -C. Menard, M. Jung, J. Castrillon, N. Wehn. IEEE International Conference on Embedded Computer Systems Architectures Modeling and Simulation (SAMOS), July, 2017, Samos Island, Greece. +[12] System Simulation with gem5 and SystemC: The Keystone for Full +Interoperability C. Menard, M. Jung, J. Castrillon, N. Wehn. IEEE International +Conference on Embedded Computer Systems Architectures Modeling and Simulation +(SAMOS), July, 2017, Samos Island, Greece. + +[13] Exploring System Performance using Elastic Traces: Fast, Accurate and +Portable Radhika Jagtap, Stephan Diestelhorst, Andreas Hansson, Matthias Jung +and Norbert Wehn, IEEE International Conference on Embedded Computer Systems +Architectures Modeling and Simulation (SAMOS), 2016, Samos Island, Greece.