Avaliação de Desempenho de Sistemas Operacionais Marcos José Santana Regina Helena Carlucci...
Transcript of Avaliação de Desempenho de Sistemas Operacionais Marcos José Santana Regina Helena Carlucci...
Avaliação de Desempenho de Sistemas Operacionais
Marcos José Santana
Regina Helena Carlucci Santana
Universidade de São PauloInstituto de Ciências Matemáticas e de Computação
Departamento de Sistemas de Computação
Técnicas de Avaliação de Desempenho
Sistema Medições Dados
Protótipos
Benchmarcks
Coleta de Dados
Aferição
Rede de Filas
Redes de Petri
Statecharts
Modelagem
Simulação
Analítica
Aferição
Técnicas de Avaliação de Desempenho
Modelo SoluçãoMétodos Analíticos
Simulação
Sistema
Protótipos
Benchmarcks
Coleta de Dados
Aferição
Rede de Filas
Redes de Petri
Statecharts
Modelagem
Simulação
Analítica
Modelagem
Técnicas de Avaliação de Desempenho
Aferição
•Medidas no próprio sistema
•Sistema deve existir e estar disponível
•Experimentação restrita
•Muito cuidado com aquisição dos dados
Técnicas de Avaliação de Desempenho
Modelagem
• Desenvolvimento de um modelo
• Não é necessário ter o sistema disponível
• Grande flexibilidade
• Resultados estocásticos
• Necessita validar modelo e solução
Técnicas de Aferição
• Construção de Protótipos– Sistema em Projeto
• Monitores ou Coleta de Dados– Avaliar um Sistema ou partes dele
• Benchmarks– Comparação entre Sistemas– Avaliar partes específicas de um Sistema
Técnicas de Aferição
• Construção de Protótipos
Versão simplificada de um sistema computacional que contém apenas características relevantes para a
análise do sistema
Construção de Protótipos
• Ótima opção para verificação de projetos
• Bom para alguns tipos de sistemas
• Custo pode ser um problema
• Flexibilidade não é ponto forte!
• Produz resultados com boa precisão;
Técnicas de Aferição
• Construção de Protótipos– Sistema em Projeto
• Monitores ou Coleta de Dados– Avaliar um Sistema ou partes dele
• Benchmarks– Comparação entre Sistemas– Avaliar partes específicas de um Sistema
Técnicas de Aferição
• Coleta de Dados
Ferramenta para observar as atividades de um sistema coletando as
características relevantes para a análise do sistema
Ferramenta = Monitor
Monitores
Avaliar o Desempenho e Identificar Pontos Críticos
Objetivos: Determinar partes mais utilizadas Determinar gargalos Ajustar Parâmetros Caracterizar Carga de Trabalho Determinar Parâmetros para modelos
MonitoresForma de Implementação
Define o nível em que o monitor será implementado
1. Hardware
2. Software
Coleta de Dados
Monitores de Software:
Gerais e Flexíveis Produzem interferência no sistema Informações possíveis de serem obtidas:
Nível de aplicação Sistema operacional
Exemplo: rotina inserida nos protocolos de comunicação para medir o tempo gasto em uma transação em arquivos
Coleta de Dados
Monitores de Hardware:
Eficientes Menos invasivos Problemas: custo e complexidade Exemplo: pequeno hardware adicionado
ao sistema para espionar e contabilizar o tempo gasto em uma transação em arquivos
Monitores
Concluindo....
• Podem gerar resultados bastante confiáveis.• O sistema deve existir e estar disponível.• Cuidado com a interferência do Monitor nos
resultados• Dois tipos básicos de abordagens:
Monitores de Software e de Hardware.
Técnicas de Aferição
• Construção de Protótipos– Sistema em Projeto
• Monitores ou Coleta de Dados– Avaliar um Sistema ou partes dele
• Benchmarks– Comparação entre Sistemas– Avaliar partes específicas de um Sistema
Técnicas de Aferição
• Benchmarks
Programa escrito em linguagem de alto nível, representativo de uma
classe de aplicações, utilizado para medir o desempenho de um dado
sistema ou para comparar diferentes sistemas
Benchmarks
• Instrumento fixo, que permite comparar um novo registro (mark - marca) a um padrão preestabelecido, a partir de um ponto de observação (bench - banco)
• Exemplo:– Termômetro
Benchmarks
Termômetro
Vinho
T = 38O
Febre!!!
T = 36,5O
Normal
Benchmark!!
Benchmarks
• Comparar desempenho de máquinas diferentes
• Reprojetar hardware e software• Decidir sobre aquisição de sistemas• Ajudar na otimização de programas• Previsão de desempenho de
aplicações em computadores específicos
Exemplos de Benchmarks
• Benchmarks mais comums• Whetstone, Linpack, Dhrystone
• Outros programas de Benchmarks• Stanford Small Programs Benchmark Set
• EDN Benchmarks
• Sieve of Eratosthenes
• Livermore Fortran Kernels
• Perfect Club Benchmarks
• SPEC Benchmarks
• EuroBen Benchmarks
Concluindo....
Benchmarks podem ser utilizados para verificar diversos tipos de
sistemas ...– Servidores Web,– Banco de dados,– Processadores,– Redes de comunicação
O importante é...
• Escolher o Benchmark adequado,
• Aplicar o Benchmark de forma adequada,
• Analisar os resultados obtidos com critério.
Técnicas de Aferição
Técnicas de Avaliação de Desempenho
Modelo SoluçãoMétodos Analíticos
Simulação
Sistema
Protótipos
Benchmarcks
Coleta de Dados
Aferição
Rede de Filas
Redes de Petri
Statecharts
Modelagem
Simulação
Analítica
Modelagem
Modelagem
Estudo do sistema e definição dos objetivos; Construção do modelo; Modelos Analíticos x Modelos de Simulação:
Modelo solução analítica modelo analítico;
Modelo solução por simulação modelo de simulação;
Modelo solução híbrida modelo híbrido!
A n á lise d o V a lo r M é d io (A V M )
E q u açã o G lob a l d e E q u ilíb rio
R ed es B C M P
D ecom p os içã o H ie rá rq u ica
L im ites d e D esem p en h o
R ed e d e Jackson
P rocesso N asc im en to -e -M orte
M od e lo A b erto
A n á lise d o V a lo r M é d io (A V M )
E q u açã o G lob a l d e E q u ilíb rio
R ed es B C M P
D ecom p os içã o H ie rá rq u ica
L im ites d e D esem p en h o
M é tod o d e G ord on e N ew e ll
M od e lo F ech ad o
M é tod os d e S o lu çã o A n a lít ica
Solução Analítica
•Descrição matemática do comportamento do sistema e da carga de trabalho.
•Geram equações.
•Solução das equações de forma analítica ou numérica
Solução Analítica
Restrições: Distribuição do tempo entre chegadas deve
ser do tipo exponencial. A posse simultânea de recursos não é
permitida. Disciplinas de filas com prioridades não são
permitidas. Todas as filas são consideradas de
capacidade infinita.
Simulação - Utilização• Criação de ambientes virtuais• Avaliação de desempenho de sistemas complexos
Mundoreal
simulaçõesmilitares
Jogos Simulação
Aumenta o grau de abstração e velocidade
Aumenta o grau de realismo e custo
Decisões humanasfazem parte do
processo
Decisões humanasnão fazem parte do
processo
Ambientes Virtuais SimulaçõesAnalíticas
Simulação - Ambientes VirtuaisAnálise Comportamental
Jogos Simuladores
Simulação - Avaliação de Desempenho
Exemplo: Simulação de um ambiente que faz escalonamento de processos considerando a potência
computacional e ociosidade das máquinas
Pode-se avaliar: –Adequabilidade de um índice de carga
–Utilização de diferentes arquiteturas
–Utilização de diferentes políticas de escalonamento
Solução por Simulação
construção de um programa computacional para implementar modelos de fenomenos ou sistemas dinamicos (estados que se alteram com o tempo);
o modelo é suposto ser uma representação válida do sistema em estudo.
Soluções para o Modelo
• Solução por Simulação– Versatilidade (aplicada em diferentes
situações)– Flexibilidade (adaptável a novas
situações)– Baixo custo (com um mesmo programa
pode-se simular diferentes situações do mesmo problema)
– Útil quando o sistema não está disponível– Facilidade de uso– Problemas: precisão e validação
Comparação das Técnicas de Avaliação de Desempenho
Modelos de Simulação X Analíticos
Analíticos: Requer validação do modelo Dificuldade em resolver a equação Requer simplificações Resultados precisos Pouco tempo de processamento
Comparação das Técnicas de Avaliação de Desempenho
Modelos de Simulação X AnalíticosSimulação: Requer validação do modelo
Elaboração e Teste de programa Poucas restrições aos modelos Resultados probabilísticos Requer estudo estatístico Alto tempo de processamento
Comparação das Técnicas de Avaliação de Desempenho
Uso Apropriado
Uso Secundário
Menor com-plexidade do
Modelo
Grande n de Informações
Maior com-plexidade do
Modelo
Modelos Analíticos Simulação