320 likes | 456 Vues
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) laurent.lefevre@inria.fr WAGEN Workshop - Jiuzhaigou - April 8, 2005 -. Challenges.
E N D
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) laurent.lefevre@inria.fr 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)
Tamanoir Architecture : adapted for heterogeneous services • 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… Distributed resources Execution environment Kernel NIC (Programmable)
Active service deployment • From application / middleware • From TAN • From network service Broker
Tamanoir Active Node (TAN) Execution environment
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 Kernel support for active node Execution environment Kernel NIC (Programmable)
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
Netfilter • Protocols define hooks on the packet way inside IP stack • Associate hooks and personalized applications /services NF_IP_POST_ROUTING NF_IP_FORWARD 3 4 1 Routing Routing Local process 2 5 NF_IP_LOCAL_IN NF_IP_LOCAL_OUT
Communication between active service and OS module • A Tamanoir active service : a java part + kernel module • Message control / parameters
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 Cluster-based active node Execution environment Kernel NIC (Programmable)
Pushing performances • Improving performances of active nodes : using clustering technology • Linux Virtual Server • Strategies : • Round robin • Least connected
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 • 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