Nomenclature improved in thermal simulation related code.

This commit is contained in:
Éder F. Zulian
2016-03-15 21:11:59 -03:00
parent d3d3ffc2c5
commit 9548bd3e75
19 changed files with 138 additions and 138 deletions

View File

@@ -1,45 +1,45 @@
CPUs :
position 0, 0 ;
dimension 2750, 4300 ;
GPU :
position 3350, 0 ;
dimension 2750, 4000 ;
BASEBAND1 :
position 4250, 4000 ;
dimension 1850, 3300 ;
BASEBAND2 :
position 3350, 7300 ;
dimension 2750, 3300 ;
LLCACHE :
position 0, 4300 ;
dimension 1900, 3000 ;
DRAMCTRL1 :
position 1900, 4300 ;
dimension 850, 3000 ;
DRAMCTRL2 :
position 3350, 4000 ;
dimension 900, 3300 ;
TSVS :
position 2750, 2300 ;
dimension 600, 6000 ;
ACELLERATORS :
position 0, 7300 ;
dimension 2750, 3300 ;
CPUs :
position 0, 0 ;
dimension 2750, 4300 ;
GPU :
position 3350, 0 ;
dimension 2750, 4000 ;
BASEBAND1 :
position 4250, 4000 ;
dimension 1850, 3300 ;
BASEBAND2 :
position 3350, 7300 ;
dimension 2750, 3300 ;
LLCACHE :
position 0, 4300 ;
dimension 1900, 3000 ;
DRAMCTRL1 :
position 1900, 4300 ;
dimension 850, 3000 ;
DRAMCTRL2 :
position 3350, 4000 ;
dimension 900, 3300 ;
TSVS :
position 2750, 2300 ;
dimension 600, 6000 ;
ACELLERATORS :
position 0, 7300 ;
dimension 2750, 3300 ;

View File

@@ -1,16 +1,16 @@
channel0 :
position 150, 100 ;
dimension 2600, 5200 ;
channel1 :
position 3350, 100 ;
dimension 2600, 5200 ;
channel2 :
position 150, 5300 ;
dimension 2600, 5200 ;
channel3 :
position 3350, 5300 ;
dimension 2600, 5200 ;
channel0 :
position 150, 100 ;
dimension 2600, 5200 ;
channel1 :
position 3350, 100 ;
dimension 2600, 5200 ;
channel2 :
position 150, 5300 ;
dimension 2600, 5200 ;
channel3 :
position 3350, 5300 ;
dimension 2600, 5200 ;

View File

@@ -28,7 +28,7 @@ die DRAM :
dimensions :
chip length 6100, width 10600 ;
cell length 1000, width 1000 ;
cell length 100, width 100 ;
stack:
die DRAM_DIE DRAM floorplan "./mem.flp" ;

View File

@@ -7,23 +7,23 @@
<NumberOfTracePlayers value="1"/>
<NumberOfMemChannels value="1"/>
<ControllerCoreDisableRefresh value="0"/>
<DynamicTemperatureSimulation value="0"/>
<ThermalSimulation value="0"/>
</simconfig>
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
<temperature_simconfig>
<thermalsimconfig>
<TemperatureScale value="Celsius" />
<StaticTemperatureDefaultValue value="89" />
<DynTemperatureSimPeriod value="100" />
<DynTemperatureSimUnit value="us" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/powerInfo.xml"/>
<ThermalSimPeriod value="100" />
<ThermalSimUnit value="us" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/powerInfo.xml"/>
<IceServerIp value="127.0.0.1" />
<IceServerPort value="11880" />
<SimPeriodAdjustFactor value="10" />
<NPowStableCyclesToIncreasePeriod value="5" />
<GenerateTemperatureMap value="1" />
<GeneratePowerMap value="1" />
</temperature_simconfig>
</thermalsimconfig>
<memspecs>
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/MICRON_1Gb_DDR3-1600_8bit_G.xml"></memspec>

View File

