1 / 18

Supporting Runtime Reconfiguration on Network Processors

Supporting Runtime Reconfiguration on Network Processors. Kevin Lee Lancaster University leek@comp.lancs.ac.uk. Overview. Network Processors Motivation Our Approach Implementation Runtime Reconfiguration Support Future Work Summary/Questions. 1. Network Processors.

Download Presentation

Supporting Runtime Reconfiguration on Network Processors

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Overview • Network Processors • Motivation • Our Approach • Implementation • Runtime Reconfiguration Support • Future Work • Summary/Questions Kevin Lee AINA 2006 20th April

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 3. OpenCOM cont. Kevin Lee AINA 2006 20th April

  10. 3. In Practice Kevin Lee AINA 2006 20th April

  11. 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

  12. 4. OpenCOM Implementationon the Intel IXP2400 • Diagram • Source Code Kevin Lee AINA 2006 20th April

  13. 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

  14. 5. Runtime Reconfiguration on the IXP2400 • 1: Dynamically Introduced Transcoding Service for the IXP2400 Kevin Lee AINA 2006 20th April

  15. 5. Runtime Reconfiguration on the IXP2400 • 2: Load Balancing of the Microengines on the IXP2400 Kevin Lee AINA 2006 20th April

  16. 5. Performance • Reconfiguration takes 60ms per Microengine • Throughput and Latency Measurements of OpenCOM components on the IXP2400 Microengines Kevin Lee AINA 2006 20th April

  17. 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

  18. 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??? Kevin Lee AINA 2006 20th April

More Related