avaliação de desempenho de sistemas discretosreinaldo/adsd_files/02_modelagem_2slides.pdf ·...
TRANSCRIPT
01/07/2016
1
Parte II: Modelagem de Sistemas
Professor: Reinaldo [email protected]
Avaliação de Desempenho de Sistemas Discretos
Modelos
¨ Modelo é uma abstração de um sistema real¤Apenas as características importantes para a avaliação
devem ser consideradas
¨ O único modelo completamente realista de um sistema é o próprio sistema (ou sua cópia fiel)¤ Custo ou impossibilidade de tratar com sistema¤Na etapa de projeto, sistema não existe
01/07/2016
2
¨ Normalmente é construído para se avaliar o comportamento para um dado sistema¤ Comparação entre implementações do sistema¤ Identificação de problemas¤ Propostas de soluções¤ Expansões em sistemas existentes¤ . . .
¨ Usamos modelos para entender aspectos de nosso cotidiano
Por que usar modelos?
Por que usar modelos?
¨ Desempenho e escalibilidade são mais facilmente alcançáveis se forem considerados no momento de projeto de um sistema
¨ Sistema Computacional = coleção de recursos¤ Processadores, discos, enlaces de comunicação, threads de
processos, seções críticas
¨ Recursos com capacidade finita para realizar trabalho¤ Formação de filas de espera
¨ Modelagem inicial é baseada em Modelos de Filas¤ Representação formal que permite um estudo mais
detalhado do modelo
01/07/2016
3
Importância do uso de modelos
¨ Modelos ajudam a simplificar problemas¤Melhor definição do foco do estudon Estudos diferentes podem ter focos diferentes e se
complementar¤ Princípio da separação de domíniosnDiferentes visões do mesmo sistema
¨ A redução da complexidade diminui também os custos e o tempo de desenvolvimento de soluções
Como construir um modelo?
¨ “Intuição” sofre de imprecisões ou polarizações¤ Modelos podem ser criados com imperfeições¤ Definições podem ser tendenciosas ou não reproduzir a
realidade¤ Necessitamos de metodologia mais formal ou “científica”
para uma maior qualidade dos modelos
¨ Duas alternativas científicas principais para tentar realizar uma modelagem mais precisa¤ Simulação¤ Análise matemática
01/07/2016
4
Exemplo de um servidor de BD
¨ Servidor de BD tem uma CPU e um disco
¨ Transações para o BD chegam ao servidor a uma taxa de 1,5 tps
¨ Durante a execução, uma transação pode alternar várias vezes entre CPU e disco¤ Enquanto uma transação usa a CPU, uma outra pode usar o
disco, e outras esperam pela CPU ou disco¤ CPU e disco podem ser caracterizados por uma fila +
servidor que atende às transações
Exemplo de um servidor de BD¨ Como posso representar esse sistema de tal forma que consiga
realizar sua avaliação?¤ Avaliação quantitativa sempre depende da representação
matemática das métricas de desempenho do sistema¤ Temos que criar equações que representem o nosso sistema
¤ Mas muita vezes precisamos detalhar ainda mais nossa representação, fazendo que as equações fiquem consideravelmente complexasn Utilização de representações mais simples permitem que nos
concentremos em modelar o sistema e não necessariamente em como montar melhor as equações
n Modelagem através de uma rede de filas!
01/07/2016
5
Representação de fila + servidor(es)
Representação do servidor BD (Rede de Filas - RF)
01/07/2016
6
Modelagem de Sistemas com Redes de Filas¨ Não é uma atividade trivial de ser feita¤ É necessário abstrair o “essencial” para a avaliaçãon Modelo do disco engloba aspectos da placa controladora, rotação,
braço, etc.
¤ Para o modelo ser avaliado precisamos conhecer apenas o tempo que uma transação típica fica na CPU e no discon Calcular o tempo de espera na CPU e no discon Tempo total médio de uma transação = tempo de espera + serviço
¤ Os dispositivos podem ser modelados com um único parâmetro
Modelagem de Sistemas com Redes de Filas
¨ Qual o tempo médio de resposta (espera e serviço)?¨ Qual o número de processos em espera?¨ Qual o tempo médio de espera para ser atendido pelo sistema?
01/07/2016
7
Modelagem de Sistemas com Redes de Filas
¨ Qual a utilização da CPU?¨ Qual o número de processos em fila da CPU?¨ Qual o tempo médio de espera por processo na CPU?
Modelagem de Sistemas com Redes de Filas
¨ Qual a vazão do disco?¨ Qual o número de processos em fila da disco?¨ Qual o tempo médio de espera por atendimento no disco?
01/07/2016
8
Modelagem de Sistemas com Redes de Filas
¨ Qual é o gargalo do sistema?¨ O que acontece se eu trocar a CPU por uma mais rápida?¨ O que acontece se eu colocar mais um disco?
Servidor de BD: múltiplas classes
¨ Transações podem ter características distintas
Grupo de Aplicações (transações)
% total Tempo médio CPU (s) No. Médio de E/S
Trivial 45 0.04 5.5
Médio 25 0.18 28.9
Complexo 30 1.20 85.0
¨ Representando toda a carga através de um grupo único perderemos as características reais as quais o servidor é submetido – resultados incorretos
¨ Solução: Criar Classes de fregueses na RF para representar os diferentes tipos de transações
01/07/2016
9
Usos de RF com múltiplas classes
¨ Demandas heterogêneas de serviço¤ Pedidos que compõem a carga-de-trabalho são
organizados em grupos que exibem demandas significativamente diferentes
¨ Tipos diferentes da carga-de-trabalho¤ Ex: transações e processamento em lote (batch)
¨ Objetivos de serviço diferentes¤ Representar com mais exatidão o sistema a ser
modelado
Classes de Clientes
¨ Classes Abertas:¤Número ilimitado de clientes no sistema
¨ Classes Fechadas:¤Número de clientes no sistema é limitado e conhecido
01/07/2016
10
Classes de Clientes
¨ Classe aberta¤ Intensidade da carga de trabalho especificada por taxa
de chegadasnNúmero médio de transações que chegam por unidade de
tempo¤Quantidade ilimitada de fregueses no sistema¤Vazão é parâmetro de entradan Se a taxa de chegada é igual à vazão o sistema está em
equilíbrio¤Um modelo de classe aberta exige que sejam
configuradosn Taxa de chegadan Tempo de serviço de cada um dos recursos
Classes de Clientes
¨ Classe fechada¤ Intensidade da carga de trabalho é especificada pela
população de freguesesnNúmero de requisições que competem pelos recursos
depende da quantidade de clientesnNúmero de fregueses no sistema é conhecido e limitado
¤Vazão é parâmetro de saída¤Um modelo de classe aberta exige que sejam
configuradosnNúmero de freguesesn Tempo de serviço de cada um dos recursos
01/07/2016
11
Tipos de Modelos de Filas
¨ Modelos de Redes de Filas Abertos¤ Composto apenas por clientes de classes abertas
¨ Modelos de Redes de Filas Fechados¤ Composto apenas por clientes de classes fechadas
¨ Modelos de Redes de Filas Mistos¤ Composto tanto por clientes de classes abertas quanto
fechadas
Modelo Misto para servidor BD
01/07/2016
12
Tipos de recursos
¨ Delay resource: Representa apenas tempo gasto pelo cliente¤ Recursos sem fila e dedicados
¨ Load dependent resource: Recursos que a taxa de serviço dependem da carga de trabalho (LAN)
¨ Load independent resource: Recursos com taxa de serviço constante (CPU, Disco)
Tipos de Recursos
01/07/2016
13
SBD: Bloqueio
¨ Para garantir Tempo Resposta (TR) para usuários, temos que limitar Nº de transações ao BD¤ Controle de congestionamento ou de admissão (max W
transações)n Ex: Nº máximo de conexões TCP em servidor Web
¤Ao chegar, transação que encontra sistema com W transações ou espera ou vai embora (perda)nVazão = Taxa de Chegadas x (1-Prob. Rejeição)nNão necessariamente igual à taxa de chegadas
Bloqueio (Rejeição, Perda)
01/07/2016
14
SBD com controle de admissão
SBD: Contenção de software
¨ Suponha SBD multithreaded¤ Cada thread atende a uma transação por vez¤Máximo Nº de threads (mMax)¤Nº de threads ótimo?¤ Contenção de software (thread) X contenção física (CPU,
disco)¤ Tempo de Resposta pode crecer ou cair em função de m,
dependendo do fator dominante (contenção de software ou física)
01/07/2016
15
TR vs. m (Nº threads) para λ1<λ2
SBD: Posse de recursos simultâneos
¨ Suponha que transações necessitem fazer um lockna BD antes de fazerem atualização
¨ Quando conseguir um lock, a transação precisará de usar a CPU ou disco¤ Posse de recursos simultâneos
01/07/2016
16
Ilustração de posse de recursos simultâneos
RF com posse de recursos simultâneos
01/07/2016
17
SBD: Mudança de classe
¨ Suponha que antes de ter sua transação processada no BD, um usuário tenha que passar pela etapa de autenticação¤ uso intensivo de criptografia, exigindo muita CPU¤ Demanda de serviço varia muito, dependendo da “etapa”¤ Modelo: freguês faz “mudança de classe” ao mudar de uma
fila para outra¤ pi,r,j,s = probabilidade do freguês classe r mudar para classe
s ao migrar da fila i para a j
Disciplinas de enfileiramento
¨ Ex: SBD quer dar prioridade à transações com SLA¨ FCFS – serviço por ordem de chegada¨ LCFS – atendimento como uma pilha¨ Prioridade – estática, dinâmica (quebra de impasse por
FCFS)¨ Round Robin (RR) – fatia de tempo ou quantum
(escalonamento da CPU em SO)¨ Processor Sharing (PS) – Limite de RR quando fatia de
tempo tende a zero (equivalente a n transações em servidor único: cada uma vez recursos n vezes mais lento)
¨ Outras: LCFS- Preemptive Resume, aleatória, ...
01/07/2016
18
Definição mais formal de Modelos de RF
¨ Coleção de K filas interconectadas¤ “Fila” inclui a fila de espera + recurso que fornece serviço
para os fregueses¨ Pode ser aberta, fechada ou mista dependendo das
classes de fregueses¤ Soluções destas RFs mais adiante no programa
¨ Parâmetros de entrada para um modelo RF¤ Intensidade da carga-de-trabalho (taxa de chegadas para
classes abertas e população de fregueses para fechadas)¤ Demandas por serviço (tempo médio de serviço total)
Soluções para um modelo
¨ Primeiro, definir claramente no modelo:¤ Parâmetros ou características do sistema¤ Entradas¤ Saídas (medidas de interesse)
¨ Simulação
¨ Análise Matemática
¨ O Modelo pode ajudar também com medição