Avaliação de Desempenho Planejamento de Experimentos

Slides:



Advertisements
Apresentações semelhantes
Simulação de Sistemas Antonio J. Netto AULA1.
Advertisements

Amintas engenharia.
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Teste de Software.
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Avaliação de Desempenho Planejamento de Experimentos 2
Avaliação de Desempenho
Avaliação de Desempenho Planejamento de Experimentos 2 Aula 2 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de.
Diretrizes para Desenvolvimento do Projeto
Sistemas Operacionais Planejamento de Experimento
Avaliação de Sistemas Operacionais
Avaliação de Desempenho de Sistemas Computacionais
Avaliação de Desempenho Planejamento de Experimentos 2
Avaliação de Desempenho
Marcos José Santana Regina Helena Carlucci Santana
Avaliação de Desempenho Planejamento de Experimentos 2 Aula 2 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de.
Avaliação de Desempenho Planejamento de Experimentos 3
Avaliação de Desempenho Planejamento de Experimentos 2 Aula 3 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de.
Avaliação de Desempenho de Sistemas Operacionais
Avaliação de Desempenho
Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Marcos José
Avaliação de Desempenho
Avaliação de Desempenho Planejamento de Experimentos 1
Avaliação de Desempenho Planejamento de Experimentos 2
Avaliação de Desempenho
Avaliação de Desempenho
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.
Avaliação de Desempenho Planejamento de Experimentos 1 Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de.
Conceitos Básicos de Informática INTRODUÇÃO À TERMINOLOGIA BÁSICA
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Balanceamento de Linhas
Performance em aplicações web – Parte I
Engenharia de Software
Unidade 2.
Sistemas Operacionais I
REDUNDÂNCIA POR SOFTWARE
Prof.Alfredo Parteli Gomes
Comparação entre os métodos de ordenação
Redundant Array of Independent Drives Raid
Universidade São Marcos Curso: Gestão de Negócios Internacionais
Os fluxos associados ao tipo de gestão de estoques
Sistemas Distribuídos
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Carlos Oberdan Rolim Ciência da Computação
Arquitetura Cliente /Servidor
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
ÍNDICES DE CARGA E DE DESEMPENHO SSC-642 SISTEMAS COMPUTACIONAIS DISTRIBUÍDOS.
Avaliação de Desempenho Planejamento de Experimentos 3
PLANEJAMENTO DO EXPERIMENTO
Confiabilidade - Árvore de Falhas
Teste de Software Conceitos iniciais.
ANÁLISE ESTRUTURADA DE SISTEMAS
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Sistemas de Informação
EPR16 – Planejamento e Gestão da Qualidade Professora Michelle Luz
MSCC - Introdução Baseado no capítulo 1 do livro Performance Evalution of Computer and Communication Systems, de Jean-Yves Le Boudec (EPFL)
Conceitos de Monitoramento
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
Professora Michelle Luz
Funcionamento interno do computador
TÉCNICAS DE ESTIMATIVAS
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
BALANCEAMENTO DE LINHAS PRODUTIVAS / EFICÁCIA PRODUTIVA
Transcrição da apresentação:

Avaliação de Desempenho Planejamento de Experimentos 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 Planejamento de Experimentos Aula 2 Marcos José Santana Regina Helena Carlucci Santana

Avaliação de Desempenho Introdução Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento de Experimentos Conceitos Básicos Variável de Resposta Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho

Planejamento de Experimentos Deve ser utilizado em qualquer experimento É uma técnica muito importante para a indústria pois seu emprego permite resultados mais confiáveis economizando dinheiro e tempo Requer uma quantidade exaustiva de cálculos tornando fundamental o emprego de ferramentas

Planejamento de Experimentos Técnicas utilizadas para se planejar experimentos e definir: quais dados em que quantidade em que condições os dados devem ser coletados durante um determinado experimento Obter a maior precisão estatística possível na resposta a um menor custo

Planejamento de Experimentos Objetivos Obter o máximo de informação com um número mínimo de experimentos Separar os efeitos de vários fatores no resultado observado Determinar o quão significante é o efeito de um fator no resultado observado. Melhor qualidade dos resultados dos testes e um projeto com desempenho superior em termos de suas características funcionais e de sua robustez

Planejamento de Experimentos Terminologia Variável de Resposta – Saída de um experimento Fatores – Variável que afeta as variáveis de resposta e que podem assumir diversas alternativas Níveis – Os valores que um determinado fator pode assumir Fatores Primários – Fatores que causam um grande impacto em uma variável de resposta e que devem ser considerados Fatores Secundários – Fatores cujo impacto na variável de resposta não é significante ou não se tem interesse em quantificar

