supporting runtime reconfiguration on network processors

18
Supporting Runtime Reconfiguration on Network Processors Kevin Lee Lancaster University [email protected]

Upload: candice-howell

Post on 01-Jan-2016

34 views

Category:

Documents


2 download

DESCRIPTION

Supporting Runtime Reconfiguration on Network Processors. Kevin Lee Lancaster University [email protected]. Overview. Network Processors Motivation Our Approach Implementation Runtime Reconfiguration Support Future Work Summary/Questions. 1. Network Processors. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Supporting Runtime Reconfiguration on Network Processors

Supporting Runtime Reconfiguration on Network Processors

Kevin Lee

Lancaster University

[email protected]

Page 2: Supporting Runtime Reconfiguration on Network Processors

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

Page 3: Supporting Runtime Reconfiguration on Network Processors

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

Page 4: Supporting Runtime Reconfiguration on Network 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

Page 5: Supporting Runtime Reconfiguration on Network Processors

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

Page 6: Supporting Runtime Reconfiguration on Network Processors

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

Page 7: Supporting Runtime Reconfiguration on Network Processors

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

Page 8: Supporting Runtime Reconfiguration on Network Processors

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

Page 9: Supporting Runtime Reconfiguration on Network Processors

Kevin Lee AINA 2006 20th April

3. OpenCOM cont.

Page 10: Supporting Runtime Reconfiguration on Network Processors

Kevin Lee AINA 2006 20th April

3. In Practice

Page 11: Supporting Runtime Reconfiguration on Network Processors

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

Page 12: Supporting Runtime Reconfiguration on Network Processors

Kevin Lee AINA 2006 20th April

4. OpenCOM Implementationon the Intel IXP2400

Source Code Diagram

Page 13: Supporting Runtime Reconfiguration on Network Processors

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

Page 14: Supporting Runtime Reconfiguration on Network Processors

Kevin Lee AINA 2006 20th April

5. Runtime Reconfiguration on the IXP2400

1: Dynamically Introduced Transcoding Service for the IXP2400

Page 15: Supporting Runtime Reconfiguration on Network Processors

Kevin Lee AINA 2006 20th April

5. Runtime Reconfiguration on the IXP2400

2: Load Balancing of the Microengines on the IXP2400

Page 16: Supporting Runtime Reconfiguration on Network Processors

Kevin Lee AINA 2006 20th April

5. Performance

Reconfiguration takes 60ms per Microengine Throughput and Latency Measurements of

OpenCOM components on the IXP2400 Microengines

Page 17: Supporting Runtime Reconfiguration on Network Processors

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

Page 18: Supporting Runtime Reconfiguration on Network Processors

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: [email protected] Questions???