Acceleration descriptors requirements discussion based on China Mobile
Acceleration descriptors requirements discussion based on China Mobile Smallcell GW Chen Wei China Mobile chenweiyj@chinamobile. com
Background on MANO descriptors • MANO descriptors, defined by ETSI NFV MANO as a group of information elements , which used as deployment templates in on-boarding VNFs and NSs • acceleration related elements – phase 1 (2014 Q 4): implementation specific, cannot be used for dpacc mgmt • PCIE related elements: passthrough, SR-IOV; acceleration library support: dpdk – phase 2 (ongoing): implementation agnostic, potential collaboration with dpacc • introduction of generic acceleration resource/capability
Top-level information elements in ETSI NFV phase 1 VNF can include multiple VDU can include multiple VNFC. VDU: virtual deployment unit VNFC: virtual network function component
Important Descriptors about acceleration in ETSI Phase 1 VDU information elements related to hypervisors VDU information elements related to PCIe
Important Descriptors about acceleration in ETSI Phase 1(to be continued) VDU information elements related to network interfaces
Some discussed descriptors about acceleration in ETSI Phase 2 • VNFD information elements about acceleration Acceleration Capability: optional functions provided by resources, (for instance a NIC or a disk controller). For instance TCP Checksum calculation, packet dispatching amongst queues, TCP Offload, IPSec Offload and RDMA are such a capabilities for a NIC; encryption and compression are such capabilities for a disk controller. Acceleration Resource: an acceleration resource is hardware or software that can be exposed in a implementation independent manner, added or removed or not used from the compute node without requiring any VNF changes. GPUs, video transcoding, crypto accelerators are such resources. • How to define the properties of acceleration resource and capability is ongoing.
Discussion about VNFD • Candidate acceleration related information elements which must be defined in VNFD, i. e. , which must be known by VNF. • Acceleration resources • Acceleration function(mandatory): Indicates the type of acceleration function, like crypto, DPI, transcoding, etc. • KPI(mandatory): Indicates the key performance indicators, like throughput(Gbps), concurrent tunnels number, etc. • Location of acceleration resource(mandatory or optional): indicates the location of acceleration resource, like CPU Instruction based, Integrated CPU, network attached, etc. • Type of acceleration resource(optional or mandatory): indicates the implementation type of accelerators, like Look-aside accelerator, In-line, fast path, etc. • What do other information elements about acceleration have to be defined in VNFD?
Proposal for collaboration • ETSI NFV will define the structure of the information elements exchanged between MANO entities (i. e. NFVO, VNFM and VIM) • DPACC follows the information model defined by ETSI NFV in subsequent implementations (NFVi and VIM) and keeps a shared registry for well-known acc resource/capability with defined functionality and interaction behavior – e. g. if one registers "IPSec offloading" as an acceleration capability in dpacc's registry, one can specify the basic functionality of this general capability and what are the implemention-independent APIs to use from the application to make use of this capability • (any other ideas? )
Thanks!
China Mobile Smallcell GW Scenarioes NS 1=small cell vnf 1=Smallcell. GW CP 1 CP 2 PNF 1 small cell CP 1 VNFC 1 =Sec. GW (VDU 1) CP 4 NS 2=epc VNFC 2 =Sig. GW (VDU 2) CP 2 vnf 3 SGW CP 1 CP 3 CP 1 vnf 2 MME CP 2 CP 3 CP 1 CP 2 VNFC 3 =HA server (VDU 3) 1. Green line:smallcell to security GW vlan(e-tree,1 M); 2. Red line:HA server helps to realize the HA of VNFC, v. Lan(e-line,1 G) 3. Orange line: GTP-C protocol to handle signaling, vlan (e-line,5 G) ; 4. Black line:GTP-C signal handling to EPC(e-line,5 G); 5. Yellow line:GTP-U handling to EPC(e-line,5 G) Note: 1. VNFC 1 and VNFC 2 have the high availability mechanism that they will deploy two active VM with state synchronization 2. HA Server is a VNFC of Smallcell GW which is used to realize the HA. VNFC 3, two active VNFC 2 VMs and two active VNFC 1 VMS are in the same virtual network.
Smallcell GW NSD/VNFD/PNFD/VLD Example (phase 1) NSD = { ID=NS 1, VNFD={Smallcell. GW}, PNFD={Smallcell} VNFFGD={fg 1}, VLD={Small. Cell-Se. GW, Smallcell. GW-NS 1 –C, Smallcell. GW-NS 1 –U }, vnf_dependency= {}, service_deployment_flavor={ { flavor_key=5 Gbps, { constituent_vnf= { vnf_reference=Smallcell. GW, capability=100%, number_of_instances=1 } } connection_point={ {ID=CP 1, type=IP} {ID=CP 2, type=IP} } PNFD = { ID=Small. Cell, connection_point={ {ID=CP 1, type=IPSec} } } VNFD = { ID=Smallcell. GW VLD={HA Control, } VDU={ ID=Sec. GW VNFC={Sec. GW} high_availability= Active platform_acceleration_device=Crypto PCIe Device Pass-through=yes PCIe Device Assignment Affinity=yes virtual_network_bandwidth_resource=5 Gbps cpu_core_reservation=2 virtual_memory_resource_element=128 G } VDU={ ID=Sig. GW VNFC={Sig. GW} high_availability= Active virtual_network_bandwidth_resource=5 Gbps cpu_core_reservation=2 virtual_memory_resource_element=128 G } VDU={ ID=HA Server VNFC={HA Server} high_availability= Active virtual_network_bandwidth_resource=1 Gbps } } VLD = { ID=Small. Cell-Smallcell. GW connectivity_type=e-tree, number_of_endpoints=5001, connection={ Small. Cell. CP[1 -5000], Smallcell. GW. CP 1 }, root_requirement=5 Gbps, leaf_requirement=1 Mbps } } VLD = { ID=Smallcell. GW-NS 1 -C connectivity_type=e-line, number_of_endpoints=2, connection={ Smallcell. GW. CP 2, NS 1. CP 1 } root_requirement=5 Gbps, } VLD = { ID=HA control connectivity_type=e-lan, number_of_endpoints=3, connection={ Sig. GW. CP 3, Sec. GW. CP 4, HA server. CP 1 } root_requirement=1 Gbps, leaf_requirement=1 Gbps } }
Smallcell GW VNFC/VLD/NFPD/VNFFGD Example (phase 1) VNFC = { ID=Sig. GW, connection_point={ {ID=CP 1, type=IP} {ID=CP 2, type=IP} {ID=CP 3, type=IP} } } VNFC = { ID=HA Server connection_point={ {ID=CP 1, type=IP} } } VLD = { ID=Smallcell. GW-NS 1 -U connectivity_type=e-line, number_of_endpoints=2, connection={ Smallcell. GW. CP 3, NS 1. CP 3 } root_requirement=5 Gbps, } VLD = { ID=Sec. GW-HA connectivity_type=e-line, number_of_endpoints=2, connection={ Sec. GW. CP 4, } root_requirement=1 Gbps, } VNFC = { ID=Sec. GW, connection_point={ {ID=CP 1, type=IPsec} {ID=CP 2, type=IP} {ID=CP 3, type=IP} {ID=CP 4, type=IP} } } VLD = { ID=Sec. GW-Smallcell. GW connectivity_type=e-lan, number_of_endpoints=2, connection={ Sec. GW. CP 3, Smallcell. GW. CP 3 } root_requirement=5 Gbps, leaf_requirement=5 Gbps } } VLD = { ID=Sec. GW-Sig. GW connectivity_type=e-line, number_of_endpoints=2, connection={ Sec. GW. CP 2, Sig. GW. CP 1 } root_requirement=5 Gbps, } VLD = { ID=Sig. GW-Smallcell. GW connectivity_type=e-lan, number_of_endpoints=2, connection={ Sig. GW. CP 2, Smallcell. GW. CP 2 } root_requirement=5 Gbps, leaf_requirement=5 Gbps } } NFPD = { ID=NFP 1 -C, connection={ {Small. Cell. CP 1, 1}, {Small. Cell. GW. CP 1, , 2}, {Sec. GW. CP 1, 3}, {Sec. GW. CP 2, 4} {Sig. GW. CP 1, 5} {Sig. GW. CP 2, 6} {Small. Cell. GW. CP 2, , 7}, {NS 1. CP 1, 8} } } NFPD = { ID=NFP 2 -U, connection={ {Small. Cell. CP 1, 1}, {Small. Cell. GW. CP 1, , 2}, {Sec. GW. CP 1, 3}, {Sec. GW. CP 3, 4} {Small. Cell. GW. CP 3, , 5}, {NS 1. CP 2, 6} } VNFFGD = { ID=fg 1, constituent_vnfs={Smallcell. GW}, number_of_end_points=2, number_of_virtual_links=8, connection_point={ Small. Cell. CP[1 -5000], Smallcell. GW. CP 1 Smallcell. GW. CP 2 Smallcell. GW. CP 3 Sig. GW. CP 1, Sig. GW. CP 2, Sig. GW. CP 3, Sec. GW. CP 1, Sec. GW. CP 2, Sec. GW. CP 3, Sec. GW. CP 4, HA Server. CP 1 NS 1. CP 2 } network_forwarding_path={NFP 1 -C, NFP 2 -U} } VLD = { ID=Sig. GW-HA connectivity_type=e-line, number_of_endpoints=2, connection={ Sig. GW. CP 3, } root_requirement=1 Gbps, }
- Slides: 12