Modelagem Analítica. Profa. Jussara M. Almeida 1 o Semestre de 2011

Documentos relacionados
Avaliação de Desempenho de Sistemas DCC 074

Equivalência de Fluxos e Modelagem Hierárquica. Profa. Jussara M. Almeida 1 o Semestre de 2014

Modelos de Redes de Filas com Múltiplas Classes (Análise de Valores Médios) Profa. Jussara M. Almeida 1 o Semestre de 2011

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos

Análise de Valores Limites de Desempenho. Profa. Jussara M. Almeida 1 o Semestre de 2014

Modelos de Redes de Filas com Uma Classe (Análise de Valores Médios) Profa. Jussara M. Almeida 2 o Semestre de 2011

Leis Fundamentais. Profa. Jussara M. Almeida 1 o Semestre de 2014

Modelos de Redes de Filas com Uma Classe (Análise de Valores Médios) Profa. Jussara M. Almeida 1 o Semestre de 2014

Avaliação de Desempenho de Sistemas Discretos

Análise e Modelagem de Desempenho de Sistemas de Computação. Profa. Jussara M. Almeida 1 o Semestre de 2014

Leis Operacionais de Desempenho

Processos Estocásticos aplicados à Sistemas Computacionais

Avaliação e Desempenho Aula 18

Mário Meireles Teixeira. Departamento de Informática, UFMA.

Avaliação Quantitativa de Sistemas

Teoria das Filas aplicadas a Sistemas Computacionais. Aula 20

Modelos Probabilísticos de Desempenho. Profa. Jussara M. Almeida 1º Semestre de 2014

Modelagem e Análise Aula 9

1 Classificação da Redes de Filas

1. INTRODUÇÃO SIMULAÇÃO DISCRETA OBJETIVO DO CURSO RESPOSTA BANCO E FILIAIS O PROBLEMA DE PLANEJAMENTO DE CAPACIDADE

ATeoria de filas é uma das abordagens mais utilizadas no estudo de desempenho

Aula 2: Tipos de Sistemas Operacionais. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Modelos Probabilísticos Filas M/M/1, M/G/1. Profa. Jussara M. Almeida 1 o Semestre de 2014

FILAS Conceitos Fundamentais. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2016

Curso: Redes de Computadores

Ex: Sistema Tráfego Rodoviário

Sistemas Operacionais. Escalonamento de processos

Gerência de Recursos. Gerência do Processador

Estatística e Modelos Probabilísticos - COE241

Avaliação de Desempenho de Sistemas DCC 074

Sistemas Operacionais

Estatística e Modelos Probabilísticos - COE241

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi

Estatística e Modelos Probabilísticos - COE241

ATeoria de filas é uma das abordagens mais utilizadas no estudo de desempenho

Infra-Estrutura de Software. Escalonamento

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

SSC546 -Avaliação de Desempenho de Sistemas

Tipos de Sistemas Operacionais. Professores : Jones - Wendell

Fundamentos da Informática Aula 03 - Sistemas operacionais: Software em segundo plano Exercícios Professor: Danilo Giacobo

Sistemas Operacionais

Introdução aos Sistemas Operacionais

Estatística e Modelos Probabilísticos - COE241

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

TIPOS DE SISTEMAS OPERACIONAIS. Ademar Alves Trindade

Introdução à Informática

Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Parte I Multiprocessamento

Modelagem e Análise de Sistemas - COS767

Sistema Operacional. Prof. Leonardo Barreto Campos. 1/30

Sistemas Operacionais. Tipos de SO

Sistemas Operacionais

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

Arquitetura de Computadores. Processamento Paralelo

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 1. Introdução

PCS 2039 Modelagem e Simulação de Sistemas Computacionais

PCS 2039 Modelagem e Simulação de Sistemas Computacionais

Sistemas de Computação. Processos e escalonamento

Introdução a Sistemas Operacionais. Adão de Melo Neto

Davidson Rodrigo Boccardo

6 ESCALONAMENTO DE CPU

Aula 1 Conceitos Básicos

Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

Conceitos de Análise de Desempenho

Introdução aos Sistemas Operativos

João Correia Lopes. v 1.0, Outubro de Introdução aos Sistemas Operativos v1.0 1

Sistemas Operacionais. Introdução

SSC0640 Sistemas Operacionais I

SOP - TADS Threads. Revisão Ultima aula. Programa em execução Cada processo têm sua própria CPU

Técnicas Avançadas de Programação

Aula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos

Sistemas Operacionais. Prof. André Y. Kusumoto

