Avaliação de Desempenho

Documentos relacionados
Introdução à Avaliação de Desempenho

Introdução à Avaliação de Desempenho

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

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

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

Avaliação de Desempenho

Avaliação de Desempenho

SSC546 -Avaliação de Desempenho de Sistemas

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

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

Avaliação de Desempenho

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

Como modelar o comportamento de um sistema? MAB-515

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

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

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

Conceitos de Análise de Desempenho

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

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

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

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

Avaliação de Desempenho de Sistemas Discretos

Introdução aos Sistemas Operacionais

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

Sistemas Distribuídos

A Matemática como Serviço a Ciência da Computação. Prof. Dr. Carlos Eduardo de Barros Paes Coordenador do Curso de Ciência da Computação

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

Conceitos de Sistemas Distribuídos

Computação Distribuída

Sistemas Distribuídos

SISTEMAS OPERACIONAIS

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

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

Davidson Rodrigo Boccardo

Componentes de SIs. Pessoas Organiz. Tecnologia

Sis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o

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

Sistemas Operacionais Distribuídos

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

Sistemas Operacionais

6 ESCALONAMENTO DE CPU

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

Curso: Redes de Computadores

Quando Distribuir é bom

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

Arquitetura de sistemas distribuídos

ARQUITETURA DE COMPUTADORES

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

Aula 2. Prof: Carlos Eduardo de Carvalho Dantas

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

História da Computação

SISTEMAS DISTRIBUÍDOS

Quando Distribuir é bom

Gerência de Redes Áreas Carlos Gustavo Araújo da Rocha. Gerência de Redes

Sistema de arquivos Distribuidos

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

Projeto de Sistemas Distribuídos. Considerações

Introdução à Programação Aula 01. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Sistemas Operacionais (SO)

Designing Data Intensive Applications

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

Alcides Pamplona

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

Arquitetura de Computadores

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Avaliação de Desempenho de Sistemas Discretos

Projeto de Sistemas Distribuídos. Considerações

2

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

Sistemas Operacionais Aula 3

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

Avaliação de Desempenho. September 28, 2010

DESENHO DE CARGOS E TAREFAS

Análise e projeto de sistemas

Sistemas Operacionais. Introdução

Curso: Banco de Dados I. Conceitos Iniciais

Avaliação Quantitativa de Sistemas

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

Engenharia de Software II

Arquiteturas Paralelas

Aula 2 BD Introdução. Profa. Elaine Faria UFU

VERIFICAÇÃO DE UNICIDADE DE URLS EM COLETORES DE PÁGINAS WEB

Os computadores ditigais podem ser classificados em 5 grupos distintos:

PCS 2039 Modelagem e Simulação de Sistemas Computacionais

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

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

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

Sistemas Operacionais

Introdução a Engenharia de Software

Apresentação. Ementa da Disciplina. Objetivo da Disciplina. DCA-108 Sistemas Operacionais. Referências Bibliográfica. Referências Bibliográfica

Aula 1: Introdução aos Sistemas Operacionais. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

histórico migração de processos em sistemas operacionais distribuídos balanceamento de carga de CPU otimização do uso da rede

Estrutura da Apresentação. Introdução ao Processamento Paralelo e Distribuído. Conceitos em PPD. Conceitos em PPD 4/26/09.

Pseudocódigo: Instruções de Atribuição, Entrada e Saída de Dados

COMPUTADORES NAS EMPRESAS Cloud Computing Prof. Reginaldo Brito

O que é um sistema distribuído?

Transcrição:

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Avaliação de Desempenho Introdução Aula 1 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 Resultados

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 Resultados

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 Resultados

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

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 Resultados

Por quê se preocupar com isso? Por quê saber qual a temperatura no final de semana? A avaliação da temperatura é importante para planejar!

Motivação 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

Motivação O que o sistema precisa? Qual é o tipo de usuário? Qual é o objetivo do sistema? Como se dá o gerenciamento de recursos?

Motivação Exemplo 1: Tornar um sistema mais rápido 1. Identificar os pontos de atraso e verificar o impacto desse atraso 2. Propor soluções 3. Avaliar soluções

Motivação Como Agilizar? 1. Identificar os pontos de atraso e verificar o impacto desse atraso: Verificar a freqüê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 freqüentes: 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

Motivação Exemplo2: Tornar um sistema mais seguro 1. Identificar os pontos vulneráveis e verificar o impacto desses pontos 2. Propor soluções 3. Avaliar soluções Avaliação de Desempenho de Sistemas Computacionais

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 Resultados

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

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

O que vem a ser isso? Análise detalhada: Dos recursos do sistema Dos gerenciadores Dos Usuários Dos objetivos do sistema e da avaliação Caso contrário pode-se trocar um conjunto de problemas por outro

Exemplo Como avaliar um aquário?

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

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

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

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

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.

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

Técnicas para Avaliação de Desempenho 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

Técnicas para Avaliação de Técnicas de Aferição: Desempenho 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

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? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas?

Planejamento de Experimentos O que medir? Variável de Resposta Quero ter a informação mais fiel possível sobre o comportamento de um sistema Diversos enfoques: Responsividade tempo que leva para executar um serviço Produtividade taxa de execução de um serviço por unidade de tempo Utilização recurso utilizado para a execução do serviço

Planejamento de Experimentos O que medir? Variável de Resposta Velocidade Confiabilidade Disponibilidade Métricas individuais Métricas globais

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.

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.

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.

Qual ou quais medidas devem ser consideradas? Depende da aplicação, do tipo do sistema, do objetivo, etc. Exemplo 1: sistemas computacional de uso geral tempo de resposta disponibilidade Exemplo 2: Sistema Computacional de um Banco segurança

Qual ou quais medidas devem ser consideradas? Cuidado

Aeronave Washington a Paris Velocidade Boeing 747 6.5 horas 610 mph BAD/Sud Concorde 3 horas 1350 mph

Aeronave Washington a Paris Velocidade Passageiros Throughput (pmph) Boeing 747 6.5 horas 610 mph 470 286,700 BAD/Sud Concorde 3 horas 1350 mph 132 178,200 Tempo para executar a tarefa tempo de resposta, latência Tarefas por dia, por hora, etc. Throughput, bandwidth

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

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;

Avaliação versus Análise Qual a diferença? 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.

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

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. Análise de Resultados 3. Técnicas para Avaliação de Desempenho

Etapas a serem consideradas 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 Experimento Técnica de Avaliação Análise dos Resultados

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. Análise de Resultados 3. Técnicas para Avaliação de Desempenho