Transcript Document

Heavy and lightweight dynamic network services: challenges and experiments for designing intelligent solutions in evolvable next generation networks Laurent Lefèvre INRIA / LIP (UMR CNRS, INRIA, ENS, UCB)

[email protected]

WAGEN Workshop - Jiuzhaigou - April 8, 2005 -

Challenges  Active networks : programmable network equipments which allow deployment of heterogeneous services  in data plan (heavy services)  In control / management plans (lightweight services)  How to urbanize networks with autonomous dynamic services ?

 How to efficiently manage such heterogeneous services for providing efficient solutions inside the network ?

Patterns  Robustness  Best effort services  Garanted services  Personnalized   Generic services Dedicated services (application, user, stream…)  TTL  One-usage service  Persistant services

Roadmap  Urbanization of dynamic network services  Lightweight network functionalities  Cluster-based network equipments  Load balancing strategies for heterogeneous services

Where to map dynamic autonomous network services?

 Urbanization is an open problem  Mixes networking aspects with service composition  Access networks  Peering points  Front end of clusters  LAN ?

Service on data path  Proxy mode  Dynamic deployment

Replicated network service  Same service replicated on several network equipments  On the fly deployment with data streams

Distributed network autonomous service  Service composition  Allow pipelined approach  Dealing with fault tolerance / load balancing

Unique service out of the data path  Dedicated equipment (legacy solution)  Requires intelligent forwarding

Distributed service outside the data path  Requires sensors to evaluate cost of multiple fwd operations

 Proposing a generic active environment able to handle heterogeneous services :  The Tamanoir project  Supporting requirements of current networks (Gbits)

Distributed resources Execution environment Kernel Tamanoir Architecture : adapted for heterogeneous services NIC (Programmable)  Resources consuming services : distributed storage, streams adaptation, on the fly compression, cryptography…  Services deployment / linked with middleware : reliable multicast…  Middle services : content based routing, QoS...

 Light network services : packet marking, QoS…

Active service deployment  From application / middleware  From TAN  From network service Broker

Tamanoir Active Node (TAN)

Execution environment

Performance evaluation of middle services

Solution / Problem  Simple Java service in user space can support up to 450 Mbits ! 

(we eat the ants ! )

 A stand-alone active node is not enough to fully support and apply active service to Gbit streams   Need to put lightweight network functionalities close to the network  Explore kernel services

Distributed resources Execution environment Kernel NIC (Programmable) Kernel support for active node

Kernel Support • Module inside Linux kernel : using netfilter • Filtering ANEP packets • Allowing packet to cross the active node through the kernel space • Efficiently put ANEP packets inside the service in user space

1

Netfilter  Protocols define hooks on the packet way inside IP stack  Associate hooks and personalized applications /services

NF_IP_FORWARD NF_IP_POST_ROUTING

Routing 3 4 Routing 2

NF_IP_LOCAL_IN

Local process 5

NF_IP_LOCAL_OUT

Communication between active service and OS module   A Tamanoir active service : a java part + kernel module Message control / parameters

Performance evaluation

Solution / Problem  Kernel active services greatly reduce latency for transient packets   Only applicable to lightweight network functionalities (state, CPU consumption..)   Reduce portability of active services  What about CPU consuming services ?

Distributed resources Execution environment Kernel NIC (Programmable) Cluster-based active node

Tamanoir architecture : on a cluster

Pushing performances  Improving performances of active nodes : using clustering technology  Linux Virtual Server  Strategies :  Round robin  Least connected

Performance evaluation

Solution / Problem  We support a full Gbit streams with a small cluster based Tamanoir active node !   We need more resources for CPU consuming active services  How to balance workload between internal nodes of an active node without knowing length of streams and needed services ?

Feedback stream based load balancing policy (FBSb)  Needs dynamic strategies for heterogeneous deployment  FBSb  Front-end machine with updated “weight” table (CPU and memory consumption of back-end machines)  Back-end machines with feedback agents and sensors

Experiments  Heavy service (3-DES encryption) : this service makes an intensive use of CPU (1 stream calling this service saturates a CPU, in our test implementation);  Medium service (stateful traffic analysis) : this service uses the CPU in a less intensive way, but its impact is not transparent (3-4 streams calling this service saturate a CPU, in our test implementation).

Experiments  200: composed by 1 stream calling a service of encryption and 11 streams calling for a traffic analysis with different delays of arrival of 1 second (201), 2 seconds (202) and 5 seconds (205).  300: composed by 4 streams calling a service of encryption and 8 streams calling for traffic analysis. with different delays of arrival of 0 second (300), 1 second (301) and 2 seconds (302).

Experiments : FBSb, RR, LC

FBSb FBSb FBSb RR RR RR LC LC LC

Test 201 202 205 300 301 302 MAX AVG MIN MAX AVG MIN MAX AVG MIN 38.2 20.2 15.9 43.2 20.1 15.5 38.5 20.3 15.4

33.3 20 15.7 37.4 20.1 15.4 36.4 20.1 15.4

32.9 19.4 15.5 38.8 19.6 15.4 37.3 19.6 15.4

52 24.1 16.1 93.6 26 15.4 64.6 25.5 16.3

50.8 24.6 15.4 90.3 26.9 16.1 64 25.6 15.4

50.9 23.2 15.3 92.9 25.5 15.9 57.8 25 15.6

 RR and LC : efficient if homogeneous dynamic services  FBSb : efficient when heterogeneous deployment

Conclusions and future works   We propose a gigabit supporting software based active node using kernel module deployment and cluster Providing load balancing support inside cluster-based active equipments is a mandatory aspect for performances   Research could also benefit for network processors technology / programmable network interface cards Deployment of large scale active/programmable platform based on emulation : French Grid5000 project

http://www.ens-lyon.fr/LIP/RESO/Software/Tamanoir