From 147e3a2565ab553f13a51494cabde392318850ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89der=20F=2E=20Zulian?= Date: Wed, 20 Feb 2019 16:56:52 +0100 Subject: [PATCH] Doc improved --- README.md | 81 +++++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 10183c27..8ca1e149 100644 --- a/README.md +++ b/README.md @@ -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