Você está na página 1de 7

Medindo O Desempenho De Processadores PresentationTranscript

Douglas T. Calegari, Jos Agripino D. Silva, Luiz Nogueira, Mariana Vieira, Thiago F. Matos, Vincius Machado. DESEMPENHO E PROJETO DEPROCESSADORES Introduo Qual a razo para se estudar desempenho de hardware ? A razo para este estudo que o desempenho do hardware responsvel direto pela eficcia do sistema, que inclui no s o hardware (arquitetura) mas tambm o software. A avaliao de desempenho de um sistema constitui um desafio devido diversidade e complexidade dos sistemas modernos. Para melhorar o desempenho de um software executado num determinado hardware necessrio conhecer quais fatores do hardware influencia no desempenho global do sistema. Alm disso, devemos determinar a importncia relativa de cada um destes fatores. Entre os fatores do hardware que tm maior influncia no desempenho podemos citar: como o compilador utiliza as instrues da mquina na gerao do cdigo de um programa; como o hardware implementa as instrues ecomo a memria e os dispositivos de entrada e sada se comportam durante o processamento do programa. A compreenso de como determinar o impacto no desempenho de cada um destes fatores importante para se entender a motivao dos projetos de aspectos especficos da mquina. Por que a avaliao de desempenho necessria? Temos 3 propsitos para que as empresas tenham que avaliar o desempenho dos produtos: Por que a avaliao de desempenho necessria? 1. Avaliao para Seleo O avaliador decide de qual fabricante ele quer adquirir o sistema. Por que a avaliao de desempenho necessria? 2. Projeo de Desempenho O avaliador estima um desempenho de um sistema que no existe, pode ser um sistema totalmente novo ou um sistema que funcionar em um hardware novo. Por que a avaliao de desempenho necessria? 3. Monitorao de desempenho O avaliador coleta dados de desempenho de um sistema e certifica que o mesmo tenha o desempenho esperado e estejam cumprindo todas as suas metas. Por que a avaliao de desempenho necessria? 3. Monitorao de desempenho A monitorao de desempenho tambm pode ajudar a prever impactos de mudanas planejadas, e assim ajudar a modificar ou no um sistema.

Por que a avaliao de desempenho necessria? Nas primeiras fases de desenvolvimento de um sistema, o fabricante tenta prever a natureza das aplicaes que sero executadas, e as cargas de trabalhos previstas que a aplicao ter que tratar. Por que a avaliao de desempenho necessria? Uma vez iniciado o desenvolvimento do novo sistema, a avaliao e previso de desempenho so usadas pelo fabricante para determinar a melhor organizao de hardware, a estratgia de gerenciamento de recursos e se o sistema em evoluo est cumprindo ou no seus objetivos de desempenho. Por que a avaliao de desempenho necessria? Quando o produto liberado para o usurio final o fabricante deve estar preparado para responder todas as perguntas dos clientes em relao a desempenho e em relao a um determinado hardware, sistema operacional. Por que a avaliao de desempenho necessria? Depois de instalado, com a ajuda do usurio final o fabricante pode alterar a aplicao para ficar com desempenho o mais perto possvel da perfeio. Tendncias importantes que afetam as questes de desempenho Tendncias importantes que afetam as questes de desempenhoIntroduo; Fatores que interferem no desempenho. Introduo Com o progresso e o barateamento do hardware, podemos contemplar o aumento da complexidade do software, e em consequncia a evoluo de medidas e avaliaes de desempenho. Fatores que interferem no desempenho: Chaveamento de contexto; Escalonamento de processadores; Gerenciamento de sistemas de arquivos; Chaveamento de contexto Utilizado em um ambiente preemptvel; Compartilhar o uso do processador; Garantia do contexto de software do processo via PCB; Chaveamento de contexto Armazenar e restaurar estado de uma CPU; Minimizar tempo de chaveamento.

