07.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!