Post on 01-Jan-2016
description
Supporting Runtime Reconfiguration on Network Processors
Kevin Lee
Lancaster University
leek@comp.lancs.ac.uk
Kevin Lee AINA 2006 20th April
Overview
1. Network Processors
2. Motivation
3. Our Approach
4. Implementation
5. Runtime Reconfiguration Support
6. Future Work
7. Summary/Questions
Kevin Lee AINA 2006 20th April
1. Network Processors
Designed to fill a gap in network technology Highly programmable Gigabit speed-routing Specialised packet processors
Kevin Lee AINA 2006 20th April
1. The Intel IXP2400
Our Target Platform
Main points:•MicroEngines•General Purpose CPU•Multiple memory types•Internal gigabit bus•Programmable Hardware components•Gigabit Ethernet ports
Kevin Lee AINA 2006 20th April
2. Motivation
Network Processors are inherently capable of Runtime Reconfiguration
Lack of Runtime Reconfiguration support in Network Processor Software Support Active Networks Software Updates Supporting unforeseen events Load-balancing Reconfiguration of forwarding functions
Kevin Lee AINA 2006 20th April
3. The Approach
Using a Component Model: OpenCOM fine-grained and language-independent small run-time (~27K); simple and efficient components are primitive units of encapsulation and
deployment deployed into capsules (for “capsule”, think container rather than active packet!)
emphasises third-party composition and dynamic reconfiguration
Support for Reflection using meta interfaces Architecture, Interception, Resources, Interface
Kevin Lee AINA 2006 20th April
3. The Approach cont…
OpenCOM enhancements for NPs Pluggable loaders
To allow code to be loaded on third party processors Pluggable binders…
To allow code to be bound within and between different processors
Support for communication channels To allow proxy loading and binding
Kevin Lee AINA 2006 20th April
3. OpenCOM
Kernel API Implements the basic functionalities to support the
creation and connection of OpenCOM components
Loader API Allows use of loader plug-ins to load component
types within specific caplets Binder API
Allows use of binder plug-ins to bind specific component types together
Kevin Lee AINA 2006 20th April
3. OpenCOM cont.
Kevin Lee AINA 2006 20th April
3. In Practice
Kevin Lee AINA 2006 20th April
4. OpenCOM Implementationon the Intel IXP2400
Central Runtime on XScale Load/Bind component natively Load plug-ins for third party Loading/Binding
Microengine Loader Intra-Microengine Binder Inter-Microengine Binder PC-ARM Comms channel
To allow loading/binding from PC/network to IXP
Kevin Lee AINA 2006 20th April
4. OpenCOM Implementationon the Intel IXP2400
Source Code Diagram
Kevin Lee AINA 2006 20th April
5. Runtime Reconfiguration on the IXP2400 To perform a reconfiguration
Destroy a binding Load and instantiate a new component Bind the components together
Implementation complexity hidden from programmer OpenCOM handles pausing of the packet flow Halting of the Microengines Control store is patched Microengines restarted Packet flow resumed
Kevin Lee AINA 2006 20th April
5. Runtime Reconfiguration on the IXP2400
1: Dynamically Introduced Transcoding Service for the IXP2400
Kevin Lee AINA 2006 20th April
5. Runtime Reconfiguration on the IXP2400
2: Load Balancing of the Microengines on the IXP2400
Kevin Lee AINA 2006 20th April
5. Performance
Reconfiguration takes 60ms per Microengine Throughput and Latency Measurements of
OpenCOM components on the IXP2400 Microengines
Kevin Lee AINA 2006 20th April
6. Future Work
Further IXP2400 Implementation Componentise co-processors and network ports
Loaders Support these devices using OpenCOM runtime
Binders Between these components and microengine components
Implementation on other platforms Current implementations IXP1200/IXP2400 Further platforms with different architecture To prove generality of the approach
Kevin Lee AINA 2006 20th April
Summary
Network Processors are capable of supporting runtime reconfiguration
Need for software support to enable this OpenCOM and extensions provides a
potential solution Some overhead in providing this support Contact for further info: leek@comp.lancs.ac.uk Questions???