@@ -7,23 +7,23 @@
<NumberOfTracePlayers value="1"/>
<NumberOfMemChannels value="4"/>
<ControllerCoreDisableRefresh value="0"/>
<DynamicTemperatureSimulation value="0"/>
<ThermalSimulation value="0"/>
</simconfig>
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
<temperature_simconfig>
<thermalsimconfig>
<TemperatureScale value="Celsius" />
<StaticTemperatureDefaultValue value="89" />
<DynTemperatureSimPeriod value="100" />
<DynTemperatureSimUnit value="us" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/powerInfo.xml"/>
<ThermalSimPeriod value="100" />
<ThermalSimUnit value="us" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/powerInfo.xml"/>
<IceServerIp value="127.0.0.1" />
<IceServerPort value="11880" />
<SimPeriodAdjustFactor value="10" />
<NPowStableCyclesToIncreasePeriod value="5" />
<GenerateTemperatureMap value="1" />
<GeneratePowerMap value="1" />
</temperature_simconfig>
</thermalsimconfig>
<memspecs>
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/WideIO.xml"></memspec>

View File

@@ -157,7 +157,7 @@ HEADERS += \
src/controller/scheduler/readwritegrouper.h \
src/simulation/ReorderBuffer.h \
src/controller/core/configuration/MemSpec.h \
src/controller/core/configuration/temperatureSimConfig.h \
src/controller/core/configuration/thermalSimConfig.h \
src/simulation/StlPlayer.h \
src/simulation/StlDataPlayer.h \
src/simulation/TracePlayerListener.h \

View File

