[DOCS] This patch adds documentation. 11/73411/2
authorSridhar K. N. Rao <srao@linuxfoundation.org>
Fri, 10 Jun 2022 11:06:42 +0000 (16:36 +0530)
committerSridhar K. N. Rao <srao@linuxfoundation.org>
Fri, 10 Jun 2022 13:49:07 +0000 (19:19 +0530)
Documentation.
Fixed some typos

Signed-off-by: Sridhar K. N. Rao <srao@linuxfoundation.org>
Change-Id: I96c95e9e101e7c30dfee4c78d26f98dd6f5d5b0b

docs/conf.py [new file with mode: 0644]
docs/conf.yaml [new file with mode: 0644]
docs/index.rst
docs/models/models.rst [new file with mode: 0644]
docs/release/release-notes.rst [new file with mode: 0644]
docs/requirements.txt [new file with mode: 0644]
docs/research/studies.rst [new file with mode: 0644]
docs/tools/tools.rst [new file with mode: 0644]

diff --git a/docs/conf.py b/docs/conf.py
new file mode 100644 (file)
index 0000000..b281a51
--- /dev/null
@@ -0,0 +1,6 @@
+""" for docs
+"""
+
+# pylint: disable=import-error
+# flake8: noqa
+from docs_conf.conf import *
diff --git a/docs/conf.yaml b/docs/conf.yaml
new file mode 100644 (file)
index 0000000..eba19fb
--- /dev/null
@@ -0,0 +1,3 @@
+---
+project_cfg: opnfv
+project: THOTH
index d43fe83..79f1a55 100644 (file)
@@ -8,3 +8,11 @@
 *********************************
 Anuket Thoth
 *********************************
+.. toctree::
+   :numbered:
+   :maxdepth: 3
+
+   release/release-notes.rst
+   models/models.rst
+   research/studies.rst
+   tools/tools.rst
diff --git a/docs/models/models.rst b/docs/models/models.rst
new file mode 100644 (file)
index 0000000..8cc6055
--- /dev/null
@@ -0,0 +1,67 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) Anuket, The Linux Foundation, BIT Mesra, VTU and Others.
+
+
+==============================
+AI/ML Models for NFV Usecases.
+==============================
+
+This document describes all the models created by Anuket-Thoth project.
+
+*********************************
+1. Failure prediction (FP) models
+*********************************
+
+a. Summary of the VM Failure-Prediction models.
+===============================================
+We have developed Neural Network models for predicting failures in
+virtual machines (VMs) used in network function virtualization (NFV)
+environments by analysing VNF data. The data used to build these models
+are provided by Orange Labs, and the VMs are based on project Clearwater.
+
+The links for the data are:
+
+* Processed Data: https://drive.google.com/drive/folders/1crrVZMJwf00MP5qM7nmVEqFsatOAShla
+* Raw: https://drive.google.com/file/d/1QVipyoWPD1_4W_QXWzxEla4b88EWo5X5/view?usp=drivesdk
+* Raw Source: https://www.kaggle.com/datasets/imenbenyahia/clearwatervnf-virtual-ip-multimedia-ip-system
+
+
+These models are found under *models* directory. In the below table, only the jupyter-notebooks reference is given, which can be found in *models/failure_prediction/jnotebooks* folder . The corresponding python file can be found in *models/failure_prediction/python* folder.
+
+.. list-table:: Summary of Failure Prediction Models.
+   :widths: 25 25 25 100
+   :header-rows: 1
+
+   * - Model Name
+     - Failure type
+     - Source-File
+     - Comments
+   * - Decision Tree
+     - Virtual Machine
+     - Decision_Tree.ipynb
+     - Simplest (implementation-wise) case.
+   * - CNN
+     - Virtual Machine
+     - CNN.ipynb
+     - Convolutional Neural Network. Poorest among the Neural-network based models.
+   * - LSTM
+     - Virtual Machine
+     - LSTM.ipynb
+     - Basic Long Short-Term Memory. Better than CNN.
+   * - Attention LSTM
+     - Virtual Machine
+     - LSTM_attention.ipynb
+     - The attention mechanism distributes weights accordingly. Performance is similar to correlation LSTM.
+   * - Correlation LSTM
+     - Virtual Machine
+     - LSTM_correlation.ipynb
+     - Performs the best.
+   * - Correlation with Stacked LSTM
+     - Virtual Machine
+     - stacked_LSTM_correlation.ipynb
+     - Second best performance.
+   * - Correlation with Bi-LSTM
+     - Virtual Machine
+     - Bi_LSTMstacked_LSTM_Correlation.ipynb
+     - Third best performance.
diff --git a/docs/release/release-notes.rst b/docs/release/release-notes.rst
new file mode 100644 (file)
index 0000000..bafd5b9
--- /dev/null
@@ -0,0 +1,28 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) Anuket, The Linux Foundation, BIT Mesra, VTU and Others.
+
+
+Anuket Moselle Release
+======================
+
+* Models
+
+    * Failure Prediction: Virtual machine
+        * LSTM: Attention, Correlation, Stacked
+        * CNN
+        * Decision Tree
+
+* Tools
+
+    * Model Selector
+        * Interactive tool that suggests the best model start with based on the
+          problem and the data.
+    * Data Extractor
+        * Given timestamp and range, extract the necessary data from Prometheus.
+
+
+* Research Studies
+
+    * Machine Learning (ML) problems and techniques in NFV.
+    * Opensource projects for ML in NFV.
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644 (file)
index 0000000..9fde2df
--- /dev/null
@@ -0,0 +1,2 @@
+lfdocs-conf
+sphinx_opnfv_theme
diff --git a/docs/research/studies.rst b/docs/research/studies.rst
new file mode 100644 (file)
index 0000000..ff5aaf8
--- /dev/null
@@ -0,0 +1,22 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) Anuket, The Linux Foundation, BIT Mesra, VTU and Others.
+
+
+******************************
+Anuket Thoth: Research Studies
+******************************
+
+ML Problems and Techniques for NFV
+==================================
+
+In this study, we provide list of all the published works on ML problems in NFV.
+The problems are bucketized into multiple categories - Correlation, Prediction, Anomaly Detection, Traffic Engineering, etc.
+This work also describes the methods/algorithms, along with the dataset, that are used to solve these problems.
+The inferences from the researcher are also added as comments.
+
+
+Opensource Projects for ML in NFV
+=================================
+
+In this document, we provide a list of opensource tools and frameworks that can be used to solve AI/ML problems in NFV.
diff --git a/docs/tools/tools.rst b/docs/tools/tools.rst
new file mode 100644 (file)
index 0000000..8fd0ed8
--- /dev/null
@@ -0,0 +1,22 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+.. (c) Anuket, The Linux Foundation, BIT Mesra, VTU and Others.
+
+***********************
+Anuket Thoth: The Tools
+***********************
+
+Model Selector
+==============
+
+This is an interactive tool to suggest the best model a researcher can start with to solve a problem in hand.
+The tool asks questions about the problem, the type and quantity of the dataset, the metrics preferences,
+and the understanding of the dataset. Based on the responses, the tool will suggest the ML technique to start with.
+The techniques suggested are broadly categorised into three groups - Supervised, Unsupervised and Reinforcement.
+
+Data Extractor
+==============
+
+This tool, in phase-1, extracts monitoring data from Prometheus server.
+It takes the prometheus server IP, the timestamp, and the time range as input.
+Based on the input, the tool extracts CPU, Memory and Interface data from the server.