View syllabus
PACKET SWITCHING AND PROCESSING ARCHITECTURES
GREGORIO PROCISSI
Academic year2021/22
CourseCOMPUTER SCIENCE AND NETWORKING
Code145II
Credits6
PeriodSemester 2
LanguageEnglish

ModulesAreaTypeHoursTeacher(s)
PACKET SWITCHING AND PROCESSING ARCHITECTURESING-INF/03LEZIONI48
GREGORIO PROCISSI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Lo studente che completerà con successo il corso sarà in grado di dimostrare una solida conoscenza dei meccanismi di commutazione di circuito e di pacchetto e di tecniche di elaborazione veloci ed efficienti per il monitoraggio e le misurazioni ad alta velocità. In particolare, lo studente acquisirà competenze sulle diverse architetture di commutazione e le prestazioni associate. Inoltre, verrà a conoscenza di tecniche rapide basate su strutture dati sia deterministiche che probabilistiche per l'elaborazione in tempo reale di pacchetti Internet direttamente sul posto e alla velocità di linea. Infine, lo studente che completerà con successo il corso, acquisirà conoscenze su P4, una astrazione molto popolare per switch programmabili , e sarà in grado di fornire la propria soluzione sperimentale di commutazione a specifici problemi di commutazione e elaborazione dati.

Knowledge

The student who successfully completes the course will be able to demonstrate a solid knowledge of circuit and packet switching mechanisms, and of fast and efficient processing techniques for high-speed monitoring and measurements. In particular, she or he will acquire skills on the different switching architectures and the associated performance. In addition, she or he will be aware of fast techniques based on both deterministic and probabilistic data structures for real time processing of Internet packets directly in place and at the wire speed. Finally, the student who successfully completes the course will acquire the knowledge on P4, a very popular abstraction for programmable switches, and she/he will be able to provide her/his own experimental solution to specific switching and processing problems.

Modalità di verifica delle conoscenze

Durante l'esame, lo studente sarà valutato per sua capacità di discutere i contenuti principali del corso con competenza, consapevolezza critica e proprietà di espressione.
Metodi:

  • Prova orale finale

Ulteriori informazioni:
L'esame consiste in un colloquio orale sugli argomenti principali del corso. Inoltre, il colloquio include in genere la discussione di un semplice progetto che verrà assegnato durante lo svolgimento del corso.

Assessment criteria of knowledge

During the exam, the student will be assessed on her/his ability in discussing the main course content with competence, critical awareness and property of expression.

Methods:

  • Final oral exam

Further information:
The exam consists of an oral colloquium on the main topics of the course. In addition, the colloquium typically includes the discussion of a simple project that will be assigned during class time.

Capacità

Alla fine del corso, gli studenti saranno in grado di progettare e implementare le proprie soluzioni a problemi pratici di commutazione ed elaborazione dei pacchetti. Questo includerà:
- la capacità di sfruttare strutture e algoritmi per l'elaborazione rapida dei pacchetti;
- la capacità di adottare architetture di commutazione e elaborazione dati adeguate.

Skills

By the end of the course, Students will be able to design and implement their own solutions to practical packet switching and processing problems. This will include:
- the ability to take advantage of structures and algorithms for fast packet processing;
- the ability to adopt suitable switching and processing architectures.

Modalità di verifica delle capacità

La verifica degli skill è ottenuta mediante questionari proposti durante lo svolgimento del corso, e mediante la realizzazioen di un progetto.

 

Assessment criteria of skills

The assessment of the skills is obtained through questionnaires proposed during the course, and through the realization of a project.

Comportamenti

l corso intende avvicinare lo studente verso il tema della gestione della complessità. In particilare, il corso vuole avvicinare lo studente alla comprensione di funzioni che nascono "per invenzione" e si integrano con complessità sempre crescente con altre funzionalità presenti nella rete.

Behaviors

The course aims to bring the student closer to the topic of complexity. Indeed, the course aims to the comprehension of functions that were born "by invention" and are integrated with ever-increasing complexity with other functionalities present in the network.

Modalità di verifica dei comportamenti

La verifica della "modifica" degli atteggiamenti dello studente nei confronti della complessità è ottenuta dall'osservazione qualitativa (interviste, colloqui).

 

Assessment criteria of behaviors

The verification of the "modification" of the student's attitudes towards complexity is obtained by qualitative observation (questions, interviews).

Prerequisiti (conoscenze iniziali)

Probabilità di base e sistemi a code

Programmazione C / C ++

