SSC643 -Avaliação de Desempenho de Sistemas Computacionais Sarita Mazzini Bruschi

Documentos relacionados
SSC546 -Avaliação de Desempenho Parte 1 Sarita Mazzini Bruschi

Avaliação de Desempenho

Introdução à Avaliação de Desempenho

Introdução à Avaliação de Desempenho

SSC643 -Avaliação de Desempenho de Sistemas Computacionais -

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

SSC546 -Avaliação de Desempenho de Sistemas

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

Avaliação de Desempenho

Avaliação de Desempenho

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

Avaliação de Desempenho

Como modelar o comportamento de um sistema? MAB-515

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

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

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

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

Avaliação de Desempenho de Sistemas Discretos

Introdução aos Sistemas Operacionais

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Computação Distribuída

William Stallings Arquitetura e Organização de Computadores 8 a Edição

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

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

ARQUITETURA DE COMPUTADORES

Sistemas Distribuídos

Introdução aos Sistemas Distribuídos

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Sistema de entrada e Saída

Conceitos de Análise de Desempenho

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

Curso: Redes de Computadores

Quando Distribuir é bom

Sistemas Operacionais

Introdução à Ciência da Computação

Conceitos de Sistemas Distribuídos

Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

Análise de Desempenho de Sistemas Distribuídos _ NOTAS DE AULA _ Prof. Tiago Garcia de Senna Carneiro DECOM/UFOP

Introdução 12 que inuenciam a execução do sistema. As informações necessárias para o diagnóstico de tais problemas podem ser obtidas através da instru

Avaliação e Comparação de Ferramentas de Software.

Problemas em Tecnologia da Informação

MEU SISTEMA ESTÁ LENTO! ENTENDA AS POSSÍVEIS CAUSAS DESTE PROBLEMA

Arquitetura Cliente-Servidor Generalizada com identificação de tiers. Arquitetura Cliente-Servidor Generalizada com identificação de tiers

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

GQS Medidas. André Luís Duarte. exatasfepi.com.br

Sistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34

Arquitetura de Computadores

Quando Distribuir é bom

Componentes de SIs. Pessoas Organiz. Tecnologia

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

ORGANIZAÇÃO CURRICULAR TÉCNICO NA ÁREA DE INFORMÁTICA: HABILITAÇÃO TÉCNICO EM INFORMÁTICA NA MODALIDADE A DISTÂNCIA /1

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

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

Barramento. Prof. Leonardo Barreto Campos 1

SISTEMAS DISTRIBUÍDOS

FUNDAMENTOS DE ENGENHARIA DE SOFTWARE. Professor: Paulo Vencio

Simulação de Sistemas. Adaptado de material de Júlio Pereira Machado (AULA 17)

Sistemas Operacionais Distribuídos

O que é Simulação? Capítulo 1. Prof. Afonso C Medina & Prof. Leonardo Chwif. fonte original de consulta.

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Sistemas Distribuídos

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

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

Data Warehouse ETL. Rodrigo Leite Durães.

ENGENHARIA DE SOFTWARE

SSC0640 Sistemas Operacionais I

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

Tipos de Clusters. Introdução. Introdução 21/03/12

CONCURSO PÚBLICO PARA PROVIMENTO DE CARGO EFETIVO PROFESSOR DE ENSINO BÁSICO, TÉCNICO E TECNOLÓGICO Edital 20/2015 Campus Rio Pomba FOLHA DE PROVA

SSC0611 Arquitetura de Computadores

Sistemas Operacionais (SO)

Os computadores ditigais podem ser classificados em 5 grupos distintos:

SSC0112 Organização de Computadores Digitais I

Organização e Arquitetura de Computadores I

História da Computação

ANÁLISE DE RESULTADOS

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

SSC0640 Sistemas Operacionais I

Estilos Arquiteturais

16/8/2010. A arquitetura de um sistema computacional representa o modelo da organização e funcionamento de um sistema de processamento

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I

SISTEMAS DISTRIBUÍDOS

2

PCS 2039 Modelagem e Simulação de Sistemas Computacionais

Resolução dos exercícios da lista BD01

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

SISTEMAS OPERACIONAIS

Organização e Arquitetura de Computadores I

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

Arquiteturas Paralelas

Em Tempo de Orçamento curto, qual a Melhor Estratégia Bimodal de TI? Sincronizar TI Bimodal com otimização de custos para melhores resultados.

Sistemas Operacionais Aula 3

Sistemas Operacionais

ALP Algoritmos e Programação. . Um modelo de Computador

Análise e projeto de sistemas

6 ESCALONAMENTO DE CPU

Desenvolvimento de Aplicações Distribuídas

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

Transcrição:

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC643 -Avaliação de Desempenho de Sistemas Computacionais Sarita Mazzini Bruschi Material baseado nos slides de: Marcos José Santana Regina Helena Carlucci Santana

Conteúdo 1. Planejamento de Experimentos 2. Técnicas para Avaliação de Desempenho 3. Análise de resultado 2

Conteúdo 1. Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento 2. Técnicas para Avaliação de Desempenho 3. Análise de resultado 3

