lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

network-function-virtualization.md (1160B)


      1 +++
      2 title = 'Network function virtualization'
      3 +++
      4 ## Network function virtualization
      5 Virtualise network functions on top of commodity servers.
      6 
      7 Benefits:
      8 - hardware sharing across multiple functions
      9 - more flexible management using software
     10 - cost saving via reduced hardware
     11 - safe to try new features on an operational network/platform
     12 
     13 Click: modular architecture or programming network functions
     14 - element: class, input port, output ports, configuration string
     15 - connection and configuration
     16   - connection: three types of ports (push, pull, agnostic)
     17   - push/pull connection constraints:
     18     - connection must have same type on the two ends
     19     - port must only have one connection
     20     - element must not have different types on its input/output ports if the element processes packets immediately
     21 
     22 Achieving high performance
     23 - NUMA architecture: non-uniform memory access (processor can access its own local memory faster than non-local memory)
     24   - each network port is accessed by single core
     25   - each packet is handled by a single core
     26 - multi-queue NICs, allocate one core per queue
     27 - batching: poll multiple packets from NIC instead of one at a time