• Nenhum resultado encontrado

5.2 Avaliação de Desempenho da WSARCH

5.2.1 Configuração do Ambiente

Para uma correta avaliação de desempenho de um sistema computacional, é imprescindível de- talhar todos os elementos de hardware e software utilizados e verificar como tais elementos podem influenciar de forma positiva ou negativa o desempenho da arquitetura. A Tabela 5.1 apresenta a infra-estrutura computacional utilizada composta de um ambiente de testes contendo sete unidades de processamento que funcionam como provedores de serviços, uma unidade de processamento que atua como um registro de informações de serviços, oito unidades atuando como clientes e uma unidade funcionando como o Broker da arquitetura. Há também uma unidade de processamento que corresponde ao servidor de Log (LogServer) que armazena informações dos experimentos (em tempo de execução) dos componentes da arquitetura.

Tabela 5.1: Elementos de Hardware

Componente Quantidade Tipo Descrição

Service Provider

7 unidades Intel QuadCore Q6600 2GB de

RAM, HD 120GB, 7200 RPM

Hospedar os serviços imple- mentados

UDDI 1 unidade Intel QuadCore Q6600 2GB de

RAM, HD 120GB, 7200 RPM

Repositório de informações de serviços

Broker 1 unidade Intel QuadCore Q9400 8GB de

RAM, HD 500GB, 7200 RPM

Roteamento/Escalonamento de mensagens com base em algoritmos de seleção de serviços e índice de carga dos provedores de serviços

Clients 8 unidades 4 unidades (Intel QuadCore

Q9400 4GB de RAM, HD 750GB, 7200 RPM) e 4

unidades (Intel QuadCore

Q6600 4GB de RAM, HD 320GB, 7200 RPM)

Clientes que acessam os

serviços hospedados nos

provedores de serviços. São três tipos (classes de clientes) cada uma das quais contendo X requisições.

LogServer 1 unidade Intel QuadCore Q9400 4GB de

RAM, HD 500GB, 7200 RPM

Armazenar informações

em tempo de execução dos componentes da arquitetura (clientes, provedores, Broker, Uddi)

