Sistema di prefetching client-side per traffico Web - Ingegneria del ...
Sistema di prefetching client-side per traffico Web - Ingegneria del ...
Sistema di prefetching client-side per traffico Web - Ingegneria del ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
mercoledì 10 giugno 2009<br />
Università degli stu<strong>di</strong> <strong>di</strong> Roma “Tor Vergata”<br />
Facoltà <strong>di</strong> <strong>Ingegneria</strong><br />
Progetto <strong>per</strong> il corso <strong>di</strong> <strong>Ingegneria</strong> <strong>del</strong> <strong>Web</strong><br />
<strong>Sistema</strong> <strong>di</strong> <strong>prefetching</strong> <strong>client</strong>-<strong>side</strong><br />
Professore:<br />
Prof. Valeria Car<strong>del</strong>lini<br />
<strong>per</strong> <strong>traffico</strong> <strong>Web</strong><br />
Studente:<br />
Stefano Perna
mercoledì 10 giugno 2009<br />
Obiettivi<br />
‣ Sviluppo <strong>di</strong> un sistema proxy locale con<br />
funzionalità <strong>di</strong> caching proattivo.<br />
‣ Riduzione dei tempi <strong>di</strong> risposta <strong>per</strong>cepiti<br />
dall’utente nell’interazione con la rete<br />
Internet <strong>per</strong> la navigazione web.
mercoledì 10 giugno 2009<br />
Requisiti <strong>del</strong> sistema<br />
• Proxy <strong>client</strong>-<strong>side</strong>.<br />
• Supporto <strong>del</strong> <strong>prefetching</strong> <strong>di</strong> risorse statiche<br />
e <strong>di</strong>namiche.<br />
• Meccanismo <strong>di</strong> pre<strong>di</strong>zione <strong>per</strong> il pre<br />
caricamento <strong>del</strong>le risorse.<br />
• Supporto <strong>del</strong> protocollo HTTP/1.1<br />
• Gestione e configurazione <strong>del</strong> sistema.
mercoledì 10 giugno 2009<br />
Motivazioni<br />
• Traffico <strong>del</strong>la rete in crescita<br />
• Tempi <strong>di</strong> risposta spesso inaccettabile<br />
• Aumento <strong>del</strong> lavoro <strong>per</strong> i server web<br />
Soluzione:<br />
Caching e/o <strong>prefetching</strong> <strong>del</strong>le risorse web
<strong>Web</strong> Caching<br />
Vantaggi<br />
‣ Riduzione <strong>del</strong> <strong>traffico</strong> <strong>del</strong>la rete.<br />
‣ Riduzione <strong>del</strong>la latenza.<br />
‣ Riduzione <strong>del</strong> carico sui server.<br />
mercoledì 10 giugno 2009
mercoledì 10 giugno 2009<br />
<strong>Web</strong> Prefetching<br />
Tecnica <strong>per</strong> il recu<strong>per</strong>o <strong>del</strong>le risorse web, <strong>di</strong> tipo<br />
pre<strong>di</strong>ttivo ed asincrono rispetto alle richieste<br />
degli utenti.<br />
Vantaggi<br />
‣ Riduzione <strong>del</strong>la latenza<br />
Svantaggi<br />
‣ Aumento <strong>del</strong> <strong>traffico</strong> web<br />
‣ Maggiore richiesta <strong>di</strong> risorse
Mo<strong>del</strong>lo <strong>di</strong> pre<strong>di</strong>zione<br />
Prefetching by Popularity<br />
Prefetching applicato alle 10 risorse più popolari<br />
Prefetching by Popularity & Lifetime<br />
Prefetching applicato a tutte le risorse in cache che<br />
sod<strong>di</strong>sfano requisiti <strong>di</strong>:<br />
• Numero <strong>di</strong> accessi minimo (popolarità)<br />
• Tempo <strong>di</strong> vita minimo (TTL)<br />
mercoledì 10 giugno 2009
Caratteristiche <strong>del</strong> sistema<br />
mercoledì 10 giugno 2009<br />
• Applicazione eseguibile dall’utente<br />
• Transparent Proxy<br />
• Supporto <strong>del</strong> protocollo HTTP/1.1<br />
• Prefetching <strong>di</strong> risorse statiche e <strong>di</strong>namiche<br />
• Pre<strong>di</strong>zione Prefetching by Popularity & Liftime<br />
• Gestione me<strong>di</strong>ante interfaccia <strong>Web</strong>
•<br />
•<br />
•<br />
mercoledì 10 giugno 2009<br />
Struttura <strong>del</strong> sistema<br />
Gestore connessioni e<br />
richieste<br />
Gestore Prefetching/<br />
Caching<br />
Gestore configurazione
mercoledì 10 giugno 2009<br />
Struttura <strong>del</strong>la cache<br />
Funzione <strong>di</strong> Hash <strong>per</strong> identificare univocamente<br />
una risorsa, calcolata sull’in<strong>di</strong>rizzo web.
mercoledì 10 giugno 2009<br />
Gestione Prefetching<br />
Pre<strong>di</strong>zione basata<br />
‣ Se una risorsa è scaduta e non ha su<strong>per</strong>ato la<br />
soglia minima <strong>di</strong> popolarità viene eliminata.<br />
su<br />
Popularity & Lifetime
mercoledì 10 giugno 2009<br />
Test <strong>del</strong> sistema
mercoledì 10 giugno 2009<br />
Test <strong>del</strong> sistema
mercoledì 10 giugno 2009<br />
Valutazione <strong>del</strong>l’efficacia<br />
<strong>del</strong> sistema <strong>di</strong> caching e<br />
<strong>di</strong> <strong>prefetching</strong>.<br />
Misurazione dei tempi<br />
<strong>di</strong> risposta dei siti<br />
appartenenti al test set,<br />
nell’arco <strong>del</strong> tempo.<br />
Test set<br />
๏ www.yahoo.com<br />
๏ www.repubblica.it<br />
๏ www.libero.it<br />
๏ www.uniroma2.it<br />
๏ www.beppegrillo.it<br />
๏ www.linux.com
Comparazione<br />
In ascissa sono riportati i tempi me<strong>di</strong> <strong>di</strong> caricamento<br />
<strong>del</strong>le pagine espressi in secon<strong>di</strong>.<br />
mercoledì 10 giugno 2009
Hit-Rate e Overhead<br />
Non è stato possibile misurare l’hit-rate <strong>del</strong> proxy e<br />
l’overhead ella banda <strong>di</strong> rete in quanto non valutabili<br />
<strong>per</strong> brevi <strong>per</strong>io<strong>di</strong>.<br />
In generale, dall’analisi degli stu<strong>di</strong> presenti in letteratura:<br />
• l’hit-rate <strong>del</strong> proxy migliora significativamente<br />
• l’overhead introdotto è spesso <strong>di</strong> bassa incidenza<br />
<strong>per</strong> la rete.<br />
mercoledì 10 giugno 2009
mercoledì 10 giugno 2009<br />
Conclusioni<br />
• Il <strong>prefetching</strong> accresce le prestazioni dei<br />
sistemi caching<br />
• Overhead <strong>del</strong>la rete è spesso trascurabile<br />
• L’utilizzo <strong>del</strong> proxy locale non fornisce in<br />
genere prestazioni su<strong>per</strong>iori ai proxy server<br />
• La valutazione <strong>del</strong>le prestazioni, sebbene<br />
analitica, è da con<strong>side</strong>rare con cautela.
mercoledì 10 giugno 2009<br />
Sviluppi futuri<br />
• Raffinamento <strong>del</strong> co<strong>di</strong>ce<br />
• Adozione <strong>di</strong> nuovi algoritmi <strong>di</strong> pre<strong>di</strong>zione<br />
• Confronto tra i vari algoritmi <strong>di</strong> pre<strong>di</strong>zione<br />
• Maggior supporto ai protocolli web<br />
• Maggiore configurabilità da parte <strong>del</strong>l’utente