diff options
Diffstat (limited to 'manual/manual.tex')
| -rw-r--r-- | manual/manual.tex | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/manual/manual.tex b/manual/manual.tex index cb0024d..fff1e30 100644 --- a/manual/manual.tex +++ b/manual/manual.tex @@ -5,6 +5,7 @@ \usepackage{minted} \usepackage{booktabs} \usepackage{xspace} +\usepackage{hyperref} \usepackage{graphicx} \usepackage{makecell} \usepackage[utf8]{inputenc} @@ -60,11 +61,11 @@ \label{architecture} \end{figure} -ESDS simulator comprises two major components: 1) The Simulation Orchestrator (SO) 2) The Simulated -Nodes (SN). This architecture is depicted in Figure \ref{architecture}. The SO is the main process +The ESDS simulator comprises two major components: 1) The Simulation Orchestrator (SO) 2) The Simulated +Nodes (SN). This architecture is depicted on Figure~\ref{architecture}. The SO is the main process in charge of implementing the simulation main loop. It instantiates the network (e.g bandwidths and -latencies), collects and processes the events (e.g communications,turn on/off). On the other hand, -nodes are threads that implement the node behaviors. +latencies matrices), collects and processes the events (e.g communications,turn on/off). On the other hand, +the SNs are threads that implement the node behaviors by following so called \textit{node API}. \section{Getting started} @@ -87,6 +88,10 @@ Nodes implementations are written using python. Here is the implementation of th the last \verb|platform.yaml| file: \addsource{assets/node.py}{python} +More details about implementations of nodes are availablein the +\href{https://gitlab.com/manzerbredes/esds/-/raw/main/example/sender.py}{\textit{example code}} and the +\href{https://gitlab.com/manzerbredes/esds/-/raw/main/example/sender.py}{\textit{ESDS implementation of the SNs interface}}. + \subsection{Execution} \label{sec:firstsimulation:execution} @@ -199,6 +204,15 @@ implementations: - 1-@ receiver.py \end{tabminted} \\ \cmidrule{1-3} + + \textbf{groups} & Specify the group to use in the nodes log reports. Useful to filter logs. By default, nodes are in the \textit{def} group. & + \begin{tabminted}{yaml} +groups: + - 0 groupA + - 1-@ groupB + \end{tabminted} + \\ \cmidrule{1-3} + \textbf{arguments} & Define the arguments that will be passed to each node implementation (keys of each element uses \textbf{the range syntax}). & \begin{tabminted}{yaml} @@ -212,8 +226,8 @@ arguments: \label{keywords:nodes} \end{table} -Several entries in the platform file use a \textbf{range syntax} to map informations (node -implementations, links etc.) to node $ids$. Indeed, when running a simulation with $p$ nodes, each +Several entries in the platform file use a \textbf{range syntax} to bind data (node +implementations, links etc.) to node $ids$. For a simulation with $p$ nodes, each node will have an allocated $id$ such that $id \in [0,1,...,p-1]$. Here are examples of valid range syntax for a simulation that uses 5 nodes: \begin{itemize} @@ -242,8 +256,15 @@ available keywords. type: "wireless" \end{tabminted} \\ \cmidrule{1-3} + + \textbf{nodes} & Specify the nodes that have access the current network/interface (uses the \textbf{range syntax}) & + \begin{tabminted}{yaml} +nodes: 2-@ + \end{tabminted} + \\ \cmidrule{1-3} + - \textbf{links} & List all the links between nodes on the interface (uses \textbf{the range syntax}). & + \textbf{links} & List all the links between nodes on the interface (uses the \textbf{range syntax}). & \begin{tabminted}{yaml} links: # Link node 0 to node 1: @@ -255,7 +276,7 @@ links: \textbf{txprefs} & Define the transmission performance of each wireless node (keys of each element uses \textbf{the range syntax}). This keyword is only available for wireless interfaces. & \begin{tabminted}{yaml} -txprefs: +txperfs: - 0 10kbps 0s - 1 10kbps 5s \end{tabminted} @@ -266,10 +287,9 @@ txprefs: \label{keywords:interfaces} \end{table} -In esds, txprefs (or transmission preferences) corresponds to the transmission performance of the -wireless interface. It is used to compute the transmission duration of the wireless -communication. When using custom orchestrator instantiation, the txprefs can be assigned on the -diagonal components of the bandwidth and latency matrices. +In esds, txperfs (or transmission performance) corresponds to the transmission performance on the +wireless interface. It is used to compute the transmission duration of wireless communications. +When using custom orchestrator instantiation, the txperfs parameter of a given node can be assigned by fixing the diagonal components of the bandwidth and latency matrices. \end{document} |