Tipos de Sistemas Operacionais

Processos e Threads. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Sistemas Operacionais. Gerência de Processador

Arquiteturas. capítulo

Métodos Quantitativos para Ciência da Computação Experimental. Aula #2c

FILAS. Mestrado em Engenharia Elétrica Carlos Marcelo Pedroso 2013

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Avaliação de Desempenho de Sistemas DCC 074

Exercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF

Introdução. capítulo

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Introdução à Avaliação de Desempenho

Prof. Gregorio Perez 2007

I - Introdução à Simulação

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO EM INFORMÁTICA SISTEMAS OPERACIONAIS I 2 0 SEM/05 Teste 1 Unidade I DURAÇÃO: 50 MINUTOS

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

Sistemas distribuídos. Prof. Emiliano Monteiro

Notas da Aula 2 - Fundamentos de Sistemas Operacionais

Processos. Escalonamento de Processos

Modelos Probabilísticos

Tipos de Sistemas Operacionais

Computação Distribuída

Transcrição:

Modelagem Analítica Profa. Jussara M. Almeida 1 o Semestre de 2011

Modelagem Analítica Um modelo é uma abstração de um sistema que captura, dentre os inúmeros detalhes do sistema, aqueles que são essenciais para o seu comportamento

Conduzindo um Estudo de Modelagem 1. Desenvolvimento do Modelo 2. Validação 3. Projeção 4. Verificação

Conduzindo um Estudo de Modelagem Medições Sistema Original Medições VALIDAÇÃO PROJEÇÃO VERIFICAÇÃO Carga do Sistema Original Parametrização Entradas do Modelo Modificações (cenários) Entradas do Modelo modificadas Comparação Carga do Sistema Modificado Medições Modelo Definição do Modelo Sistema Modificado Desempenho do Sist. Original Avaliação Avaliação Saídas do Modelo Comparação Comparação Saídas do Modelo modificadas Comparação Desempelo do Sistema Modificado Medições

Exemplo de Estudo de Modelagem Cinco sistemas fracamente acoplados. Sistema Tipo de CPU Carga 1 A spooling 2 B Interativo, batch 3 B batch 4 A Interativo, batch 5 A batch Pode a carga do sistema 5 ser distribuído entre os sistemas 2, 3 e 4 sem degradar o desempenho significativamente?