Planejamento de Experimentos Terminologia: Replicação – Repetição de todo ou de parte de um experimento Projeto - Determina o número de experimentos a serem considerados, incluindo o número de fatores e níveis, a combinação entre os níveis e o número de replicações para cada experimento Interação – Dois fatores interagem se o efeito de um depende do nível do outro

Planejamento de Experimentos Manipula-se de forma planejada certas variáveis independentes (fatores), definindo-se os valores mais prováveis que essas variáveis podem assumir (níveis) para verificar o efeito que esta manipulação provoca na variável de resposta (variável dependente)

Planejamento de Experimentos Terminologia – Exemplo Empresa de telefonia celular - Sistema pré pago Objetivo: determinar a influência de uma expansão no serviço prestado, mantendo sistema já utilizado 1. Variáveis de Resposta (métricas): Tempo para recuperar uma informação Número de informações recuperadas por unidade de tempo Taxa de acerto ao cache

Planejamento de Experimentos 2. Definição dos Fatores primários e níveis Quatro fatores: Fator 1 – Tamanho do banco de dados Fator 2 – Quantidade de acessos Fator 3 – Quantidade de cache Fator 4 – Forma de armazenamento

Planejamento de Experimentos 2. Definição dos Fatores primários e níveis Fator 1 – Tamanho do banco de dados: 500 mil registros 1 milhão de registros 2 milhões de registros Fator 2 – Quantidade de acessos: 10 mil acessos/dia 20 mil acessos/dia 40 mil acessos/dia Carga de Trabalho

Planejamento de Experimentos 2. Definição dos Fatores primários e níveis Fator 3 – Quantidade de cache: 1M byte 10M byte 20M byte Fator 4 – Número de discos: 5 discos 10 discos 15 discos

Planejamento de Experimentos 2. Definição dos Fatores Secundários Processamento Velocidade do disco – 10K RPM

Avaliação de Desempenho Introdução Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento de Experimentos Conceitos Básicos Variável de Resposta Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho

Planejamento de Experimentos Variável de Resposta O que medir? Informação que represente o comportamento do sistema sendo avaliado Enfoque considerado

Planejamento de Experimentos Variável de Resposta - Requisitos Evitar grande número de repetições Escolher variáveis com baixa variabilidade Evitar redundância Eliminar variáveis que não acrescentam Evitar falta de informação Considerar as variáveis necessárias

Planejamento de Experimentos Variável de Resposta Medida Global x Medida Individual Global Relativa ao sistema Utilização de um recurso Confiabilidade Disponibilidade Tempo de resposta Vazão Individual Relativa a cada usuário Tempo de resposta Vazão Visão do usuário x Visão do sistema

Medidas de Desempenho Tempo de resposta intervalo entre o pedido do usuário e a resposta do sistema pedido e resposta instantâneos Usuário recebe resposta Usuário inicia solicitação Tempo Tempo de Resposta

Medidas de Desempenho tempo de resposta com pedido e resposta realistas Usuário inicia solicitação Usuário recebe resposta Usuário finaliza solicitação 3 2 4 1 Tempo 5 Sistema inicia execução Sistema recebe solicitação Sistema finaliza execução e encaminha resposta

Medidas de Desempenho Tempo de Resposta Visão do usuário Medida individual ou global Velocidade de execução de uma tarefa em determinadas condições Influência da carga de trabalho do sistema Engloba diversas fases: tempo de espera por um trabalho comprimento de uma fila por um recurso tempo de processamento Valores médios/máximos/mínimos/distribuições

Medidas de Desempenho Troughput Taxa de pedidos que podem ser servidos pelo sistema (pedidos por unidade de tempo) Capacidade nominal Troughput geralmente aumenta até certo ponto, depois começa a cair Eficiência Medidas orientadas ao sistema

Avalia quão bem os vários elementos do sistema estão sendo utilizados Medidas de Desempenho Utilização Fração de tempo em que o recurso está ocupado Relação entre o serviço útil executado e a carga máxima suportada pelo sistema (processador por exemplo) Avalia quão bem os vários elementos do sistema estão sendo utilizados Medidas orientadas ao sistema

Medidas de Desempenho fração de tempo em que o sistema está disponível Disponibilidade fração de tempo em que o sistema está disponível pode ser utilizada como uma medida de desempenho em termos de confiabilidade; algumas medidas úteis: tempo de vida; intervalo de disponibilidade; MTTF (mean time to failure); MTTR (mean time to repair); MTBF (mean time between failures).

Produtividade do Sistema Medidas de Desempenho Produtividade do Sistema Indica como o usuário pode submeter o seu trabalho; Indica o grau de facilidade oferecido pelo sistema; Aspectos de manutenção do sistema; Existe certa dificuldade para quantificar esse item.