@@ -154,8 +154,8 @@ void Configuration::setParameter(std::string name, std::string value)
}
else if (name == "ControllerCoreDisableRefresh")
ControllerCoreDisableRefresh = string2bool(value);
else if (name == "DynamicTemperatureSimulation")
DynamicTemperatureSimulation = string2bool(value);
else if (name == "ThermalSimulation")
ThermalSimulation = string2bool(value);
// Specification for ErrorChipSeed, ErrorCSVFile path and ErrorStoreMode
else if(name == "ErrorChipSeed")
ErrorChipSeed = string2int(value);
@@ -173,10 +173,10 @@ void Configuration::setParameter(std::string name, std::string value)
}
else if (name == "StaticTemperatureDefaultValue")
temperatureSim.StaticTemperatureDefaultValue = string2int(value);
else if (name == "DynTemperatureSimPeriod")
temperatureSim.DynTemperatureSimPeriod = std::stod(value.c_str());
else if (name == "DynTemperatureSimUnit")
temperatureSim.DynTemperatureSimUnit = string2TimeUnit(value);
else if (name == "ThermalSimPeriod")
temperatureSim.ThermalSimPeriod = std::stod(value.c_str());
else if (name == "ThermalSimUnit")
temperatureSim.ThermalSimUnit = string2TimeUnit(value);
else if (name == "PowerInfoFile") {
temperatureSim.powerInfoFile = value;
temperatureSim.parsePowerInfoFile();

View File

@@ -41,7 +41,7 @@
#include <systemc.h>
#include <string>
#include "MemSpec.h"
#include "temperatureSimConfig.h"
#include "thermalSimConfig.h"
#include "../../../common/Utils.h"
enum class ErrorStorageMode;
@@ -79,7 +79,7 @@ struct Configuration
unsigned int NumberOfTracePlayers = 1;
unsigned int NumberOfMemChannels = 1;
bool ControllerCoreDisableRefresh = false;
bool DynamicTemperatureSimulation = false;
bool ThermalSimulation = false;
//MemSpec(from DRAM-Power XML)
MemSpec memSpec;

View File

@@ -62,19 +62,19 @@ void ConfigurationLoader::loadSimConfig(Configuration& config, XMLElement* simco
loadConfig(config, simconfig);
}
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, std::string temperature_simconfigUri)
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, std::string thermalsimconfigUri)
{
loadConfigFromUri(config, temperature_simconfigUri, "temperature_simconfig");
loadConfigFromUri(config, thermalsimconfigUri, "thermalsimconfig");
}
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, XMLElement *temperature_simconfig)
void ConfigurationLoader::loadTemperatureSimConfig(Configuration &config, XMLElement *thermalsimconfig)
{
if (temperature_simconfig->Attribute("src")) {
if (thermalsimconfig->Attribute("src")) {
// Configuration is inside another a file
std::string uri(temperature_simconfig->Attribute("src"));
loadConfigFromUri(config, uri, "temperature_simconfig");
std::string uri(thermalsimconfig->Attribute("src"));
loadConfigFromUri(config, uri, "thermalsimconfig");
} else {
loadConfig(config, temperature_simconfig);
loadConfig(config, thermalsimconfig);
}
}

View File

@@ -34,8 +34,8 @@
* Matthias Jung
*/
#ifndef TEMPERATURE_SIM_CONFIG_H_
#define TEMPERATURE_SIM_CONFIG_H_
#ifndef THERMALSIM_CONFIG_H
#define THERMALSIM_CONFIG_H
#include <systemc.h>
#include <iostream>
@@ -53,9 +53,9 @@ struct TemperatureSimConfig {
// Static Temperature Simulation parameters
int StaticTemperatureDefaultValue;
// Dynamic Temeperature Simulation parameters
double DynTemperatureSimPeriod;
enum sc_time_unit DynTemperatureSimUnit;
// Thermal Simulation parameters
double ThermalSimPeriod;
enum sc_time_unit ThermalSimUnit;
std::string IceServerIp;
unsigned int IceServerPort;
unsigned int SimPeriodAdjustFactor;
@@ -78,7 +78,7 @@ struct TemperatureSimConfig {
tinyxml2::XMLElement *powInfoElem = xml.FirstChildElement("powerInfo");
if (powInfoElem == NULL) {
// Invalid file
// Invalid file
std::string errormsg = "Invalid Power Info File " + powerInfoFile;
printDebugMessage(errormsg);
SC_REPORT_FATAL("Temperature Sim Config", errormsg.c_str());
@@ -119,5 +119,5 @@ struct TemperatureSimConfig {
}
};
#endif /* TEMPERATURE_SIM_CONFIG_H_ */
#endif /* THERMALSIM_CONFIG_H */

View File

@@ -44,7 +44,7 @@
void errorModel::init()
{
powerAnalysis = Configuration::getInstance().PowerAnalysis;
dynTemperatureSim = Configuration::getInstance().DynamicTemperatureSimulation;
thermalSim = Configuration::getInstance().ThermalSimulation;
// Get Configuration parameters:
busWidth = Configuration::getInstance().Buswidth;
burstLenght = Configuration::getInstance().memSpec.BurstLength;
@@ -513,7 +513,7 @@ double errorModel::getTemperature()
double temperature = 89;
if (this->myChannel != -1) {
if (dynTemperatureSim == true && powerAnalysis == true) {
if (thermalSim == true && powerAnalysis == true) {
// TODO
// check if this is best way to request information to DRAMPower.
DRAMPower->updateCounters(true);

View File

@@ -60,7 +60,7 @@ class errorModel
void init(void);
bool powerAnalysis;
libDRAMPower *DRAMPower;
bool dynTemperatureSim;
bool thermalSim;
// Configuration Parameters:
unsigned int busWidth;
unsigned int burstLenght;

View File

@@ -66,7 +66,7 @@ Simulation::Simulation(sc_module_name __attribute__((unused)) name, string pathT
ConfigurationLoader::loadMemConfig(Configuration::getInstance(), setup.memconfig);
ConfigurationLoader::loadMemSpec(Configuration::getInstance(), setup.memspec);
ConfigurationLoader::loadSimConfig(Configuration::getInstance(), setup.simconfig);
ConfigurationLoader::loadTemperatureSimConfig(Configuration::getInstance(), setup.temperature_simconfig);
ConfigurationLoader::loadTemperatureSimConfig(Configuration::getInstance(), setup.thermalsimconfig);
instantiateModules(traceName, pathToResources, devices);
bindSockets();

View File

@@ -53,14 +53,14 @@
struct DramSetup
{
DramSetup():memspec(NULL),memconfig(NULL),simconfig(NULL),addressmapping(NULL), temperature_simconfig(NULL) {}
DramSetup():memspec(NULL),memconfig(NULL),simconfig(NULL),addressmapping(NULL), thermalsimconfig(NULL) {}
DramSetup(tinyxml2::XMLElement* memspec, tinyxml2::XMLElement* memconfig, tinyxml2::XMLElement* simconfig, tinyxml2::XMLElement* addressmapping, tinyxml2::XMLElement *tsc)
: memspec(memspec), memconfig(memconfig), simconfig(simconfig), addressmapping(addressmapping), temperature_simconfig(tsc) {}
: memspec(memspec), memconfig(memconfig), simconfig(simconfig), addressmapping(addressmapping), thermalsimconfig(tsc) {}
tinyxml2::XMLElement* memspec;
tinyxml2::XMLElement* memconfig;
tinyxml2::XMLElement* simconfig;
tinyxml2::XMLElement* addressmapping;
tinyxml2::XMLElement* temperature_simconfig;
tinyxml2::XMLElement* thermalsimconfig;
};
struct Device

View File

@@ -100,7 +100,7 @@ void SimulationManager::parseSimulationBatch(XMLElement* simulation)
XMLElement* simconfig = simulation->FirstChildElement("simconfig");
XMLElement *temperature_simconfig = simulation->FirstChildElement("temperature_simconfig");
XMLElement *thermalsimconfig = simulation->FirstChildElement("thermalsimconfig");
XMLElement* memspecs = simulation->FirstChildElement("memspecs");
if(memspecs == NULL) memspecs = simulation;
@@ -122,7 +122,7 @@ void SimulationManager::parseSimulationBatch(XMLElement* simulation)
for (XMLElement* memconfig = memconfigs->FirstChildElement("memconfig");
memconfig != NULL; memconfig = memconfig->NextSiblingElement("memconfig"))
{
batch.dramSetups.push_back(DramSetup(memspec, memconfig, simconfig, addressmapping, temperature_simconfig));
batch.dramSetups.push_back(DramSetup(memspec, memconfig, simconfig, addressmapping, thermalsimconfig));
}
}
}

View File

@@ -57,12 +57,12 @@ public:
static TemperatureController temperaturectrl("TemperatureController");
return temperaturectrl;
}
SC_CTOR(TemperatureController)
{
temperatureScale = Configuration::getInstance().temperatureSim.TemperatureScale;
dynamicTempSimEnabled = Configuration::getInstance().DynamicTemperatureSimulation;
dynamicTempSimEnabled = Configuration::getInstance().ThermalSimulation;
staticTemperature = Configuration::getInstance().temperatureSim.StaticTemperatureDefaultValue;
@@ -88,9 +88,9 @@ public:
cyclesSinceLastPeriodAdjust = 0;
// Get the target period for the thermal simulation from config.
targetPeriod = Configuration::getInstance().temperatureSim.DynTemperatureSimPeriod;
targetPeriod = Configuration::getInstance().temperatureSim.ThermalSimPeriod;
period = targetPeriod;
t_unit = Configuration::getInstance().temperatureSim.DynTemperatureSimUnit;
t_unit = Configuration::getInstance().temperatureSim.ThermalSimUnit;
genTempMap = Configuration::getInstance().temperatureSim.GenerateTemperatureMap;
temperatureMapFile = "temperature_map";

View File

@@ -7,15 +7,15 @@
<NumberOfTracePlayers value="1"/>
<NumberOfMemChannels value="4"/>
<ControllerCoreDisableRefresh value="0"/>
<DynamicTemperatureSimulation value="0"/>
<ThermalSimulation value="0"/>
</simconfig>
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
<temperature_simconfig>
<thermalsimconfig>
<StaticTemperatureDefaultValue value="89" />
<DynTemperatureSimPeriod value="100" />
<DynTemperatureSimUnit value="ms" />
</temperature_simconfig>
<ThermalSimPeriod value="100" />
<ThermalSimUnit value="ms" />
</thermalsimconfig>
<memspecs>
<memspec src="../../DRAMSys/tests/error/WideIO.xml"></memspec>

View File

@@ -311,23 +311,23 @@ The DRAMSys' main configuration file is presented below.
<NumberOfTracePlayers value="1"/>
<NumberOfMemChannels value="4"/>
<ControllerCoreDisableRefresh value="0"/>
<DynamicTemperatureSimulation value="1"/>
<ThermalSimulation value="1"/>
</simconfig>
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
<temperature_simconfig>
<thermalsimconfig>
<TemperatureScale value="Celsius" />
<StaticTemperatureDefaultValue value="23" />
<DynTemperatureSimPeriod value="100" />
<DynTemperatureSimUnit value="us" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/powerInfo.xml"/>
<ThermalSimPeriod value="100" />
<ThermalSimUnit value="us" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/powerInfo.xml"/>
<IceServerIp value="127.0.0.1" />
<IceServerPort value="11880" />
<SimPeriodAdjustFactor value="10" />
<NPowStableCyclesToIncreasePeriod value="5" />
<GenerateTemperatureMap value="1" />
<GeneratePowerMap value="1" />
</temperature_simconfig>
</thermalsimconfig>
<memspecs>
<memspec src="../../DRAMSys/simulator/resources/configs/memspecs/WideIO.xml"></memspec>
@@ -378,7 +378,7 @@ $ ./generateErrorTest.pl > test_error.stl
Start the 3D-ICE server providing the stack file and the port number.
``` bash
$ cd DRAMSys/simulator/resources/configs/temperature_sim
$ cd DRAMSys/simulator/resources/configs/thermalsim
$ 3D-ICE-Server stack.stk 11880
```
@@ -409,23 +409,23 @@ The XML code below shows a typic configuration:
<NumberOfTracePlayers value="5"/>
<NumberOfMemChannels value="1"/>
<ControllerCoreDisableRefresh value="0"/>
<DynamicTemperatureSimulation value="0"/>
<ThermalSimulation value="0"/>
</simconfig>
<!-- Temperature Simulator Configuration (used for all simulation setups) -->
<temperature_simconfig>
<thermalsimconfig>
<TemperatureScale value="Celsius" />
<StaticTemperatureDefaultValue value="89" />
<DynTemperatureSimPeriod value="100" />
<DynTemperatureSimUnit value="ms" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/temperature_sim/power_thresholds.xml"/>
<ThermalSimPeriod value="100" />
<ThermalSimUnit value="ms" />
<PowerInfoFile value="../../DRAMSys/simulator/resources/configs/thermalsim/power_thresholds.xml"/>
<IceServerIp value="127.0.0.1" />
<IceServerPort value="11880" />
<SimPeriodAdjustFactor value="10" />
<NPowStableCyclesToIncreasePeriod value="5" />
<GenerateTemperatureMap value="1" />
<GeneratePowerMap value="1" />
</temperature_simconfig>
</thermalsimconfig>
<!-- Memory Specifications -->
<memspecs>
@@ -441,7 +441,7 @@ The XML code below shows a typic configuration:
<memconfigs>
<memconfig src="../../DRAMSys/simulator/resources/configs/memconfigs/fifo.xml"/>
</memconfigs>
<!-- Trace Setups -->
<tracesetups>
<!-- Multiple trace setups are allowed for the same simulation setup -->
@@ -524,8 +524,8 @@ Below are listed the configuration sections and configuration fields.
- *ControllerCoreDisableRefresh* (boolean)
- "1": disables refreshes
- "0": normal operation (refreshes enabled)
- *DynamicTemperatureSimulation* (boolean)
- "1": enables the dynamic temperature simulation feature
- *ThermalSimulation* (boolean)
- "1": enables thermal simulation
- "0": static temperature during simulation
- **Temperature Simulator Configuration**
@@ -535,9 +535,9 @@ Below are listed the configuration sections and configuration fields.
- "Kelvin"
- *StaticTemperatureDefaultValue* (int)
- Temperature value for simulations with static temperature
- *DynTemperatureSimPeriod* (double)
- Period of the dynamic temperature simulation
- *DynTemperatureSimUnit* (string)
- *ThermalSimPeriod* (double)
- Period of the thermal simulation
- *ThermalSimUnit* (string)
- "s": seconds
- "ms": millisecond
- "us": microseconds
@@ -555,11 +555,11 @@ Below are listed the configuration sections and configuration fields.
- *NPowStableCyclesToIncreasePeriod* (unsigned int)
- Wait this number of thermal simulation cycles with power stability (i.e., changes that do not exceed the thresholds) to start increasing the simulation period back to its configured value.
- *GenerateTemperatureMap* (boolean)
- "1": generate temperature map files during dynamic temperature simulation
- "0": do not generate temperature map files during dynamic temperature simulation
- "1": generate temperature map files during thermal simulation
- "0": do not generate temperature map files during thermal simulation
- *GeneratePowerMap* (boolean)
- "1": generate power map files during dynamic temperature simulation
- "0": do not generate power map files during dynamic temperature simulation
- "1": generate power map files during thermal simulation
- "0": do not generate power map files during thermal simulation
- **Memory Specification**