Programação

  • Informações da disciplina

    SSC5872 – Avaliação de Desempenho de Sistemas Computacionais - 2o Semestre de 2017

    Profa. Responsável: Sarita Mazzini Bruschi (sarita@icmc.usp.br)

    Horários de aula:

    • 2ª feira, das 13h30 às 16h + 5 semanas (a serem combinadas) com aulas das 16h às 17h30
    • Local: 5-001

    Horários de atendimento aos alunos:

    • 3ª feira, das 18h00 às 19h00 e 5ª feira, das 9h0 às 10h00
    • Local: 3-136
    Objetivos

    Desenvolver nos alunos as habilidades necessárias para realização de avaliação de desempenho de sistemas computacionais de forma correta e precisa.

    Programa / Resumo da Estrutura do Curso

    Noções de Planejamento de experimento. Determinação de cargas de trabalho. Análise de resultados individuais e de comparação entre experimentos. Uso de aferição para obtenção de dados para avaliação: construção de protótipos, uso de benchmarks e monitores de software e de hardware. Uso de aferição para obtenção de dados para avaliação. Desenvolvimento e validação de modelos em Redes de Filas e em Redes de Petri, solução analítica e por simulação.

    Bibliografia

    Livro Texto:
    • JAIN, J., The art of Computer Systems Performance Analysis, John Wiley & Sons, Inc., 1996.


    Bibliografia Complementar:

    • SANTANA, M.J., SANTANA, R.H.C., FRANCÊS, C.R.L., Avaliação e Análise de Desempenho de Sistemas Computacionais: Técnicas e Ferramentas, Publicação Interna ICMC - USP, 1997.
    • MENASCE, D.A.; ALMEIDA, V.A.F., Capacity Planning for Web Services: Metrics, Models, and Methods, Prentice Hall, 2001.
    • FORTIER, P. MICHEL, HOWARD, Computer Systems Performance Evaluation and Prediction, First Edition (Paperback), Digital Press 2003.
    • MENASCE, D.A.; DOWDY, L.W.; ALMEIDA, V.A.F., Performance by Design: Capacity Planning by Example (Paperback), 2004, Prentice Hall, ISBN 0-13-090673-5.


    Outras bibliografias:

    • HARCHOL-BALTER, M. Performance Modeling and Design of Computer Systems,  Cambridge University Presss, 2013
    • GREGG, B. D., Systems Performance: Enterprise and the Cloud, Prentice Hall, 2013

    Atividades
    • A disciplina terá uma parte teórica e depois a aplicação da teoria em exemplos práticos (projetos)
    • Serão pelo menos 7 projetos
    • Os projetos serão desenvolvidos em grupo mas a avaliação é individual
    • Os projetos começam em sala de aula e se não finalizados durante a aula, devem ser finalizados em casa
    • Serão 5 grupos de 5 alunos, sendo que cada grupo deve ter 2 alunos da pós e 3 da graduação
    • Além dos projetos desenvolvidos durante o curso, os alunos da pós irão desenvolver um projeto final de curso, de preferência referente ao projeto de mestrado/doutorado


    Avaliação

    • Cada projeto entregue terá uma nota (NPi) e cada aula terá uma rápida avaliação individual (NPIi) sobre o projeto desenvolvido na aula anterior
    • Haverá a nota do projeto final de curso (NPF)
    • A média final será 60% da média aritmética das notas de cada projeto multiplicada pelas notas individuais e 40% da nota do projeto final de curso
    MF = 0,6* (∑ (NPi * NPIi) / num_projetos) + 0,4 * NPF



  • Conteúdo Teórico

  • Projeto 1

    Servidor Web Distribuído

    • As tarefas da 1a. parte do Projeto 1 são:

      • Entender o sistema
      • Definir os objetivos da análise
      • Definir as métricas
      • Definir o planejamento dos experimentos (fatores e níveis) para os objetivos que isso é necessário
      • Definir o modelo


    • As tarefas da 2a. parte do Projeto 1 são:

      • Finalizar o modelo
      • Gerar o código para um prorama de simulação
        • Usar o ASDA para gerar o código base (esqueleto) e:
          • fazer as alterações para que as requisições (estáticas e dinâmicas) possam ser identificadas
          • permitir a alteração da semente da geração de números aleatórios a partir da linha de comando do código
          • permitir que o valor do tempo entre as requisições possa ser gerado por uma distribuição de probabilidade ou lido de um arquivo
          • facilitar a variação dos fatores e níveis
        • Fazer um código direto, com todas as características descritas acima


    • As tarefas da 3a. parte do Projeto 1 são:

      • Finalizar o código
          • Fazer a análise dos resultados dependendo dos objetivos


    • Submissão do Projeto 1.

      Deve submeter:

      • Código da simulação
      • Monografia com
        • Modelagem
        • Validação (com os resultados da modelagem analítica)
        • Resultados e análise para cada objetivo definido na especificação do projeto
  • Projeto 2

  • Projeto 3

  • Tópico 6

  • Tópico 7

  • Tópico 8

  • Tópico 9

  • Tópico 10