Clarify some sections

This commit is contained in:
Rodrigo Arias 2020-11-09 12:09:54 +01:00
parent 92f58651b8
commit 48869d6e4a

View File

@ -25,11 +25,10 @@ move-punctuation
.NH 1 .NH 1
Introduction Introduction
.LP .LP
After the correct execution of an experiment some measurements are After the correct execution of an experiment the results are stored for
recorded in the results for further investigation. Typically the time of further investigation. Typically the time of the execution or other
the execution or other quantities are measured and presented later in a quantities are measured and presented later in a figure (generally a
figure (generally a plot or a table). plot or a table). The
The
.I "postprocess pipeline" .I "postprocess pipeline"
consists of all the steps required to create a set of figures from the consists of all the steps required to create a set of figures from the
results. Similarly to the execution pipeline where several stages run results. Similarly to the execution pipeline where several stages run
@ -52,9 +51,9 @@ Results
The results are generated in the same The results are generated in the same
.I "target" .I "target"
machine where the experiment is executed and are stored in the garlic machine where the experiment is executed and are stored in the garlic
.I output , .I out
organized into a directory structure following the experiment name, the directory, organized into a tree structure following the experiment
unit name and the run number (governed by the name, the unit name and the run number (governed by the
.I control .I control
stage): stage):
.QS .QS
@ -76,15 +75,18 @@ and
attributes (defined in the experiment configuration) and linking them to attributes (defined in the experiment configuration) and linking them to
the appropriate experiment and unit directories. These links are the appropriate experiment and unit directories. These links are
overwritten by the last experiment with the same names so they are only overwritten by the last experiment with the same names so they are only
valid for the last execution. The output and index directories are valid for the last execution. The out and index directories are
placed into a per-user directory, as we cannot guarantee the complete placed into a per-user directory, as we cannot guarantee the complete
execution of each unit when multiple users can share units. execution of each unit when multiple users share units.
.PP .PP
The messages printed to the standard output and error are The messages printed to
.I stdout
and
.I stderr
are stored in the log files with the same name inside each run are stored in the log files with the same name inside each run
directory. Additional data is sometimes generated by the experiments, directory. Additional data is sometimes generated by the experiments,
and is found in each run directory. As the generated data can be very and is found in each run directory. As the generated data can be very
large, is ignored by default when considering the results. large, is ignored by default when fetching the results.
.NH 1 .NH 1
Fetching the results Fetching the results
.LP .LP
@ -93,14 +95,16 @@ measure some properties that the experimenter wants to present in a
visual plot. When the experiment is launched, the execution visual plot. When the experiment is launched, the execution
pipeline (EP) is completely executed and it will generate some pipeline (EP) is completely executed and it will generate some
results. In this escenario, the execution pipeline depends on the results. In this escenario, the execution pipeline depends on the
program\[em]any changes in the program will cause nix to build it again program\[em]any changes in the program will cause nix to build the
pipeline again
using the updated program. The results will also depend on the using the updated program. The results will also depend on the
execution pipeline, and the graph on the results. This chain of execution pipeline as well as the postprocess pipeline (PP) and the plot
dependencies can be shown in the following dependency graph: on the results. This chain of dependencies can be shown in the
following dependency graph:
.ie t \{\ .ie t \{\
.PS .PS
circlerad=0.22; circlerad=0.22;
linewid=0.35; linewid=0.3;
right right
circle "Prog" circle "Prog"
arrow arrow
@ -122,15 +126,15 @@ circle "Plot"
.\} .\}
Ideally, the dependencies should be handled by nix, so it can detect any Ideally, the dependencies should be handled by nix, so it can detect any
change and rebuild the necessary parts automatically. Unfortunately, nix change and rebuild the necessary parts automatically. Unfortunately, nix
is not able to build the result as a derivation directly as it requires access is not able to build the result as a derivation directly, as it requires
to the access to the
.I "target" .I "target"
machine with several user accounts. In order to let several users reuse machine with several user accounts. In order to let several users reuse
the same results from a cache, we the same results from a shared cache, we would like to use the
use the .I "nix store" .
.I "nix store" .PP
to make them available. To generate the results from the To generate the results from the
experiment, we add some extra steps that must be executed manually. experiment, we add some extra steps that must be executed manually:
.PS .PS
circle "Prog" circle "Prog"
arrow arrow