Medidas de Desempenho Custo/Desempenho Confiabilidade melhor relação tempo provável em que o sistema fica livre de erros

Medidas de Desempenho MIPS MFLOPS Milhões de Instruções por Segundo Milhões de Instruções de Ponto Flutuante por Segundo Fabricantes apresentam números de pico de MIPS e MFLOPS superiores aos reais, valores obtidos em situações ideais Comparação entre máquinas com conjunto de instruções diferentes – CISC X RISC

Medidas de Desempenho MIPS e MFLOPS são relevantes quando aplicados em computadores de mesma arquitetura para análise comparativa Apresentam características similares de hardware e software Números de MIPS e MFLOPS mais coerentes

Avaliação de Desempenho 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

Avaliação de Desempenho Qual ou quais medidas devem ser consideradas? Depende da aplicação, do tipo do sistema, do objetivo, etc. Exemplo 3: Site Comercio Eletrônico Exemplo 4: Sistema Tolerante a Falhas Exemplo 5: Sistema Tempo Real

Planejamento de Experimentos Mais um ponto deve ser considerado.... O que vocês acham de um banco em dia de pagamento? Filas longas... Muita espera Desempenho ruim...

Planejamento de Experimentos Mais um ponto deve ser considerado.... E o mesmo banco alguns dias antes do pagamento? Filas curtas... Rapidez.... Atenção... Desempenho ótimo... Mas o mesmo sistema pode ter desempenho ótimo/ruim?

Planejamento de Experimentos Desempenho de um sistema: Ruim em qualquer situação Bom quando não sobrecarregado Bom em qualquer situação Mais um ponto deve ser considerado.... Carga de trabalho imposta ao sistema

Avaliação de Desempenho Introdução Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento de Experimentos Conceitos Básicos Variável de Resposta Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho

Carga de Trabalho “Conjunto de todas as informações de entrada que um sistema recebe durante qualquer período de tempo determinado” [MENASCÉ, ALMEIDA, 2003] Muito importante no planejamento de capacidade e na avaliação de sistemas

Procedimento para determinar Carga de Trabalho I. Determinar que tipo de caracteristica é importante ser representada Depende do objetivo da avaliação Exemplo: Qual a carga que devemos considerar para avaliar um sistema computacional?

Carga de Trabalho Qual tipo de carga de trabalho deve ser considerada? Um Sistema Computacional pode ser subdividido em 4 camadas que executam as seguintes operações: Camada de aplicação que recebe as transações e envia comandos para o SO Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPU Unidade de Controle decodifica as instruções e envia sinais de controle ULA – executa instrução Qual tipo de carga de trabalho deve ser considerada?

Depende da camada a ser analisada Carga de Trabalho Depende da camada a ser analisada Camada de aplicação que recebe as transações e envia comandos para o SO Freqüência dos diferentes tipos de transações efetuadas Sistema Operacional que recebe os comandos e serviços e envia instruções para a CPU Chamadas ao sistema oferecidas pelo SO 3. Unidade de Controle decodifica as instruções e envia sinais de controle Conjunto de Instruções 4. ULA – executa instrução Freqüência e tipo das instruções lógicas e aritméticas

Caracterização de Carga de Trabalho e do Tempo de Serviço II. Nível de detalhe a ser considerado Várias possibilidades: a – Utilizar as requisições mais freqüentes b – Considerar os vários tipos de requisições e suas freqüências c – Trace: Seqüência de requisições com timestamp d – Utilizar valores médios e – Utilizar distribuições de probabilidade

Caracterização de Carga de Trabalho e do Tempo de Serviço III. Verificar a representatividade da carga de trabalho Três Aspectos importantes: a – Taxa de chegada b – Demanda por recurso c – Seqüência e demanda por diferentes recursos IV. Atualização da carga de trabalho

Tipos Básicos de Carga de Trabalho Precisamos agora de uma forma para representar a carga de trabalho. Basicamente, duas formas: Carga de trabalho Real Carga de trabalho Sintética

Tipos Básicos de Carga de Trabalho Real – Observada no sistema real em operação normal. Vantagem: Precisão Desvantagens: Não pode ser repetida com facilidade Arquivos de Trace -> arquivos muito grandes

Tipos Básicos de Carga de Trabalho Sintética – Carga com características similares às reais Vantagens: Pode ser repetida de forma controlada Não necessita de arquivos com dados reais Carga pode ser facilmente modificada Pode ser transportada para diferentes sistemas Problema: Determinar a distribuição mais apropriada para o sistema em avaliação.

