Chen Wei China Mobile chenweiyj@chinamobile.com 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 (2014Q4): 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. VDU can include multiple VNFC. VDU: virtual deployment unit VNFC: virtual network function component
Important Descriptors about acceleration in ETSI Phase1 VDU information elements related to hypervisors VDU information elements related to PCIe
Important Descriptors about acceleration in ETSI Phase1(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 NS1=small cell vnf1=SmallcellGW NS2=epc VNFC2 =SigGW (VDU2) CP1 vnf2 MME CP2 CP1 CP2 CP2 CP1 PNF1 small cell VNFC1 =SecGW (VDU1) CP1 CP3 CP3 CP2 CP3 CP2 vnf3 SGW CP1 CP1 VNFC3 =HA server (VDU3) CP1 CP4 Green line:smallcell to security GW vlan(e-tree,1M); Red line:HA server helps to realize the HA of VNFC, vLan(e-line,1G) Orange line: GTP-C protocol to handle signaling,vlan (e-line,5G) ; Black line:GTP-C signal handling to EPC(e-line,5G); Yellow line:GTP-U handling to EPC(e-line,5G) Note: VNFC1 and VNFC2 have the high availability mechanism that they will deploy two active VM with state synchronization HA Server is a VNFC of Smallcell GW which is used to realize the HA. VNFC3, two active VNFC2 VMs and two active VNFC1 VMS are in the same virtual network.
Smallcell GW NSD/VNFD/PNFD/VLD Example (phase 1) ID=SmallCell-SmallcellGW connectivity_type=e-tree, number_of_endpoints=5001, connection={ SmallCell.CP[1-5000], SmallcellGW.CP1 }, root_requirement=5Gbps, leaf_requirement=1Mbps } NSD = { ID=NS1, VNFD={SmallcellGW}, PNFD={Smallcell} VNFFGD={fg1}, VLD={SmallCell-SeGW, SmallcellGW-NS1 –C, SmallcellGW-NS1 –U }, vnf_dependency= {}, service_deployment_flavor={ { flavor_key=5Gbps, constituent_vnf= vnf_reference=SmallcellGW, capability=100%, number_of_instances=1 } connection_point={ {ID=CP1, type=IP} {ID=CP2, type=IP} VNFD = { ID=SmallcellGW VLD={HA Control, } VDU={ ID=SecGW VNFC={SecGW} high_availability= ActiveActive platform_acceleration_device=Crypto PCIe Device Pass-through=yes PCIe Device Assignment Affinity=yes virtual_network_bandwidth_resource=5Gbps cpu_core_reservation=2 virtual_memory_resource_element=128G } ID=SigGW VNFC={SigGW} ID=HA Server VNFC={HA Server} virtual_network_bandwidth_resource=1Gbps VLD = { ID=SmallcellGW-NS1-C connectivity_type=e-line, number_of_endpoints=2, connection={ SmallcellGW.CP2, NS1.CP1 } root_requirement=5Gbps, VLD = { ID=HA control connectivity_type=e-lan, number_of_endpoints=3, connection={ SigGW.CP3, SecGW.CP4, HA server.CP1 } root_requirement=1Gbps, leaf_requirement=1Gbps PNFD = { ID=SmallCell, connection_point={ {ID=CP1, type=IPSec} }
Smallcell GW VNFC/VLD/NFPD/VNFFGD Example (phase 1) ID=fg1, constituent_vnfs={SmallcellGW}, number_of_end_points=2, number_of_virtual_links=8, connection_point={ SmallCell.CP[1-5000], SmallcellGW.CP1 SmallcellGW.CP2 SmallcellGW.CP3 SigGW.CP1, SigGW.CP2, SigGW.CP3, SecGW.CP1, SecGW.CP2, SecGW.CP3, SecGW.CP4, HA Server.CP1 NS1.CP1 NS1.CP2 } network_forwarding_path={NFP1-C, NFP2-U} VNFC = { ID=SigGW, connection_point={ {ID=CP1, type=IP} {ID=CP2, type=IP} {ID=CP3, type=IP} } VNFC = { ID=SecGW, connection_point={ {ID=CP1, type=IPsec} {ID=CP2, type=IP} {ID=CP3, type=IP} {ID=CP4, type=IP} } VLD = { ID=SigGW-SmallcellGW connectivity_type=e-lan, number_of_endpoints=2, connection={ SigGW.CP2, SmallcellGW.CP2 } root_requirement=5Gbps, leaf_requirement=5Gbps VNFC = { ID=HA Server connection_point={ {ID=CP1, type=IP} } VLD = { ID=SecGW-SmallcellGW connectivity_type=e-lan, number_of_endpoints=2, connection={ SecGW.CP3, SmallcellGW.CP3 } root_requirement=5Gbps, leaf_requirement=5Gbps NFPD = { ID=NFP1-C, connection={ {SmallCell.CP1, 1}, {SmallCellGW.CP1, , 2}, {SecGW.CP1, 3}, {SecGW.CP2, 4} {SigGW.CP1, 5} {SigGW.CP2, 6} {SmallCellGW.CP2, , 7}, {NS1.CP1,8} } VLD = { ID=SmallcellGW-NS1-U connectivity_type=e-line, number_of_endpoints=2, connection={ SmallcellGW.CP3, NS1.CP3 } root_requirement=5Gbps, VLD = { ID=SecGW-SigGW connectivity_type=e-line, number_of_endpoints=2, connection={ SecGW.CP2, SigGW.CP1 } root_requirement=5Gbps, VLD = { ID=SecGW-HA connectivity_type=e-line, number_of_endpoints=2, connection={ SecGW.CP4, } root_requirement=1Gbps, NFPD = { ID=NFP2-U, connection={ {SmallCell.CP1, 1}, {SmallCellGW.CP1, , 2}, {SecGW.CP1, 3}, {SecGW.CP3, 4} {SmallCellGW.CP3, , 5}, {NS1.CP2,6} } VLD = { ID=SigGW-HA connectivity_type=e-line, number_of_endpoints=2, connection={ SigGW.CP3, } root_requirement=1Gbps,