ottone.pdf

100
__________________________________________ Políticas de atendimento para servidores Web com serviços diferenciados baseadas nas características das requisições Ottone Alexandre Traldi __________________________________________

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