Conteúdo 1. Planejamento de Experimentos 2. Técnicas para Avaliação de Desempenho Técnicas de Aferição: Protótipos, Benchmarks e Monitores Técnicas de Modelagem: Solução Analítica e por Simulação 3. Análise de resultado 4

Conteúdo 1. Planejamento de Experimentos 2. Técnicas para Avaliação de Desempenho 3. Análise de resultado Análise Estatística dos Resultados Comparação de Resultados Aplicações em Sistemas Computacionais 5

Conteúdo 1. Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento 2. Técnicas para Avaliação de Desempenho 3. Análise de resultado 6

Motivação Porque avaliar o desempenho de Sistemas Computacionais? Exemplo No caso dos Sistemas Operacionais, em diversas ocasiões o SO apresenta grande influência no desempenho de um sistema Porque o Sistema Operacional influencia no desempenho? 7

Motivação Como agilizar? 1. Identificar os pontos de atraso e verificar o impacto desse atraso: verificar a frequência com que o procedimento ocorre Eventos raros e lentos Pouco impacto Muita otimização para ser perceptível Exemplo: procedimento ao ligar o computador, falha ao entrar em uma região crítica Eventos frequentes: Muito impacto Pequena otimização pode ser perceptível Exemplo: processo escalonador 2. Propor soluções 3. Avaliar soluções Avaliação de Desempenho de Sistemas Computacionais 8

Conteúdo 1. Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento 2. Técnicas para Avaliação de Desempenho 3. Análise de resultado 9

Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Quais técnicas utilizar? O que medir? Como confiar nas métricas obtidas? 10

Por que se preocupar com isso? EXEMPLO Suponha que você tenha um sistema que apresenta problemas de desempenho usuários reclamando e é disponibilizada verba para fazer um upgrade de um sistema O quefazer? Mais memória CPU mais rápida Aumentar memória virtual Processadores adicionais Mais unidades de disco RAID Nova configuração 11

Por quê se preocupar em avaliar um sistema? Obter o melhor desempenho possível a um menor custo. O que é melhor desempenho possível? O que deve ser analisado? Depende do ponto de vista 12

O que o sistema precisa? Qual é o tipo de usuário? Como se dá o gerenciamento de recursos? 13

Análise detalhada: Dos recursos do sistema Dos gerenciadores Dos usuários Caso contrário pode-se trocar um conjunto de problemas por outro 14

Precisamos saber responder... O que o sistema precisa? Qual é o tipo de usuário? Qual é o objetivo do Sistema? Como se dá o gerenciamento de recursos?... para podermos avaliar o sistema e oferecer um melhor serviço 15

Exemplo Como avaliar um aquário? 16

Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Quais técnicas utilizar? O que medir? Como confiar nas métricas obtidas? 17

O que vem a ser avaliação de desempenho? Avaliar um sistema (computacional ou não): Buscar uma métrica que indique quantidade ou qualidade, por exemplo, de um serviço prestado; Determinar a eficiência com a qual um sistema atinge seus objetivos Determinar a eficiência com a qual um sistema atinge as necessidades e expectativas de seus usuários e de seus desenvolvedores, para uma dada aplicação 18

Exemplo 1: uma montadora de automóveis número de carros produzidos em 1 hora; qualidade dos carros produzidos; lucro obtido por carro fabricado; quantidade de quilômetros por litro de combustível; tempo necessário para acelerar o carro de 0 a 100 km; etc. 19

Exemplo 2: um sistema computacional centralizado tempo de resposta experimentado por um usuário; sobrecarga do escalonador de processos; taxa de utilização do processador; taxa de acerto da memória cache; taxa de acerto do cache do disco; sobrecarga das rotinas de redundância em disco; etc. 20

Exemplo 3: um sistema computacional distribuído todas as considerações do caso centralizado; tempo de resposta para operações remotas; impacto do uso de cache local (nas estações); impacto do algoritmo de escalonamento no servidor; influência do disco no servidor de arquivos; balanceamento de carga no sistema; sobrecarga devido à redundância de informação; sobrecarga devido aos mecanismos de tolerância a falhas; etc. 21

Exemplo 4: uma impressora jato de tinta qualidade de impressão; velocidade de impressão no modo texto; velocidade de impressão no modo gráfico; relação custo/benefício; capacidade de armazenamento local (buffer interno); velocidade de comunicação (linha serial/paralela); duração de um cartucho de tinta; etc 22

Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Quais técnicas utilizar? O que medir? Como confiar nas métricas obtidas? 23

Quando se preocupar com a avaliação de desempenho? Usuário reclamando Troca de sistema Comparação entre sistemas Avaliação de um projeto 24

Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Quais técnicas utilizar? O que medir? Como confiar nas métricas obtidas? 25

Quem deve se preocupar com a avaliação de desempenho? Cada domínio implica em um profissional Exemplo: sistemas computacionais: analista de sistemas; gerente de sistemas; engenheiro de sistemas; projetista de hardware ou software; programador; etc. 26

