ottone.pdf
-
Upload
william-martins -
Category
Documents
-
view
214 -
download
0
Transcript of ottone.pdf
-
__________________________________________
Polticas de atendimento para servidores Web com servios diferenciados baseadas nas caractersticas das requisies
Ottone Alexandre Traldi __________________________________________
-
SERVIO DE PS-GRADUAO DO ICMC-USP
Data de Depsito: 17/11/2008
Assinatura: ______________________________________
Polticas de atendimento para servidores Web com servios diferenciados baseadas nas caractersticas
das requisies
Ottone Alexandre Traldi
Orientador: Prof. Dr. Marcos Jos Santana
Dissertao apresentada ao Instituto de Cincias Matemticas e de Computao ICMC-USP, como parte dos requisitos para obteno do ttulo de Mestre em Cincias rea Cincias de Computao e Matemtica Computacional
USP So Carlos Novembro de 2008
* Agradecimento ao CNPq pelo apoio parcial dado a este trabalho.
-
Dedico este trabalho a minha famlia e amigos, que sempre estiveram presentes, dando-me a fora e incentivo necessrios para conclu-lo com sucesso.
-
Agradecimentos
Agradeo a Deus pela vida, sade e inspirao necessrios para a realizao deste trabalho. Agradeo aos meus pais e irm pela motivao e apoio ao longo de toda a minha vida
acadmica. Agradeo ao Buby por ter me ajudado a entender muito cedo o real valor da vida. Agradeo ao Benedicto Geraldo Stoppa, Maria Aparecida Rosa Vianna, Fabio Vianna
Stoppa e Aparecida Poiatti Rosa Vianna por terem atuado como uma segunda famlia. Agradeo ao Professor Doutor Marcos Jos Santana pela orientao cientfica desde os
tempos de graduao e Professora Doutora Regina Helena Carlucci Santana pela co-orientao. Com ambos constru uma amizade que atravessa os muros da Universidade,
amizade que foi determinante em diversas conquistas pessoais. Agradeo aos professores que participaram do meu exame de qualificao e da minha
defesa, pela leitura respeitosa dos meus textos, que contribuiu para o aprimoramento da pesquisa.
Agradeo amiga Alessandra Kelli Barbato, com quem mantive uma parceria acadmica da graduao ao Mestrado.
Agradeo ao amigo Marcelo Fila Pecenin, com quem mantenho uma parceria no esporte e na vida h mais de 10 anos.
Agradeo Marjorie Mariano pelo apoio que chegou j no fim deste trabalho, mas de extrema importncia.
Agradeo aos colegas e amigos com quem mantive contato durante o perodo do Mestrado e que, de alguma forma, contriburam com a realizao deste trabalho: Jos Mrio Franzin, Vilma Franzin, Rafael Belli, Mateus Pecenin, Umberto Pecenin, Ftima Pecenin, Luiz Henrique Folster, Tiago Poiatti, Rosa Belli, Jos Armando Belli, Gustavo Belli, Adilson
Renesto, Maria ngela Renesto, Rodrigo Tortella, Gustavo Lazarini, Felipe Francisco, Murilo Francisco, Felipe Ferreira, Victor Molina, Dirgenes Medeiros Jnior, Michel Lacombe, Luiz
Fernandes e Marlene Fernandes; Matheus Santos, Lucas Casagrande, Julio Estrella, Geraldo, Valter e demais colegas do LaSDPC; Renato Pimentel, Cibele Russo, Daniel Silva, Daniel Junqueira, Marcos Martins, Mrcia Sena, Felipe Ladeira, Andr Freire e demais amigos da USP; Anne Carraretto, Leonardo Martins, Felipe Ricci e demais colegas do Unibanco; e toda
molecadinha do CERD.
-
Resumo
Este trabalho prope mecanismos de diferenciao de servios para servidores Web, visando a melhorar o desempenho desses sistemas quando so consideradas as caractersticas das requisies Web nas polticas de
atendimento. Optou-se por adotar o contexto do comrcio eletrnico para a realizao das pesquisas, uma vez que esse ambiente um dos mais impactados negativamente quando h um comportamento inadequado do servidor em situaes de sobrecarga. Para isso, foi realizada uma
investigao das caractersticas das requisies Web tpicas do e-commerce, para que tais caractersticas pudessem ser usadas como diretrizes para os
mecanismos e melhorar o desempenho dos servidores. Em seguida, foram propostos um modelo de carga de trabalho e um modelo de simulao para a
realizao dos experimentos. Com isso, foi possvel avaliar os resultados obtidos com a insero dos diversos mecanismos no Servidor Web com Diferenciao de Servios (SWDS), um modelo de servidor cuja arquitetura o torna capaz de fornecer servios diferenciados a seus usurios e aplicaes.
Foram propostos novos mecanismos de escalonamento de requisies bem como novos mecanismos de controle de admisso. Diversas simulaes
foram realizadas e os resultados obtidos mostram que a explorao das caractersticas das requisies Web, alm de ser fundamental para um bom entendimento do comportamento do servidor, possibilita a melhoria de desempenho do sistema.
-
Abstract
This work proposes differentiated services mechanisms for Web servers, aiming at improving their performance when the features of Web requests are considered. The electronic commerce (e-commerce) context was adopted to develop the researches once this environment is one of the most negatively influenced when there is an inadequate behavior of the server under overload situations. Thus, it was realized an investigation on the features of e-commerce Web requests, so that these features could be used both as
guidelines for the mechanisms and to improve the performance of the servers. Afterwards, a workload model and a simulation model were proposed to
implement the experiments. Thus, it was possible to evaluate the results obtained with the insertion of several mechanisms in the Web Server with
Differentiated Services (WSDS), a server model with an architecture that makes it capable of supplying differentiated services to its users and applications. New request scheduling mechanisms were proposed as well as new mechanisms for admission control. Several simulations were realized
and the obtained results show that the exploration of the Web request features, besides being fundamental for a good understanding of the server
behavior, makes possible to improve the system performance.
-
Lista de Figuras
2.1 As Camadas da Arquitetura TCP/IP ...................................................................... 18
2.2 Exemplo de Requisio e Resposta HTTP ............................................................ 25
3.1 Servidor Web com Diferenciao de Servios (SWDS) ........................................ 39
4.1 Hierarquia das Tcnicas de Avaliao de Desempenho ........................................ 47
4.2 Modelo simplificado do Servidor Web com Diferenciao de Servios (SWDS) 52
4.3 Modelo do Cluster de Servidores Web .................................................................. 52
5.1 Compradores Ocasionais (Menasc et al., 1999) ................................................... 57
5.2 Compradores Freqentes (Menasc et al., 1999) ................................................... 58
5.3 Mquina de Estados (Menasc et al., 1999) ........................................................... 58
5.4 Cenrio utilizado para a realizao de experimentos ............................................. 61
6.1 Algoritmo Round-Robin ......................................................................................... 72
6.2 Algoritmo WFQ ..................................................................................................... 78
6.3 Algoritmo RR com CA por tamanho de fila .......................................................... 80
6.4 Algoritmo WFQ com CA por tamanho de fila e admisso seletiva ....................... 86
-
Lista de Tabelas
2.1 Mtodos definidos pelo protocolo HTTP ............................................................... 26
2.2 Classes de cdigo de status das respostas HTTP ...................................................
26
5.1 Carga mdia gerada ao sistema por cada sesso .................................................... 59
5.2 Valores obtidos COM o recurso de cache no cliente ............................................. 63
5.3 Valores obtidos SEM o recurso de cache no cliente .............................................. 64
6.1 Taxas de acerto em cache no cliente ...................................................................... 68
6.2 Algoritmo Round-Robin ......................................................................................... 71
6.3 Tempos mdios de CPU - considerando acertos em cach .................................... 74
6.4 Pesos obtidos para o WFQ (maximizando atendimentos) ..................................... 74
6.5 Algoritmo WFQ (maximizando atendimentos) ..................................................... 75
6.6 Pesos obtidos para o WFQ (maximizando vendas) ............................................... 76
6.7 Algoritmo WFQ (maximizando vendas) ................................................................ 77
6.8 Algoritmo RR com CA por tamanho de fila .......................................................... 79
6.9 Probabilidade de cada estado gerar venda ............................................................. 81
6.10 Algoritmo RR com CA seletivo ........................................................................... 82
6.11 Pesos para o WFQ com CA seletivo .................................................................... 84
6.12 Algoritmo WFQ com CA seletivo ....................................................................... 85
6.13 Algoritmo WFQ com CA Seletivo (reduzindo fila) ............................................. 87
7.1 Resultados obtidos .................................................................................................
91
-
Lista de Siglas e Abreviaturas
CA Controle de Admisso CGI Common Gateway Interface CPU Central Processing Unit DNS Domain Name Service FCFS First Come, First Served FTP File Transfer Protocol GPL General Public License HTML HyperText Markup Language HTTP Hypertext Transfer Protocol ICMP Internet Control Message Protocol IETF Internet Engineering Task Force IP Internet Protocol OSI Open Systems Interconnection PC Personal Computer QoS Quality of Service QoWS Quality of Web Services RFC Request for Comments RR Round-Robin RSVAdap Reserva Adaptativa de Recursos RSVP Resource Reservation Protocol SLA Service Level Agreement SMNP Simple Network Management Protocol SMTP Simple Mail Transfer Protocol SSL Secure Socket Layer SWDS Servidor Web com Diferenciao de Servios TCP Transmission Control Protocol UDP User Datagram Protocol URL Uniform Resource Locators W3C World Wide Web Consortium WFQ Weighted Fair Queuing WWW World Wide Web
-
Sumrio
Introduo............................................................................................................................ 11 1.1 Contextualizao ...................................................................................................... 11 1.2 Motivao ................................................................................................................ 12 1.3 Objetivos.................................................................................................................. 14 1.4 Estrutura................................................................................................................... 14
Infra-estrutura da Web ......................................................................................................... 16 2.1 Consideraes Iniciais .............................................................................................. 16 2.2 A Internet ................................................................................................................. 16
2.2.1 Protocolos TCP/IP ............................................................................................. 17 2.2.2 A Arquitetura TCP/IP ........................................................................................ 17
2.3 A Organizao da Web............................................................................................. 20 2.3.1 Interaes Cliente-Servidor na Web................................................................... 21
2.4 Servidores Web ........................................................................................................ 22 2.5 Protocolo HTTP ....................................................................................................... 24
2.5.1 Mensagens de Requisio e Resposta................................................................. 24 2.5.2 HTTP 1.0 e 1.1 .................................................................................................. 27 2.5.3 Sesses HTTP ................................................................................................... 27
2.6 Consideraes Finais ................................................................................................ 28 Qualidade de Servio e Servidores ....................................................................................... 29
3.1 Consideraes Iniciais .............................................................................................. 29 3.2 Limitaes da Internet Atual..................................................................................... 29 3.3 Conceitos Bsicos de QoS ........................................................................................ 31 3.4 Arquitetura para QoS................................................................................................ 33
3.4.1 Servios Integrados ............................................................................................. 33 3.4.2 Servios Diferenciados ...................................................................................... 36
3.5 Servios Diferenciados em Nvel de Aplicao......................................................... 38 3.5.1 Controle de Admisso........................................................................................ 40 3.5.2 Mecanismos de Diferenciao de Servios......................................................... 41
3.6 Consideraes Finais ................................................................................................ 44 Avaliao de Desempenho ................................................................................................... 46
4.1 Consideraes Iniciais .............................................................................................. 46 4.2 Tcnicas de Avaliao de Desempenho .................................................................... 46
4.2.1 Tcnicas de Aferio ......................................................................................... 47 4.2.2 Tcnicas de Modelagem .................................................................................... 47
4.3 Avaliao de Desempenho de Servidores Web ......................................................... 50 4.4 Avaliao de Desempenho do SWDS ....................................................................... 51 4.5 Consideraes Finais ................................................................................................ 52
Carga de Trabalho................................................................................................................ 54 5.1 Consideraes Iniciais .............................................................................................. 54 5.2 Comrcio Eletrnico................................................................................................. 54 5.3 Modelo da Carga de Trabalho................................................................................... 56 5.4 Cenrio Adotado ...................................................................................................... 60 5.5 Consideraes Finais.................................................................................................. 65
Resultados Obtidos .............................................................................................................. 67 6.1 Consideraes Iniciais .............................................................................................. 67
-
6.2 Metodologia para Experimentos ............................................................................... 67 6.3 Resultados dos Experimentos ................................................................................... 70
6.3.1 Algoritmo Round-Robin (RR).............................................................................. 70 6.3.2 Algoritmo Weighted Fair Queuing (WFQ) .......................................................... 72 6.3.3 Algoritmo RR com Controle de Admisso por Tamanho de Fila........................ 79 6.3.4 Algoritmo WFQ com Controle de Admisso por Tamanho de Fila ...................... 83
6.4 Consideraes Finais ................................................................................................ 86 Concluses........................................................................................................................... 88
7.1 Viso Geral .............................................................................................................. 88 7.2 Resultados e Contribuies....................................................................................... 89 7.3 Trabalhos Futuros..................................................................................................... 93
Referncias .......................................................................................................................... 95
-
11
Introduo
1.1 Contextualizao
A Internet hoje um dos mais importantes meios de comunicao, entretanto, no foi
projetada para o uso atualmente observado.
Inicialmente, os dados transferidos pela Internet ofereciam pouca carga, porm, com o
surgimento da World Wide Web (WWW), foi observado um grande aumento do trfego na
rede, pois ela passou a existir no apenas para fins de pesquisas, mas tambm para ser
utilizada para fins informativos, educacionais, de entretenimento e comerciais. Portanto,
ocorreram mudanas no apenas na quantidade do trfego da Internet, mas tambm na
natureza do mesmo (Xiao & Ni, 1999). Essa rede se tornou uma plataforma para aplicaes de
contedo dinmico, de comrcio eletrnico, telefonia, entre outras. No entanto, essas
aplicaes no requerem o mesmo tratamento, uma vez que no possuem as mesmas
caractersticas ou mesmas prioridades. Contudo, o servio oferecido pela Internet baseia-se
em um modelo de melhor esforo (best-effort), em que a rede procura transportar os dados
que lhe so confiados no menor tempo possvel, de preferncia sem erros ou inconsistncias,
mas sem dar s aplicaes garantias de que isso realmente ocorrer (Comer, 2000).
Uma das conseqncias da adoo desse modelo de melhor esforo o fato de que todo o
1
-
12
trfego tratado de maneira uniforme, sem nenhum tipo de diferenciao ou de priorizao.
Assim, quando h congestionamento, os pacotes presentes na rede so descartados sem
distino, independentemente das necessidades das aplicaes.
1.2 Motivao
Como as aplicaes no possuem as mesmas caractersticas ou mesmas prioridades,
essencial que a Internet fornea diferenciao de servios com diferentes nveis de QoS
(Quality of Service) para os diversos tipos de requisies (Kant & Mohapatra, 2000).
Uma das solues propostas atualmente pela comunidade cientfica baseia-se no aumento
sob demanda da largura de banda da rede, buscando minimizar o descarte de pacotes. Outra
abordagem adotada para a soluo do problema a insero de QoS na Internet por meio do
fornecimento de servios diferenciados, ou seja, o trfego no deve ser tratado de maneira
uniforme, sem nenhum tipo de diferenciao ou de priorizao. A insero de QoS na Internet
por meio dos Servios Diferenciados tem se mostrado uma excelente alternativa ao modelo de
melhor esforo em que o servio oferecido pela rede se baseia.
No difcil perceber que qualquer esforo para o fornecimento de QoS na Web no
poder ter sucesso se apenas mecanismos em nvel de rede e sistema operacional forem
utilizados, pois, em ltima instncia, so os servidores Web os responsveis pelo atendimento
das solicitaes dos usurios. Dessa forma, necessrio que os servidores Web tambm sejam
capazes de prover QoS, e, para isso, eles devem possuir polticas de atendimento que
consigam realizar a diferenciao de servios.
Esto disponveis diversas especificaes para a proviso de QoS sobre redes IP, com
destaque para as arquiteturas de Servios Integrados (IntServ) (Braden et al., 1994) e
Diferenciados (DiffServ) (Blake et al., 1998). Em nvel de aplicao, a utilizao de Servios
Diferenciados tem sido proposta como uma soluo eficiente para a proviso de melhores
-
13
servios. Isso pode ser observado por meio dos vrios trabalhos desenvolvidos na rea, entre
eles o de Cardellini et al. (2001), em que introduzido o conceito de Quality of Web Services
(QoWS), inspirado nos princpios de garantia de QoS em nvel de rede, definidos por Kurose
& Ross (2006).
Em Teixeira 2004, proposta uma arquitetura para um servidor Web que o torne capaz de
fornecer servios diferenciados a seus usurios e aplicaes, de acordo com suas
caractersticas de demanda. Esse modelo foi denominado Servidor Web com Diferenciao de
Servios (SWDS).
Foram includos alguns algoritmos de escalonamento no modelo SWDS visando tanto ao
balanceamento de carga entre os processos quanto diferenciao de servios. No primeiro
caso, destacam-se os algoritmos Round Robin e Shortest Queue First (Teixeira, 2004). No
segundo caso, destacam-se os algoritmos de Reserva de Recursos (Teixeira, 2004), Reserva
Adaptativa de Recursos (RSVAdap) (Traldi et al., 2006), Baseados em Prioridades (Estrito e
Adaptativo) (Teixeira et al., 2005) e Weighted Fair Queuing (WFQ) (Traldi et al., 2006).
Tambm foram includas, no modelo SWDS, algumas polticas de controle de admisso,
conforme Teixeira (2004). Essas polticas, levando em considerao a carga do sistema e a
classe a que pertence uma determinada requisio que chega ao servidor, decidem pela
aceitao ou pela rejeio da solicitao.
Os resultados fornecidos pelas polticas inseridas no modelo SWDS so promissores e
motivam a investigao de novas polticas de controle de servios. Entretanto, tanto as
polticas de escalonamento quanto as polticas de controle de admisso implantadas no
modelo no levam em considerao as caractersticas das requisies Web como parmetro na
tomada de decises. Essas polticas baseiam-se apenas na classe da tarefa, que definida pela
sua prioridade.
-
14
1.3 Objetivos O objetivo central da pesquisa desenvolvida nesta dissertao de Mestrado foi avaliar a
possibilidade de melhorar o desempenho do modelo de Servidor Web com Diferenciao de
Servios (SWDS), quando so consideradas as caractersticas das requisies Web nas
polticas de atendimento. Entre os objetivos especficos, destacam-se:
Investigao das caractersticas das requisies Web;
Realizao de um detalhamento do modelo SWDS considerando-se os recursos
necessrios para a execuo das requisies Web;
Desenvolvimento de novas polticas de escalonamento que considerem o tipo das
requisies Web, e/ou alterao das j existentes;
Desenvolvimento de novas polticas de controle de admisso que considerem os tipos
das requisies Web, e/ou alterao das j existentes;
Insero das polticas desenvolvidas em um modelo de simulao do Servidor Web
com Diferenciao de Servios (SWDS).
1.4 Estrutura
No Captulo 2, ser apresentada a infra-estrutura da Internet, seus protocolos e principais
servios, com destaque para a Web.
No Captulo 3, ser abordado o tpico de diferenciao de servios na Internet, e sero
discutidas as limitaes do seu modelo atual e como a insero de qualidade de servio pode
tornar essa rede mais eficiente. A abordagem de servios diferenciados sobre redes IP e a
viabilidade de seu emprego em nvel de aplicao, particularmente em servidores Web, sero
destacados. Em seguida, ser apresentado o modelo para um Servidor Web com
-
15
Diferenciao de Servios, o SWDS. Ser descrita a sua arquitetura e tambm sero
discutidos alguns algoritmos de controle de admisso e diferenciao de servios.
No Captulo 4, sero apresentadas algumas das tcnicas de Avaliao de Desempenho
encontradas na literatura e mostrada a metodologia adotada neste trabalho, uma vez que
necessria a utilizao de algumas dessas tcnicas para avaliar o desempenho do modelo
SWDS com a insero de novas estratgias de atendimento.
No captulo 5, sero apresentados os critrios utilizados para a gerao da carga de
trabalho sinttica utilizada para alimentar o modelo do SWDS descrito no captulo anterior.
No captulo 6, sero apresentadas as estratgias propostas para melhorar o desempenho do
SWDS quando so consideradas as caractersticas das requisies Web na tomada de deciso
e os resultados obtidos.
Finalmente, no captulo 7, sero apresentadas as concluses e propostas de trabalhos
futuros.
-
16
Infra-estrutura da Web
2.1 Consideraes Iniciais
Neste captulo, dada uma viso geral da infra-estrutura da Internet e da World Wide Web,
sendo discutidas suas caractersticas e apresentados seus principais protocolos. Dada a
importncia desse elemento na rede, tambm realizada uma descrio das formas de
organizao e funcionamento dos servidores Web.
2.2 A Internet
A Internet pblica uma rede de computadores mundial, isto , uma rede que conecta
milhes de equipamentos de computao em todo o mundo. A maior parte desses
equipamentos formada por PCs tradicionais e pelos chamados servidores, que armazenam e
transmitem informaes, como pginas Web e mensagens por e-mail (Koruse & Ross, 2006).
Cada vez mais, equipamentos de computao esto sendo conectados Internet. Esses
equipamentos so chamados de hospedeiros ou sistemas finais.
Os sistemas finais, assim como a maioria dos outros componentes da Internet, operam
protocolos que controlam o envio e o recebimento de informaes na Internet. O TCP
2
-
17
(Transmission Control Protocol) e o IP (Internet Protocol) so os protocolos mais
importantes da Internet. Eles so conhecidos coletivamente como TCP/IP (Kurose & Ross,
2006).
2.2.1 Protocolos TCP/IP
O protocolo TCP/IP foi elaborado antes dos PCs, antes da proliferao das Ethernets e de
outras tecnologias de redes locais e, portanto, antes da Web. Esse protocolo surgiu da
necessidade de um protocolo de rede que fornecesse amplo suporte para aplicaes ainda a
serem definidas e permitisse, ao mesmo tempo, a interoperao de hospedeiros arbitrrios e
protocolos de camada de enlace (Kurose & Ross, 2006). O TCP/IP tornou-se um padro para
a interligao de computadores, tanto em redes locais quanto em longa distncia.
O TCP/IP usa a comutao de pacotes para realizar a comunicao entre hosts e pode ser
empregado sobre diferentes protocolos das camadas de enlace e fsica, de forma transparente
para as aplicaes. Outra caracterstica importante que o TCP/IP faz a entrega de dados de
forma mais confivel, utilizando para isso um mecanismo de acknowledgements entre a
origem e o destino final de uma comunicao.
As especificaes dos protocolos TCP/IP esto livremente disponveis na Internet, por
meio de RFCs (Request for Comments), promulgadas pela IETF (Internet Engineering Task
Force) (Postel, 1981c).
2.2.2 A Arquitetura TCP/IP
A arquitetura TCP/IP visualiza a rede de computadores em quatro camadas: acesso rede,
Internet, transporte e aplicao. Esse modelo de organizao equivalente s camadas do
modelo OSI (Reference Model of Open Systems Interconnection), que prope uma
organizao de arquitetura em sete camadas: aplicao, apresentao, sesso, transporte, rede,
-
18
enlace de dados e fsica (Tanenbaum, 2002). Essa equivalncia ilustrada pela Figura 2.1:
Figura 2.1: As Camadas da Arquitetura TCP/IP
Camada de Acesso Rede
A Camada de Acesso Rede, com o menor nvel de abstrao na arquitetura TCP/IP, usa
padres para conexo rede fsica. Ela utiliza vrios protocolos de acesso rede conforme o
tipo de rede disponvel, dando flexibilidade aos protocolos TCP/IP para que funcionem em
diversos meios fsicos.
Essa camada tambm faz o encapsulamento dos datagramas IPs nos frames usados na rede,
e converte os endereos IP para o formato da rede.
Camada de Internet
Nessa camada est estabelecido o protocolo IP (Internet Protocol) (Postel, 1981b), para
transporte no-confivel de mensagens, e o protocolo ICMP (Internet Control Message
Protocol) (Postel, 1981a), para controle da comunicao e informe de erros.
O protocolo IP prov um servio de rede no orientado conexo no requerendo troca
de informaes de controle iniciais (handshaking) para que uma comunicao seja iniciada
-
19
e providencia o roteamento da mensagem de um dispositivo para outro, em uma rede local ou
uma de longa distncia. As informaes so enviadas dentro de unidades de transferncia de
dados chamadas datagramas. Cada datagrama contm informaes necessrias para que possa
ser roteado de forma independente. O roteamento dos datagramas entre os hosts e a
fragmentao e remontagem dos datagramas ao passarem de uma camada para outra da pilha
TCP/IP so funes do protocolo IP.
O IP tambm responsvel pelo endereamento da rede. Cada host conectado Internet
possui um endereo distinto que utilizado pelos equipamentos da rede para encontrar o
caminho entre origem e destino.
Em suma, a camada de Internet permite a comunicao entre duas mquinas da rede.
Camada de Transporte
A Camada de Transporte permite a comunicao fim-a-fim entre dois hosts ou, mais
especificamente, entre processos executados em hosts conectados Internet. Essa camada
introduz o conceito de porta, um nvel de endereo adicional que identifica a aplicao na
mquina. Um endereo completo nesse nvel estabelecido por um par (host, port).
Nessa camada, esto definidos os protocolos TCP (Transmission Control Protocol) (Postel,
1981c) e UDP (User Datagram Protocol) (Postel, 1980).
O protocolo TCP fornece um servio confivel, garantindo que os dados cheguem sem
erros ao seu destino. um protocolo orientado conexo, ou seja, uma conexo lgica fim-a-
fim estabelecida entre os dois hosts antes de a comunicao ser iniciada. O TCP tambm
realiza controle de fluxo para suas aplicaes e controle de congestionamento. O controle de
fluxo procura eliminar a possibilidade de o remetente saturar o destinatrio com o envio de
dados. O controle de congestionamento tenta regular os remetentes quando a rede encontra-se
congestionada.
-
20
O protocolo UDP no orientado conexo e oferece um servio no-confivel. O UDP
indicado para a construo de aplicaes cliente-servidor, principalmente, em redes locais
(Coulouris et al., 2000). Mensagens DNS (Domain Name Service), SNMP (Simple Network
Management Protocol) e algumas aplicaes de transmisso de udio e vdeo utilizam o
protocolo UDP.
Camada de Aplicao
Essa camada, de maior nvel de abstrao da pilha TCP/IP, define o conjunto de servios
manipulados por usurios. Nela esto os processos que utilizam os servios da camada de
transporte para a entrega dos dados, podendo escolher entre os servios oferecidos pelo
protocolo TCP ou protocolo UDP. nessa camada que so encontrados os servios de
TELNET, FTP, DNS, HTTP, SMTP, entre outros.
2.3 A Organizao da Web
O funcionamento da World Wide Web, iniciado na dcada de 1990, levou a Internet para os
lares e empresas de milhes de pessoas em todo o mundo. Ela serviu como plataforma para a
habilitao e disponibilizao de centenas de novas aplicaes. Com isso, gerou um grande
aumento no trfego da Internet, superando servios como FTP e e-mail. Com toda essa
popularidade, muitos usurios pensam que a Web a prpria Internet.
A Web considerada um sistema de hipertexto em escala global e uma grande plataforma
cliente-servidor. Por meio de browsers ou navegadores, os usurios acessam as informaes
que so armazenadas em servidores Web ou HTTP espalhados por todos os continentes
(Orfali et al., 1999).
A linguagem HTML e o protocolo HTTP so dois padres sobre os quais a Web funciona,
garantindo a sua portabilidade. A HTML (W3C, 1999a; W3C, 2000) o idioma universal
-
21
falado na Web. Suas tags descrevem a estrutura do documento, fornecem informaes sobre
sua formatao e estabelecem os links com outros documentos ou outros recursos da Web. O
protocolo HTTP utilizado para a comunicao entre os browsers e os servidores Web e
funciona sobre o TCP.
Uma caracterstica importante na organizao da Web seu sistema de nomenclatura
baseado em URLs (Uniform Resource Locators). Uma URL pode identificar pginas HTML,
um recurso ou um objeto qualquer existente na Internet. Sua estrutura composta por:
Protocolo: informa qual protocolo utilizado para o transporte dos dados;
Nome do servidor: um endereo IP ou nome de um host vlido;
Nmero da porta: onde um processo aguarda mensagens, no servidor;
Localizao do recurso: path ou caminho at o recurso.
2.3.1 Interaes Cliente-Servidor na Web
A Web considerada como uma grande plataforma cliente-servidor. Um servidor recebe as
requisies e, sendo consideradas vlidas, interpreta e retorna os objetos requisitados ao
cliente. Os objetos podem estar armazenados no servidor (Pginas Estticas) ou podem ser
gerados dinamicamente por um programa ou script invocado no servidor (Pginas
Dinmicas).
Pginas Estticas
Pginas estticas so pginas HTML fisicamente armazenadas nos servidores Web. Dessa
forma, os clientes, por meio de browsers, acessam um servidor Web, que por sua vez devolve
as pginas HTML para o usurio.
-
22
Segundo Casalicchio & Colajanni (2001), as Pginas Estticas podem ser classificadas
como estticas leves e disk-bound (pginas estticas geradas a partir de consultas ao banco de
dados). Esse tipo de classificao leva em considerao o consumo de recursos do sistema
causado pelas requisies HTTP. Em geral, considerado o consumo de CPU e o nmero de
operaes de I/O.
Pginas Dinmicas
O protocolo CGI (Common Gateway Interface), criado em 1995, trouxe uma maior
interatividade para a Web, permitindo iniciar uma aplicao do lado servidor, a partir de um
browser (Yeager & McGrath, 1996). No entanto, a independncia de plataforma ainda
garantida, pois toda a comunicao entre o browser e o servidor Web continua ocorrendo no
formato HTML.
O CGI recebe o pedido de execuo de aplicao via formulrios HTML, em que os
parmetros so digitados no browser pelo usurio, e, ento, faz a transferncia para o
programa apropriado, localizado no lado servidor. Esse programa envia uma Pgina Dinmica
como resposta. O usurio no tem a percepo de que a pgina foi gerada dinamicamente, a
partir de um processo iniciado sob o comando do servidor Web e apenas a recebe como se
fosse uma pgina esttica.
Segundo Casalicchio & Colajanni (2001), as requisies dinmicas podem ser classificadas
como dinmicas leves, CPU-bound e disk/CPU-bound.
2.4 Servidores Web
O servidor Web um elemento de grande importncia na rede, sendo responsvel pelo
atendimento aos usurios e deve ser projetado de maneira a atender o maior nmero de
requisies possveis, uma vez que, quando sobrecarregado, pode se tornar o gargalo do
-
23
sistema.
Um servidor Web est sempre em um lao infinito, aguardando por requisies dos
clientes. Os servidores atuais tratam as requisies que recebem segundo uma disciplina
FCFS (First Come, First Served), ou seja, mantida uma nica fila de espera em que cada
requisio aguarda o momento de ser atendida, de acordo com sua ordem de chegada.
Embora diferentes esquemas de controle de concorrncia possam ser implementados no
servidor, visando a agilizar o atendimento das requisies, este ocorre em geral de maneira
uniforme, sem considerar as particularidades e urgncia de cada tipo de requisio (Teixeira,
2004). A seguir, algumas formas de organizao dos servidores Web so apresentadas
brevemente:
Servidor Iterativo: trata as requisies pela ordem de chegada, sem nenhum tipo de
concorrncia;
Processo por Requisio: existe um processo principal que fica aguardando as
requisies. Ao chegar uma requisio, o processo principal cria uma cpia de si
mesmo e passa a esse filho a responsabilidade de tratar a requisio;
Pool de Processos: ao iniciar sua execuo, o servidor cria um nmero mnimo de
processos que ficam aguardando at que sejam convocados pelo processo dispatcher
para atenderem as requisies dos clientes;
Threads por Requisio: para cada requisio que chega criada uma nova thread
para trat-la;
Pool de threads: vrias threads so criadas quando o servidor Web iniciado. Elas
ficam aguardando pela chegada de requisies.
-
24
2.5 Protocolo HTTP
O HTTP (Hypertext Transfer Protocol), o protocolo de camada de aplicao da Web, est
implementado em dois programas: um programa cliente e um programa servidor. O programa
cliente e o programa servidor conversam pela troca de mensagens HTTP. Isso permite que o
cliente acesse os recursos armazenados no servidor Web. Todo o trfego de informaes entre
os browsers e servidores Web feito por mensagens HTTP. Os dados so representados
conforme o padro MIME (Multi-Purpose Internet Mail Extensions) (Borenstein, 1993).
O HTTP um protocolo do tipo stateless, isto , o servidor no guarda nenhuma
informao em relao ao estado dos clientes e, se uma falha na execuo da tarefa acontecer,
o cliente dever fornecer novamente todas as informaes necessrias para que a transao
possa ser realizada. Uma transao HTTP se desenrola segundo um mecanismo do tipo
requisio/resposta (request/reply).
2.5.1 Mensagens de Requisio e Resposta
As mensagens de requisio e resposta so definidas pelo protocolo HTTP em um formato
padro. Uma requisio formada tipicamente por:
Request line: linha que informa a ao a ser executada no servidor em que se encontra
o mtodo invocado (HTTP), a localizao do objeto no servidor e a verso do
protocolo HTTP utilizada;
Request header: uma ou mais linhas de cabealho contendo informaes do cliente
para informar ao servidor, por exemplo, os tipos de dados que ele capaz de aceitar;
Corpo da mensagem: opcional. utilizado quando dados adicionais do cliente devem
ser enviados ao servidor.
-
25
O protocolo HTTP determina que uma mensagem de resposta deve conter:
Response header: nesse cabealho encontrada a verso do protocolo e o cdigo de
status com o seu significado;
Request header: composto de vrios campos nos quais esto contidas informaes das
caractersticas do servidor e do objeto retornado ao cliente;
Corpo da mensagem: est contido o objeto retornado ao cliente, em geral um
documento HTML precedido por uma linha em branco.
Na Figura 2.2, mostrado um exemplo de Requisio e Resposta, em que um cliente
solicita (GET) o arquivo /doc/file.html do servidor www.nome.com, usando o protocolo
HTTP/1.1. O campo Accept, no cabealho, informa que o cliente capaz de receber textos em
formato HTML (text/html) e imagens em formato JPEG (image/jpeg). O tipo de browser do
cliente mostrado pelo campo User-Agent.
A resposta do servidor diz que a requisio foi bem sucedida (indicada pelo cdigo 200). O
tipo do servidor Web informado pelo campo Server, o campo Content-Type mostra que o
objeto retornado um documento HTML, e o campo Content-Lenght indica o nmero de
bytes do objeto que est sendo enviado. Aps a linha em branco, encontra-se o documento
solicitado:
Figura 2.2: Exemplo de Requisio e Resposta HTTP
-
26
O cliente pode enviar comandos ao servidor invocando um conjunto de mtodos definidos
pelo protocolo HTTP. A verso 1.0 do protocolo HTTP descrita na RFC 1945 (Berners-Lee
et al., 1996), na qual esto definidos os mtodos GET, HEAD e POST. No protocolo HTTP
1.1, descrito na RFC 2616 (Fielding et al., 1999), so acrescentados os mtodos OPTIONS,
PUT, DELETE, TRACE e CONNECT. Uma breve descrio desses mtodos pode ser vista
na Tabela 2.1:
Mtodo Finalidade
GET Faz a requisio do recurso especificado pela URL
POST Envia ao servidor informaes do cliente, geralmente, digitadas em formulrios HTML
HEAD Utilizado para obter informaes de um recurso sem retorn-lo ao cliente. Testa a validade de links, acessibilidade e a data da ltima atualizao
OPTIONS Usado para obter opes de comunicao disponveis. Permite ao cliente determinar os requisitos associados ao recurso requisitado
PUT Cria ou modifica um recurso no servidor DELETE Faz a solicitao para apagar um recurso no
servidor, identificado na URL TRACE Envia mensagem de teste ao servidor CONNECT Reservado para servidores proxy
Tabela 2.1: Mtodos definidos pelo protocolo HTTP
Para informar o resultado da execuo realizada, o servidor retorna em sua resposta HTTP
um cdigo de status. Esse cdigo pode pertencer a uma das classes apresentadas na Tabela
2.2:
Classe Descrio
1xx Finalidade Informativa 2xx Sucesso 3xx Redirecionamento 4xx Erro do cliente 5xx Erro do servidor
Tabela 2.2: Classes de cdigo de status das respostas HTTP
-
27
2.5.2 HTTP 1.0 e 1.1
O protocolo HTTP 1.0 foi introduzido juntamente com a Web, em 1990. Nessa verso
inicial, ele nada mais era do que um modo simples de recuperar dados por meio da Internet.
Com o crescimento da Web, surgiram novos requisitos, e algumas de suas fraquezas foram
aparecendo.
A primeira delas que o HTTP 1.0 exige o estabelecimento de uma nova conexo TCP
para cada objeto solicitado. No incio, quando os documentos da Web eram constitudos
basicamente de texto, isso no chegava a ser um problema. Porm, atualmente, uma simples
pgina HTML pode conter dezenas de pequenas imagens. Isso tende a causar uma grande
sobrecarga no trfego da Internet, bem como nos servidores.
O protocolo HTTP 1.1, padronizado em 1999 pelo W3C (World Wide Web Consortium)
(W3C, 1999b), usa como padro o esquema de conexes persistentes, que permite que uma
mesma conexo TCP seja usada por vrias transaes HTTP, o que bem mais eficiente. O
HTTP 1.1 tambm permite fazer o pipelining de requisies. Nesse caso, vrias requisies
so enviadas em seqncia, sem aguardar pelas respostas. Isso bastante til, por exemplo,
para recuperar as imagens de uma pgina em ambientes que possuam uma alta latncia para o
estabelecimento de conexes TCP.
2.5.3 Sesses HTTP
O crescimento da fidelidade dos clientes em relao aos servios de banco e compras de
produtos na Internet pode aumentar muito a demanda aos servidores Web. Como
conseqncia, alm de haver um alto trfego na rede, devem existir garantias de atendimento
a essa demanda, o que torna difcil, no atual modelo da Internet (Wei et al., 2003), o
oferecimento de um bom nvel de qualidade a esses servios.
Tipicamente, um acesso ao servidor Web ocorre na forma de uma sesso, que constituda
-
28
de vrias requisies individuais de um mesmo cliente (Arlitt, 2000). Por exemplo: um pedido
de um cliente a um site comercial pode envolver uma requisio para selecionar o produto,
outra para o fornecimento das informaes necessrias, uma para estabelecer um acordo de
pagamento e uma ltima requisio para o recebimento de uma confirmao.
Assim, tanto para o cliente quanto para o site de vendas, necessrio que seja garantido o
atendimento de todas as requisies pertencentes a uma transao comercial, pois o sucesso
da transao obtido somente quando o atendimento de uma seqncia de requisies for
concludo.
2.6 Consideraes Finais
Neste captulo, foi abordada a infra-estrutura da Internet. Foi apresentada a arquitetura
TCP/IP, sendo mostradas as caractersticas e funes de cada uma de suas camadas. Foi
apresentado tambm um panorama geral da Web e discutida sua organizao atual como
plataforma de comunicao de clientes e servidores. Em seguida, foi realizado um breve
resumo a respeito do funcionamento dos servidores Web e suas formas de organizao. Por
fim, foi estudado o protocolo HTTP.
No prximo captulo, ser mostrada a necessidade de introduzir qualidade de servio na
Web. Essa necessidade surge dados os problemas e limitaes do modelo atual de servios
existente.
-
29
Qualidade de Servio e Servidores
3.1 Consideraes Iniciais
Neste captulo, so discutidos os problemas atuais da Internet e como a insero de
qualidade de servio pode tornar essa rede mais eficiente. A abordagem de servios
diferenciados sobre redes IP e a viabilidade de seu emprego em nvel de aplicao,
particularmente em servidores Web, so destacados. Em seguida, apresentado o modelo para
um Servidor Web com Diferenciao de Servios, o SWDS. descrita a sua arquitetura e
tambm so discutidos alguns algoritmos de controle de admisso e diferenciao de servios.
3.2 Limitaes da Internet Atual
O trfego da Internet tem crescido enormemente nos ltimos anos, principalmente depois
do surgimento da Web. Esse crescimento no se deve apenas ao aumento do nmero de
usurios e aplicaes, mas tambm se d em decorrncia do aparecimento de novos tipos de
aplicaes, principalmente multimdia e de tempo real, que exigem da Internet uma resposta
para a qual ela no foi projetada (Teixeira, 2004).
A Internet capaz de fornecer um servio de melhor esforo (best-effort). A rede tenta
transportar os dados no menor tempo possvel e sem erros, mas no so dadas s aplicaes
3
-
30
garantias de que isso ocorrer. Esse modelo de melhor esforo decorrente da prpria
concepo do protocolo IP, no qual a Internet baseada, que foi projetado para ser simples,
eficiente e flexvel. Essa poltica funciona bem quando o trfego se mantm inferior
capacidade da rede, porm, em fases de congestionamento, podero ocorrer atrasos na entrega
dos pacotes e perda de dados na rede (Vasiliou & Lutfiyya, 2000).
Desde a criao das redes IPs, procura-se deixar a complexidade nas bordas da rede
(hosts), mantendo os elementos internos (roteadores) mais simples. Os roteadores fazem a
verificao dos endereos IPs dos datagramas em uma tabela de rotas, para determinar qual o
prximo salto (hop) a ser dado (Stardust, 1999b). Essa soluo tem sido suficiente para a
transmisso de dados convencionais e-mail, transferncia de arquivos e navegao na Web.
Entretanto, ela se revela inadequada para os novos tipos de aplicaes encontradas na rede,
tais como: aplicaes multimdia, telefonia sobre IP, vdeo-conferncia, transmisso de rdio
e TV (Teixeira, 2004). Essas aplicaes possuem certos requisitos que a Internet no est
preparada para atender. As aplicaes multimdia, por exemplo, necessitam de grande largura
de banda e suportam pequenas perdas de pacotes. J para a telefonia sobre IP, so exigidos
requisitos de temporizao. Alm disso, a Web tem se tornado uma plataforma de negcios,
exigindo alta confiabilidade e disponibilidade do meio de transmisso, cujos usurios esto
dispostos a pagar mais por um servio mais previsvel e de melhor qualidade (Xiao & Ni;
1999).
primeira vista, o problema da Internet poderia parecer de largura de banda, ou seja,
supondo-se que fosse possvel acrescentar capacidade de transmisso indiscriminadamente
rede, teoricamente seria possvel acolher todo o trfego existente, satisfazendo a todos.
Porm, alm de economicamente invivel, no a soluo adequada para alguns casos, pois,
para algumas aplicaes, o ponto crtico no est na quantidade de largura de banda
disponvel, mas sim na latncia de transmisso (Teixeira, 2004).
-
31
Sendo assim, faz-se necessrio realizar um gerenciamento da largura de banda disponvel,
diferenciando o trfego que passa pelos elementos internos da rede, e, dessa forma, fornecer
classes ou nveis de servio diferenciados aos usurios e aplicaes (Xiao & Ni; 1999).
3.3 Conceitos Bsicos de QoS A idia de aplicar Qualidade de Servio em redes IP surgiu da necessidade de minimizar os
problemas existentes nesse tipo de rede. Fornecer a um elemento da rede a garantia de que
seus requisitos de trfego e servio sero satisfeitos a principal funo da Qualidade de
Servio (QoS) (Stardust, 1999b). Em outras palavras, a capacidade da rede de prover servio
de encaminhamento de dados de forma consistente e previsvel.
A QoS obtida por meio da cooperao de todos os nveis da rede, desde o topo at a base,
bem como de todos os elementos da rede fim-a-fim. Qualquer garantia de QoS ser to forte
quanto o mais frgil elemento do caminho da transmisso de dados na rede (Stardust, 1999b).
Os mecanismos de QoS, conforme a demanda das aplicaes, administram a largura de
banda existente na rede. Habilitar QoS para as aplicaes de alta prioridade no deve implicar
na anulao das aplicaes menos prioritrias.
A QoS pode ser descrita de forma absoluta ou de forma relativa. Uma especificao de
QoS em termos absolutos fornece mtricas a serem cumpridas, relacionadas, em geral, ao
atraso ou perda de pacotes. J a QoS relativa faz diferenciao de servios, garantindo que
uma aplicao em uma classe de mais alta prioridade nunca receba um servio pior que o de
qualquer classe inferior (Zhao et al., 1999).
Duas caractersticas importantes dentro do tema de QoS so identificadas: garantia de
desempenho e diferenciao de servios (Zhao et al., 1999). A primeira caracterstica est
relacionada ao gerenciamento de largura de banda, perda de pacotes, atraso e jitter (variao
do atraso). A segunda est relacionada com o fornecimento de nveis de QoS distintos para
-
32
diferentes aplicaes.
Em Koruse & Ross (2006), so estabelecidos alguns princpios para o fornecimento de
garantias de qualidade de servio:
Princpio 1: a classificao de pacotes permite que um roteador faa distino de
pacotes pertencentes a diferentes fluxos de trfego;
Princpio 2: desejvel fornecer um certo grau de isolamento entre os fluxos de
trfego, de modo que um fluxo no seja adversamente afetado por outro mal
comportado;
Princpio 3: ao fornecer isolamento de fluxos, desejvel que se usem os recursos da
maneira mais eficiente;
Princpio 4: necessrio um processo de aceitao de chamada pelo qual os fluxos
declarem suas exigncias de QoS e, em seguida, sejam admitidos ou no na rede.
Outro componente importante para a determinao do modelo de QoS a ser fornecido aos
usurios diz respeito ao tipo de trfego que as aplicaes geram e qual o comportamento
esperado da rede para que elas funcionem corretamente. Com relao ao tipo de trfego, as
aplicaes podem ser classificadas em Braden et al. (1994):
Aplicaes de tempo real (no elsticas): exigentes no que diz respeito ao tempo de
transporte dos seus dados (caractersticas rgidas de temporizao). Essa classificao
pode ainda ser quebrada em duas categorias:
o Aplicaes tolerantes: so aquelas que toleram variaes no atraso (jitter)
causadas pela rede;
o Aplicaes intolerantes: as variaes no atraso so inaceitveis;
-
33
Aplicaes elsticas (no tempo real ou adaptveis): para esse tipo de aplicao, a
recepo correta dos dados mais importante do que a sua apresentao em uma taxa
constante. Exemplos de aplicaes elsticas so: correio eletrnico, transferncia de
arquivos, consultas interativas a informaes (como na Web) e aplicaes
cliente/servidor tradicionais.
3.4 Arquitetura para QoS Na Internet, destacam-se dois tipos bsicos de arquiteturas para QoS (Stardust, 1999b;
Zhao et al., 1999):
Baseada na Reserva de Recursos: os recursos da rede so atribudos s aplicaes
segundo suas demandas de QoS e submetidos poltica de gerenciamento de largura
de banda. Essa a abordagem empregada pela arquitetura de Servios Integrados
(IntServ);
Baseada na Priorizao: o trfego na rede classificado de acordo com suas
caractersticas de demanda e recebe os recursos segundo a poltica de gerenciamento
vigente. As classes de trfego mais exigentes recebem tratamento preferencial,
abordagem adotada pela arquitetura de Servios Diferenciados (DiffServ).
3.4.1 Servios Integrados
A idia principal da arquitetura IntServ a de reserva de recursos. As aplicaes precisam
encontrar um caminho at o receptor que satisfaa as demandas de QoS e realizar a reserva
dos recursos necessrios ao longo do mesmo, antes do incio da transmisso dos dados. Esse
sistema exige dos roteadores a manuteno de informaes de estado para cada fluxo de
-
34
dados, levando complexidade para o ncleo da rede. Apesar de fornecer a maior QoS possvel
em uma rede baseada nos protocolos TCP/IP, pois realiza a reserva de recursos fim-a-fim,
representa uma ruptura com a abordagem tradicionalmente empregada nas redes IP. Seu
objetivo fornecer um servio mais prximo possvel da abstrao de circuitos virtuais, em
uma rede comutada por pacotes, como a Internet.
So definidas duas classes de servio na arquitetura IntServ, alm do tradicional modelo de
melhor esforo encontrado nas redes IP: Servio Garantido e Servio de Carga Controlada:
Servio Garantido: garantida a disponibilidade de largura de banda e fornecido um
limite superior para o atraso de comunicao. As aplicaes que possuem requisitos
estritos de tempo real podem utilizar esse servio;
Carga Controlada: esse servio oferece uma nica funo. As aplicaes que fazem
reserva de QoS usando os servios de carga controlada recebem um servio
equivalente ao servio fornecido pelo modelo de melhor esforo em condies de
sobrecarga leve. No garantido um atraso mximo, apenas um limiar probabilstico,
assim como no assegurado que no haver perda de pacotes. Os servios de carga
controlada so projetados para aplicativos que podem tolerar uma quantia razovel de
perda e retardo de pacotes, tal como aplicaes de udio e videoconferncia.
Protocolo RSVP
Para a arquitetura IntServ, deve ser realizada a reserva de recursos ao longo do caminho
entre o transmissor e o receptor antes de a transmisso de dados ser iniciada. Em princpio, a
reserva de recursos pode ser executada por qualquer protocolo que seja compatvel com o
modelo, mas na prtica o protocolo RSVP (Resource Reservation Protocol) (Braden et al.,
1997) o padro.
-
35
O protocolo RSVP considerado como uma das solues mais complexas em suporte ao
fornecimento de QoS (Stardust, 1999a). um protocolo de controle e sinalizao que atua na
camada de rede.
Algumas caractersticas importantes do protocolo RSVP so:
O RSVP faz reservas tanto para transmisses unicast como para transmisses
multicast;
O RSVP faz reservas somente para fluxos unidirecionais. Para conseguir reservas
bidirecionais, deve solicitar duas reservas unidirecionais distintas;
No RSVP, o receptor dos dados o responsvel por iniciar e manter as reservas para
os fluxos;
O estado das reservas no RSVP segue a abordagem soft-state, ou seja, expira aps um
certo perodo de tempo, sendo necessrio renov-lo periodicamente;
O RSVP no um protocolo de roteamento. Ele utiliza as rotas escolhidas pelo
protocolo de roteamento adotado;
O RSVP permite fazer o gerenciamento de fluxo em uma granulosidade bem fina,
conseguindo-se altos nveis de QoS na Internet;
Para conseguir QoS, necessrio que todos os roteadores ao longo do caminho dem
suporte ao RSVP, mantendo informaes de estado e escalonando pacotes para cada
fluxo de dados.
importante destacar que o RSVP leva uma complexidade significativa para o ncleo da
Internet, uma vez que exige que os roteadores gerenciem informaes relativas aos fluxos de
-
36
dados que passam por eles. Isso leva a um rompimento com o modelo tradicional de servios
da Internet, que sempre procurou deixar a complexidade nas bordas da rede. Portanto, a
abordagem de servios integrados mais bem empregada em um ambiente de rede local,
fornecendo uma QoS para aplicaes de um domnio.
3.4.2 Servios Diferenciados
A abordagem DiffServ baseia-se na idia de agregao de fluxos em umas poucas classes
de servio (Magalhes & Cardozo, 1999). Realiza a marcao de pacotes nos pontos de
ingresso na rede de forma distinta, o que permite que os mesmos sejam tratados internamente
de maneira diferenciada, segundo suas classes de servio. Esse mtodo, ao contrrio do
modelo IntServ, que exige complexidade por todo percurso da entrega de dados, mantm a
complexidade nas bordas da rede, conservando um dos princpios bsicos do projeto da
Internet.
Baseado em um esquema de prioridades relativas, o modelo Diffserv garante um melhor
tratamento ao trfego gerado pelas aplicaes com maior prioridade (Xiao & Ni, 1999). Para
isso, feita uma classificao de pacotes, para que eles sejam tratados de maneira
diferenciada no interior da rede.
Os pacotes so classificados modificando-se a definio do layout do octeto Type-of-
Service do cabealho do protocolo IPv4 (ou o campo Traffic Class do IPv6). Utilizando um
campo do prprio datagrama IP para a marcao de pacotes, no h necessidade de um
protocolo para o DiffServ, sendo somente preciso que o roteador examine essa informao
para distinguir os pacotes entre um certo nmero de classes de servio pr-definidas, dando a
eles o tratamento conveniente.
Atualmente so definidas na arquitetura de servios diferenciados duas classes de servios
principais, Encaminhamento Garantido e Encaminhamento Expresso, que so abordadas a
-
37
seguir (Kilkki, 1999):
Encaminhamento Garantido: a classe de servio Encaminhamento Garantido (Assured
Forwarding - AF) oferece um servio mais confivel do que o de melhor esforo.
garantido um tratamento preferencial ao trfego, mas sem oferecer limites superiores
para o atraso e jitter. O trfego dividido em classes com diferentes nveis de
precedncia de descarte. Dessa forma, o nvel de garantia de encaminhamento de um
pacote depende da quantidade de recursos alocados para a classe, a carga atual da
classe e, em caso de congestionamento, o nvel de descarte do pacote;
Encaminhamento Expresso: o servio Encaminhamento Expresso (Expedited
Forwarding - EF) ou Premium Service define garantias mais rgidas de QoS para
aplicaes muito sensveis a variaes de caractersticas temporais da rede. Ele pode
ser utilizado para implementar um servio com pouco atraso, pouca variao do atraso
(jitter) e largura de banda garantida. Para os usurios, esse servio parece com uma
linha privativa virtual. Com o servio de Encaminhamento Expresso, os pacotes da
classe Premium so colocados em uma fila de maior prioridade e sempre so os
primeiros a serem encaminhados. Alm disso, sempre evitado que os pacotes com
esse contrato sejam descartados.
Service Level Agreements
Um componente central dos Servios Diferenciados o Service Level Agreement (SLA) -
acordo de nvel de servio. O SLA um contrato de servio entre um cliente e um provedor
de servios que especifica os detalhes da classificao de trfego e o servio de
encaminhamento que um cliente deve receber.
O provedor de servios precisa garantir que o trfego de um cliente, com o qual ele tem um
SLA, obtenha a QoS contratada. Assim, a administrao da rede do provedor de servios
-
38
precisa definir os planos de ao dos servios apropriados e medir o desempenho da rede para
garantir o desempenho de trfego combinado.
As polticas de QoS podem ser aplicadas baseadas em nmeros de portas, data e hora,
endereos de origem e destino, ou em outras informaes que estejam contidas no trfego
(Stardust, 1999b). Alm disso, podem ser especificados procedimentos de tarifao e
cobrana, servios de criptografia e autenticao, procedimentos de renegociao dos
parmetros do SLA, entre outros (Vasiliou & Lutfiyya, 2000).
3.5 Servios Diferenciados em Nvel de Aplicao
Como j citado anteriormente, qualquer esforo para o fornecimento de QoS na Web no
poder ter sucesso se apenas mecanismos em nvel de rede e sistema operacional forem
utilizados, pois, em ltima instncia, so os servidores Web os responsveis pelo atendimento
das solicitaes dos usurios. Dessa forma, para que haja fornecimento de QoS, necessria a
cooperao de todos os elementos do sistema.
Infelizmente, a grande maioria dos servidores atuais ainda trata todas as solicitaes
igualmente, conforme uma disciplina FCFS (First-Come First-Served). Dessa forma, no
possvel haver uma proviso de QoS na Web, uma vez que, para isso, fundamental que esses
servidores sejam providos de polticas de atendimento que consigam realizar a diferenciao
de servios.
Esse um importante assunto a ser tratado, pois a Web tem sido fortemente utilizada como
um meio para a conduo de negcios, cujo elemento central o servidor Web.
Em Teixeira (2004), proposta uma arquitetura para um servidor Web que o torne capaz
de fornecer servios diferenciados a seus usurios e aplicaes, de acordo com suas
caractersticas de demanda. A Figura 3.1 descreve a arquitetura proposta, que composta
pelos seguintes mdulos: um Classificador, um mdulo de Controle de Admisso e um cluster
de processos ou servidores Web:
-
39
Figura 3.1: Servidor Web com Diferenciao de Servios (SWDS)
O Classificador o elemento responsvel por receber as requisies que chegam ao
sistema e subdividi-las em classes de servio, segundo critrios preestabelecidos. Aps essa
fase, a nova requisio entra no sistema em uma determinada categoria e recebe um
tratamento condizente com a classe qual pertence.
O Controle de Admisso recebe as requisies j classificadas e gerencia a sua aceitao
pelo servidor, levando em conta as polticas de atendimento vigentes e as informaes da
carga de trabalho do sistema. Caso o servidor esteja sobrecarregado, uma requisio poder
ser rejeitada (descarte) ou poder ter suas exigncias de qualidade de servio relaxadas
(negociao), a fim de que possa ser aceita em outra classe de prioridade (Estrela et al., 2006).
Aps ser admitida no sistema, a requisio atribuda a um dos ns do cluster de
servidores Web, sendo atendida conforme o algoritmo de escalonamento ou diferenciao de
servios vigente. Aps a concluso do processamento, os resultados so retornados ao cliente
que originou a solicitao.
Para o modelo SWDS, no suposta nenhuma plataforma de hardware ou sistema
-
40
operacional especficos. Os ns do cluster so considerados como servidores Web
convencionais, compostos de CPU, disco e interface de rede.
Apesar de ser formado por servidores Web, o cluster do modelo pode ser abstrado para
processos ou at mesmo CPUs em um computador paralelo, pois no h exigncias de que a
arquitetura seja necessariamente formada por mquinas dispostas em um sistema distribudo.
Uma caracterstica importante do modelo SWDS a sua flexibilidade, pois admite vrios
tipos de mecanismos de controle de admisso e diferenciao de servios.
3.5.1 Controle de Admisso
Em funo das caractersticas da carga de trabalho da Web, o Controle de Admisso um
mecanismo essencial em servidores. A carga que atinge os servidores pode, de modo
imprevisvel, sobrecarregar o sistema e, dessa forma, comprometer toda a diferenciao de
servios realizada para atingir os nveis de QoS pretendidos. Portanto, o principal objetivo do
mdulo de controle de admisso do servidor SWDS fazer com que a carga do sistema seja
sempre mantida dentro de nveis aceitveis. Para isso, so consideradas as informaes da
carga do sistema, alm das polticas de atendimento.
Mecanismos de Controle de Admisso
Foram implementados, por Teixeira (2004), trs mecanismos de controle de admisso no
SWDS: Tamanho das Filas, Tempo de Resposta e Utilizao do Sistema.
O mecanismo que considera o tamanho das filas impe um tamanho mximo para as filas
dos servidores do cluster, recusando novas requisies quando esse limite for atingido. A
principal funo desse mecanismo manter a carga do sistema em nveis aceitveis, mas ele
no oferece garantias de QoS aos clientes.
O mecanismo baseado no tempo de resposta preocupa-se em manter o tempo de resposta
das requisies de alta prioridade abaixo de um certo limiar. Seu funcionamento consiste em
-
41
aceitar as requisies de alta prioridade sempre que possvel e somente admitir aquelas de
baixa prioridade quando a carga estiver abaixo do limiar pr-determinado. Com esse
mecanismo, evita-se que o tempo de resposta apresente picos devido aos aumentos na carga
de trabalho, conseguindo-se uma maior estabilidade no sistema.
O mecanismo que leva em considerao a utilizao do sistema emprega uma mdia
exponencialmente ponderada da utilizao do cluster para o controle de admisso, a qual pode
ser ajustada conforme valores atuais ou o histrico da carga do sistema. Esse mecanismo
consegue, de forma rigorosa, manter a utilizao do servidor SWDS dentro do limiar
especificado, o que permite oferecer um tratamento mais justo a todas as classes de
requisies.
So encontrados na literatura outros trabalhos que consideram a presena do Controle de
Admisso fundamental para que os servidores ofeream qualidade de servio, como os
trabalhos de Cardellini et al. (2001), Lee et al. (2002) e Andreolini et al. (2004).
As polticas de controle de admisso podem ainda considerar outros parmetros como base
para a tomada de decises, como as caractersticas das requisies Web, por exemplo.
3.5.2 Mecanismos de Diferenciao de Servios
Com o objetivo de realizar o balanceamento de carga e prover diferenciao de servios no
Servidor Web com Diferenciao de Servios (SWDS), foram propostos em Teixeira (2004) e
Traldi et al. (2006) alguns algoritmos de diferenciao de servios. Esses algoritmos
especificam a forma de compartilhamento do cluster de servidores Web entre as classes de
servio. Eles determinam qual categoria de clientes ter preferncia no atendimento,
realizando a diferenciao de servios propriamente dita.
Em Teixeira (2004) so propostos algoritmos de diferenciao de servios baseados em
Reserva de Recursos e algoritmos baseados em Prioridades, alm dos algoritmos que
objetivam apenas o balanceamento de carga.
-
42
Os algoritmos baseados na Reserva de Recursos fazem a subdiviso do cluster de
servidores Web do SWDS em parties. feita ento uma associao dessas parties s
classes de servio. Com isso, uma parcela da capacidade de processamento do servidor
reservada para cada classe de requisies. Nos algoritmos baseados em Prioridades, a
diferenciao realizada atribuindo-se prioridades s requisies presentes nas filas do
cluster.
Como algoritmo baseado em Reserva de Recursos, foi apresentado em Teixeira (2004) o
RSV (Algoritmo de Reserva de Recursos). O algoritmo RSV subdivide os ns do cluster do
SWDS em parties e associa cada partio a uma classe ou um conjunto de classes de
servio, de maneira esttica. Esse algoritmo apresenta bons resultados quando a carga a que o
sistema submetido previamente conhecida, uma vez que o particionamento dos recursos
realizado de maneira no dinmica. Entretanto, para ambientes onde a carga varia, como no
caso da Web, no aconselhada a sua utilizao.
Como algoritmos baseados em Prioridades, so propostos em Teixeira (2004) um
Mecanismo de Prioridades Rigoroso e um Mecanismo de Prioridades Adaptativo.
O Mecanismo de Prioridades Rigoroso exige que o atendimento das requisies siga uma
disciplina de prioridades rgida, ou seja, as requisies de prioridade inferior somente sero
atendidas quando no houver nenhuma requisio de prioridade superior aguardando na fila.
Esse mtodo garante que as requisies de maior prioridade sempre recebam atendimento
preferencial. Entretanto, dependendo da carga a que o sistema submetido, pode ocorrer
negao de servio s requisies de menor prioridade.
A fim de evitar o monoplio do sistema por parte das requisies de alta prioridade, foi
proposto o Mecanismo de Prioridades Adaptativo. Com o mecanismo adaptativo, pode-se
atribuir maior ou menor importncia s classes de maior prioridade por meio da utilizao de
um parmetro k, denominado look-ahead, que determina o nmero mximo de posies da
-
43
fila de espera que sero percorridas a partir do incio, procura de requisies de uma
determinada prioridade. Caso no encontre nenhuma requisio do tipo especificado, o
algoritmo ser repetido para o nvel de prioridade imediatamente inferior. Quanto maior o
valor de k, melhor ser o tratamento dado s requisies de maior prioridade. Uma
caracterstica indesejvel desse mtodo que, dependendo do valor de k, uma requisio da
classe de menor prioridade pode esperar por muito tempo na fila para ser atendida, mesmo
que o tempo de processamento necessrio para o seu atendimento seja muito pequeno se
comparado ao tempo necessrio para o atendimento das requisies de maior prioridade. Isso
leva a um aumento no tempo mdio de espera na fila.
Em Traldi et al. (2006) apresentado o algoritmo de Reserva Adaptativa de Recursos
(RSVAdap). Esse algoritmo foi desenvolvido com o intuito de adaptar o funcionamento do
algoritmo RSV para ambientes em que a carga varivel. O RSVAdap aloca os ns do cluster
nas classes de usurios (requisies) sob demanda, segundo a carga de trabalho vigente. Para
a alocao dos recursos, o algoritmo se baseia no nmero de requisies de cada classe
presente no sistema no momento da anlise e no nvel de diferenciao pretendido. Definido o
particionamento do cluster, o algoritmo RSVAdap, que atua no mdulo escalonador do
modelo SWDS, distribui as requisies pertencentes a uma determinada classe aos ns
reservados a ela, utilizando o conceito de Shortest Queue First (SQF). Uma caracterstica
importante do algoritmo RSVAdap que, havendo requisies de uma determinada classe no
sistema, independentemente de seu nvel de prioridade, o algoritmo realiza a reserva de pelo
menos um n do cluster a essa classe, impedindo que seja negado atendimento a essas
requisies. Isso pode levar, em algumas situaes, ao desperdcio de recursos do cluster e
tambm diferenciao de servios inadequada.
Em Traldi et al. (2006) foi realizada a adaptao para o nvel de aplicao do algoritmo
Weighted Fair Queuing (WFQ) projetado para o nvel de rede. Esse algoritmo baseado em
-
44
Prioridades e utiliza a idia de dividir a capacidade de processamento dos ns do cluster entre
as classes de requisies de acordo com os pesos que so atribudos s classes. Como
parmetro para o escalonamento, o algoritmo tambm considera o tempo de processamento
necessrio para atender uma requisio, priorizando requisies menos custosas. Por no
realizar reserva de recursos, esse mecanismo evita a subutilizao do sistema.
Em Traldi (2005) apresentado o algoritmo WFQ Adaptativo. Esse algoritmo baseia-se no
funcionamento do algoritmo WFQ, entretanto tambm apresenta bons resultados para
ambientes em que a carga varivel.
3.6 Consideraes Finais
Neste captulo, foram apresentadas as limitaes da Internet atual, que motivam a insero
de QoS nessa rede. Foram apresentados tambm os conceitos bsicos de QoS, bem como as
arquiteturas utilizadas para a proviso de qualidade de servio.
Em seguida, foi discutida a importncia de ter diferenciao de servios tambm em nvel
de aplicao e apresentada a arquitetura do Servidor Web com Diferenciao de Servios, o
SWDS. Foram tambm mostradas algumas polticas de controle de admisso e polticas de
diferenciao de servios. Essas polticas so fundamentais para que o SWDS consiga
fornecer qualidade de servio no atendimento s requisies Web.
Os resultados fornecidos pelas polticas descritas motivam a investigao de novas
estratgias de controle de servios. No entanto, essas polticas no levam em considerao as
caractersticas das requisies Web na tomada de decises, baseando-se apenas na classe da
tarefa, que definida pela sua prioridade.
Para avaliar o desempenho do modelo de Servidor Web com Diferenciao de Servios
(SWDS) quando so consideradas as caractersticas das requisies Web nas polticas de
atendimento, necessria a utilizao de alguma tcnica de Avaliao de Desempenho.
-
45
No prximo captulo, sero apresentadas algumas das tcnicas de Avaliao de
Desempenho encontradas na literatura e mostrada a metodologia adotada neste trabalho.
-
46
Avaliao de Desempenho
4.1 Consideraes Iniciais
Na computao, h sempre a preocupao em obter informaes relevantes a respeito dos
sistemas. Por meio dessas informaes, obtidas no processo de avaliao de desempenho,
pode-se verificar se o sistema avaliado est realizando bem as tarefas para as quais foi
designado.
Assim, para analisar os mecanismos de diferenciao desenvolvidos para o SWDS, foram
utilizadas tcnicas de avaliao de desempenho.
A seguir, so apresentadas algumas dessas tcnicas e mostrada a metodologia adotada
neste trabalho.
4.2 Tcnicas de Avaliao de Desempenho
Para a avaliao de desempenho de um sistema, pode-se utilizar uma das tcnicas que se
encontram distribudas em dois grandes grupos: Tcnicas de Aferio e Tcnicas de
Modelagem (Santana, 1990a; Santana, 1990b). As tcnicas de Aferio mais utilizadas so:
construo de Prottipos, utilizao de Benchmarcks e Coleta de Dados. Quanto
4
-
47
modelagem, as tcnicas de Redes de Petri, Statecharts e Rede de Filas so as mais utilizadas.
A hierarquia das Tcnicas de Avaliao de Desempenho mostrada na Figura 4.1:
Figura 4.1: Hierarquia das Tcnicas de Avaliao de Desempenho
4.2.1 Tcnicas de Aferio
Tcnicas de Aferio so aplicadas principalmente na avaliao de sistemas j existentes
ou em fase final de desenvolvimento (Santana et al., 1997).
No caso da aferio de um sistema, so utilizados monitores de hardware ou de software
(Jain, 1991; Hofmann et al., 1994). necessrio que haja uma grande preocupao em no
alterar o funcionamento natural do sistema durante a experimentao prtica.
4.2.2 Tcnicas de Modelagem
Um modelo uma descrio do sistema, constituindo uma abstrao do sistema, em que
so incorporadas as suas caractersticas fundamentais vistas sob uma tica especfica.
Uma das tarefas mais difceis no processo de modelagem decidir quais elementos do
sistema devem ser includos no modelo. Assim, ao modelar um sistema, deve-se procurar
abstrair quais de seus elementos so importantes na resoluo de uma dada questo particular
e quais relaes entre esses elementos so pertinentes resoluo do modelo. Dessa forma,
podem-se ter vrias descries (modelos) de um sistema, cada uma mais adequada resoluo
de um problema particular (Soares, 1990) - isto constitui as vrias vises que se tem do
sistema.
Freqentemente os modelos so classificados de acordo com os mtodos utilizados na
-
48
obteno dos resultados numricos (medidas de desempenho). Assim, modelos analticos so
definidos como modelos cuja estrutura formada por uma srie de equaes matemticas, por
meio dos quais o comportamento do sistema pode ser obtido pela atribuio dos valores aos
parmetros do modelo e pela soluo das equaes. J os modelos para simulao podem ser
definidos como aqueles representados por uma estrutura matemtica/lgica, que pode ser
exercitada de forma a imitar o comportamento do sistema por meio de programas
computacionais, por exemplo. Com o experimento (simulao), vrias observaes so
realizadas para dar subsdio s concluses sobre o sistema (Soares, 1990). Pode-se ainda
enxergar a natureza analtica ou de simulao em funo da tcnica empregada para
solucionar o modelo. Isto , tendo-se um modelo, se for vivel obter a sua soluo a partir de
equaes que o representem, ento o modelo ser resolvido analiticamente e se referi-r a ele
como um modelo analtico. Se, por outro lado, a soluo do modelo for obtida por meio de
um programa de simulao, tratar-se- de uma soluo por simulao e o modelo ser dito,
muitas vezes, um modelo de simulao (Santana, 1990a).
Existem vrias tcnicas de representao de sistemas adequadas modelagem de sistemas
computacionais. Entre elas, destacam-se: Redes de Petri, Statecharts e Rede de Filas. A
seguir, a tcnica de modelagem por Rede de Filas detalhada.
Rede de Filas
Rede de Filas uma tcnica baseada na Teoria de Filas criada para modelar sistemas nos
quais existe a ocorrncia de filas (Francs, 1998).
Uma rede de filas bsica consiste de entidades chamadas centros de servios e um conjunto
de entidades chamadas de usurios, que recebem servio e circulam pelo sistema (Soares,
1990).
-
49
Um centro de servio consiste de um ou mais servidores, correspondentes a recursos no
sistema modelado, e uma rea de espera (uma fila) de capacidade finita ou infinita para
usurios que esto requisitando servios. A CPU de um computador um exemplo de recurso
(Soares, 1990).
Para que possa existir distino entre os vrios usurios que circulam em um sistema,
utiliza-se o conceito de Classes de Usurios. Assim, quando o modelo possui mais de uma
classe de usurios, pode-se estabelecer prioridades entre elas.
Medidas de Desempenho
No processo de avaliao de desempenho de um sistema, algumas medidas so
fundamentais. Essas medidas so chamadas de medidas de desempenho.
Para a avaliao de um sistema, deve-se determinar um conjunto de medidas de
desempenho a serem colhidas e, por meio dessas medidas, verificar se o sistema est
atendendo aos requisitos de desempenho estipulados previamente.
A seguir so apresentadas algumas medidas de desempenho, considerando-se um sistema
em que h formao de filas, que o caso dos sistemas computacionais:
A utilizao de um recurso a frao do tempo em que o recurso esteve ocupado.
Ela pode ser obtida por meio da razo entre o tempo que o recurso esteve ocupado
durante um intervalo e o tempo total de durao desse intervalo;
A vazo (throughput) uma medida da taxa de concluso dos trabalhos. Ela dada
pelo nmero de completudes por unidade de tempo;
O tamanho (comprimento) mdio da fila o nmero mdio de usurios em
-
50
espera e em servio;
O tempo mdio no sistema (centro de servio) o tempo mdio que os usurios
gastam esperando na fila e em servio.
O conhecimento pleno e prvio do sistema fundamental para a escolha adequada da
tcnica a ser utilizada, pois o uso de uma tcnica inadequada pode levar ao fracasso da
avaliao. O estado de desenvolvimento do sistema a ser avaliado tambm deve ser levado em
considerao.
4.3 Avaliao de Desempenho de Servidores Web
O uso da tcnica de modelagem torna-se bastante atrativo quando o objeto de estudo so
sistemas complexos ou ainda inexistentes, pois um modelo uma abstrao de uma situao
real, em que se procuram incorporar suas caractersticas mais relevantes. No caso da Internet,
devido ao seu tamanho e constante evoluo, a avaliao de desempenho baseada em modelos
se impe como a alternativa mais adequada (Teixeira, 2004).
Para avaliar o desempenho de um sistema, de suma importncia caracterizar bem o tipo
de carga a que ele normalmente submetido, bem como o nvel de detalhamento empregado
na descrio da carga. Os recursos do sistema considerados na caracterizao da carga devem
ser aqueles cuja utilizao tenha o maior impacto no desempenho do sistema (Ferrari et al.,
1983). No caso de um servidor Web, a CPU e o sistema de I/O so os principais recursos a
serem analisados. Finalmente, precisam ser determinados os parmetros que melhor
caracterizam cada componente da carga (taxa de chegada, nmero de clientes, tempo de CPU,
de I/O).
Algumas caractersticas especiais devem ser consideradas quando se pretende avaliar o
desempenho de um servidor Web:
-
51
A populao de usurios de um servidor Web potencialmente ilimitada e as
requisies podem vir de qualquer lugar do mundo;
Um servidor Web pode ser submetido por longos perodos a cargas relativamente
baixas e repentinamente ser alvo de cargas superiores sua capacidade;
A variabilidade no tamanho dos objetos armazenados em um servidor tambm deve
ser considerada, pois a diversidade dos mesmos muito grande. O servidor pode
armazenar objetos que variam desde arquivos texto e HTML a arquivos multimdia;
Atualmente os servidores tambm vm sendo utilizados como servidores de
aplicao, dando suporte gerao dinmica de pginas.
A avaliao de desempenho de especial importncia quando se pretende avaliar o
comportamento de um sistema considerando-se diferentes polticas de funcionamento, como
por exemplo, os escalonadores em servidores Web e a insero de caractersticas de QoS.
4.4 Avaliao de Desempenho do SWDS
A tcnica escolhida para a avaliao de desempenho do Servidor Web com Diferenciao
de Servios (SWDS) foi a modelagem por meio de Rede de Filas. Foi adotado um modelo
simplificado do servidor SWDS, conforme apresentado na Figura 4.2.
Esse modelo consiste de um Classificador, Controle de Admisso, um mdulo de
Escalonamento e um cluster de servidores Web. O mdulo escalonador responsvel por
fazer a distribuio das requisies entre os ns do cluster, assumindo as funes de um
despachante. Cada n do cluster modelado com um recurso que representa o consumo de
CPU e outro que representa o consumo de I/O, conforme Figura 4.3.
-
52
Figura 4.2: Modelo simplificado do Servidor Web com Diferenciao de Servios (SWDS)
Classificador, Controle de Admisso, escalonador e os ns do cluster foram modelados
como centros de servio. No foram modelados detalhes da rede externa, assumindo-se haver
largura de banda suficiente na rede, uma vez que o foco principal a anlise do desempenho
do SWDS e da sua capacidade de fornecer servios diferenciados.
Figura 4.3: Modelo do Cluster de Servidores Web
4.5 Consideraes Finais
Neste captulo, foram mostradas algumas das tcnicas de Avaliao de Desempenho
-
53
encontradas na literatura. Como tcnicas de Aferio, foram discutidas a construo de
Prottipos, a utilizao de Benchmarcks e a Coleta de Dados. Quanto s tcnicas de
Modelagem, foram apresentadas as Redes de Petri, Statecharts e Rede de Filas.
Em seguida, discutiu-se sobre as medidas que so fundamentais para o processo de
Avaliao de Desempenho, as medidas de desempenho.
Dando continuidade, foram exibidas algumas caractersticas dos servidores Web, que so
sistemas cuja Avaliao de Desempenho baseada em modelos considerada bastante
adequada.
Finalmente, foi apresentado o modelo do Servidor Web com Diferenciao de Servios
utilizado para avaliar as estratgias de melhoria de desempenho propostas neste trabalho.
Para avaliar o desempenho de um sistema, de suma importncia caracterizar bem o tipo
de carga a que ele normalmente submetido. Por isso, no prximo captulo sero
apresentados os critrios utilizados para a gerao de uma carga de trabalho sinttica para um
site de comrcio eletrnico. Optou-se pelo comrcio eletrnico porque esses servios so uns
dos mais impactados negativamente quando h um comportamento ruim do servidor em
situaes de sobrecarga.
No captulo a seguir, tambm sero discutidas as caractersticas das requisies Web
tpicas do e-commerce, uma vez que se tem por objetivo melhorar o desempenho do modelo
SWDS quando so consideradas tais caractersticas. As caractersticas consideradas devem ser
as que causam os maiores impactos no desempenho do sistema. No caso de um servidor Web,
os consumos de CPU e de sistema de I/O so as principais a serem analisadas.
-
54
Carga de Trabalho
5.1 Consideraes Iniciais
Neste captulo, descrito o processo realizado para gerao de uma carga de trabalho
sinttica para um site de comrcio eletrnico. Para a realizao de uma avaliao de
desempenho sem a participao de uma empresa do mercado, necessrio reproduzir um
cenrio que retrate a realidade atual de sites de comrcio eletrnico e gerar uma carga de
trabalho sinttica que retrate o mais prximo possvel o atual comportamento dos
consumidores de sites de comrcio eletrnico.
Com o propsito de melhorar o desempenho do SWDS quando consideradas as
caractersticas das requisies Web na tomada de deciso, para a gerao da carga de
trabalho, foram consideradas informaes dos diversos tipos de requisies tpicas de e-
commerce.
O modelo de carga de trabalho foi definido com base em trabalhos relacionados.
5.2 Comrcio Eletrnico
Segundo E-Bit (2007), os nmeros e as taxas de crescimento das vendas online nos ltimos
5