PhD 2 nd year panel Kevin lee October 2004 A Generic Programming Model for Network Processors Part Deux
Overview 1.The field 2.Motivation 3.Requirements 4.The Approach 5.Plan for Final Year 6.Timetable
1.The Field: Network Processors Designed to fill a gap in network technology Highly programmable Gigabit speed-routing Specialised packet processors
The IXP1200 Main points: MicroEngines General Purpose CPU Multiple memory types Internal gigabit bus Programmable Hardware components
Cisco PXF EZchip Motorola C-Port NP More Network Processors
1: Current NP software Toolkits for NPs consist of: Assembler/ C if lucky Good simulation/monitoring Deployment – by hand Code managing/replacement – by hand No design portability whatsoever
2.Motivation Need for generic models and frameworks for Network Processors Transferable skills Better Application design Dynamic reconfiguration support in Network Processor Software Support Active Networks Adaptive Security Software Updates Reconfiguration of forwarding functions
3. Requirements Generic Programming Model Uniform Programming Model Consistent abstract model and toolsets Design Portability Runtime Reconfiguration Support Lightweight
4. The Approach 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
The Approach cont… OpenCOM enhancements for IXP pluggable loaders To allow code to be loaded on third party platforms Pluggable binders… To allow code to be binded within and between different platforms
5.Plan for Final Year Programming Model Implementation Component Framework Implementation Evaluation Thesis writeup
Programming Model Implementation (current progress) OpenCOM on the IXP1200
Programming Model Implementation (current progress) Based on IXP1200 OpenCOM on StrongARM --complete Board initialisation and management frameworks ---complete Fine grained Ue component loading Reconfigurable Bridge prototype
Programming Model Implementation (future work on IXP2400) Differences Additional Ingress/Egress engines Gigabit Fiber ports 2 X Banks of MicroEngines (v2) Additional Co-processors More advanced Hash unit + crypto Unit Memory Control unit As well as general improvments
Programming Model Implementation (future work on IXP2400) 1. OpenCOM on IXP2400 Xscale ---complete 2. Further develop enabling tools, idl compiler, deployment etc. (ongoing) 3. Board initialisation and management frameworks (ongoing) 4. Dealing with gigabit characteristics 5. L3 forwarder application scenario 6. Reconfiguration Scenarios with L3 forwarder… application scenarios….
Component Framework Implementation Example CF Video detection and scaling framework Pluggable component codecs Focus on in-band processing whilst maintaining speed
Evaluation 1.Evaluation details Design Portability/Genericity -> different platforms IXP1200 (ARM +UeV1) IXP2400 (XScale + UeV2) PC AGERE/AMCC.. others as paper design.. 2.Reconfiguration -> CF Application scenarios 3.Quantative Performance of model and framework
6.Timetable Discussion…