aboutsummaryrefslogtreecommitdiffstats
path: root/docs/proposal/NetworPerformanceIndicator.ipynb
blob: 92ac06fe44e07d7393def79d8bfd06ca7ae5382e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
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
}