Introduzione ai Network Processors (Intel IXP2400)
Docenti: Federico Rossi, Francesco Lamonica
Introduzione Tecnologica
* Evoluzione storica degli apparati di rete
* La soluzione Network Processor: motivazioni e obiettivi
* Confronto architetturale tra alcune soluzioni proposte dai manifatturieri più importanti: IBM PowerNP, Agere PayloadPlus, Motorola’s C-Port, EzChip NP-1
La soluzione Intel
* La famiglia di Network Processor Intel IXP2xxx: caratteristiche dell’architettura hardware
* Analisi della scheda di sviluppo Radisys ENP-2611 (IXP2400)
* Ambiente di sviluppo: Intel IXA Portability Framework, il Developer Workbench
La programmazione
* Cenni sulla programmazione concorrente
* Guida alla programmazione con il microcode Assembler: comandi, segnali, gestione delle memorie e dei registri, gestione del multi-threading, passaggi di compilazione
Esercitazioni pratiche
* Applicazione “Hello world”
* Analisi del codice di static forwarding
* Esercitazioni con modifiche del codice con simulazioni e valutazioni prestazionali tramite il tool Developer Workbench
* Tecniche di ottimizzazione del codice
Testi di riferimento:
Panos C. Lekkas, Network Processors: Architectures, Protocols and Platforms, Ed. McGraw-Hill Professional, 2003
Douglas E.Comer, Network Systems Design using Network Processors (IXP2xxx version), Ed. Prentice Hall, 2005
Erik J.Johnson & Aaron R.Kunze, IXP2400/2800 Programming, Ed. Intel Press, 2003
Per ulteriori informazioni sulle date e sui costi del corso inviare una mail a formazione@netresults.it
Francesco Lamonica è collaboratore di ricerca del gruppo "Reti delle Telecomunicazioni" dell'Università di Pisa. I suoi principali interessi di ricerca sono il MoIP (Multimedia over IP) e la sicurezza in ambito informatico.
Federico Rossi è collaboratore di ricerca presso il Dipartimento di Ingegneria dell'Informazione dell'Università di Pisa. I suoi principali interessi di ricerca riguardano l'analisi e sviluppo su piattaforme Network Processor (Intel IXP1200EB e Radisys ENP-2611) con particolare attenzione a problematiche di programmazione parallela e distribuita, gestione della memoria ed embedded OS su tali piattaforme.