avaliação de desempenho de sistemas discretosreinaldo/adsd_files/02_modelagem_2slides.pdf ·...

18
01/07/2016 1 Parte II: Modelagem de Sistemas Professor: Reinaldo Gomes [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

Upload: doanduong

Post on 19-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 2: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 3: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 4: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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!

Page 5: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

01/07/2016

5

Representação de fila + servidor(es)

Representação do servidor BD (Rede de Filas - RF)

Page 6: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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?

Page 7: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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?

Page 8: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 9: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 10: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 11: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 12: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 13: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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)

Page 14: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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)

Page 15: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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

Page 16: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

01/07/2016

16

Ilustração de posse de recursos simultâneos

RF com posse de recursos simultâneos

Page 17: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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, ...

Page 18: Avaliação de Desempenho de Sistemas Discretosreinaldo/adsd_files/02_MODELAGEM_2slides.pdf · processos, seções críticas ¤Recursos com capacidade finita para realizar trabalho

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