Supporting Runtime Reconfiguration on Network Processors Kevin Lee

  • Slides: 18
Download presentation
Supporting Runtime Reconfiguration on Network Processors Kevin Lee Lancaster University leek@comp. lancs. ac. uk

Supporting Runtime Reconfiguration on Network Processors Kevin Lee Lancaster University leek@comp. lancs. ac. uk

Overview 1. 2. 3. 4. 5. 6. 7. Network Processors Motivation Our Approach Implementation

Overview 1. 2. 3. 4. 5. 6. 7. Network Processors Motivation Our Approach Implementation Runtime Reconfiguration Support Future Work Summary/Questions Kevin Lee AINA 2006 20 th April

1. Network Processors l l Designed to fill a gap in network technology Highly

1. Network Processors l l Designed to fill a gap in network technology Highly programmable Gigabit speed-routing Specialised packet processors Kevin Lee AINA 2006 20 th April

1. The Intel IXP 2400 l Our Target Platform Main points: • Micro. Engines

1. The Intel IXP 2400 l Our Target Platform Main points: • Micro. Engines • General Purpose CPU • Multiple memory types • Internal gigabit bus • Programmable Hardware components • Gigabit Ethernet ports Kevin Lee AINA 2006 20 th April

2. Motivation l l Network Processors are inherently capable of Runtime Reconfiguration Lack of

2. Motivation l l Network Processors are inherently capable of Runtime Reconfiguration Lack of Runtime Reconfiguration support in Network Processor Software l l l Support Active Networks Software Updates Supporting unforeseen events Load-balancing Reconfiguration of forwarding functions Kevin Lee AINA 2006 20 th April

3. The Approach Using a Component Model: Open. COM l fine-grained and language-independent l

3. The Approach Using a Component Model: Open. COM l fine-grained and language-independent l small run-time (~27 K); simple and efficient l components are primitive units of encapsulation and deployment l l deployed into capsules (for “capsule”, think container rather than active packet!) emphasises third-party composition and dynamic reconfiguration Support for Reflection using meta interfaces l Architecture, Interception, Resources, Interface Kevin Lee AINA 2006 20 th April

3. The Approach cont… l Open. COM enhancements for NPs l Pluggable loaders l

3. The Approach cont… l Open. COM enhancements for NPs l Pluggable loaders l l Pluggable binders… l l To allow code to be loaded on third party processors To allow code to be bound within and between different processors Support for communication channels l To allow proxy loading and binding Kevin Lee AINA 2006 20 th April

3. Open. COM l Kernel API l l Loader API l l Implements the

3. Open. COM l Kernel API l l Loader API l l Implements the basic functionalities to support the creation and connection of Open. COM components Allows use of loader plug-ins to load component types within specific caplets Binder API l Allows use of binder plug-ins to bind specific component types together Kevin Lee AINA 2006 20 th April

3. Open. COM cont. Kevin Lee AINA 2006 20 th April

3. Open. COM cont. Kevin Lee AINA 2006 20 th April

3. In Practice Kevin Lee AINA 2006 20 th April

3. In Practice Kevin Lee AINA 2006 20 th April

4. Open. COM Implementation on the Intel IXP 2400 l Central Runtime on XScale

4. Open. COM Implementation on the Intel IXP 2400 l Central Runtime on XScale l l l Load/Bind component natively Load plug-ins for third party Loading/Binding Microengine Loader Intra-Microengine Binder Inter-Microengine Binder PC-ARM Comms channel l To allow loading/binding from PC/network to IXP Kevin Lee AINA 2006 20 th April

4. Open. COM Implementation on the Intel IXP 2400 l Source Code l Kevin

4. Open. COM Implementation on the Intel IXP 2400 l Source Code l Kevin Lee AINA 2006 20 th April Diagram

5. Runtime Reconfiguration on the IXP 2400 l To perform a reconfiguration l l

5. Runtime Reconfiguration on the IXP 2400 l To perform a reconfiguration l l Destroy a binding Load and instantiate a new component Bind the components together Implementation complexity hidden from programmer l l l Open. COM handles pausing of the packet flow Halting of the Microengines Control store is patched Microengines restarted Packet flow resumed Kevin Lee AINA 2006 20 th April

5. Runtime Reconfiguration on the IXP 2400 l 1: Dynamically Introduced Transcoding Service for

5. Runtime Reconfiguration on the IXP 2400 l 1: Dynamically Introduced Transcoding Service for the IXP 2400 Kevin Lee AINA 2006 20 th April

5. Runtime Reconfiguration on the IXP 2400 l 2: Load Balancing of the Microengines

5. Runtime Reconfiguration on the IXP 2400 l 2: Load Balancing of the Microengines on the IXP 2400 Kevin Lee AINA 2006 20 th April

5. Performance l l Reconfiguration takes 60 ms per Microengine Throughput and Latency Measurements

5. Performance l l Reconfiguration takes 60 ms per Microengine Throughput and Latency Measurements of Open. COM components on the IXP 2400 Microengines Kevin Lee AINA 2006 20 th April

6. Future Work l Further IXP 2400 Implementation l Componentise co-processors and network ports

6. Future Work l Further IXP 2400 Implementation l Componentise co-processors and network ports l Loaders § l Binders § l Support these devices using Open. COM runtime Between these components and microengine components Implementation on other platforms l l l Current implementations IXP 1200/IXP 2400 Further platforms with different architecture To prove generality of the approach Kevin Lee AINA 2006 20 th April

Summary l Network Processors are capable of supporting runtime reconfiguration Need for software support

Summary l Network Processors are capable of supporting runtime reconfiguration Need for software support to enable this Open. COM and extensions provides a potential solution Some overhead in providing this support l Contact for further info: leek@comp. lancs. ac. uk l Questions? ? ? l l l Kevin Lee AINA 2006 20 th April