docs: update SFQM docuementation for Rel B
[barometer.git] / docs / requirements / 01-intro.rst
1 Introduction
2 ============
3
4 The goal of Software Fastpath service Quality Metrics (SFQM) is to
5 develop the utilities and libraries in `DPDK`_ to support:
6
7 * Measuring Telco Traffic and Performance KPIs. Including:
8
9   * Packet Delay Variation (by enabling TX and RX time stamping).
10   * Packet loss (by exposing extended NIC stats).
11
12 * Performance Monitoring of the DPDK interfaces (by exposing
13   extended NIC stats + collectd Plugin).
14 * Detecting and reporting violations that can be consumed by VNFs
15   and higher level management systems (through DPDK Keep Alive).
16
17 After all **the ability to measure and enforce Telco KPIs (Service
18 assurance) in the data-plane will be mandatory for any Telco grade NFVI
19 implementation**.
20
21 All developed features will be upstreamed to `DPDK`_ or other Open
22 Source projects relevant to telemetry such as `collectd`_ and fault
23 management such as `Monasca`_ and/or `Ceilometer`_.
24
25 The OPNFV project wiki can be found @ `SFQM`_
26
27 Problem Statement
28 ==================
29 The OPNFV platform (NFVI) requires functionality to:
30
31 * Create a low latency, high performance packet processing path (fast path)
32   through the NFVI that VNFs can take advantage of;
33 * Measure Telco Traffic and Performance KPIs through that fast path;
34 * Detect and report violations that can be consumed by VNFs and higher level
35   EMS/OSS systems
36
37 Examples of local measurable QoS factors for Traffic Monitoring which impact
38 both Quality of Experience and 5’9s availability would be (using Metro Ethernet
39 Forum Guidelines as reference):
40
41 * Packet loss
42 * Packet Delay Variation
43 * Uni-directional frame delay
44
45 Other KPIs such as Call drops, Call Setup Success Rate, Call Setup time etc. are
46 measured by the VNF.
47
48 In addition to Traffic Monitoring, the NFVI must also support Performance
49 Monitoring of the physical interfaces themselves (e.g. NICs), i.e. an ability to
50 monitor and trace errors on the physical interfaces and report them.
51
52 All these traffic statistics for Traffic and Performance Monitoring must be
53 measured in-service and must be capable of being reported by standard Telco
54 mechanisms (e.g. SNMP traps), for potential enforcement actions.
55
56 Scope
57 ======
58 The output of the project will provide interfaces and functions to support
59 monitoring of Packet Latency and Network Interfaces while the VNF is in service.
60
61 The DPDK interface/API will be updated to support:
62
63 * Exposure of NIC MAC/PHY Level Counters
64 * Interface for Time stamp on RX
65 * Interface for Time stamp on TX
66
67 Specific testing and integration will be carried out to cover:
68
69 * Unit/Integration Test plans: A sample application provided to demonstrate packet
70   latency monitoring and interface monitoring
71
72 The following list of features and functionality will be developed:
73
74 * DPDK APIs and functions for latency and interface monitoring
75 * A sample application to demonstrate usage
76
77 The scope of the project is limited to the DPDK APIs and a sample application to
78 demonstrate usage.
79
80 .. Figure:: telcokpis_update.png
81
82    Architecture overview (showing provided functionality in green)
83
84 In the figure above, the interfaces 1, 2, 3 are implemented along with a sample
85 application. The sample application will support monitoring of NIC
86 counters/status and will also support measurement of packet latency using DPDK
87 provided interfaces.
88
89 VNF specific processing, Traffic Monitoring, Performance Monitoring and
90 Management Agent are out of scope. The scope is limited to Intel 10G Niantic
91 support.
92
93 The Proposed MAC/PHY Interface Counters include:
94
95 * Packet RX
96 * Packet TX
97 * Packet loss
98 * Interface errors + other stats
99
100 The Proposed Packet Latency Monitor include:
101
102 * Cycle accurate ‘stamping’ on ingress
103 * Supports latency measurements on egress
104
105 Support for additional types of Network Interfaces can be added in the future.
106
107 Support for failover of DPDK enabled cores is also out of scope of the current
108 proposal. However, this is an important requirement and must-have functionality
109 for any DPDK enabled framework in the NFVI. To that end, a second phase of this
110 project will be to implement DPDK “Keep Alive” functionality that would address
111 this and would report to a VNF-level Failover and High Availability mechanism
112 that would then determine what actions, including failover, may be triggered.
113
114 Consumption Models
115 ===================
116 Fig 1.1 shows how a sample application will be provided to demonstrate
117 usage. In reality many VNFs will have an existing performance or traffic
118 monitoring utility used to monitor VNF behavior and report statistics, counters,
119 etc.
120
121 To consume the performance and traffic related information provided within the
122 scope of this project should in most cases be a logical extension of any
123 existing VNF performance or traffic monitoring utility, in most cases it should
124 not require a new utility to be developed. We do not see the Software Fastpath
125 Service Quality Metrics data as major additional effort for VNFs to consume,
126 this project would be sympathetic to existing VNF architecture constructs. The
127 intention is that this project represents a lower level interface for network
128 interface monitoring to be used by higher level fault management entities (see
129 below).
130
131 Allowing the Software Fastpath Service Quality Metrics data to be handled within
132 existing VNF performance or traffic monitoring utilities also makes it simpler
133 for overall interfacing with higher level management components in the VIM, MANO
134 and OSS/BSS. The Software Fastpath Service Quality Metrics proposal would be
135 complementary to the Fault Management and Maintenance project proposal
136 (“Doctor”) which is also in flight, which addresses NFVI Fault Management
137 support in the VIM. To that end, the project committers and contributors for the
138 Software Fastpath Service Quality Metrics project wish to work in sync with the
139 “Doctor” project – to facilitate this, one of the “Doctor” contributors has also
140 been added as a contributor to the Software Fastpath Service Quality Metrics
141 project.
142
143 .. _SFQM: https://wiki.opnfv.org/collaborative_development_projects/opnfv_telco_kpi_monitoring
144 .. _DPDK: http://dpdk.org/
145 .. _collectd: http://collectd.org/
146 .. _Monasca: https://wiki.openstack.org/wiki/Monasca
147 .. _Ceilometer: https://wiki.openstack.org/wiki/Telemetry