summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorSridhar K. N. Rao <sridhar.rao@spirent.com>2017-09-21 10:05:54 +0530
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-10-30 02:06:58 +0000
commit073ae911c472f883b199bd021b733a0203d2adee (patch)
tree512d2d1a12ae6941a5154b93fc95a8b3267f1582 /docs
parent583d7181b15ae6f8d6319c36bad6fd043f47c89f (diff)
VM-2-VM Network Performance Indicator: A Proposal
The proposal is in Jupyter Notebook format. The network performance indicator considers the following (a) Metrics - Throughput and delay (b) Application performance. (c) Topology (d) Virtualization technology. The proposal is added at /docs/proposal folder. JIRA: QTIP-272 Change-Id: Ia808cb031edbe123c011de44712c389ce83863f5 Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Diffstat (limited to 'docs')
-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
+}