X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/81ddd4c19f74b33699418f11bb5c3a25399e1c39..7f4e90c90bde9bc53b419e1626c9caeac5ad25fc:/doc/tracing.doc?ds=sidebyside
diff --git a/doc/tracing.doc b/doc/tracing.doc
index 4437783c06..2c590eeb83 100644
--- a/doc/tracing.doc
+++ b/doc/tracing.doc
@@ -203,15 +203,6 @@ tracing/smpi/group
--cfg=tracing/smpi/group:1
\endverbatim
-\li \c
-tracing/msg/task
-:
- This option only has effect if this simulator is MSG-based. It traces the
- behavior of all categorized MSG tasks, grouping them by hosts.
-\verbatim
---cfg=tracing/msg/task:1
-\endverbatim
-
\li \c
tracing/msg/process
:
@@ -273,7 +264,7 @@ triva/uncategorized
This option generates a graph configuration file for Triva considering
uncategorized resource utilization.
\verbatim
---cfg=triva/categorized:graph_uncategorized.plist
+--cfg=triva/uncategorized:graph_uncategorized.plist
\endverbatim
\subsection tracing_tracing_example_parameters Case studies
@@ -449,89 +440,71 @@ take into account a new time-slice can be expensive. When this happens, the
when the checkbox Update Drawings on Sliders
Change is selected will not be followed.
-- Understanding Triva - graph: this part of the documention explains how
- to analyze the traces using the graph view of Triva, when the user executes
-the tool passing --graph as parameter. Triva opens three windows when
-this parameter is used: the Time Interval window (previously described),
-the Graph Representation window, and the Graph Configuration
-window. The Graph Representation is the window where drawings take place.
-Initially, it is completely white waiting for a proper graph configuration input
-by the user. We start the description of this type of analysis by describing the
-Graph Configuration window (depicted below). By using a particular
-configuration, triva
-can be used to customize the graph drawing according to
-the SimGrid trace that was created with user-specific categories. Before delving
-into the details of this customization, let us first explain the major parts of
-the graph configuration window. The buttons located in the top-right corner can
-be used to delete, copy and create a new configuration. The checkbox in the
-top-middle part of the window indicates if the configuration typed in the
-textfield is syntactically correct (we are using the non-XML
-Property List Format to
-describe the configuration). The pop-up button located on the top-left corner
-indicates the selected configuration (the user can have multiple graph
-configurations). The bottom-left text field contains the name of the current
-configuration (updates on this field must be followed by typing enter on the
-keyboard to take into account the name change). The bottom-right Apply
-button activates the current configuration, resulting on an update on the graph
-drawings.
-
-\htmlonly
-
-\endhtmlonly
-
-Basic SimGrid Configuration: The figure shows in the big textfield the
-basic configuration that should be used during the analysis of a SimGrid trace
-file. The basic logic of the configuration is as follows:
+- Understanding Triva - graph: one possibility to analyze
+ SimGrid traces is to use Triva's graph view, using the
+ --graph parameter to activate this view, and
+ --gc_conf with a graph configuration to customize the graph
+ according to the traces. A valid graph configuration (we are using
+ the non-XML Property List
+ Format to describe the configuration) can be created for any
+ SimGrid-based simulator using the
+ --cfg=triva/uncategorized:graph_uncategorized.plist or
+ --cfg=triva/categorized:graph_categorized.plist (if the
+ simulator defines resource utilization categories) when executing
+ the simulation.
+
+Basic SimGrid Configuration: The basic description of the configuration
+is as follows:
\verbatim
{
- node = (HOST);
- edge = (LINK);
+ node = (LINK, HOST, );
+ edge = (HOST-LINK, LINK-HOST, LINK-LINK, );
\endverbatim
-The nodes of the graph will be created based on the node parameter, which
-in this case is the different "HOST"s of the platform
-used to simulate. The edge parameter indicates that the edges of the
-graph will be created based on the "LINK"s of the platform. After the
-definition of these two parameters, the configuration must detail how
-HOSTs and LINKs should be drawn. For that, the configuration
-must have an entry for each of the types used. For HOST, as basic
-configuration, we have:
+
+The nodes of the graph will be created based on the node
+parameter, which in this case is the different "HOST"s and
+"LINK"s of the platform used to simulate. The edge
+parameter indicates that the edges of the graph will be created based
+on the "HOST-LINK"s, "LINK-HOST"s, and
+"LINK-LINK"s of the platform. After the definition of these
+two parameters, the configuration must detail how the nodes
+(HOSTs and LINKs) should be drawn.
+
+For that, the configuration must have an entry for each of
+the types used. For HOST, as basic configuration, we have:
+
\verbatim
HOST = {
+ type = square;
size = power;
- scale = global;
+ values = (power_used);
};
\endverbatim
-The parameter size indicates which variable from the trace file will be
-used to define the size of the node HOST in the visualization. If the simulation
-was executed with availability traces, the size of the nodes will be changed
-according to these traces. The parameter scale indicates if the value
-of the variable is global or local. If it is global, the value
-will be relative to the power of all other hosts, if it is local, the value will
-be relative locally.
+
+The parameter size indicates which variable from the trace
+file will be used to define the size of the node HOST in the
+visualization. If the simulation was executed with availability
+traces, the size of the nodes will be changed according to these
+traces. The parameter type indicates which geometrical shape
+will be used to represent HOST, and the values parameter
+indicates which values from the trace will be used to fill the shape.
+
For LINK we have:
-\verbatim
+
+\verbatim
LINK = {
- src = source;
- dst = destination;
-
+ type = rhombus;
size = bandwidth;
- scale = global;
+ values = (bandwidth_used);
};
-\endverbatim
-For the types specified in the edge parameter (such as LINK),
-the configuration must contain two additional parameters: src and
-dst that are used to properly identify which nodes this edge is
-connecting. The values source and destination are always present
-in the SimGrid trace file and should not be changed in the configuration. The
-parameter size for the LINK, in this case, is configured as the
-variable bandwidth, with a global scale. The scale meaning
-here is exactly the same used for nodes. The last parameter is the GraphViz
-algorithm used to calculate the position of the nodes in the graph
-representation.
-\verbatim
- graphviz-algorithm = neato;
}
\endverbatim
+
+The same configuration parameters are used here: type (with a
+rhombus), the size (whose value is from trace's bandwidth
+variable) and the values.
+
Customizing the Graph Representation: triva is capable to handle
a customized graph representation based on the variables present in the trace
file. In the case of SimGrid, every time a category is created for tasks, two
@@ -546,133 +519,55 @@ user declares a category named request, there will be variables named
two categories for tasks: request and compute. To create a customized graph
representation with a proportional separation of host and link utilization, use
as configuration for HOST and LINK this:
+
\verbatim
HOST = {
+ type = square;
size = power;
- scale = global;
-
- sep_host = {
- type = separation;
- size = power;
- values = (prequest, pcomputation);
- };
+ values = (prequest, pcomputation);
};
-
LINK = {
- src = source;
- dst = destination;
+ type = rhombus;
size = bandwidth;
- scale = global;
-
- sep_link = {
- type = separation;
- size = bandwidth;
- values = (brequest, bcomputation);
- };
+ values = (brequest, bcomputation);
};
\endverbatim
-Where sep_host contains a composition of type separation where
-its max size is the power of the host and the variables prequest
-and pcomputation are drawn proportionally to the size of the HOST. And
-sep_link is also a separation where max is defined as the
-bandwidth of the link, and the variables brequest and
-bcomputation are drawn proportionally within a LINK.
-This configuration enables the analysis of resource utilization by MSG tasks,
+
+This configuration enables the analysis of resource utilization by MSG tasks,
and the identification of load-balancing issues, network bottlenecks, for
-instance. \n
-Other compositions: besides separation, it is possible to use
-other types of compositions, such as gradients, and colors, like this:
-\verbatim
- gra_host = {
- type = gradient;
- scale = global;
- values = (numberOfTasks);
- };
- color_host = {
- type = color;
- values = (is_server);
- };
-\endverbatim
-Where gra_host creates a gradient within a node of the graph, using a
-global scale and using as value a variable called numberOfTasks, that
-could be declared by the user using the optional tracing functions of SimGrid.
-If scale is global, the max and min value for the gradient will be equal to the
-max and min numberOfTasks among all hosts, and if scale is local, the max and
-min value based on the value of numberOfTasks locally in each host.
-And color_host composition draws a square based on a positive value of
-the variable is_server, that could also be defined by the user using the
-SimGrid tracing functions. \n
+instance. \n
+
The Graph Visualization: The next figure shows a graph visualization of a
given time-slice of the masterslave_forwarder example (present in the SimGrid
sources). The red color indicates tasks from the compute category. This
visualization was generated with the following configuration:
+
\verbatim
{
- node = (HOST);
- edge = (LINK);
+ node = (LINK, HOST, );
+ edge = (HOST-LINK, LINK-HOST, LINK-LINK, );
- HOST = {
+ host = {
+ type = square;
size = power;
- scale = global;
-
- sep_host = {
- type = separation;
- size = power;
- values = (pcompute, pfinalize);
- };
+ values = (pcompute, pfinalize);
};
- LINK = {
- src = source;
- dst = destination;
+ link = {
+ type = rhombus;
size = bandwidth;
- scale = global;
-
- sep_link = {
- type = separation;
- size = bandwidth;
- values = (bcompute, bfinalize);
- };
+ values = (bcompute, bfinalize);
};
- graphviz-algorithm = neato;
}
\endverbatim
+
\htmlonly
\endhtmlonly
-- Understading Triva - colors: An important issue when using Triva is how
- to define colors. To do that, we have to know which variables are defined in
-the trace file generated by the SimGrid library. The parameter --list
-lists the variables for a given trace file:
-\verbatim
-$ Triva -l masterslave_forwarder.trace
-iFile
-c platform
-c HOST
-v power
-v is_slave
-v is_master
-v task_creation
-v task_computation
-v pcompute
-v pfinalize
-c LINK
-v bandwidth
-v latency
-v bcompute
-v bfinalize
-c user_type
-\endverbatim
-We can see that HOST has seven variables (from power to pfinalize) and LINK has
-four (from bandwidth to bfinalize). To define a red color for the
-pcompute and bcompute (which are defined based on user category
-compute), execute:
-\verbatim
-$ defaults write Triva 'pcompute Color' '1 0 0'
-$ defaults write Triva 'bcompute Color' '1 0 0'
-\endverbatim
-Where the three numbers in each line are the RGB color with values from 0 to 1.
+- Understading Triva - colors: Colors are now registered in
+trace files. See the tracing API to how to define them for your
+simulator.
-*/
\ No newline at end of file
+*/