Disciplina de Avaliação Quantitativa de Sistemas Avaliação Quantitativa de Sistemas Contexto A Avaliação Quantitativa de Sistemas permite a avaliação de sistemas antes mesmo da sua implementação física. Dessa forma, é possível avaliar um sistema projetado e obter previsões quanto ao seu desempenho e mesmo sobre a sua correção. Para sistemas já implementados, é possível definirem-se correções que possam melhorar o seu funcionamento. É interessante salientar que as raízes desta área situam-se tanto na Matemática (Teoria da Probabilidade) quanto nas abordagens conjunturais da Pesquisa Operacional. Igualmente, é relevante observar que a disciplina de avaliação de desempenho emprega-se em diversos tipos de aplicações, dentro e fora da Ciência da Computação. Avaliação de Sistemas Avaliar é pronunciar-se sobre as características de um certo sistema. Dado um sistema real qualquer, uma avaliação deste sistema pode ser definida como toda e qualquer observação feita sobre ele. Existem basicamente dois tipos de avaliação: – Avaliação qualitativa: neste tipo de abordagem, existe a necessidade de uma comparação com o senso-comum, ou ainda uma comparação com um referencial de base; – Avaliação quantitativa: baseia-se na formulação de valores específicos, sem expressar considerações dos méritos dos valores obtidos. Objetivos da Avaliação de Sistemas Em princípio, toda avaliação tem por objetivo o estabelecimento de um julgamento qualitativo sobre o sistema avaliado. No entanto, toda avaliação científica é feita sobre resultados quantitativos. Tais resultados devem ser objetivamente apresentados ao usuário final, de forma que esse possa tomar decisões acerca de seu sistema. A aplicação prática da avaliação de desempenho é o conhecimento da situação (estado) do sistema avaliado. Tanto situações anteriores como situações atuais podem ser avaliadas para tornar possível a observação da evolução do sistema. Além disso, a observação do comportamento do sistema ajuda a entender o seu funcionamento. Podem ser ainda avaliadas situações futuras, com a finalidade de previsão e planejamento. Ainda dentro do contexto de avaliação de sistemas, cabe salientar que é sempre recomendável um estudo da confiabilidade do método; para este fim é freqüente realizar-se a comparação de resultados de diversos métodos diferentes. Disciplina de Avaliação Quantitativa de Sistemas Definição de Desempenho Ao avaliarmos um sistema, consideramos, em muitos casos, a questão de desempenho. Por isso, é importante termos em mente o que é e como avaliar o desempenho de um sistema. Desempenho pode ser definido como a maneira como um sistema se comporta. Isto é, o desempenho de um sistema é determinado por suas características de execução. Portanto, avaliar o desempenho de um sistema demanda definir quais características comportamentais interessam ser consideradas. Por exemplo, se quisermos avaliar o desempenho de um automóvel, iremos considerar fatores tais como velocidade máxima, capacidade de aceleração (tempo necessário para ir de 0 Km/h a 100 Km/h), espaço de frenagem a um dada velocidade, consumo médio de combustível, etc. Para sistemas computacionais, em geral consideram-se 4 fatores para medida de desempenho: – Vazão (throughput): taxa de atendimento de pedidos pelo sistema; Ex.: Sistemas em lotes: jobs por segundo; Sistemas interativos: requisições por segundo; CPU: MIPS ou MFLOPS; Redes: pacotes por segundo (pps) ou bits por segundo (bps); Sistemas de processamento de transações: transações por segundo (TPS). – Utilização: fatia de tempo em que o sistema permanece ocupado, atendendo a pedidos; – População: quantidade de atendimentos a serem feitos em um determinado instante; – Tempo de resposta: intervalo de tempo entre o pedido e o início/conclusão do serviço. Tipos de Fenômenos Os fenômenos considerados dentro da avaliação de um sistema podem ser: • Aleatórios ou Determinísticos Æ depende do conhecimento prévio ou não do resultado. Ex.: Aleatório: lançar uma moeda Æ não há como saber-se qual lado ficará à vista quando a moeda chegar ao solo, mesmo após inúmeros lançamentos; Determinístico: avanço de músicas em uma fita cassete Æ sempre se sabe qual será a música seguinte, pois a ordem já é previamente conhecida; • Discretos ou Contínuos Discreto: considera-se a ocorrência de um fenômeno apenas em determinados instantes de tempo dentro de um período (verifica-se Disciplina de Avaliação Quantitativa de Sistemas fenômeno a cada intervalo de 5 minutos, por exemplo). Múltiplos fenômenos podem ocorrer no sistema "ao mesmo tempo"; Contínuo: fenômeno pode ocorrer em qualquer instante de tempo. Não são observados dois ou mais fenômenos simultâneos. Etapas da Avaliação de Sistemas Uma avaliação de sistema exige que sejam seguidos alguns passos: 1. Modelagem: nesta etapa, são realizadas as observações sobre o sistema e definem-se as abstrações com que se vai trabalhar. A modelagem exige a definição de uma abordagem de modelagem de sistemas. Ao final desta etapa, tem-se um modelo do sistema considerado; 2. Extração ou Resolução: nesta etapa, são realizados os cálculos e o processamento necessário à obtenção de resultados numéricos sobre o sistema a partir do modelo gerado na etapa anterior; 3. Interpretação: a última etapa compreende a análise dos resultados obtidos e a tomada de decisão sobre alterações e melhorias. Abordagens para avaliação Existem diferentes técnicas de avaliação de desempenho, tradicionalmente divididas em três abordagens: Monitoração Também chamada experimentação direta ou medição, consiste na observação direta do funcionamento de sistemas reais. Vantagem: – Maior fidelidade dos resultados Æ não há abstração quanto ao funcionamento do modelo: dados são obtidos diretamente do sistema real. Desvantagens: – Necessidade da existência física do sistema; – Custo: possíveis alterações em sistemas não-estáveis são custosas; – Escala de tempo real: demora na obtenção de resultados; – Dificuldade de reprodução: pequenas variações em parâmetros do experimento podem ser necessárias e condições externas podem afetar resultados; – Segurança: testes sob condições extremas podem ser perigosos; – Dependente da quantidade e da representatividade das amostras de funcionamento. Disciplina de Avaliação Quantitativa de Sistemas Simulação Consiste na construção de um modelo que imite o funcionamento do sistema a ser avaliado e que é testado em um ambiente controlado. Modelo pode ser em escala real ou escala reduzida. Vantagens: – Modelo descreve características funcionais em uma escala adequada de tempo; – Modelo contém detalhes relevantes, sem contar todas as suas características Æ abstração – Simulação consome menos tempo e é menos custosa que a monitoração; – Permite repetir-se o experimento o quanto for necessário e é segura. Desvantagens: – Abstração deve ser cuidadosa Æ não excluir aspectos importantes e nem incluir erros; – Também é dependente da quantidade e representatividade das amostras de funcionamento; – Necessidade de técnicas estatísticas para cálculo de resultados. Métodos Analíticos Desenvolvimento de um modelo do sistema real em nível de abstração mais alto do que na simulação. Funcionamento do sistema real é reduzido a relações puramente matemáticas, sendo descrito por um conjunto de estados e transições estocásticas entre eles. Uma transição estocástica é uma transição cuja ocorrência é descrita por uma variável aleatória. Vantagens: – Obtenção de medidas de desempenho sem se preocupar com um conjunto específico de amostras de funcionamento do sistema; – Resultados são mais precisos que obtidos com a simulação; – Muitos métodos analíticos baseiam-se em Cadeias de Markov Æ limitada complexidade matemática, exigindo pouco tempo para construção, e menos suscetíveis a erros do que formalismos mais complexos. Desvantagens: – Desenvolvimento de modelos analíticos é bem mais complexo; – Espaço de estados gerado pode inviabilizar o tratamento do modelo e mesmo o armazenamento de seus dados. Análise de Sistemas Existem dois tipos de análise: Disciplina de Avaliação Quantitativa de Sistemas Análise Transitória: Partindo-se de uma situação, qual a probabilidade de ocorrer um determinado fenômeno. Ex.: Tamanho máximo de uma fila Æ casos onde o tamanho da fila é suficientemente grande. (Trajetória) Análise Estacionária: Analisa-se todo o conjunto de trajetórias (possíveis e impossíveis). Ex.: População média da fila, probabilidade da fila estar vazia. (Equilíbrio – Steady state) Ao se fazer uma análise, pode-se tratar com uma escala de tempo discreta ou contínua. Escala discreta: as coisas podem mudar aos mesmo tempo Æ tempo sincronizado. Transição é descrita por uma probabilidade Æ síncrona Escala contínua: as coisas nunca ocorrem ao mesmo tempo. Transição descrita por um tempo Æ assíncrona