Trabalhos Relacionados “Se eu vi mais longe, foi por estar de pé
6.3.3 Modelagem de Middleware
No artigo [Kounev et al. 2008], os autores propõem uma metodologia para carga de trabalho e modelagem de desempenho de DEBS. Um modelo de carga de trabalho de um DEBS genérico é desenvolvido e técnicas de análise operacional são usadas para caracterizar o tráfego do sistema, derivando uma aproximação para o valor médio da latência. Em seguida, ele apresenta uma técnica de modelagem que pode ser utilizada para predição de desempenho. Por fim, é apresentado um estudo de caso real demonstrando a efetividade e a praticidade da abordagem proposta.
Enquanto inúmeras abordagens para modelagem de sistemas distribuídos convencionais e avaliação de seu desempenho e escalabilidade estão disponíveis na literatura, nenhuma metodologia foi proposta para DEBS. Trabalhos atuais sobre modelagem e avaliação de DEBS visam implementações ou aplicações específicas e são altamente especializadas. Este artigo é o primeiro que provê uma metodologia para caracterização de carga de trabalho e modelagem de desempenho de DEBS que é aplicável a uma grande variedade de sistemas.
Esta metodologia auxilia na identificação e eliminação de gargalos e assegura que sistemas são projetados e dimensionados para alcançar seus requisitos de QoS. A metodologia é baseada na análise operacional e QPNS (Queueing Petri
Nets). Inicialmente, técnicas de análise analítica são usadas para achar a
utilização de componentes de sistemas e derivar uma aproximação para o valor médio da latência. Depois, são apresentados como modelos de desempenho baseados em QPNs podem ser construídos para prover uma predição de desempenho mais precisa. A vantagem da abordagem proposta é que é prática e genérica, podendo ser utilizada para avalivação de desempenho de DEBS.
142 Modelagem
[Liu et al. 2003] propõe um modelo para avaliação de desempenho de um Middleware para Integração de Processos de Negócio (BPI). Este modelo é baseado em Layered Queuing Networks (LQN) e os resultados são validados com medições obtidas utilizando o IBM CrossWorlds InterChange Server (ICS), através da parametrização da latência das aplicações a serem integradas com o ICS.
O modelo pode ser usado como uma ferramenta de tuning, usado para identificar a configuração apropriada para um pool de threads de vários componentes ICS, tornando o ICS escalável em diferentes cenários de integrações. Além disso, pode ser usado como uma ferramenta de planejamento de capacidade para predizer o desempenho de um sistema sob uma crescente carga de trabalho.
[Liu et al. 2004a] é uma continuação do trabalho apresentado em [Liu et al. 2003]. Ao invés de construir um LQM manualmente, os autores propõem neste artigo um método e uma ferramente para gerar um LQM a partir de um modelo de aplicação, um modelo de middleware e uma bibilioteca de configuração de hardware, todos descritos em xml.
Esta abordagem tem as seguintes vantagens: o modelo de aplicação pode ser facilmente criado com base em um dado BPI com requisitos específicos nos processos de negócio e aplicações corporativas a serem integradas; o modelo de
Middleware é parametrizado em xml, sendo fácil de manter à medida que o
desempenho do produto aumenta; sempre que um novo hardware torna-se disponível, a razão entre desempenho e custo podem ser facilmente incorporadas na ferramenta de dimensionamento; bibliotecas de configuração de
hardware com diferentes estruturas de custo podem ser usadas no
dimensionamento de uma aplicação para estudo de estratégias de precificação. 6.3.4 Modelagem de Middleware utilizando GSPN
A série de artigos [Souza et al. 2006a] [Souza et al. 2006b] [Souza et al. 2008] discute e propõe modelos GSPN para representar o mecanismo de pool de instâncias embarcado em servidores de aplicação JBoss e demonstra como estes modelos podem ser usados na avaliação de desempenho.
O primeiro artigo apresenta resultados inciais com o desenvolvimento de um modelo apenas representando o servidor. Em seguida o próximo artigo apresenta um modelo detalhado cliente/servidor, o qual deve-se usar em simulações; e por fim o útlimo artigo apresenta um modelo abstrato, o qual é solucionado analiticamente.
Para validar estes modelos, alguns cenários são propostos. Os dois primeiros representam uns poucos clientes demandantes, enquanto o terceiro representa uma situação mais realista, com um grande número de clientes submetendo requisições a uma taxa menor. Além disso, três métricas são consideradas: número de instâncias, vazão e utilização de CPU.
Geralmente, os resultados obtidos usando simulação e técnicas de análise são próximas daquelas obtidas a partir de experimentos de medição, dando uma indicação da precisão dos modelos propostos.
Uma vez que a execução dos experimentos de medição não é uma tarefa fácil, ter modelos precisos para predizer desempenho é, claramente, uma vantagem muito importante.
Apesar da relevância dos resultados obtidos, os modelos propostos têm algumas limitações. Primeiramente, estes modelos não podem ser usados para predizer desempenho em cenários envolvendo outros tipos de componentes (exemplo bancos de dados e filas). Segundo, o tempo gasto em simulação de experimentos depende fortemente do número de clientes considerados. Como conseqüência, tempo pode ser um fator limitante para simulações de cenários envolvendo um grande número de clientes. Finalmente, contenção de software não é totalmente representada e afetando a predição do ponto de saturação. [Fernandes et al. 2004] apresenta uma avaliação do IBM WebSphere MQ v5.3 realizada através de modelos desenvolvidos em redes de Petri estocásticas. Os resultados foram bastante satisfatórios fazendo com que o modelo obtivesse um bom nível de precisão nos resultados.
A precisão do modelo é comprovada através de comparações com medições realizadas em um ambiente de medição real. O modelo GSPN demonstrou ser muito preciso e bem sucedido em obter as principais características de desempenho de um MOM. Além disso, algumas análises de desempenho comprovaram o comportamento de algumas métricas diante de mudanças de diferentes fatores e seus respectivos níveis. Em geral, os resultados apresentam a habilidade de modelagem e flexibilidade em avaliar MOM usando GSPN. Em [Arteiro et al. 2007], o autor investigou a utilização de modelos de desempenho para MOMs, desenvolvidos em redes de Petri estocásticas, no auxílio ao planejamento de capacidade deste tipo de middleware. Em específico define como objetivo apresentar modelos para MOMs, compatíveis com o padrão JMS (Java Message Service), de forma a permitir a identificação da (1) capacidade máxima de entrega de mensagens mantendo um nível de serviço acordado, e (2) do ponto de saturação destes sistemas.
Os resultados obtidos da simulação do modelo GSPN se aproximaram de forma significativa dos resultados obtidos através da medição, validando ambos, a abordagem e o modelo. Como o processo de medição possui um alto custo associado, utilizar modelos para avaliar objetivos de desempenho é uma importante contribuição desse artigo. Outro importante aspecto é o desenvolvimento de um modelo de referência, o qual pode ser parametrizado para qualquer ambiente de MOM, tornando o modelo reusável.
Apesar da relevância dos resultados obtidos, o modelo proposto possui algumas limitações. Inicialmente, ele representa apenas um MOM PTP, com um modelo específico de QoS (NPNT). Outra limitação é que o modelo não consegue ainda representar o comportamento do sistema pós-saturação, gerando algumas distorções. Por último, o modelo representa apenas um destinatário (fila).