Isso leva a três tipos básicos de avaliações: avaliação e análise de sistemas existentes; avaliação e análise de sistemas em desenvolvimento; avaliação e análise para seleção de sistemas. Instante em que o desempenho é considerado: durante a fase de projeto; no dia a dia de um sistema; na tomada de decisões (compras, por exemplo). 27

Avalição de Desempenho Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Quais técnicas utilizar? O que medir? Como confiar nas métricas obtidas? 28

Como medir o desempenho? Como escolher a técnica mais adequada? Deve deixar a análise isenta Não deve ser um fator degenerador Deve considerar o domínio da aplicação Intrusões em sistemas já estabelecidos nem sempre são bem-vindas 29

Técnicas e Ferramentas cada domínio tem seu instrumental próprio ferramentas variam de acordo com o domínio e a técnica: avaliar o desempenho de um automóvel é diferente do caso de uma impressora, ou de um servidor de arquivos; porém, a essência da técnica pode ser a mesma: por exemplo modelagem, com solução analítica 30

Técnicas para Avaliação de Desempenho Técnicas de Aferição: Realizam experimentação no sistema Construção de Protótipos; Coleta de Dados; Benchmarks Técnicas de Modelagem: Criam abstrações desse sistema Desenvolvimento de um Modelo Solução do Modelo 31

Técnicas para Avaliação de Desempenho Técnicas de Aferição 32

Técnicas para Avaliação de Desempenho Técnicas de Aferição Fornecem resultados precisos Requerem a disponibilidade do sistema Dificuldade em experimentar o sistema sem influenciar no seu comportamento Falta flexibilidade para verificar diferentes alternativas Altos custos 33

Técnicas para Avaliação de Desempenho Técnicas de Modelagem 34

Técnicas para Avaliação de Desempenho Técnicas de Modelagem Fornecem resultados estocásticos Não necessita-se do sistema Alta flexibilidade para verificar diferentes alternativas Custo baixo Necessidade de validação do modelo 35

Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Quais técnicas utilizar? O que medir? Como confiar nas métricas obtidas? 36

O que medir? ter informações o mais fieis possíveis sobre o comportamento de um sistema e com isso poder otimizar: seu desenvolvimento; sua implementação; sua utilização; sua evolução; sua desativação. 37

Medidas de desempenho computacionais Tempo de Resposta (visão do usuário) Capacidade de Trabalho/Utilização Disponibilidade do Sistema Produtividade do Sistema 38

Por quê se preocupar com isso? O que vem a ser isso? Quando se preocupar com o desempenho? Quem deve se preocupar com a avaliação? Como medir o desempenho? Quais técnicas utilizar? O que medir? Como confiar nas métricas obtidas? 39

Como confiar nas métricas obtidas? Avaliação versus Análise Qual a diferença? Avaliar : obter, produzir, levantar dados a respeito de uma entidade exemplo: determinar o consumo de um automóvel usar alguma técnica para medir a distância percorrida e o volume de combustível consumido; Analisar: verificar a precisão, a validade, o significado da grandeza produzida durante a avaliação exemplo: se a avaliação do automóvel levou a 20 Km/litro de gasolina, então a análise se preocupa em se certificar que: a metodologia utilizada foi correta; que os números levantados são suficientemente precisos; e, então, conclui se o desempenho avaliado é bom, ruim, etc. 40

Como analisar as métricas obtidas? Exemplo: Tempo de Resposta em dois sistemas A e B Sistema Carga 1 Carga 2 A 20 10 B 12 16 Qual o melhor sistema? Será que estes valores são válidos? Qual a carga usual do sistema? Qual o objetivo desta avaliação? 41

Pontos importantes para a Avaliação de Desempenho 1. Entendimento completo do sistema, dos problemas e dos objetivos da avaliação 2. Abordagem sistemática 3. Não devem ser considerados parâmetros, cargas, métricas, etc. arbitrários. 4. Definição de uma carga de trabalho característica 5. Definição da metodologia mais apropriada 6. Definição do nível de detalhamento 7. Análise dos resultados 8. Considerar os limites, suposições e margem de erro 42

Conteúdo 1. Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento 2. Técnicas para Avaliação de Desempenho 3. Análise de resultado 43

Etapas a serem consideradas na Avaliação de Desempenho 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise 6. Determinar a Técnica de Avaliação apropriada 7. Determinar a carga de trabalho característica 8. Realizar a avaliação e obter os resultados 9. Analisar e interpretar os resultados 10. Apresentar os resultados As etapas apresentadas nem sempre são executadas linearmente como apresentado nesta lista 44

Etapas a serem consideradas na Avaliação de Desempenho 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise 6. Determinar a Técnica de Avaliação apropriada 7. Determinar a carga de trabalho característica 8. Realizar a avaliação e obter os resultados 9. Analisar e interpretar os resultados 10. Apresentar os resultados Planejamento de Experimentos Técnica de Avaliação Análise dos Resutlados 45

Conteúdo 1. Planejamento de Experimentos Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento do Experimento Conceitos Básicos Carga de trabalho Modelos para Planejamento de Experimento 2. Técnicas para Avaliação de Desempenho 3. Análise de resultado 46