architectural+choice+ innfv+infrastructure · 2017-12-14 · architectural+choice+...
TRANSCRIPT
Architectural Choice in NFV InfrastructureMaximum Flexibility with Optimal Performance and Cost
Joe KidderSenior Systems Architect
Introduction: Motivation and Background
First a story…
2010: Demo, Evaluation, Training Dilemma
Physical Network Device
Training VMImage
Virtualized System Customer’sAvailableServers
VM Image(s)
Training VMImageTraining VM
Image
Demo Evaluation Training
Take to a customer
Deliver to a customer
Demo, Evaluation, Training: Use Cloud
Physical Network DeviceATCA Chassis-‐Based
CustomerDemo…Evaluation…Training…
Vendor-‐ Run demo-‐ Collaboration-‐ Troubleshooting
Telco Cloud: A Possibility?
One of our customers migrated its mobile application server from ATCA to EC2-‐ to address changing business plan and delivery to their customers
Telco Cloud: Cold Water
“I can’t imagine making a network device based on an x86 server…”
“…you always need some specialized network processor or accelerator hardware…”
“…network devices don’t look like servers!”
Former Colleague #2:
“Large central data centers, like public cloud, won’t work…”
“…latency for customers of telco services requires equipment that’s much more local.”
Former Colleague #1:
Telco Cloud: Cold Water
Public Cloud Locality Telco Cloud Locality
#1: Locality, Latency, and Relative Scale
Telco Cloud: Cold Water
#2: Physical Network Devices Don’t Look Like Servers…
Physical Network Devices
Physical Servers
Yes, virtualization is magic… …but it’s relatively direct
When the virtualization boxis a different shape…
SBCWANAccel
NAT
CDN DPI FW
FW BRASWANAccel
SBC
PERtr
The characteristics are less likely to meet expectations
Fast Forward to Now
NFV Arrives
ETSI NFV Architecture (2012) and OPNFV (2014)
ETSI NFVArchitecture
NFV Infrastructure (NFVI): x86 is de facto choice
In the first OPNFV release, Arno, the Compute Hardware is
x86 Architecture
This makes total sense…(with the exception of Oracle and IBM)x86 is the dominant server CPU architecture
What About the Cold Water?
Localitythis will drive scalability; at the very edge, possibly limited resources
-‐> power and cost
SoC (System on Chip)*this drives towards core density, integrated acceleration, innovation-‐> are optimized SoCs necessary to achieve performance and scale?
* SoC implies a balanced cpu and hw approach
Let’s Pause…
…and Make Some Assumptions
Speculative Timeline on Network Functions
x86
PPCMIPSARM N
FV Big Bangx86
NFV Architectural Choice
Traditional Design
x86
ARM
NFV Fast/Slow
Path
Evolved De
sign
X86/ARM
Physical Network FunctionsTraditional Design
VNFsTraditional Design
VNFsTraditional DesignDifferentiation
viaSoCs
VNFsEvolved DesignCPU Slow PathSilicon Fast Path
timeNow
Graphing My Perceptions of Characteristics
Physical Network FunctionsTraditional Design
VNFsTraditional Design
VNFsTraditional DesignDifferentiation
On SoCs
VNFsEvolved DesignCPU Slow PathSilicon Fast Path
time
Flexibility/Service Agility
Performance
ManagementControl
ComplexitySteering workloads to a heterogeneous, non-‐vanilla cloud may be complicated
Physical network functions that are not software-‐defined are not as flexible as “cloud”.
Traditional network device designs will not perform as well on vanilla servers.
bad
good
good
bad
good
bad
Back to Reality…
…How are things going?
How Are Things Going?
• ARMv8, 64-‐bit Servers with Virtualization, Arrive• 2014:
• Applied Micro – xGene• 2015:
• AMD Hierofalcon/Seattle• Cavium ThunderX• Freescale LS2• …and others – Qualcomm, EZChip, etc.
• Multi-‐Vendor PoC: OPNFV on ARM• May, 2015: Layer123
• OpenStack on Applied Micro and AMD• August, 2015: ARM Event
• OpenStack/OpenDaylight• AMD, Freescale, Cavium, Applied Micro• L7 FW/QOS VNF (Qosmos) in service chain
ARM in OPNFV: Enea and Partners Demo
Cavium ThunderX48 cores
Accelerators, Enet Fabric
Linux:• Ubuntu • Enea Linux ✓
Freescale LS20858 cores
Accelerators, HW vSwitch
Linux:• Enea Linux ✓
AMD Hierofalcon8 cores
Linux:• Fedora21• Ubuntu • Enea Linux ✓
Applied Micro X-‐Gene8 cores
Linux:• Fedora21/Centos 7• Ubuntu ✓• OpenSUSE
Open Daylight (Lithium)KVM OVS
OpenStack (Juno)OpenStack (Juno)
KVM OVS
OpenStack (Juno)
KVM OVS
OpenStack (Juno)
Linux: Enea Linux ✓
Qosmos DPI iXEngine
Qosmos L7 FW/QOS App
VNF – L7 FW/QOS vCPE
Linux: Enea Linux ✓
Lighttpd Web Server
VLC Video Server
VNF – Content Server
Linux: Enea Linux ✓
VNF – Simple Forwarding
NFVI (NFV Infrastructure)
VNFs
VIM (Virtual Infra Mgr)
Simple Orchestrator
OpenStack REST APIs
Internal OpenStackOVSDB
R L7
V
W
“create service chain…”
Gaps
§ UEFI/EFI minor issue§ When launching a combined image (kernel and rootfs) from OpenStack, somethingneeds to unpack the image into its constituent parts.
§ This is UEFI, and it’s analogous (to my high level view) to the typical x86 BIOS.§ We worked around this by loading images into Glance as Kernel + Image (referring to kernel)§ We eventually identified an issue with moving the kernel from the combined image into memory§ …this will be up-‐streamed if it hasn’t already
§ “Graphics Driver”§ If you want to be able to click on the “console” button from Horizon Dashboard, you need a video driver.§ The default driver is an x86 binary called a cirrus VGA driver. It doesn’t exist on ARM.§ We addressed by using a ptty for console…but eventually made a temporary patch that catches the OpenStack libvirt command and changes the video driver from cirrus to just vga.
§ The right thing to do is update OpenStack to allow configuration of this driver (or decipher how to do that).§ We moved forward to Lithium release of ODL. This includes an x86 binary of a DB supplied by Google
§ We had to build an ARM64 version of this in order to run Lithium on ARM.
Other than minor porting issues, the biggest issue is:The community is young
What’s Next? DPACC (Data Path Acceleration)
Specialized Data Path HW
Accelerators or NICs
Use APIs to accessAccelerationhardware
Schedule images on appropriate hardware
Define hardwarerequirements for
particular functions
What’s Next? Pharos Lab and ARM-‐Band
OPNFV Pharos-‐Compliant
LabOn ARM Servers
OPNFV Pharos-‐Compliant
LabOn ARM Servers
OPNFV Pharos-‐Compliant
LabOn ARM Servers
…
OPNFVBrahmaputra Release(Target: Feb 2016)ARM-‐Band
Upstreamto fill gaps
others
Develop and Validate
Thank you!