Prerequisites

Basic probability and queueing systems

C/C++ programming

Indicazioni metodologiche

Modalità di svolgimento delle lezioni: faccia a faccia

Attività didattiche:

frequenza delle lezioni
partecipazione alle discussioni
studio individuale
Frequenza: consigliata

Metodi di insegnamento:lezioni
svolgimento di progetto

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • participation in discussions
  • individual study

Attendance: Advised

Teaching methods:

  • Lectures
  • project work
Programma (contenuti dell'insegnamento)

Il corso presenta le principali architetture di commutazione di rete, con particolare attenzione alle architetture di commutazione a pacchetto. Dopo una breve introduzione alle nozioni di commutazione a circuito e a pacchetto, il corso affronta i principali schemi di commutazione dei pacchetti analizzandone le prestazioni ed eventuali criticità. Quindi, il corso passa ad affronater i problemi di lookup e classificazione dei pacchetti presentando i principali algoritmi attualmente in uso. Il corso presenta anche P4 per la programmazione di switch hardware e software. Infine, il corso affronta il tema delle misurazioni del traffico e del monitoraggio introducendo le principali tecniche deterministiche e probabilistiche per migliorare le prestazioni sui collegamenti ad alta velocità.

Più in dettaglio, il corso copre:

  • Nozioni di base sui paradigmi di commutazione (commutazione circuito / pacchetto)
  • Switching fabrics
  • Architetture a commutazione di pacchetto
  • Lookup e classificazione dei pacchetti
  • Strutture dati efficienti per l'elaborazione dei pacchetti
  • Misurazioni di traffico e monitoraggio
  • P4 e switch programmabili
Syllabus

The course presents the main network switching architectures, with particular focus on packet switching architectures. After a brief introduction to the notions of circuit and packet switching, the course addresses the main schemes of packet switching together with their performance and possible issues. Then, the course deals with packet lookup and classification by presenting main algorithms currently in use. The course also presents the P4 language for programmable switches. Finally, the course addresses the topic of traffic measurements and monitoring by introducing the main deterministic and probabilistic techniques to improve performance on high-speed links. More in detail, the course covers:

  • Basics on switching paradigms (circuit/packet switching)
  • Switching fabrics
  • Packet switching architectures
  • Packet Lookup and Classification
  • Efficient data structures for packet processing
  • Traffic Measurements and Monitoring
  • The P4 language for programmable switches

 

Bibliografia e materiale didattico

Gli appunti delle lezioni sul contenuto della lezione saranno disponibili per gli studenti iscritti al corso. Tuttavia, una lettura raccomandata include il testo:

[1] George Varghese, "Network Algorithmics", Morgan-Kaufmann, 2005

Sarà inoltre utile consultare il testo:

[2] Michael Mitzenmacher, Eli Upfal, Probability and Computing - Randomized Algorithms and Probabilistic Analysis, Canbridge University Press, 2005

Ulteriore bibliografia sarà indicata durante il corso.

Bibliography

Lecture notes on the class content will be available to the students enrolled in the course. However, a recommended reading includes the book: 

[1] George Varghese, "Network Algorithmics", Morgan-Kaufmann, 2005

Also, students will be addressed to the book:

[2] Michael Mitzenmacher, Eli Upfal, Probability and Computing - Randomized Algorithms and Probabilistic Analysis, Canbridge University Press, 2005

Further bibliography will be indicated during the course.

Indicazioni per non frequentanti

Gli appunti delle lezioni sono disponibili per tutti gli studenti. Il programma d'esame non cambia.

Non-attending students info

Lecture notes are freely available for all students. The exam program does not change. 

Modalità d'esame

L'esame consiste in una prova orale e nella realizzazione di un piccolo progetto.

La prova orale consiste in un colloquio tra lo studente e l'insegnante e affronta gli argomenti del corso. In genere al candidato verrà chiesto di ricavare alcuni dei principali risultati presentati nel corso. Inoltre, l'intervista può includere lo svolgimento di scritto di esercizi.

Il progetto richiede in genere l'implementazione di un piccolo sistema per l'elaborazione / monitoraggio del traffico.

Assessment methods

The exam consists of an oral exam and the implementation of a small project.

The oral test consists of an interview between the student and the teacher and deals with the topics of the course. The candidate will be typically asked to derive some of the main results presented in the course. In addition, the interview may include the solution to written exercises.

The project typically requires the implementation of a small system for traffic processing/monitoring.

Updated: 06/10/2021 10:47