Escalonamento de processadores Tcnica que alterna a utilizao do processador, atravs de um determinado critrio, entre mltiplos processos. Escalonamento de processadores Objetivos: Maximizar o rendimento; Maximizar utilizao de recursos; Evitar adiamento indefinido Impor prioridades. Gerenciamento de sistemas de arquivos Habilita usurio a: criar, modificar, eliminar arquivos; Estruturar arquivos de maneira mais apropriada; Acesso controlado; Fornecer capacidades de backup. Medies de Desempenho representa eficincia com que um sistema cumpre seus objetivos Medies de Desempenho Medidas de desempenho podem ser: Absolutas Tempo de transferncia entre memria principal e cache. Relativas Facilidade de uso: Medies de Desempenho Alguns resultados de desempenho podem ser enganadores Exemplo: Complicados algoritmos podem ser Usados por um sistema operacional para Conservao de memria enquanto em Outro ele evitaria esse tipo de rotina Medies de Desempenho Medidas Comuns de Desempenho Tempo de Retorno Tempo entre apresentao de uma tarefa ao sistema e a resultado obtido Tempo de Resposta Tempo entre um clique do mouse ou enter e a apresentao do resultado Tempo de Reao Primeiro intervalo de tempo do servio dado um Clique ou Enter Medies de Desempenho Essas quantidades so quantidades probabilsticas e em estudos de modelagem de sistema so chamadas variveis aleatrias Medies de Desempenho Medidas de desempenho frequentemente usadas Varincia Aplicvel a qualquer uma das variveis aleatrias Uma grande varincia indica que usurios esto experimentando tempo de resposta/retorno/reao muito diferentes.

Uma pequena varincia indica que as medidas de tempo esto prximos da mdia. Medies de Desempenho Medidas de desempenho frequentemente usadasRendimento (throughput) Medida de desempenho expressa em trabalho por unidade de tempo Medies de Desempenho Medidas de desempenho frequentemente usadas. Carga de Trabalho Quantidade de trabalho apresentada ao sistema Medies de Desempenho Medidas de desempenho frequentemente usadasCapacidade Rendimento mximo que um sistema pode atingir, admitindo Que sempre que um sistema estiver pronto para receber Mais tarefas, haver outra tarefa disponvel Medies de Desempenho Medidas de desempenho frequentemente usadas Utilizao Frao de tempo em que um recurso est em uso. Pode ser enganosa, pois uma alta utilizao pode significar uma utilizao ineficiente s vezes uma baixa utilizao pode significar um resultado positivo Tcnicas de avaliao de desempenho: Rastreamento e traado de perfil; Cronometragens e microindicadores de desempenho; Avaliao especfica de aplicao; Modelos analticos; Indicadores de desempenho; Programas sintticos; Simulao; Monitorao de desempenho Rastreamento e traado de perfil: Projetistas usam dado de rastreamento: arquivo de registro de requisies de usurio e de aplicaes ao sistema operacional (rastro). Avaliadores de sistemas usam o rastro para caracterizar o ambiente de execuo determinando a frequncia com que os processos requisitam determinados servios de ncleo. Outro mtodo para retratar o ambiente de execuo o traado de perfil. Os perfis registram a atividade do sistema quando ele est executando em modo ncleo, o que pode abranger operaes como escalonamento de processo, gerenciamento de memria e de E/S.

Rastreamento e traado de perfil: Perfis indicam quais primitivas do sistema operacional so usadas mais intensamente, permitindo que administradores de sistema identifiquem alvos em potencial para otimizao e ajuste. Muitas vezes os avaliadores tm que fazer uso de outras tcnicas juntamente com perfis para determinar as maneiras mais efetivas de melhorar o desempenho do sistema. Cronometragens e microindicadores de desempenho Cronometragens proporcionam um meio de fazer comparaes rpidas de hardware. Os primeiros sistemas eram usualmente avaliados por seus tempos de adio ou por tempo de ciclo de memria. Cronometragens so teis para indicar a potncia bruta de um determinado sistema. Um programa microindicador de desempenho mede o tempo requerido para realizar uma operao de sistema operacional. E.: criao de processo Cronometragens e microindicadores de desempenho Microindicadores de desempenho so teis para medir como uma mudana no projeto afeta o desempenho de uma operao especfica. Conjuntos de microindicadores de desempenho so programas que medem o desempenho de vrias primitivas. Ex.: operaes de memria, criao de processo. Microindicadores de desempenho descrevem com que rapidez um sistema realiza uma operao e no com que frequncia ela realizada. Avaliao especfica de aplicao uma metodologia baseada em vetor usada para calcular a avaliao especfica de aplicao de um sistema combinando dados de rastreamento e de perfil com cronometragens e microindicadores. Essa tcnica pode ser til para comparar a eficincia com que diferentes sistemas executam determinada aplicao considerando a demanda que uma aplicao impe sobre cada primitiva. A metodologia pode ser usada para selecionar as primitivas que devem ser ajustadas para melhorar o desempenho. Avaliao especfica de aplicao: Um programa de ncleo outra ferramenta de avaliao especfica de aplicao. Um programa de ncleo pode ser desde um programa inteiro, tpico de um programa de ncleo executado em uma instalao a um simples algoritmo como uma inverso de matriz. Programas de ncleos so na verdade executados no papel, e no em determinado computador. Eles so usados para avaliao de seleo antes do consumidor comprar o sistema que est sendo avaliado. Avaliao especfica de aplicaoUma vantagem que programas de ncleo so programas completos que na verdade o que o usurio executa no sistema de computao que est sob apreciao. Programas de ncleo podem ser teis para avaliar certos componentes do software: Exemplo: dois compiladores diferentes podem produzir cdigos diferentes, e programas de ncleo podem ajudar um avaliador a decidir qual deles gera cdigo mais eficiente.

