Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in...

25
Progetto e realizzazione di un kernel Linux per il controllo dinamico degli stimatori di perdita in TCP Chiar.mo Prof. Alberto Bartoli Laureando Myrteza Kertusha

description

Presentazione

Transcript of Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in...

Page 1: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Progetto e realizzazione di un kernel Linux per il controllo dinamico degli stimatori di

perdita in TCP

Chiar.mo Prof. Alberto Bartoli

Laureando Myrteza Kertusha

Page 2: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Indice

• Contesto• Motivazione• Soluzione proposta• Benchmark• Esperimenti• Conclusioni

Page 3: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Indice

• Contesto• Motivazione• Soluzione proposta• Benchmark• Esperimenti• Conclusioni

Page 4: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Contesto ..

• TCP: protocollo affidabile• dati inviati vengono

confermati dal riceventeseg X

seg X + 1

seg X + 2

ACK seg X

ACK seg X + 1

ACK seg X + 2

Mittente Ricevente

RTT

Page 5: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

.. Contesto ..

• Perdita: dati inviati• allo scadere di RTO dati

inviati di nuovo

seg X

seg X + 1

ACK seg X

ACK seg X + 1

Mittente Ricevente

RTT

RTO

seg X + 1

Page 6: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

.. Contesto ..

• Perdita: ack dati• allo scadere di RTO dati

inviati di nuovo

ACK seg X

ACK seg X + 1

Mittente Ricevente

ACK seg X + 1

seg X

seg X + 1

seg X + 1

RTT

RTO

Page 7: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

.. Contesto

• Calcolo RTO importante• RTO eccessivamente bassa• consumo superfluo di risorse

• RTO eccessivamente alta• ritardi eccessivi

Page 8: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Indice

• Contesto• Motivazione• Soluzione proposta• Benchmark• Esperimenti• Conclusioni

Page 9: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Motivazione ..

• Formula calcolo RTO per un uso molto generico• In contesti particolari, formule alternative possono

risultare migliori

• Necessità di poter modificare la formula RTO

Page 10: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

.. Motivazione

• Difficoltà• Formula RTO integrata nel kernel

• Funzionalità mancanti• Formula RTO unica per l’intero sistema• Non è possibile associare una specifica formula

RTO ad una specifica connessione TCP

Page 11: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Indice

• Contesto• Motivazione• Soluzione proposta• Benchmark• Esperimenti• Conclusioni

Page 12: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Soluzione proposta ..

• Infrastruttura per sperimentare formule alternative, anche calibrate su workload specifici

Page 13: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

.. Soluzione proposta

• Implementare la formula RTO nella forma di un modulo kernel

• Associare specifica formula RTO a specifica connessione TCP

• Registrazione dei valori RTO, RTT relativi ad una connessione TCP• ulteriore strumento d’analisi

Page 14: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Formula: utilizzo

• Funzioni modulo kernel• init• release• set_rto

• Aggiungere/rimuovere• insmod/rmmod formula_x.ko

• Ioctl socket• associare una formula ad una connessione

Page 15: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Registrazione RTO, RTT: utilizzo

• Apertura device• Specifica della connessione i cui valori RTO,

RTT registrare• Implementazione callback per il prelievo dei

valori RTO, RTT registrati

Page 16: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Indice

• Contesto• Motivazione• Soluzione proposta• Benchmark• Esperimenti• Conclusioni

Page 17: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Benchmark

• Verificato sperimentalmente che l’impatto sulle prestazioni del kernel dovuto a: • modifiche apportate al kernel• sessione di registrazione

è trascurabile

Page 18: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Indice

• Contesto• Motivazione• Soluzione proposta• Benchmark• Esperimenti• Conclusioni

Page 19: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Esperimenti

• RTOi = (RTTi * α) + (RTTi-1 * β) + (RTTi-2 * γ) + (RTOi-1 * θ)

Ambiente di test

Page 20: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

RTOi = RTTi + (RTTi-1 / 2) + (RTTi-2 / 4) + (RTOi-1 / 2)

Page 21: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

RTOi = RTTi + (RTTi-1 / 4) + (RTTi-2 / 8) + (RTOi-1 / 8)

Page 22: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

RTOi = RTTi + RTTi-1 + (RTTi-2 / 2) + (RTOi-1 / 2)

Page 23: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Indice

• Contesto• Motivazione• Soluzione proposta• Benchmark• Esperimenti• Conclusioni

Page 24: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Conclusione

• Modificare formula calcolo RTO• Associare formula RTO a connessione TCP• Registrazione dei valori RTO, RTT relativi ad

una connessione TCP

Page 25: Progetto e realizzazione di un kernel linux per il controllo dinamico degli stimatori di perdita in tcp

Grazie per l’attenzione

• Domande ?