700 likes | 831 Views
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação. Avaliação de Desempenho. Modelagem de Sistemas Computacionais. Marcos José Santana Regina Helena Carlucci Santana. Conteúdo. Introdução Planejamento de Experimentos
E N D
Universidade de São PauloInstituto de Ciências Matemáticas e de ComputaçãoDepartamento de Sistemas de Computação Avaliação de Desempenho Modelagem de Sistemas Computacionais Marcos José Santana Regina Helena Carlucci Santana
Conteúdo • Introdução • Planejamento de Experimentos • Análise de Resultados • Técnicas para Avaliação de Desempenho • Apresentação das Técnicas • Aferição – Benchmarks e Protótipos • Aferição - Monitores • Desenvolvimento de Modelos • Solução de Modelos – Simulação e Analítica
Aferição Modelagem Protótipos Rede de Filas Simulação Benchmarcks Redes de Petri Analítica Coleta de Dados Statecharts Sistema Medições Dados Técnicas de Avaliação de Desempenho Aferição
Rede de Filas Simulação Sistema Modelo Solução Métodos Analíticos Simulação Técnicas de Avaliação de Desempenho Modelagem Aferição Modelagem Protótipos Benchmarcks Redes de Petri Analítica Coleta de Dados
Técnica de Modelagem Técnica baseada na construção e análise de um Modelo • Abstração que contempla as características essenciais de um sistema real • Aproximação de como o sistema se comporta • Depende dos objetivos da avaliação • Sofrem alterações no decorrer do tempo, pois as variáveis de estado de um sistema são dependentes do tempo.
Técnica de Modelagem • Vantagens: • Flexibilidade • Pode ser utilizada para sistema existente ou não • Custo X Precisão • Dificuldades: • Descrição das características principais • Validação
Classificação dos Modelos Modelos quanto ao comportamento de suas variáveis de estado em relação ao tempo • Modelo de mudança discreta (ou modelo discreto): variáveis dependentes variam discretamente em pontos específicos do tempo simulado • Modelo de mudança contínuo: variáveis dependentes podem variar continuamente ao longo do tempo simulado Sistemas computacionais utilizam-se modelos discretos, uma vez que a alteração de estado em computadores ocorre a intervalos discretos de tempo.
Modelo Aberto Modelo Fechado Modelo Misto Chegada de Saída de Subsistema Subsistema Clientes Clientes Chegadade Subsistema Saída de Central Central Central Clientes Clientes Percurso para todos os clientes Percurso para clientes da classe A Percurso para clientes da classe B Classificação dos Modelos
Classificação dos Modelos Sistemas Abertos • Número desconhecido e ilimitado de clientes no sistema • Carga no sistema – depende de: • Taxa de chegada - • Tempo de Serviço - S • Quando sistema em equilíbrio -> Throughput =
Classificação dos Modelos • Sistemas Fechados • Número limitado e conhecido de clientes no sistema • Carga do sistema depende de: • Número de clientes - N • Tempo de pensar – Z - tempo entre final da requisição e início da próxima de um determinado cliente • Tempo de Serviço - S
Classificação dos Modelos Classes de Clientes • Um modelo pode possuir uma ou mais classes de clientes • Quando um modelo possui mais de uma classe de clientes, pode-se estabelecer prioridades entre as mesmas, trajetórias distintas para cada uma delas, etc.
Técnica de Modelagem Conjunto de etapas independentes, mas inter-relacionadas
Técnica de Modelagem Etapa 1 - Criar uma especificação condizente com o sistema real Componentes do sistema relevantes à avaliação Relacionamento entre eles Conjunto de etapas independentes, mas inter-relacionadas
Técnica de Modelagem Etapa 2- Parametrizar o modelo com elementos que serão dados de entrada para a próxima fase (solução) Conjunto de etapas independentes, mas inter-relacionadas
Etapa 3 - Solução do modelo Aplicação de um método matemático (estocástico), automatizado ou não, para adquirir medidas de desempenho a partir das entradas. Técnica de Modelagem Conjunto de etapas independentes, mas inter-relacionadas
Técnica de Modelagem Etapa 4 - Apresentar os resultados através de uma maneira conveniente: gráficos, arquivos-texto, etc. Conjunto de etapas independentes, mas inter-relacionadas
Técnica de Modelagem Etapa 1 - Criar uma especificação condizente com o sistema real • Componentes do sistema relevantes à avaliação • Relacionamento entre eles • Como representar o modelo: • Redes de Filas; • Redes de Petri; • etc.
Redes de Filas Ramo da probabilidade que estuda o fenômeno da formação de filas de solicitantes de serviços, que são providos por um determinado recurso Partida dos Clientes Chegada dos Clientes - Processador Tempo de Serviço S Fila de Espera de Processos Centro de Serviço
Redes de Filas Um centro de serviços pode ter um ou mais servidores e uma ou mais filas S1 SK
Redes de Filas os centros podem ser de capacidade fixa ou centros delay • Não há competição por existir um número muito grande de servidores disponíveis, • Serviço infinitamente disponível
Redes de Filas Exemplos: • Sistema de arquivos com um processador e quatro unidades de disco. Algumas requisições (30%) não necessitam acessar os discos para serem executadas. • Sistema de arquivos onde um servidor central recebe as requisições e redireciona para outros quatro servidores.
Notação para Sistemas de Filas A/B/c/K/m/Z A tempo entre chegadas; B distribuição tempo de serviço; c número de servidores; K capacidade do sistema; m número de clientes na fonte; Z disciplina da fila.
Notação para Sistemas de Filas Normalmente usa-se apenas A/B/c: ·não há limite para o tamanho da fila; ·fonte de clientes é infinita; ·disciplina da fila é FCFS M/M/1 • taxas de chegadas entre clientes - distribuição exponencial • tempo de serviço - distribuição exponencial • um único servidor
Notação para Sistemas de Filas Parâmetros A e B são normalmente representados por Distribuições de Probabilidade • Uniforme • Exponencial • Erlang • Triangular
Notação para Sistemas de Filas Distribuição uniforme a probabilidade de se gerar qualquer ponto em um intervalo contido no espaço amostral é proporcional ao tamanho do intervalo A função de distribuição acumulada:F(x) = 0 para x < aF(x) = (x - a) / (b - a) para a ≤ x < bF(x) = 1 para x ≥ b Função densidade de probabilidade: f(x)= 1(b-a), para ≤ x ≤ bf(x) = 0, cc
Notação para Sistemas de Filas Distribuição exponencial A função de distribuição acumulada:F(x) = P(X ≤ x) = 1 - e- λ x para x ≥ 0 Média – 1 / λ Função densidade de probabilidade: f(x) = λ e- λ x para x ≥ 0 e f(x) = 0 para x < 0 Exemplo: O tempo de espera para obtenção de um arquivo em um servidor, segue uma distribuição exponencial e, em média, leva 80mseg para ser atendido. Qual a probabilidade de levar mais de 100mseg? P(X > 100) = 1 - P(X ≤ 100) = 1 - F(100) = 1 - 1 + e- (1/80) 100 ≈ 0,2865
Notação para Sistemas de Filas Erlang – soma de várias exponenciais com médias iguais função densidade de probabilidade função de distribuição acumulada K – No. De Exponenciais somadas - média das Exponenciais
Notação para Sistemas de Filas Triangular
Notação para Sistemas de Filas Disciplinas de Atendimento de Clientes • FCFS - First Come First Served; • LCFS - Last Come Last Served; • RR - Round Robin (Circular); • Prioridades e Preempção.
Variáveis Aleatórias em um Sistema de Filas Sistema descrito por uma combinação de variáveis aleatóriase respectivas distribuições
Exemplos – Redes de Filas Banco com quatro caixas • Qual o tempo médio de espera na fila? • Qual o tempo de atendimento total? • Tempo de atendimento/na fila encontra-se em um patamar desejado? Ponto A da figura • Qual a conseqüência em se diminuir um caixa? • A fila e o tempo de atendimento diminuirá substancialmente aumentando um caixa? Compensa aumentar um caixa? • Quantos caixas devem ser abertos para trazer o sistema para próximo ao ponto A?
Redes de Filas Exemplos: • Sistema de arquivos com um processador e quatro unidades de disco. Algumas requisições (30%) não necessitam acessar os discos para serem executadas. • Sistema de arquivos onde um servidor central recebe as requisições e redireciona para outros quatro servidores.
Redes de Filas • Restrições das redes de filas: • Representação gráfica oferece apenas os elementos fila e servidor • Não permite posse simultânea de recursos • Necessidade de representação mais minuciosa de filas e servidores Isso leva a uma perda da realidade quando representando sistemas reais.
Redes de Filas • Considere o exemplo anterior: Sistema de arquivos com um processador e quatro unidades de disco. Algumas requisições (30%) encontram as informações necessárias no cache e não necessitam acessar os discos. Represente esse sistema em Redes de Filas considerando que o cache também é um recurso do sistema
Redes de Filas Por outro lado... • a representação do caminho linear que os clientes traçam através do sistema é descrita com bastante propriedade, noção que na maioria das técnicas é perdida com facilidade • possuem uma base matemática bastante solidificada
Redes de Petri Ferramenta de modelagem efetiva para a descrição e a análise de concorrência e sincronização em sistemas paralelos, demonstrando ações cooperativas de diferentes entidades.
Redes de Petri Elementos básicos de uma Rede de Petri pontos onde elementos dinâmicos são armazenados; variáveis de estado determinam as mudanças do sistema; ações realizadas pelo sistema
Redes de Petri Formalmente, a rede de Petri é dada por umaquíntupla: RP = (P, T, A, V, K ) • P é um conjunto finito de lugares; • T conjunto finito de transições; • A conjunto de arcos; • V função de pesos; • Kcapacidade dos lugares;
Redes de Petri - Exemplo Representação do ano letivo de uma Universidade. O ano letivo começa com o primeiro período (semestre) letivo, seguido das primeiras férias (de julho), logo após, tem-se o segundo período letivo, e finalmente as férias de final de ano
Redes de Petri - Exemplo RP = (P, T, A, V, K)
Redes de Petri - Exemplo RPAno_Letivo= (P, T, A, V, K) P = {1oPeríodo, Férias1, 2oPeríodo, Férias2}; T = {GozarFérias1, Retornar2oPeríodo, GozarFérias2, Retornar1oPeríodo};
Redes de Petri - Exemplo A = { (1oPeríodo, GozarFérias1), (GozarFérias1, Férias1), (Férias1, Retornar2oPeríodo),(Retornar2oPeríodo, 2oPeríodo), (2oPeríodo, GozarFérias2), (GozarFérias2, Férias2), (Férias2, Retornar1oPeríodo), (Retornar1oPeríodo, 1oPeríodo) }
Redes de Petri - Exemplo V = {1, 1, 1, 1, 1, 1, 1, 1} K = { K1oPeríodo = 1, K Férias1 = 1, K2oPeríodo = 1, K Férias2 = 1}.
Redes de Petri Marcadas • Marcas (tokens) - informações atribuídas aos lugares, para representar a situação (estado) da rede em um determinado momento. • Elementos dinâmicos. Podem se mover pela Rede. • Podem ser de várias classes. • Representada pela dupla RM = (R, Mo), onde R é a estrutura da rede e Mo a marcação inicial.
Redes de Petri Marcadas • Disparo das transições depende de: • número de marcas • distribuição das marcas noslugares. • uma transição t está habilitada se, e somente se todos os lugares de entrada (pi pertence aP) de t são tais que M(pi)≥ 1 • a marcação da rede de Petri é modificada a cada transiçãodisparada
Redes de Petri Marcadas Exemplo
Redes de Petri Redes Elementares – Distribuição Utilizada na criação de processos paralelos a partir de um processo pai. Os processos filhos são criados através da distribuição dos tokens encontrados no processo (lugar) pai
Redes de Petri Redes Elementares – Junção Modela a sincronização entre atividades concorrentes. A transição t1 só dispara quando existirem tokens tanto em P1, quanto em P2.
Redes de Petri Redes Elementares – não determinística uma rede que ao se disparar uma transição, inabilita-se a outra