Modelos analticos Modelos analticos so representaes matemticas de sistema de computador ou de seus componentes. Ex.: teoria das filas, e dos processos de Markov. O modelo analtico pode ser relativamente fcil de criar e modificar e com uma considervel preciso. Porm tem muitas desvantagens, uma delas que o avaliador precisa ser matemtico de alta capacidade. Outra que sistemas complexos so difceis de modelar com preciso. Os sistemas atuais so to complexos que o modelador forado a adotar muitas premissas simplificadoras que podem diminuir a utilidade e a aplicabilidade do modelo. Indicadores de desempenho (benchmark) U Indicador de desempenho (benchmark) um programa executado para avaliar uma mquina. Normalmente, indicadores de desempenho so programas de produo tpicos de muitos jobs da instalao. UUma vantagem est no fato de eles j existirem em grande nmero, de modo que basta o avaliador escolher entre programas de produo conhecidos ou utilizar indicadores de desempenho padro para o setor. U A chance de erro humano mnima, pois o tempo para a quantificao de desempenho medido pelo prprio computador. Indicadores de desempenho(benchmark) U Critrios que devem ser considerados ao desenvolver um indicador de desempenho: UOs resultados devem ser repetveis n U Os indicadores devem refletir com preciso os tipos de aplicaes que sero executadas. O indicador deve ser utilizado para que seja possvel efetuar comparaes precisas entre sistemas. UIndicadores de desempenho so teis para comparar a operao de um sistema antes e depois de fazer certas mudanas. U Porm no so teis para prever os efeitos de mudanas propostas, a menos que exista outro sistema no qual as mudanas foram incorporadas e no qual os indicadores podem ser executados. Programas sintticos U Programas sintticos so semelhantes aos indicadores de desempenho, exceto que se concentram em um componente especfico do sistema, como um subsistema de E/S ou de memria. UOs avaliadores constroem programas sintticos para propsitos especficos, por exemplo: Pode estar dirigido a um componente do sistema operacional.UPode ser construdo para corresponder distribuio de frequncia de instruo de um grande conjunto de programas. UUma vantagem dos programas sintticos que eles podem isolar componentes especficos de um sistema em vez de testar o sistema inteiro. Simulao U Simulao uma tcnica na qual um avaliador desenvolve um modelo computadorizado do sistema que est em avaliao. Com a simulao possvel preparar um modelo de sistema que no existe e ento execut-lo para ver como o sistema poderia se comportar em certas circunstncias. A simulao requer considervel conhecimento tcnico da parte do avaliador e pode consumir substancial tempo de computador. Simuladores em geral produzem imensas quantidades de dados que devem ser cuidadosamente analisados Monitorao de desempenho: a coleta e a anlise de informaes relativas ao desempenho do sistema para sistemas existentes. Pode ajudar a determinar medies teis de desempenho. A monitorao de desempenho pode localizar ineficincias rapidamente e ajudar os administradores de sistema a decidir como

melhorar o seu desempenho. Usurios podem monitorar o desempenho por meio de tcnicas de software e de hardware. Gargalos e Saturaes Sistemas operacionais gerenciam conjuntos de recursos que fazem interface e interagem de maneira complexa Gargalos e Saturaes Os gargalos impedem a passagem de jobs ou processos Um gargalo tende a se desenvolver em um recurso quando o trfego comea a se aproximar da sua capacidade total Gargalos e Saturaes Um exemplo clssico o sistema de memria virtual que esteja fazendo paginao excessiva saturao pode ser tratada reduzindo-se a carga do sistema Gargalos e Saturaes Como os gargalos podem ser detectados? Cada fila de requisio de recursos deve ser monitorada Gargalos e Saturaes O isolamento de gargalo uma parte importante do ajuste fino de um sistema Gargalos e Saturaes Fazer o ajuste fino de um sistema envolve identificar e eliminar gargalos at que o desempenho do sistema atinja nveis satisfatrios