From b864f23999d810a482d0f279196108c40fe54de9 Mon Sep 17 00:00:00 2001 From: "Sridhar K. N. Rao" Date: Fri, 10 Jun 2022 16:36:42 +0530 Subject: [PATCH] [DOCS] This patch adds documentation. Documentation. Fixed some typos Signed-off-by: Sridhar K. N. Rao Change-Id: I96c95e9e101e7c30dfee4c78d26f98dd6f5d5b0b --- docs/conf.py | 6 ++++ docs/conf.yaml | 3 ++ docs/index.rst | 8 +++++ docs/models/models.rst | 67 ++++++++++++++++++++++++++++++++++++++++++ docs/release/release-notes.rst | 28 ++++++++++++++++++ docs/requirements.txt | 2 ++ docs/research/studies.rst | 22 ++++++++++++++ docs/tools/tools.rst | 22 ++++++++++++++ 8 files changed, 158 insertions(+) create mode 100644 docs/conf.py create mode 100644 docs/conf.yaml create mode 100644 docs/models/models.rst create mode 100644 docs/release/release-notes.rst create mode 100644 docs/requirements.txt create mode 100644 docs/research/studies.rst create mode 100644 docs/tools/tools.rst diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..b281a51 --- /dev/null +++ b/docs/conf.py @@ -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 index 0000000..eba19fb --- /dev/null +++ b/docs/conf.yaml @@ -0,0 +1,3 @@ +--- +project_cfg: opnfv +project: THOTH diff --git a/docs/index.rst b/docs/index.rst index d43fe83..79f1a55 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -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 index 0000000..8cc6055 --- /dev/null +++ b/docs/models/models.rst @@ -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 index 0000000..bafd5b9 --- /dev/null +++ b/docs/release/release-notes.rst @@ -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 index 0000000..9fde2df --- /dev/null +++ b/docs/requirements.txt @@ -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 index 0000000..ff5aaf8 --- /dev/null +++ b/docs/research/studies.rst @@ -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 index 0000000..8fd0ed8 --- /dev/null +++ b/docs/tools/tools.rst @@ -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. -- 2.16.6