Tesi di Dottorato di Ricerca in Informatica ed Ingegneria dell Automazione (XIII ciclo) Scalable Web-server Systems Valeria Cardellini Docenti guida: Prof. Michele Colajanni Prof. Salvatore Tucci Sommario Motivazioni e background Sistemi di Web server distribuiti localmente Sistemi di Web server distribuiti geograficamente Condivisione del carico mediante meccanismi basati sul Domain Name System Condivisione del carico mediante meccanismi basati sui Web server Riduzione del tempo di risposta mediante meccanismi basati sui Web server Conclusioni e sviluppi futuri Scalable Web-server Systems 1
Motivazione 1: il successo di Internet Host collegati Gennaio 1993 1.313. Luglio 1993 1.776. Gennaio 1994 2.217. Luglio 1994 3.212. Gennaio 1995 4.852. Luglio 1995 6.642. Gennaio 1996 9.472. Luglio 1996 12.881. Gennaio 1997 16.146. Luglio 1997 19.54. Gennaio 1998 29.67. Luglio 1998 36.739. Gennaio 1999 43.23. Luglio 1999 56.218. Gennaio 2 72.34. Luglio 2 93.47. Gennaio 21 19.574. 12 1 Fonte: Internet Software Consortium (http://www.isc.org) 8 6 4 2 Numero di host (in milioni) dal 1997 ad oggi gen-97 lug-97 gen-98 lug-98 gen-99 lug-99 gen- lug- gen-1 Anni impiegati per 5M utenti Radio 38 Televisione 13 TV via cavo 1 Internet 5 Scalable Web-server Systems 2 Motivazione 2: il successo del Web AltaVista, CNN, Microsoft, Netscape, Yahoo, (> 5 Milioni hit/day) Event Period Peak day Peak minute NCSA server (Oct. 1995) - 2 Million - Olympic Summer Games 192 Million 8 Million - (Aug. 1996) (17 days) Nasa Pathfinder 942 Million 4 Million - (July 1997) (14 days) Olympic Winter Games 634.7 Million 55 Million 11, (Feb. 1998) (16 days) Wimbledon (July 1998) - - 145, FIFA World Cup 1,35 Million 73 Million 29, (July 1998) (84 days) Wimbledon (July 1999) - 125 Million 43, Wimbledon (July 2) - 282 Million 964, Olympic Summer Games - 875 Million 1,2, (Sept. 2) [Load misurato in hit] Scalable Web-server Systems 3
Motivazione 3: i servizi Web 1 generazione 2 generazione Un ulteriore canale per informazione non critica 95% dell informazione costituita da testo ed immagini Manutenzione e aggiornamenti occasionali Prestazioni molto variabili Affidabilità non garantita Sicurezza non necessaria Canale di informazione critica, che sta diventando privilegiato per molti utenti Sistema transazionale Contenuti dinamici ed attivi in continuo aumento Streaming audio e video Servizi a pagamento (diretto o indiretto) Vetrina importante per industrie e organizzazioni Scalable Web-server Systems 4 Componenti del ritardo Web Web client DNS server Web server Address resolution delay DNS query DNS reply Client delay SYN j Connection delay SYN k, ACK j+1 Client delay Network delay ACK k+1 HTTP request Server delay Network delay HTTP response Dov è il collo di bottiglia? (1) DNS? (2) Client/connessione? (3) Rete? (4) Web server? Scalable Web-server Systems 5 t
Ottimizzazioni dal lato server Scale-up Focus LAN Scale-out - locale - globale WAN Sistemi con server multipli Scalable Web-server Systems 6 Sistemi di Web server Sistemi Web scalabili basati su piattaforme con server multipli Un meccanismo di routing per indirizzare le richieste client al Web server migliore Un algoritmo di distribuzione (dispatching) per individuare il Web server migliore Un componente esecutore per eseguire l algoritmo di distribuzione utilizzando il relativo meccanismo di routing Scalable Web-server Systems 7
Meccanismi di routing Meccanismo Esecutore Oggetto Basso Risoluzione hostname DNS Sessione utente - Dispatching locale - Dispatching globale Ridirezione HTTP Web server Richiesta risorsa - Dispatching locale - Dispatching globale Livello di controllo Ridirezione pacchetti Web switch Richiesta oggetto/risorsa - Dispatching locale (HTTP/1. - HTTP/1.1) (Web cluster) Elevato Scalable Web-server Systems 8 Algoritmi di distribuzione Statici (information-less) Dinamici ο client state aware ο server state aware ο client and server state aware Adattativi Nullo Livello di informazioni di stato Elevato Scalable Web-server Systems 9
Sistemi con Web server multipli Distribuzione locale Distribuzione globale Web cluster Mirror site Server distribuiti Cluster distribuiti Routing a livello 4-OSI Routing a livello 7-OSI Un livello di routing (DNS) Due livelli di routing (DNS+ server) Due livelli di routing (DNS+ Web switch) Tre livelli di routing (DNS+ Web switch+ server) Scalable Web-server Systems 1 Web cluster - Indirizzo del sito Web un solo hostname un solo indirizzo IP Architettura one-way two-way Web server 1 Web server 2 Web server 3 Oggetto Web Richiesta HTTP Web client Internet 144.55.62.18 (VIP) Web switch LAN 144.55.62.18 www.site.com? DNS server locale DNS server autoritativo per www.site.com Web server 4 Web server N Scalable Web-server Systems 11
Sistemi Web distribuiti geograficamente Problemi dei sistemi Web distribuiti localmente Scalabilità del sistema limitata dal link alla rete del sito Web (collegamento inferiore a 155 Mbps) Incapacità di evitare i link di rete congestionati Affidabilità della rete Scale-out globale Maggiore complessità dell architettura ο meccanismi di routing ed algoritmi di distribuzione Metrica per la selezione del server migliore Localizzazione dei server Scalable Web-server Systems 12 Architetture geograficamente distribuite Geographically distributed Web Systems Distributed Web Servers Distributed Web Clusters One-level routing Two-level routing Two-level routing Three-level routing Centralized Level 1 Level 1 Level 2 Level 2 Level 1 Level 2 Level 3 Distributed Centralized Distributed Authoritative DNS server Triangulation HTTP redirection URL rewriting JavaScript function Scalable Web-server Systems 13
Web cluster distribuito Un hostname per il sito Un indirizzo IP per cluster Web switch 1 14.32.11.12 Richiesta HTTP Web switch 2 12.88.41.54 Web switch 3 86.14.34.28 Oggetto Web www.site.com? DNS locale <12.88.41.54,TTL> DNS autoritativo per www.site.com Web switch 4 26.38.98.1 Scalable Web-server Systems 14 Problemi del dispatching geografico Tipici problemi del dispatching in sistemi Web Picchi di carico in alcune ore/giorni Problemi aggiuntivi Traffico dipendente dai fusi orari Distribuzione non uniforme dei client tra le regioni Internet Prossimità Internet tra client e server Connessioni da una regione Ora del giorno Per DNS: Caching del mapping hostname-indirizzo IP in name server intermedi per l intervallo definito dal Time-To-Live (TTL) controllo limitato sulla distribuzione (5% in siti Web molto popolari) Scalable Web-server Systems 15
Algoritmi di dispatching per DNS DNS-based dispatching Static Client aware Server aware Client and server aware Random RR Internet domain Server load Internet domain Server load Proximity Multi-tier RR Adaptive TTL Least Loaded Minimum Residual Load Adaptive TTL Proximity and load Scalable Web-server Systems 16 Azioni sul Time-To To-Live TTL costante Un solo parametro di controllo (indirizzo IP) Stesso valore del TTL assegnato dal DNS autoritativo per tutte le richieste di indirizzo ο Es.: Round-Robin (RR), Two-tier Round-Robin (RR2), Minimum Residual Load (MRL) TTL adattativo Due parametri di controllo (indirizzo IP, TTL) ο indirizzo IP selezionato in base ad una politica a TTL costante Valore del TTL adattato dinamicamente dal DNS autoritativo per ogni richiesta di indirizzo considerando il dominio Internet del client e/o la capacità dei Web server Scalable Web-server Systems 17
Algoritmi a TTL adattativo Algoritmi probabilistici eterogeneità del sistema mediante selezione del server TTL inversamente proporzionale al tasso di carico del dominio del client λ ( t) η p TTLj () t = max λ t Algoritmi deterministici eterogeneità del sistema mediante selezione del TTL TTL inversamente proporzionale al tasso di carico del dominio del client e direttamente proporzionale alla capacità del server λ ( t) η pξi TTLij() t = max λ t () Scalable Web-server Systems 18 j j () Risultati simulativi Cumulative Frequency 1,8,6,4,2 PRR (uniform) DRR2-TTL/S_K PRR2_TTL/K DRR2_TTL/S_2 PRR2_TTL/2 DRR2 PRR2 DRR,6,65,7,75,8,85,9,95,98 1 System Maximum Utilization Sensibilità al variare dell eterogeneità del sistema Prob(Not Overloaded System) 1,9,8,7,6,5,4,3,2 Algoritmi deterministici e probabilistici (livello di eterogeneità pari a 2%) DRR2-TTL/S_K PRR2-TTL/K DRR2-TTL/S_2 PRR2-TTL/2 PRR2 2 35 5 65 Heterogeneity Level % Scalable Web-server Systems 19
Sommario dei risultati Inadeguatezza degli algoritmi a TTL costante distribuzione non uniforme dei client tra i domini eterogeneità del sistema Web Robustezza degli algoritmi a TTL adattativo rispetto a: livelli crescenti di eterogeneità del sistema Web contenuto dinamico distribuzione dei client tra i domini Internet presenza di name server non cooperativi errori nella stima del tasso di carico dei domini Limitare l eterogeneità del sistema non eccedere il livello di eterogeneità pari al 5% Scalable Web-server Systems 2 Due livelli di assegnamento Aumentare il controllo sulla distribuzione delle richieste DNS: limitatezza del controllo DNS: granularità dell assegnamento a livello di sessione Server: granularità dell assegnamento a livello di risorsa/oggetto Web Impossibilità di spostare le richieste già assegnate ad un server durante il periodo definito dal TTL Reazione lenta ad un server sovraccarico Scalable Web-server Systems 21
Ridirezione HTTP Il meccanismo di ridirezione è parte del protocollo HTTP ed è supportato dagli attuali client DNS: politiche di dispatching centralizzate Ridirezione: politiche di dispatching distribuite, in cui tutti i server Web possono partecipare al (ri-)assegnamento delle richieste La ridirezione è completamente trasparente per l utente (non per il client) message header HTTP status code 32 - Moved temporarily to a new location New location ridirezione ad un indirizzo IP (migliori prestazioni) ridirezione ad un hostname Scalable Web-server Systems 22 Algoritmi di ridirezione Parameter Activation trigger (when) Activation decision (where) Status information Server selection (how) Redirected entities (what) Alternatives Synchronous (periodic) Centralized (DNS) Server load (CPU queue and/or utilization) Assignment Table Alarm Assignment Table and Server Percentage List Asynchronous (on Web server demand) Distributed (Web servers) Domain load (domain hit rate) Available Server List Domains (D) Clients (C) Domains and Clients (DC) Algoritmi sincroni ridirezione dell intero dominio ridirezione dei singoli client Algoritmi asincroni ridirezione dei singoli client ridirezione dell intero dominio e dei singoli client (migliore prestazione) Scalable Web-server Systems 23
1 Cumulative Frequency,8,6,4,2 SD SC SDC Risultati simulativi Prestazioni dei migliori algoritmi sincroni,5,55,625,675,725,775,825,875,925,965 1 System Maximum Utilization Prestazioni degli algoritmi asincroni Cumulative Frequency 1,8,6,4,2 AC_RR AC_RR2 RR RR2,5,55,625,675,725,775,825,875,925,965 1 Scalable Web-server Systems System Maximum Utilization 24 Risultati simulativi (2) Prob(Not Overloaded System) 1,8,6,4 Redirection % Sensibilità delle prestazioni e della percentuale di richieste ridirette per l algoritmo SDC alla frequenza di aggiornamento della Assignment Table,2 6 12 18 24 3 Assignment Table update [sec.] 1,8 Prob(Not Overloaded System) Redirection % Sensibilità delle prestazioni e della percentuale di richieste ridirette per l algoritmo AC all intervallo di check-load,6,4,2 8 16 24 32 4 Check-load interval [sec.] Scalable Web-server Systems 25
Tre livelli di assegnamento Tre livelli di routing e dispatching: 1 DNS (ad es., basato sulla prossimità) 2 Web switch del cluster: effettua l assegnamento della richiesta ai server del suo cluster mediante la politica Weighted Round Robin 3 Web server: effettua la ridirezione (mediante il meccanismo di ridirezione HTTP) verso un altro switch per risolvere situazioni temporanee di sovraccarico Scalable Web-server Systems 26 Algoritmi di ridirezione Tre componenti dell algoritmo di ridirezione attivazione ο on server demand (superamento della soglia di carico) selezione della richiesta da ridirigere ο tutte le richieste, alcune richieste (dimensione, contenuto, ) individuazione del server a cui ridirigere la richiesta ο informazione sullo stato del sistema Name System information Selection policies R-all None R-size Page size R-num Page hit number R-dyn Page content Location policies RR None Load Cluster load CluProx Cluster-cluster network proximity Prox Cluster-client network proximity Scalable Web-server Systems 27
Modello del sistema Reg 1 clients State information Web server 1,1 Web switch 1 Web cluster 1 Web server 1,2 Web server 1,n Internet T net (Reg dep (t), Reg dest (t), msg ) Web server K,1 Web server K,2 Web switch K Reg 4 clients dep, dest {1, 2, 3, 4} Web cluster K Web server K,m Scalable Web-server Systems 28 HTTP/1.1 Modello della rete T net (Reg dep (t), Reg dest (t), msg )? T ij,n =2rtt ij +Σ k=1,n ( request k /ab ij (t) + ( response k /ab ji (t) ) dove: ab ij (t) = π ij (t) bb ji La banda disponibile tra le Regioni i e j all istante t è pari alla frazione di banda di base a causa del traffico sulla rete. π ij (t) =.5 π i Z(t)+.5 π j Z(t) Il traffico sulla rete dipende in modo uguale dalla popolarità della Regione i e dalla popolarità della Regione j all istante t. Fattore di fortuna Scalable Web-server Systems 29
Risultati simulativi 1 Cumulative Distribution,8,6,4,2 2 levels 2 4 6 8 1 12 14 16 18 2 Page Response Time [sec.] 2 livelli di dispatching vs. 3 livelli di dispatching (Redirect Some) 3 levels (All_RR) 3 levels (All_Load) 3 levels (All_Prox) Cumulative Distribution 1,8,6,4,2 2 livelli di dispatching vs. 3 livelli di dispatching (Redirect All) 2 levels 3 levels (Size_RR) 3 levels (Size_Load) 3 levels (Size_Prox) 2 4 6 8 1 12 14 16 18 2 Page Response Time [sec.] Scalable Web-server Systems 3 Risultati simulativi (2) 9 percentile of Page Response Time [sec.] 14 12 1 8 6 4 2 RR Load Prox All Num Size Percentuale di ridirezione 3 livelli di dispatching (Redirect All) vs. 3 livelli di dispatching (Redirect Some) Redirection Percentage 3 25 2 15 1 5 Tempo di risposta 3 livelli di dispatching (Redirect All) vs. 3 livelli di dispatching (Redirect Some) RR Load Prox All Num Size Scalable Web-server Systems 31
Conclusioni Analisi delle architetture, dei meccanismi di routing e degli algoritmi di dispatching per sistemi Web distribuiti localmente e geograficamente Proposta di algoritmi di dispatching di primo livello basati sul DNS condivisione del carico Proposta di algoritmi di ridirezione di secondo livello basati sui server condivisione del carico Proposta di algoritmi di ridirezione di terzo livello basati sui server riduzione del tempo di risposta aumento della qualità del servizio Scalable Web-server Systems 32 Sviluppi futuri Distribuzione geografica di servizi Web dinamici e sicuri Estensione delle architetture distribuite per supportare l accesso universale al contenuto Web eterogeneità dei dispositivi client usati per accedere ad Internet adattamento (transcoding) del contenuto Supporto dal lato server per fornire qualità del servizio Web end-to-end Strumenti per valutare le prestazioni di sistemi Web distribuiti geograficamente Scalable Web-server Systems 33
Pubblicazioni [T1] M. Colajanni, P.S. Yu,, Scalable Web server systems: architectures, models, and load balancing algorithms", ACM Sigmetrics 2, Santa Clara, CA, June 2. [RI1], M. Colajanni, P.S. Yu, Dynamic load balancing on Web-server systems, IEEE Internet Computing, Vol. 3, No. 3, pp. 28-39, May-June 1999. [RI2], M. Colajanni, P.S. Yu, DNS dispatching algorithms with state estimators for scalable Web-server clusters, World Wide Web, Baltzer Science, Vol. 2, No. 3, pp. 11-113, Aug. 1999. [RI3] E. Casalicchio,, M. Colajanni, "Content-aware dispatching algorithms for cluster-based Web servers", Cluster Computing, Baltzer Science, to appear in 21. [RI4], E. Casalicchio, M. Colajanni, M. Mambelli, "Web switch support for differentiated services", ACM Performance Evaluation Reviews, to appear in 21. [M1], M. Colajanni, P.S. Yu, Impact of workload models on evaluating the performance of distributed Web-server systems, System performance evaluation: methodologies and applications, E. Gelenbe ed., CRC Press, pp. 397-417, March 2. [CI1] M. Colajanni, P.S. Yu,, Dynamic load balancing in geographically distributed heterogeneous Web servers, Proc. of IEEE 18th Int'l Conf. on Distributed Computing Systems, Amsterdam, The Netherlands, pp. 295-32, May 1998. Scalable Web-server Systems 34 Pubblicazioni (2) [CI2], M. Colajanni, P.S. Yu, "Efficient state estimators for load control policies in scalable Web server clusters, Proc. of IEEE 22th Int'l Computer Software and Application Conf., Vienna, Austria, pp. 449-455, Aug. 1998. [CI3], M. Colajanni, P.S. Yu, "High performance Web-server systems", Proc. of 13th Int'l Symp. on Computer and Information Sciences, Ankara, pp. 288-293, Oct. 1998. [CI4], M. Colajanni, P.S. Yu, "Redirection algorithms for load sharing in distributed Web-server Systems", Proc. of IEEE 19th Int'l Conf. on Distributed Computing Systems, Austin, TX, pp. 528-535, June 1999. [CI5], M. Colajanni, P.S. Yu, "Redirecting strategies for load sharing policies in distributed Web systems", Proc. of 14th Int'l Symp. on Computer and Information Sciences, Kusadasi, Turkey, pp. 91-98, Oct. 1999. [CI6], M. Colajanni, P.S. Yu, "Impact of workload models on evaluating the performance of distributed Web-server systems", Proc. of IFIP/W.G.-7.3 Performance'99, Istanbul, Turkey, Oct. 1999. [CI7], E. Casalicchio, M. Colajanni, S. Tucci, "Parallel and distributed architectures for fast and dependable Web services", Proc. of 7th Int'l Congress on New Technologies and Computing Applications, Cuba, May 2. Scalable Web-server Systems 35
Pubblicazioni (3) [CI8], M. Colajanni, P.S. Yu, "Geographic load balancing for scalable distributed Web systems", Proc. of 8th IEEE Int'l Symp. on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, San Francisco, pp. 2-27, Aug. 2. [CI9], P.S. Yu, Y.-W. Huang, "Collaborative proxy system for distributed Web content transcoding", Proc. of 9th Int'l ACM Conf. on Information and Knowledge Management, Washington D.C., pp. 52-527, Nov. 2. [CI1], E. Casalicchio, M. Colajanni, "Performance evaluation of distributed architectures for the quality of Web services", Proc. of Hawaii Int'l Conf. on System Sciences (HICSS-34), Maui, Hawaii, Jan. 21. IEEE Computer Society. [CI11], E. Casalicchio, M. Colajanni, S. Tucci, Mechanisms for quality of service in Web clusters", Proc. of TERENA Networking Conference 21, Antalya, Turkey, May 21. [CI12], E. Casalicchio, M. Colajanni, M. Mambelli, "Web switch support for differentiated services", Proc. of Performance and Architecture of Web Servers Workshop, Cambridge, MA, June 21. [CN1], "Architetture di Web server distribuiti", Workshop sui Sistemi Distribuiti: Algoritmi, Architetture e Linguaggi (WSDAAL'98), Pontignano (Siena), Sept. 1998. Scalable Web-server Systems 36