Além dos elementos de hardware descritos na Tabela 5.1, a Tabela 5.2 descreve os elemen- tos de software contemplados no desenvolvimento da arquitetura. Ainda na Tabela 5.2 há um destaque para os elementos de software utilizados como ferramentas de suporte e das ferramentas e aplicações desenvolvidas para que a arquitetura fosse concebida em sua totalidade. Os elementos assinalados com um (*) foram desenvolvidos para a WSARCH enquanto os assinalados com um (#) foram adaptados.

CAPÍTULO 5. VALIDAÇÃO DA ARQUITETURA WSARCH 79 Tabela 5.2: Elementos de Software

Nome Descrição Utilização

Apache Axis2 # Motor de processamento de men- sagens SOAP

Clientes, Provedores, Broker, UDDI

Apache Tomcat # Container de Servlets Provedores

JUDDI # Implementação Java da especifi-

cação UDDI da OASIS

UDDI Java Virtual Ma-

chine

Máquina Virtual Java Clientes, Provedores, Broker, UDDI

Ganglia Sistema de monitoração dis-

tribuído e escalável

Provedor, UDDI, Broker MySQL Server Sistema Gerenciador de Bancos

de Dados (SGBD), utilizado pelo jUDDI e também pelo Broker da WSARCH

UDDI, LogServer

WSARCH-Broker *

Broker da arquitetura WSARCH Broker WSARCH-

LoadInfoColector *

Aplicação desenvolvida para padronizar as informações obti- das do daemon Gmetad do Ganglia

Provedores, UDDI, Broker

WSARCH-

GeneralLoadIndex *

Aplicação desenvolvida para compor um índice de carga para ser utilizado pelo Broker na seleção de serviços

UDDI, Broker

WSARCH-Client * Aplicações clientes desenvolvidas para testes da arquitetura

Clientes CPU-BoundApp * Aplicação servidora orientada ao

consumo de CPU

Provedores

5.2.2 Planejamento dos Experimentos

O planejamento de experimentos é uma etapa fundamental da avaliação de desempenho de sistemas computacionais e não é considerada trivial, já que é preciso definir quais dados, em que quantidade, e em que condição os dados devem ser coletados durante um determinado experi- mento.

Para que o planejamento de um experimento reflita nos resultados apresentados, é importante obter o máximo de informações com mínima quantidade de experimentos. Deste modo, é possível reduzir consideravelmente o esforço que seria aplicado para a realização dos experimentos. Uma análise de experimentos apropriada também auxilia na separação dos efeitos de vários fatores que podem afetar o desempenho. Além disso é possível determinar se um fator tem efeitos significa- tivos sobre o desempenho, ou se a diferença observada é simplesmente devido os parâmetros que não são controlados ou às variações aleatórias causadas por erros de aferição (Jain, 1991). Vários são os termos utilizados durante a etapa de projeto e análise de experimentos (Jain, 1991). Dentre esses termos, vale ressaltar a variável de resposta, fatores, níveis e interação. A variável de resposta

80 5.2. AVALIAÇÃO DE DESEMPENHO DA WSARCH representa o comportamento do sistema avaliado. Os fatores são as características do sistema que afetam as variáveis de resposta e que se pretende avaliar. Os valores que um determinado fator pode assumir são denominados níveis. A interação mostra a dependência entre os fatores.

Em complemento aos termos presentes em uma avaliação de desempenho há vários tipos de técnicas utilizadas para determinar a etapa de planejamento de experimentos (Jain, 1991). As mais utilizadas são o planejamento simples, planejamento fatorial completo e o planejamento fatorial parcial. No planejamento simples, etapas básicas dessa abordagem consistem em: considerar uma configuração inicial, fixar todos os valores e variar um fator por vez, e verificar se esse fator afeta o desempenho. É fácil de ser implementado, além de ser muito utilizado. No entanto, não permite verificar a interação entre os fatores. No planejamento fatorial completo são utilizadas todas as combinações considerando todos os fatores e níveis. Com isso, todos os fatores são avaliados, o efeito de cada fator é determinado, e as interações entre fatores podem ser verificadas. O principal problema dessa abordagem é o custo da avaliação de desempenho, no qual é gerada uma grande quantidade de experimentos. Para reduzir a quantidade de experimentos gerados, pode-se reduzir o número de níveis para cada fator, reduzir o número de fatores, ou então utilizar a abordagem de fatorial parcial. A abordagem de fatorial parcial consiste em utilizar apenas uma fração do planejamento fatorial completo. Nessa abordagem considera-se apenas parte de todos os experimentos.

Para a validação da WSARCH foram considerados diversos projetos experimentais. A maioria desses projetos segue o planejamento fatorial simples, uma vez que o objetivo da avaliação de desempenho do protótipo da WSARCH é verificar o funcionamento dos componentes e a influência de fatores de forma isolada na variável de resposta escolhida e apresentada nos experimentos. Não houve preocupação nesta etapa de avaliação de desempenho em determinar a interação entre todos os fatores identificados nos experimentos. Como a WSARCH é uma arquitetura distribuída e envolve diversos componentes, muitos fatores podem e deverão ser considerados e relacionados na próximas etapas de avaliação de desempenho em trabalhos futuros.

Os experimentos apresentados neste projeto de doutorado foram conduzidos com o objetivo de considerar seis aspectos relacionados ao protótipo da WSARCH, ou seja, validação da arquitetura, sobrecarga gerada pela utilização do LogServer, sobrecarga do Broker, carga de trabalho, o tempo de processamento nos provedores de serviços e os algoritmos de diferenciação de serviços. Para atingir os objetivos especificados, definiu-se no início deste capítulo o planejamento de experimen- tos da WSARCH considerando os fatores e níveis descritos na Tabela 5.3.

Para todos os experimentos foram realizadas 5 execuções utilizadas para determinar a média, o desvio padrão e o intervalo de confiança de 95% de acordo com a tabela T-Student. O número de execuções foi definido considerando-se a necessidade de obter diferença significativa dentre os intervalos de confiança dos experimentos que implica em comparação dos resultados. A Tabela 5.4 sumariza todos os experimentos realizados.

O experimento Exp001 refere-se a um experimento inicial para destacar o funcionamento da arquitetura WSARCH. Os experimentos Exp002 e Exp003 foram realizados para determinar como

CAPÍTULO 5. VALIDAÇÃO DA ARQUITETURA WSARCH 81 Tabela 5.3: Fatores e níveis realativos aos experimentos

Fatores Níveis

Log ON/OFF

Carga de Trabalho - Tempo entre Requisições 0 - 3s Carga de Trabalho - Número de Processos 1 - 6

Classificação Algoritmo de Diferenciação de Serviços RSV (4 Gold, 3 Bronze)

RSV (5 Gold, 2 Bronze)

Tabela 5.4: Experimentos realizados

Exp001 Exp002 Exp003 Exp004 Exp005

Tipo Cliente 50% Gold /

50% Bronze

100% Gold 50% Gold / 50% Bronze

N. Processos 1 6

Tempo de execução do serviço

6s 3s 0,001s

Tempo entre Requi- sições

3s 0 - 3s 0 - 1s

Algoritmo (Broker) Classificação

Log-Informação Sim Não Sim

Exp006 Exp007 Exp008 Exp009

Tipo Cliente 100% Gold 50% Gold / 50% Bronze

N. Processos 1 6

Tempo de execução do serviço

0,001s 3s

Tempo entre Requi- sições

0 - 3s 0 - 1s

Algoritmo (Broker) Classificação RSV (4G, 3B) RSV (5G, 2B)

Log-Informação Sim

o LogServer pode influenciar nos resultados obtidos com a execução dos experimentos. Os exper- imentos Exp004 e Exp005 se destacam por apresentar o comportamento da arquitetura WSARCH mediante a variação do tempo entre as requisições. O experimento Exp006 verifica como o tempo de processamento nos provedores pode influenciar no tempo de resposta médio percebido pela aplicação cliente. Os experimentos Exp007, Exp008 e Exp009 avaliam os diferentes algoritmos de roteamento/escalonamento de mensagens implementados no Broker da arquitetura. Para todos os experimentos foram considerados 8 clientes e 7 provedores de serviços. Cada processo considera a execução de 200 requisições de serviço. Todos os serviços considerados são CPU-Bound. A natureza do Cluster é do tipo Livre, ou seja, somente executavam as aplicações necessárias para o funcionamento da WSARCH.