Exemplo de Estudo de Modelagem Validação: sistemas 2-5 foram medidos e modelados Projeção: nível de multiprogramação da carga batch nos sistemas 2, 3 e 4 (# jobs) foi acrescido de 27% da carga do sistema 5 (19% p/ sistema 1) Verificação: carga do sistema 5 foi migrada para sistemas 2, 3 e 4, sistemas foram medidos, valores comparados com saídas do modelo

Exemplo de Estudo de Modelagem Interativo batch Interativo Erro: Projeção da degradação no tempo de resposta Projeção = (5.0 4.8) / 4.8 = 4% Degradação real = (5.6 5.2) / 5.2 = 7.5%

Precisão dos Resultados Analíticos Pergunta que não quer calar: Meu modelo é preciso? Os resultados foram validados? ou Validação de modelos de filas (típico) Throughput e utilização: erros 5-10% Tempo de resposta: erros 10-30%

Modelos de Redes de Filas Sistema é representado por uma rede de filas, que é avaliada analiticamente Rede de Filas é uma coleção de Centros de serviços: recursos do sistema, e Clientes: usuários ou transações (carga de trabalho) Avaliação analítica envolve a solução (possivelmente com algum software) de um conjunto de equações induzido pela rede de filas e seus parâmetros

Centro de Serviço Chegada de Clientes Taxa de Chegada de Clientes λ Fila Servidor Tempo de Serviço S Saída de Clientes Qual o tempo de resposta (enfileiramento + serviço) médio? Qual o número médio de clientes na fila? Qual o tempo médio de espera por atendimento? (tempo na fila)

Modelando CPU Chegada de Clientes Taxa de Chegada de Clientes λ Fila CPU Tempo de Serviço S CPU Saída de Clientes Qual a utilização da CPU (busy time)? Qual o número médio de clientes na fila de CPU? Qual o tempo médio de espera por atendimento da CPU? (tempo na fila)

Modelando Disco Chegada de Clientes Taxa de Chegada de Clientes λ Fila Disco Tempo de Serviço S disco Saída de Clientes Qual o throughput do disco? Qual o número médio de clientes na fila do disco? Qual o tempo médio de espera por atendimento do disco? (tempo na fila)

Múltiplos Centros de Serviço Chegada de Clientes λ S CPU Saída de Clientes S disco_1 S disco_2 CPU S disco_3 Discos Qual o dispositivo que é o gargalo (bottleneck)? Qual o tempo médio de resposta de cada requisição? Qual o impacto no tempo de resposta se a CPU é substituída por uma 2 vezes mais rápida?

Exemplo 1: Banco de Dados Chegada de Transações Saída de Transações CPU Discos Qual o dispositivo que é o gargalo (bottleneck)? Qual o tempo médio de processamento de cada transação? Quanto tempo seria reduzido se o banco fosse migrado para uma plataforma com 4 discos do mesmo modelo do disco 3?

Exemplo 1: Banco de Dados Transações com diferentes características Classe % Total Tempo médio de CPU (seg) # médio de I/Os Leve 45% 0.04 5.5 Médio 25% 0.18 28.9 Pesado 30% 1.20 85.0 É preciso determinar se o modelo deve ter múltiplas classes de cargas Ex: demanda por serviço heterogênea, cargas de trabalho diferentes (online x batch), SLAs diferentes Em caso afirmativo, é preciso caracterizar a carga e parametrizar o modelo separadamente para cada classe.

Tipos de Recursos Load Independent: centros de serviços com taxa de serviço constante, que não depende da carga Ex: CPU, disco Load Dependent: centros de serviços cuja taxa de serviço depende do número de clientes na fila Ex: fila com m servidores, LAN (colisões de pacotes) Centros de atrasos: não tem fila Ex: recursos dedicados, think time, # recursos >> # clientes

Tipos de Classes de Cargas Classes Abertas: Número ilimitado de clientes no sistema Ex: cargas de transações Cargas Fechadas: Número de clientes no sistema limitado e conhecido Cargas interativas e batch

Classes Abertas Cargas de transações λ S λ S CPU S disco1 S disco2

Características de Classes Abertas Intensidade da carga dada pela taxa de chegada λ = número médio de transações que chegam por unidade de tempo, independente do número de transações no sistema Número de clientes no sistema ilimitado Throughput X é parâmetro de entrada X = λ (sistema em equilíbrio) Classe aberta definida por Taxa de chegada λ Tempo de serviço em cada centro k, S k

Cargas Interativas Classes Fechadas S CPU S disco1 N clientes S disco2 Z terminais think time

Cargas Batch Classes Fechadas S CPU S disco1 N clientes S disco2

Características de Classes Fechadas Intensidade da carga dada pela população de clientes N = número de requisições concorrentes em execução (número de clientes) Número de clientes no sistema é limitado e conhecido Throughput X é parâmetro de saída Z = think time / delay center (carga interativa) Classe fechada definida por Taxa de chegada N Tempo de serviço em cada centro k, S k Think time Z (carga interativa)

Classe Aberta ou Classe Fechada? Normalmente, a decisão correta é clara: O número de clientes é limitado? A decisão é também essencial: Modelos de carga incorretos levam a resultados incorretos

Classe Aberta ou Classe Fechada? Semáforo de um sistema: Servidor Web: Servidor NFS do DCC/UFMG: Memória compartilhada:

Classe Aberta ou Classe Fechada? Semáforo de um sistema: Fechado (N fixo) Servidor Web: Aberto (X fixo) Servidor NFS do DCC/UFMG: Fechado Memória compartilhada: Fechado

Desempenho de um Servidor Web Surge: modelo de carga aberto SpecWeb96: modelo de carga fechado Fonte: Generating Representative Web Workloads for Network and Server Performance Evaluation, Paul Barford and Mark Crovella, Proc. Sigmetrics 1998

Tipos de Modelos de Filas Modelos abertos: somente classes abertas Modelos fechados: somente classes fechadas Modelos mistos: classes abertas e fechadas Ex: banco de dados com processamento simultâneo de diferentes tipos de transações online e geração de relatórios de gerenciamento (batch) SLAs: Batch: throughput mínimo = 20 jobs/hora Transações : max tempo de resposta médio Transações Leves 1.2 seg Transações Médias 2.5 seg Transações Pesadas 8.0 seg

Exemplo de Modelo Misto λ N clientes

Formalizando Notação

Modelos com Uma Classe: Entradas Descrição da Carga Transação: taxa de chegada λ Batch: número de clientes/jobs N Interativo: número de clientes N e think time Z Não é preciso definir política de escalonamento (tipicamente) Descrição dos Centros de Serviço Número de centros de serviço K Para cada centro k: o tipo (LI, LD, delay center) Descrição das Demandas (Carga) Para cada centro de serviço k Tempo de serviço S k e número de visitas V k ou Demanda por serviço D k = S k V k

Tempo de Serviço vs. Demanda por Serviço Tempo de serviço S k Tempo médio de serviço cada vez o cliente visita o centro de serviço k Demanda por serviço D k Tempo total médio que um cliente requer de serviço no centro k enquanto no sistema V k : número de visitas que cada cliente faz ao centro k enquanto no sistema D k = S k V k

Demanda por Serviço Demanda por serviço D k Razão do tempo de ocupação (busy time) do centro B k e o número de clientes que deixaram o sistema no período de medição C D k = S k V k = B k / C Solução depende do produto S k V k = D k e não dos valores individuais de S k e V k (redes separáveis) Demanda total de um cliente em todos centros:

Modelos com Uma Classe: Saídas Medidas do Sistema R: Tempo médio de resposta X: Throughput do sistema Q: Número médio de clientes no sistema Medidas por Centro U k : utilização do centro k R k : tempo médio de residência no centro k X k : throughput do centro k Q k : tamanho médio da fila no centro k Outras Medidas: Probabilidade

Utilização de um Centro: U k Proporção do tempo que o dispositivo está ocupado (prestando serviço) Número médio de clientes em serviço Ex: CPU está 70% ocupada ou em 70% do tempo no intervalo de medição, algum processo estava sendo executado.

Tamanho Médio da Fila : Q k Q k : Inclui todos clientes no centro, incluindo o que está em serviço Número de clientes esperando serviço Q k - U k Q: número médio no sistema ou usando Lei de Little (próxima aula)

Modelos com Múltiplas Classes: Entradas Descrição da Carga Número de Classes de Clientes C Para cada classe c: Transação: taxa de chegada λ c Batch: número de clientes/jobs N c Interativo: número de clientes N c e think time Z c Premissa: política de escalonamento independe das classes Descrição dos Centros de Serviço Número de centros de serviço K Para cada centro k: o tipo (LI, LD, delay center)

Modelos com Múltiplas Classes: Entradas Descrição das Demandas (Carga) Para cada classe c e centro de serviço k Tempo de serviço S c,k e número de visitas V c,k ou Demanda por serviço D c,k = S c,k V c,k Demanda total de um cliente da classe c

Modelos com Múltiplas Classes: Saídas Medidas do Sistema: agregadas e por classe R e R c : Tempo médio de resposta total e para classe c X e X c : Throughput do sistema total e para classe c Q e Q c : Número médio de clientes no sistema total e para classe c Medidas por Centro: agregadas e por classe U k e U c,k : utilização do centro k agregado e para classe c R k e R c,k : tempo médio de residência no centro k para todos clientes e para clientes da classe c X k e X c,k : throughput do centro k para todos clientes e para clientes da classe c Q k e Q c,k : tamanho médio da fila no centro k total e para clientes da classe c

Exercicios Apresente o modelo (pictorico) de filas para cada problema de analise de desempenho abaixo: 1) Suponha um servidor de banco de dados com 1 CPU e 1 disco. Transacoes SQL chegam ao servidor para execucao a uma certa taxa λ transacoes/seg. Durante execucao, uma transacao alterna entre CPU e disco. Em qualquer instante, uma transacao pode estar usando a CPU e outra o disco, enquanto outras esperam para usar um dos dois dispositivos. Sabendo que o tempo de servico na CPU e no disco sao S CPU e S disco, respectivamente, e que cada transacao realiza 8 operacoes de I/O, em media, estime o tempo medio de resposta para uma transacao tipica. 2) Suponha o mesmo servidor de banco de dados do problema 1. Porem, tudo o que voce sabe sobre as demandas por recursos de uma transacao tipica é o tempo medio de execucao T.

Exercicios 3) Considere que o servidor de banco de dados do problema 1. Suponha que as transacoes SQL impostas pelos usuarios executam ao mesmo tempo que uma aplicacao batch para geracao de relatorios. O servidor sera capaz de suportar ambas as cargas, atendendo os SLA s preestabelecidos para cada uma delas? 4) Considere que o servidor do problema 1 seja agora usado como componente de uma aplicacao cliente/servidor. Maquinas dos clientes estao conectadas ao servidor de banco de dados por uma LAN. Clientes trabalham de forma independentes, alternando entre processamento local (criando requisicoes para submeter ao servidor) e esperando por uma resposta. Determine o tempo medio de resposta do servidor desta aplicacao.