Avaliação de Desempenho de Sistemas Discretos

Documentos relacionados
O que é um banco de dados? Banco de Dados. Banco de dados

Introdução. Aula 02. Estrutura de Dados II. UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox

Engenharia de Software II

Sistemas Distribuídos

Aula 10: Escalonamento da CPU

Deswik.Sched. Sequenciamento por Gráfico de Gantt

SISTEMAS DISTRIBUÍDOS

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

DIMENSÕES DE PESQUISA EM ENGENHARIA DE SOFTWARE

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Dynamic Voltage Scaling in Multitier Web Servers with End-to-End Delay Control

Insight for a better planet SOLUÇÕES EM PLANEJAMENTO, AGENDAMENTO E OTIMIZAÇÃO FLORESTAL

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

Capítulo 6. Projeto de arquitetura Pearson Pren0ce Hall. Todos os direitos reservados. 1. slide 1

FACULDADE DE CIÊNCIAS E TECNOLOGIA. Redes de Telecomunicações (2006/2007)

Análise de Requisitos

Implementação de um serviço de correio eletrônico na Intranet do Pólo de Touros utilizando o ambiente SQUIRELMAIL e POSTFIX em um Servidor Linux

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

ENGENHARIA DE SOFTWARE

Sistemas Operacionais

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

AULA 07 Distribuições Discretas de Probabilidade

Teoria de Filas. Prof. Gustavo Leitão. Campus Natal Central. Planejamento de Capacidade de Sistemas

Aula 03. Processadores. Prof. Ricardo Palma

Análise de Sistemas 3º Bimestre (material 2)

Sistema de Registro da Certificação Continuada (CCRS) Alinhamento de Atividades do Triângulo de Talentos Perguntas Freqüentes (FAQ) para R.E.P.

Índice. Conteúdo. Planilha Profissional Para Cálculo de Preços de Artesanato

}Escalonamento. Parte III - Sistemas Operacionais. Cap. 2 Processos. Escalonamento de Processos. Quando escalonar? Comportamento de Processos

Arquitecturas de Software Enunciado de Projecto

Auxiliar em Administração de Redes Redes de Computadores I

COMUNICAÇÃO DIGITAL 1. INTRODUÇÃO PROF. MARCIO EISENCRAFT

PESQUISA OPERACIONAL -PROGRAMAÇÃO LINEAR. Prof. Angelo Augusto Frozza, M.Sc.

INTRODUÇÃO À INFORMÁTICA: TERMINOLOGIA BÁSICA RAÍ ALVES TAMARINDO

Flávia Rodrigues. Silves, 26 de Abril de 2010

Modelagem de Sistemas Web. Metodologias para o desenvolvimento de sistemas web

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Gerenciamento dos Riscos do Projeto (PMBoK 5ª ed.)

Arquitetura e Organização de Computadores. Histórico. Gerações

Fundamentos de Programação. Diagrama de blocos

Atualizada em 29/01/

Sistemas Operacionais. Escalonamento de Processo. Prof. Dr. Márcio Andrey Teixeira

Programação Orientada a Objetos SANTOS, Rafael

Introdução a Computação 07 Sistemas operacionais. Márcio Daniel Puntel marcio.puntel@ulbra.edu.br

MÓDULO 2 Topologias de Redes

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Sistemas Operacionais. Rodrigo Rubira Branco

AULA 6 Marketing de Serviços

Conceitos básicos sobre computadores

Arquitetura de Computadores Sistemas Operacionais II

Matriz de Especificação de Prova da Habilitação Técnica de Nível Médio. Habilitação Técnica de Nível Médio: Técnico em Logística

Planejamento - 2. Definição de atividades Sequenciamento das atividades. Mauricio Lyra, PMP

Texto para Coluna do NRE-POLI na Revista Construção e Mercado Pini Setembro Prof. Dr. João da Rocha Lima Jr.

Avaliando e Compreendendo o Desempenho. Capítulo 4

FONSECA, LUCIANO DUARTE FERRAMENTAS DE DIAGNÓSTICO ERD COMMANDER

01/11/2013. Gestão de Pessoas

PLANEJAMENTO ESTRATÉGICO

AVALIAÇÃO DE UM TANQUE DE DECANTAÇÃO DE SÓLIDOS UTILIZANDO FLUIDODINÂMICA COMPUTACIONAL

Métricas de Software

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

Pressuposições à ANOVA

- Sessão 2 - Estratégias para ampliar a capacidade institucional para usar evidências na formulação e implementação de políticas de saúde

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

Análise da Base Nacional Comum Curricular de Matemática. Revisado por Phil Daro, USA Common Core Standards

