CSIT-887: Throughput Speedup Analysis
[csit.git] / resources / tools / presentation / doc / pal_lld.rst
index 9c2446e..12318cc 100644 (file)
@@ -1,6 +1,5 @@
-===================================================
-Presentation and Analytics Layer - Low Level Design
-===================================================
+Presentation and Analytics Layer
+================================
 
 Overview
 --------
 
 Overview
 --------
@@ -38,6 +37,21 @@ sub-layers, bottom up:
    - formats: html, pdf
    - versions: minimal, full (TODO: define the names and scope of versions)
 
    - formats: html, pdf
    - versions: minimal, full (TODO: define the names and scope of versions)
 
+.. only:: latex
+
+    .. raw:: latex
+
+        \begin{figure}[H]
+        \centering
+            \includesvg[width=0.90\textwidth]{../_tmp/src/csit_framework_documentation/pal_layers}
+            \label{fig:pal_layers}
+        \end{figure}
+
+.. only:: html
+
+    .. figure:: pal_layers.svg
+        :alt: PAL Layers
+        :align: center
 
 Data
 ----
 
 Data
 ----
@@ -68,6 +82,8 @@ the type:
 
     -
       type: "environment"
 
     -
       type: "environment"
+    -
+      type: "configuration"
     -
       type: "debug"
     -
     -
       type: "debug"
     -
@@ -109,6 +125,7 @@ This section has the following parts:
  - build-dirs - a list of the directories where the results are stored.
 
 The structure of the section "Environment" is as follows (example):
  - build-dirs - a list of the directories where the results are stored.
 
 The structure of the section "Environment" is as follows (example):
+
 ::
 
     -
 ::
 
     -
@@ -209,6 +226,108 @@ will be automatically changed to
     DIR[WORKING,DATA]: "_tmp/data"
 
 
     DIR[WORKING,DATA]: "_tmp/data"
 
 
+Section: Configuration
+''''''''''''''''''''''
+
+This section specifies the groups of parameters which are repeatedly used in the
+elements defined later in the specification file. It has the following parts:
+
+ - data sets - Specification of data sets used later in element's specifications
+   to define the input data.
+ - plot layouts - Specification of plot layouts used later in plots'
+   specifications to define the plot layout.
+
+The structure of the section "Configuration" is as follows (example):
+
+::
+
+    -
+      type: "configuration"
+      data-sets:
+        plot-vpp-throughput-latency:
+          csit-vpp-perf-1710-all:
+          - 11
+          - 12
+          - 13
+          - 14
+          - 15
+          - 16
+          - 17
+          - 18
+          - 19
+          - 20
+        vpp-perf-results:
+          csit-vpp-perf-1710-all:
+          - 20
+          - 23
+      plot-layouts:
+        plot-throughput:
+          xaxis:
+            autorange: True
+            autotick: False
+            fixedrange: False
+            gridcolor: "rgb(238, 238, 238)"
+            linecolor: "rgb(238, 238, 238)"
+            linewidth: 1
+            showgrid: True
+            showline: True
+            showticklabels: True
+            tickcolor: "rgb(238, 238, 238)"
+            tickmode: "linear"
+            title: "Indexed Test Cases"
+            zeroline: False
+          yaxis:
+            gridcolor: "rgb(238, 238, 238)'"
+            hoverformat: ".4s"
+            linecolor: "rgb(238, 238, 238)"
+            linewidth: 1
+            range: []
+            showgrid: True
+            showline: True
+            showticklabels: True
+            tickcolor: "rgb(238, 238, 238)"
+            title: "Packets Per Second [pps]"
+            zeroline: False
+          boxmode: "group"
+          boxgroupgap: 0.5
+          autosize: False
+          margin:
+            t: 50
+            b: 20
+            l: 50
+            r: 20
+          showlegend: True
+          legend:
+            orientation: "h"
+          width: 700
+          height: 1000
+
+The definitions from this sections are used in the elements, e.g.:
+
+::
+
+    -
+      type: "plot"
+      title: "VPP Performance 64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
+      algorithm: "plot_performance_box"
+      output-file-type: ".html"
+      output-file: "{DIR[STATIC,VPP]}/64B-1t1c-l2-sel1-ndrdisc"
+      data:
+        "plot-vpp-throughput-latency"
+      filter: "'64B' and ('BASE' or 'SCALE') and 'NDRDISC' and '1T1C' and ('L2BDMACSTAT' or 'L2BDMACLRN' or 'L2XCFWD') and not 'VHOST'"
+      parameters:
+      - "throughput"
+      - "parent"
+      traces:
+        hoverinfo: "x+y"
+        boxpoints: "outliers"
+        whiskerwidth: 0
+      layout:
+        title: "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc"
+        layout:
+          "plot-throughput"
+
+
 Section: Debug mode
 '''''''''''''''''''
 
 Section: Debug mode
 '''''''''''''''''''
 
@@ -1023,16 +1142,45 @@ Data analytics part implements:
  - etc.
 
 
  - etc.
 
 
+Throughput Speedup Analysis - Multi-Core Speedup Ratio
+''''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Throughput Speedup Analysis (TSA) calculates a speedup factor for 1, 2, 4 cores
+which is defined as:
+
+::
+
+                        throughput
+    speedup factor = -----------------
+                     1-core-throughput
+
+A bar plot displays the speedup factor (normalized throughput for 64B/78B on 1
+core). The plot displays number of cores on the X-axis and the speedup factor on
+the Y-axis.
+
+For better comparision, there can be displayed more than one set of data in a
+plot. So, in general:
+
+    - graph type: grouped bars;
+    - graph X-axis: (testcase index, number of cores);
+    - graph Y-axis: speedup factor.
+
+The data displayed is a subset of existing performance tests with 1core, 2core,
+4core.
+
+:TODO: Specify the data model for TSA.
+
+
 Advanced data analytics
 ```````````````````````
 
 As the next steps, advanced data analytics (ADA) will be implemented using
 machine learning (ML) and artificial intelligence (AI).
 
 Advanced data analytics
 ```````````````````````
 
 As the next steps, advanced data analytics (ADA) will be implemented using
 machine learning (ML) and artificial intelligence (AI).
 
-TODO:
+:TODO:
 
 
- - describe the concept of ADA.
- - add specification.
   - describe the concept of ADA.
   - add specification.
 
 
 Data presentation
 
 
 Data presentation
@@ -1209,9 +1357,21 @@ List of modules, classes, methods and functions
 PAL functional diagram
 ``````````````````````
 
 PAL functional diagram
 ``````````````````````
 
-.. figure:: pal_func_diagram.svg
-   :alt: PAL functional diagram
-   :align: center
+.. only:: latex
+
+    .. raw:: latex
+
+        \begin{figure}[H]
+        \centering
+            \includesvg[width=0.90\textwidth]{../_tmp/src/csit_framework_documentation/pal_func_diagram}
+            \label{fig:pal_func_diagram}
+        \end{figure}
+
+.. only:: html
+
+    .. figure:: pal_func_diagram.svg
+        :alt: PAL functional diagram
+        :align: center
 
 
 How to add an element
 
 
 How to add an element