summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xdocs/proposal/NetworPerformanceIndicator.ipynb235
1 files changed, 235 insertions, 0 deletions
diff --git a/docs/proposal/NetworPerformanceIndicator.ipynb b/docs/proposal/NetworPerformanceIndicator.ipynb
new file mode 100755
index 00000000..92ac06fe
--- /dev/null
+++ b/docs/proposal/NetworPerformanceIndicator.ipynb
@@ -0,0 +1,235 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Network performance Indicator: A Proposal.\n",
+ " Sridhar K. N. Rao, Spirent Communications"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Network performance is an important measure that should be considered for design and deployment of virtual network functions in the cloud. In this document, we propose an indicator for network performance. We consider following parameters for the indicator.\n",
+ "\n",
+ "1. The network throughput.\n",
+ "2. The network delay\n",
+ "3. Application SLAs\n",
+ "4. The topology - Path Length and Number of Virtual Network-Elements.\n",
+ "5. Network Virtualization - Vxlan, GRE, VLAN, etc. \n",
+ "\n",
+ "The most commonly used, and well measured, network-performance metrics are throughput and delay. However, considering the NFV environments, we add additional metrics to come up with a single indicator value. With these additional metrics, we plan to cover various deployment scenarios of the virtualized network functions.\n",
+ "\n",
+ "The proposed network performance indicator value ranges from $$0 - 1.0$$. As majority of indicators, these values should mainly be used for comparative analysis, and not to be seen as a absolute indicator.\n",
+ "\n",
+ "Note: Additional parameters such as - total load on the network - can be considered in future. \n",
+ "\n",
+ "The network performance indicator (I) can be represented as:"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\n",
+ "$$ I = w_t(1- \\frac{E_t-O_t}{E_t}) + w_d(1-\\frac{O_d - E_d}{O_d}) + w_a(1-\\frac{E_a - O_a }{E_a}) + w_s (1-\\frac{T_n - V_n}{T_n}) + w_p(1-\\frac{1}{T_n + 1}) + w_v * {C_{nv}} $$\n",
+ "Where, \n",
+ "$$ w_t + w_d + w_a + w_s + w_p + w_v = 1.0 $$\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<table>\n",
+ "<tr>\n",
+ "<td>\n",
+ "Notation \n",
+ "</td>\n",
+ "<td>\n",
+ "Description \n",
+ "</td>\n",
+ "<td>\n",
+ "Example Value\n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$w_t$\n",
+ "</td>\n",
+ "<td>\n",
+ "Weightage for the Throughput \n",
+ "</td>\n",
+ "<td>\n",
+ "0.3\n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$w_d$\n",
+ "</td>\n",
+ "<td>\n",
+ "Weightage for the Delay\n",
+ "</td>\n",
+ "<td>\n",
+ "0.3\n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$w_a$\n",
+ "</td>\n",
+ "<td>\n",
+ "Weightage for the Application SLA\n",
+ "</td>\n",
+ "<td>\n",
+ "0.1\n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$w_s$\n",
+ "</td>\n",
+ "<td>\n",
+ "Weightage for the Topology - Network Elements \n",
+ "</td>\n",
+ "<td>\n",
+ "0.1\n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$w_p$ \n",
+ "</td>\n",
+ "<td>\n",
+ "Weightage for the Topology - Path Length \n",
+ "</td>\n",
+ "<td>\n",
+ "0.1 \n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$w_v$ \n",
+ "</td>\n",
+ "<td>\n",
+ "Weightage for the Virtualization \n",
+ "</td>\n",
+ "<td>\n",
+ "0.1\n",
+ "</td>\n",
+ "</tr>\n",
+ "</table>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "<table>\n",
+ "<tr>\n",
+ "<th>\n",
+ "Notation\n",
+ "</th>\n",
+ "<th>\n",
+ "Description\n",
+ "</th>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$$E_t$$ $$\\&$$ $$O_t$$\n",
+ "</td>\n",
+ "<td>\n",
+ "Expected (theoretical Max) and Obtained Average Throughput \n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$$E_d$$ $$\\&$$ $$O_d$$ \n",
+ "</td>\n",
+ "<td>\n",
+ "Expected and Otained Minimum Delay \n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$$E_a$$ $$\\&$$ $$O_a$$ \n",
+ "</td>\n",
+ "<td>\n",
+ "Expected and Obtained Application SLA Metric \n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$T_n$\n",
+ "</td>\n",
+ "<td>\n",
+ "Total number of Network Elements (Switches and Routers) \n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$V_n$\n",
+ "</td>\n",
+ "<td>\n",
+ "Total number of Virtual Network Elements \n",
+ "</td>\n",
+ "</tr>\n",
+ "<tr>\n",
+ "<td>\n",
+ "$C_{nv}$ \n",
+ "</td>\n",
+ "<td>\n",
+ "Network Virtualization Constant\n",
+ "</td>\n",
+ "</tr>\n",
+ "</table>"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "It would be interesting to explore the following alternative:\n",
+ "$$I = I_E - I_O$$, where\n",
+ "\n",
+ "$$ I_E = w_t * E_t + w_d* \\frac{1}{E_d} + w_a.\\frac{1}{E_a} + w_s * \\frac{1}{T_n} + w_p * V_n + W_v * C_{nv} $$\n",
+ "\n",
+ "and \n",
+ "$$ I_O = w_t * O_t + w_d* \\frac{1}{O_d} + w_a.\\frac{1}{O_a} + w_s * \\frac{1}{T_n} + w_p * V_n + W_v * C_{nv} $$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "collapsed": true
+ },
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.1"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}