Doc improved

This commit is contained in:
Éder F. Zulian
2019-02-20 16:56:52 +01:00
parent e1446a0646
commit 147e3a2565

View File

@@ -966,7 +966,7 @@ A description of the content each directory follows.
### Log Collector Script
Users can profit of running multiple simulations automatically with
[DRAMSylva](DRAMSys/library/resources/scripts/DRAMSylva/DRAMSylva.sh).
[DRAMSylva.sh].
Every time you run the script you get a new folder with the name containing
the execution time: dram.sys\_YYYY\_MM\_DD-HH.MM.SS.
@@ -1066,8 +1066,9 @@ If some traces in trace_list are compressed in a tar.gz and require
decompression before execution the option **tgz_traces** can be set to
**yes**. The tarball is specified by the variable **tgz_file** and it is
expected to be available (already commited and pushed to be available after
cloning) in the [trace folder](DRAMSys/library/resources/traces). DRAMSylva
will uncompress the tarball extracting the traces before using them.
cloning) in the [trace folder](DRAMSys/library/resources/traces).
[DRAMSylva.sh] will uncompress the tarball extracting the traces before using
them.
```bash
tgz_traces="yes"
@@ -1078,16 +1079,15 @@ Set the variable **use_json_cfg** to **yes** in order to override sim_files
with new simulation files generated from a JSON description. Otherwise the
simulation files are the ones specified by sim_files. Files are expected to be
available (already commited and pushed to be available after cloning) in
[configs_json](DRAMSys/library/resources/scripts/DRAMSylva/configs_json).
[configs_json].
```bash
use_json_cfg="yes"
```
All the essential simuation files are auto generated accordingly to each of
the JSON descriptions provided in **json_cfg_list**.
Several examples of JSON configuration files are provided in
[configs_json](DRAMSys/library/resources/scripts/DRAMSylva/configs_json).
the JSON descriptions provided in **json_cfg_list**. Several examples of JSON
configuration files are provided in [configs_json].
+ Insert the desired simulation data in one or multiple JSON files following
any of the examples provided, e.g.,
@@ -1095,7 +1095,7 @@ Several examples of JSON configuration files are provided in
Multiple arrays are allowed and encouraged. Each array corresponds to a full
simulation setup.
+ Add your JSON files to **json_cfg_list** in DRAMSylva.sh.
+ Add your JSON files to **json_cfg_list** in [DRAMSylva.sh].
```bash
json_cfg_list="
@@ -1106,11 +1106,11 @@ ref_bw.json
+ Commit and push your changes.
+ Run **DRAMSylva** as previously described. All generated files will be
+ Run **[DRAMSylva.sh]** as previously described. All generated files will be
inside the output folder, so it will be possible to keep a perfect track of
all simulations.
For more information check the documentation in [DRAMSylva](DRAMSys/library/resources/scripts/DRAMSylva).
For more information check the documentation inside [DRAMSylva folder].
### Trace Generator Script
@@ -1438,7 +1438,7 @@ $ ./DRAMSys > output
## DRAMSys with gem5
Install gem5 by following the instructions on the [gem5 wiki](http://gem5.org/Documentation#Getting_Started).
Optionally, use the scripts from [gem5.TnT](https://github.com/tukl-msd/gem5.TnT) to install gem5, build it, get some benchmark programs and learn more about gem5.
Optionally, use the scripts from [gem5.TnT] to install gem5, build it, get some benchmark programs and learn more about gem5.
In order to understand the SystemC coupling with gem5 it is recommended to
read the documentation in the gem5 repository *util/tlm/README* and [12].
@@ -1567,7 +1567,7 @@ Wait some minutes for the bubble sort application to finish.
The hello application binary was copied from gem5 repository.
The bubble sort application was obtained with [gem5.TnT](https://github.com/tukl-msd/gem5.TnT).
The bubble sort application was obtained with [gem5.TnT].
Command template for generating **.ini** configuration files follows:
@@ -1727,11 +1727,8 @@ If you need help please contact Matthias Jung.
### DRAMSys + GEM5 Log Collector Scripts
Users can profit of running multiple **DRAMSys + gem5** simulations
automatically with
[gem5ilva.sh](DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva.sh) for **gem5
syscall emulation (SE) mode** and
[gem5ilva_fs.sh](DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva_fs.sh) for
**gem5 full system (FS) mode**.
automatically with [gem5ilva.sh] for **gem5 syscall emulation (SE) mode** and
[gem5ilva_fs.sh] for **gem5 full system (FS) mode**.
Normally you will have to push your changes before running the scripts. This
approach makes it easier to track back what exactly was tested by the scripts.
@@ -1763,46 +1760,43 @@ the main repository (usually because they are too big to be added to the
repository).
For those cases uncomment and properly set the variable
**external_inifile_path** in
[gem5ilva_fs.sh](DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva_fs.sh).
**external_inifile_path** in [gem5ilva_fs.sh].
This allows you to use a gem5 **config.ini** file external to the repository.
Note, however, that in this case it is up to you to keep track of your
simulation setup.
**Hint:**
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT) provides convenience scripts
[gem5.TnT] provides convenience scripts
to create gem5 disk images with benchmarking programs embedded.
### Notes for [Elwetritsch](https://elwe.rhrk.uni-kl.de/) Users
### Notes for [Elwetritsch] Users
Firstly, take a look at [High Performance Computing at the TU
Kaiserslautern](https://elwe.rhrk.uni-kl.de/).
Firstly, take a look at [High Performance Computing at the TU Kaiserslautern](https://elwe.rhrk.uni-kl.de/).
After that, please give yourself a change to learn a bit about [Batch Usage at
RHRK TU Kaiserslautern](https://elwe.rhrk.uni-kl.de/elwetritsch/batch.shtml).
This will probably save you some time later on.
When using DRAMSys + gem5 on the [Elwetritsch](https://elwe.rhrk.uni-kl.de/)
gem5 can be installed with convenience scripts provided by
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT).
When using DRAMSys + gem5 on the [Elwetritsch] gem5 can be installed with
convenience scripts provided by [gem5.TnT].
[gem5.TnT](https://github.com/tukl-msd/gem5.TnT) also provides convenience scripts
[gem5.TnT] also provides convenience scripts
to create gem5 disk images with benchmarking programs embedded. The creation
of disk images for gem5 requires superuser privilege. A solution is to copy
(e.g., using scp or mounting a folder, etc.) the locally created disk images
to Elwetritsch. Since there is no compilation involved, copying disk images
to [Elwetritsch]. Since there is no compilation involved, copying disk images
created in one machine to another machine should not incur in incompatibility
problems.
On gem5.TnT repository open a gem5.TnT config file.
On [gem5.TnT] repository open a [gem5.TnT] config file.
```bash
$ vim common/defaults.in
```
Note the variable **ROOTDIR**. Its default value is *ROOTDIR=$HOME/gem5_tnt*.
That means that gem5.TnT will download to *$HOME/gem5_tnt*.
That means that [gem5.TnT] will download to *$HOME/gem5_tnt*.
Currently the space one can use in its Elwetrich *$HOME* folder is limited to
a few tens of GiB. Nevertheless, a directory **/scratch/$USER** is provided
@@ -1817,7 +1811,7 @@ $ cd
$ ln -s /scratch/$USER/gem5_tnt
```
On gem5.TnT repository use the commands below to get files and build gem5:
On [gem5.TnT] repository use the commands below to get files and build gem5:
```bash
$ ./get_essential_fs.sh
@@ -1829,14 +1823,12 @@ $ ./build_gem5.sh
To get DRAMSys installed follow the traditional setup instructions described
in this document.
For building DRAMSys one can profit from using
[DRAMSylva.sh](DRAMSys/library/resources/scripts/DRAMSylva/DRAMSylva.sh) which
loads the modules that are necessary for building DRAMSys on Elwetritsch.
For building DRAMSys one can profit from using [DRAMSylva.sh] which loads the
modules that are necessary for building DRAMSys on [Elwetritsch].
Regarding dependencies for building DRAMSys and DRAMSys + gem5, the scripts
provided inside the [DRAMSylva
folder](DRAMSys/library/resources/scripts/DRAMSylva), when running on
Elwetritsch, will load the required modules automatically.
provided inside the [DRAMSylva folder], when running on [Elwetritsch], will
load the required modules automatically.
As usual, one may export environment variables from his/her **~/.bashrc** file
on Elwetritch. Some segments extracted from a functional ~/.bashrc file are
@@ -1877,10 +1869,9 @@ unset TMOUT
```
[SLURM](https://slurm.schedmd.com/overview.html) **job scripts** are available
inside the [DRAMSylva](DRAMSys/library/resources/scripts/DRAMSylva) folder.
They can be used directly without changes or as examples on how to start jobs
using nodes of the Elwetritsch cluster. Of course, one can create his/her own
job scripts.
inside the [DRAMSylva folder]. They can be used directly without changes or as
examples on how to start jobs using nodes of the [Elwetritsch] cluster. Of
course, one can create his/her own job scripts.
### Coverage Check
@@ -1942,3 +1933,11 @@ Conference on Embedded Computer Systems Architectures Modeling and Simulation
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.
[gem5.TnT]: https://github.com/tukl-msd/gem5.TnT
[gem5ilva.sh]: DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva.sh
[gem5ilva_fs.sh]: DRAMSys/library/resources/scripts/DRAMSylva/gem5ilva_fs.sh
[Elwetritsch]: https://elwe.rhrk.uni-kl.de/
[DRAMSylva.sh]: DRAMSys/library/resources/scripts/DRAMSylva/DRAMSylva.sh
[DRAMSylva folder]: DRAMSys/library/resources/scripts/DRAMSylva
[configs_json]: DRAMSys/library/resources/scripts/DRAMSylva/configs_json