Avaliação de Desempenho Introdução Motivação Introdução à Avaliação de Desempenho Etapas de um Experimento Planejamento de Experimentos Conceitos Básicos Variável de Resposta Carga de trabalho Modelos para Planejamento de Experimento Análise de Resultados Técnicas para Avaliação de Desempenho

Tipos de Planejamento de Experimentos B Projeto 32 -1 1 2 Fatores 3 níveis Planejamento Simples Planejamento Fatorial completo Planejamento Fatorial parcial

Tipos de Planejamento de Experimentos Planejamento Simples Iniciar com uma configuração inicial Fixar todos os fatores e variar um fator por vez Verificar que fator afeta o desempenho Fácil de ser implementado Não permite verificar a relação entre os fatores Estatisticamente não eficiente A B Projeto 32 -1 1 2 Fatores 3 níveis

Tipos de Planejamento de Experimentos Planejamento Simples A B C Projeto 33 3 Fatores 3 Níveis

Tipos de Planejamento de Experimentos Planejamento Simples Para um experimento com K fatores e ni níveis no fator i, tem-se:

Planejamento de Experimentos Exemplo Sistema de Telefonia – 4 fatores Fator 1 – Tamanho do banco de dados – 3 níveis: 500 mil, 1 milhão 2 milhões de registros Fator 2 – Quantidade de acessos – 3 níveis: 10 mil, 20 mil e 40 mil acessos/dia Fator 3 – Quantidade de cache – 3 níveis:1M bytes, 10M bytes e 20M bytes Fator 4 – Número de discos – 3 níveis: 5, 10 e 15 discos n= 1+(3-1)+(3-1)+(3-1)+(3-1) = 9

Tipos de Planejamento de Experimentos Planejamento Simples Não recomendado Muito utilizado

Tipos de Planejamento de Experimentos Planejamento Totalmente Fatorial Utiliza todas as combinações considerando todos os fatores e todos os níveis A B C A B -1 1 Projeto 33 3 Fatores 3 Níveis Projeto 32 2 Fatores 3 Níveis

Tipos de Planejamento de Experimentos Planejamento Totalmente Fatorial Para um experimento com K fatores e ni níveis no fator i, tem-se: Para o exemplo sistema de telefonia tem-se: n = 3 (tamanho BD)*3(quantidade de acessos)*3(cache)*3(no. discos) n= 81experimentos

Tipos de Planejamento de Experimentos Planejamento Totalmente Fatorial Vantagens Todos os fatores são avaliados Pode-se determinar o efeito de qualquer fator Interações entre fatores podem ser verificadas Desvantagens Grande número de experimentos Alto custo para avaliação

Planejamento Totalmente Fatorial Formas para minimizar custos 1. Reduzir o número de níveis de cada fator Altamente recomendada Selecionar dois níveis para cada fator a ser analisado – número de experimentos reduzido para 2k Analisar os resultados e selecionar os fatores primários Analisar os fatores primários para um número maior de níveis

Planejamento Totalmente Fatorial Formas para minimizar custos 2. Reduzir o número de fatores Deve ser implementada com cuidado. Por exemplo, utilizando forma 1. Se não for utilizada uma metodologia adequada podem estar sendo desconsiderados fatores com grande influência para as variáveis de resposta

Planejamento Totalmente Fatorial Formas para minimizar custos 3. Utilização do método do Fatorial Parcial Parte dos experimentos são excluídos Podem ser eliminadas comparações em que se sabe, a interação não existe ou é insignificante A B C A B -1 1

Planejamento Totalmente Fatorial Formas para minimizar custos 3. Utilização do método do Fatorial Parcial Por exemplo, no sistema de telefonia tem-se 81 experimentos. Verificar relacionamento entre os fatores: Fator 1 – Tamanho do banco de dados Fator 2 – Quantidade de acessos Fator 3 – Quantidade de cache Fator 4 – Número de discos Mais rápido Obtém-se menos informações

Método Fatorial Pelo método fatorial pode-se ter k fatores com ni níveis para cada fator i Para valores elevados de K e ni o custo da avaliação pode tornar-se inviável, principalmente lembrando-se que diversas execuções de cada experimento devem ser consideradas. Forma recomendada: Iniciar com poucos fatores e 2 níveis por fator.

Método Fatorial Selecionar poucos fatores e 2 níveis por fator. A C B

Método Fatorial Selecionar poucos fatores e 2 níveis por fator.

Método Fatorial Problema em se restringir a 2 níveis por fator. Variáveis de Resposta que não são crescentes ou decrescentes Pode não ser possível avaliar ponto de saturação

Como analisar resultados com dois níveis Método Fatorial Em Avaliação de Sistemas Computacionais Funções crescentes ou decrescentes Avaliar fora da saturação Considerar 2 níveis Próxima Aula: Como analisar resultados com dois níveis