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
18
Embed
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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
¨ 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
¨ 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
¨ 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
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?
¨ 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
¨ 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)
¨ 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)