A visão empresarial da nova institucionalidade

Decreto-Lei nº139 /2012, de 5 de junho, alterado pelo Despacho Normativo n.º1-g/2016

MacWin Sistemas Informáticos SA

Parabéns por você ter chegado até aqui isso mostra o seu real interesse em aprender como se ganhar dinheiro na internet logo abaixo te darei algumas

Custo de Oportunidade do Capital

Sérgio Luisir Díscola Junior

empowering talents UM PRODUTO:

Introdução à Informática

DIVISÃO DE REGISTROS ACADÊMICOS Registros Acadêmicos da Graduação. Ementas por Currículo 07/02/ :25. Centro de Ciências Exatas e Naturais

DISTRIBUIÇÕES ESPECIAIS DE PROBABILIDADE DISCRETAS

Desenvolvimento de Software

Fundamentos de Teste de Software

Gerência de processos Requisitos fundamentais

Redes de Computadores

1 Circuitos Pneumáticos

Introdução à Programação de Computadores Parte I

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

2 Segmentação de imagens e Componentes conexas

COMISSÃO DE DESENVOLVIMENTO ECONÔMICO, INDÚSTRIA E COMÉRCIO

QUESTÕES PARA A 3ª SÉRIE ENSINO MÉDIO MATEMÁTICA 2º BIMESTE SUGESTÕES DE RESOLUÇÕES

Processo de Gerenciamento do Catálogo de Serviços de TIC

MBA em Gerenciamento de Projetos. Teoria Geral do Planejamento. Professora: Maria Erileuza do Nascimento de Paula

FACULDADE MULTIVIX CURSO DE ENGENHARIA DE PRODUÇÃO 2º PERÍODO MARIANA DE OLIVEIRA BERGAMIN MONIQUE MATIELLO GOMES THANIELE ALMEIDA ALVES

MDS II Aula 04. Concepção Requisitos Diagrama de Casos de Uso (Use Cases)

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

GUIA SOBRE A APLICAÇÃO DOS ASPECTOS LINGUÍSTICOS DA CARTILHA DE ADESÃO À AGENCE UNIVERSITAIRE DE LA FRANCOPHONIE

Metodologias de PETI. Prof. Marlon Marcon

UNIVERSIDADE FEDERAL DA BAHIA ESCOLA POLITÉCNICA DEPARTAMENTO DE ENGENHARIA QUÍMICA ENG 008 Fenômenos de Transporte I A Profª Fátima Lopes

Professor Léo Matos TI para Concursos

Transcrição:

Avaliação de Desempenho de Sistemas Discretos Parte II: Modelagem de Sistemas Professor: Reinaldo Gomes reinaldo@computacao.ufcg.edu.br 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 1

Por que usar modelos? 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? 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 2

Importância do uso de modelos Modelos ajudam a simplificar problemas Melhor definição do foco do estudo Estudos diferentes podem ter focos diferentes e se complementar Princípio da separação de domínios Diferentes 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 3

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 complexas 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 através de uma rede de filas! 4

Representação de fila + servidor(es) Representação do servidor BD (Rede de Filas - RF) 5

Modelagem de Sistemas com Redes de Filas Não é uma atividade trivial de ser feita É necessário abstrair o essencial para a avaliação 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 disco Calcular o tempo de espera na CPU e no disco 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? 6

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? 7

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 8

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 9

Classes de Clientes Classe aberta Intensidade da carga de trabalho especificada por taxa de chegadas Número médio de transações que chegam por unidade de tempo Quantidade ilimitada de fregueses no sistema Vazão é parâmetro de entrada Se a taxa de chegada é igual à vazão o sistema está em equilíbrio Um modelo de classe aberta exige que sejam configurados Taxa de chegada Tempo de serviço de cada um dos recursos Classes de Clientes Classe fechada Intensidade da carga de trabalho é especificada pela população de fregueses Número de requisições que competem pelos recursos depende da quantidade de clientes Número de fregueses no sistema é conhecido e limitado Vazão é parâmetro de saída Um modelo de classe aberta exige que sejam configurados Número de fregueses Tempo de serviço de cada um dos recursos 10

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 11

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 12

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) 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) Vazão = Taxa de Chegadas x (1-Prob. Rejeição) Não necessariamente igual à taxa de chegadas Bloqueio (Rejeição, Perda) 13

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 (m Max ) 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) 14

TR vs. m (Nº threads) para λ 1 <λ 2 SBD: Posse de recursos simultâneos Suponha que transações necessitem fazer um lock na 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 15

Ilustração de posse de recursos simultâneos RF com posse de recursos simultâneos 16

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 p i,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,... 17

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 18