Otimização holistica de ambiente computacional

850 views
774 views

Published on

CMG Brasil 2013

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
850
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Otimização holistica de ambiente computacional

  1. 1. Otimização holística de ambiente computacional Bruno Domingues Principal Architect @ Intel IEEE Chairman of Computer Society para o Centro-Norte do Brasil bruno.domingues@intel.com
  2. 2. Introdução Escher– Unbelievable
  3. 3. A “equação” do planejamento de capacidade Usuários Aplicação Planejamento de Capacidade Infraestrutura A x I = n x R x U A = Aplicação I = Infraestrutura n = expectativa de sucesso R = variável aleatória  U = Usuários
  4. 4. Definição de Complexidade do Problema Usuário Aplicação Infraestrutura P “P” NP P=NP?
  5. 5. Goes to???
  6. 6. Ferramentas • EMON – Linha de comando, baixo nível para obter contadores do processador e chipset • SAR – Ferramenta padrão do Linux • PowerTop – Ferramenta padrão do Linux • Linuxpm – Ferramenta Intel para obter métricas de potência no nível do Sistema Operacional
  7. 7. Analise do padrão de carga • Uma semana de monitoramento de CPU • Utilização media entre 15-35% • O maior é entre 6hs e 18hs, sendo consumido > 25% • Toda a noite, por aproximadamente 6hs o consumo cai abaixo de 20% • A utilização segue um padrão durante os dias de semana e finais de semana Segue a distribuição normal (pela Teoria dos grandes números)
  8. 8. Entendendo o incompreensível usuário Michelangelo – A aliança entre Deus e os homens
  9. 9. Distribuição de requisição de acessos Hits por hora Horário 5000 6:00 7000 7:00 11000 8:00 20000 9:00 29000 10:00 38000 11:00 42000 12:00 41000 13:00 38000 14:00 32000 15:00 26000 16:00 20000 17:00 15000 18:00 9000 19:00 5000 20:00 2000 21:00 Total de hits: 340000 x: 170000 média (µ): 21250.000 desvio padrão (α): 14092.551 Normal (y): 1.00000 hits/seg: 59.02778 Equação da curva de Gauss (σ = desvio padrão, µ = média aritmética) 0 5000 10000 15000 20000 25000 30000 35000 40000 45000 Hitsporhora Horário Carga no web site
  10. 10. Concorrência de acesso Assumindo que a pior situação haja 42.000 usuários acessando o sistema em um intervalo de 1h, não significa que você tenha que lidar com 11.16 requisições/seg (i.e. 42000/3600) 0.00000000 0.01000000 0.02000000 0.03000000 0.04000000 0.05000000 0.06000000 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 PROBABILIDADE Distribuição de Poisson A maior probabilidade é que se tenha que lidar com 60 requisições simultâneas em intervalos de 0,5 seg. (i.e. precisão do segundo) Distribuição de probabilidade de Poisson
  11. 11. QUIZ • Temos um pico de 35% de utilização de CPU com ~60 hits simultâneos (42000 usuários no intervalo de 1h) • Podemos inferir que podemos atender 80.000 sem nenhum problema?
  12. 12. Teoria das Filas Aplicação do LT (λ=taxa de requisição de Poisson, μ=capacidade de processamento de requisições, p=λ/μ
  13. 13. Utilização do QPI Utilização em torno de 10-20%
  14. 14. Distribuição de Leitura/Escrita em memória Segue a regra de Pareto (similar a maioria do serviços web): 20% escrita e 80% leitura Leitura Escrita
  15. 15. Acesso a memória Local e Remota Local Remoto O que este padrão nos diz a respeito da aplicação que está rodando em um servidor de dois sockets?
  16. 16. Revisão de NUMA em x86 CPU CPU Alocação de blocos de 64 bytes em round-robin NUMA é habilitado por padrão se estiver habilitado na BIOS Porém pode ser desligado no kernel pela seguinte opção: kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/VolGroup00/LogVol00 numa=off
  17. 17. Sub-sistema de discos Desempenho antes x depois da controladora: 10.000 rpm – 100 / 130 IOPS 15.000 rpm – 160 / 180 IOPS Configurações Penalidade do RAID5 1 escrita (host-write) = 2 leituras + 2 escritas RAID 5 – não é viável em ambientes de alto I/O Reconstrução (depende do fabricante) RAID 10 – Ex: 72GB em aprox. 2 horas RAID 5 – mesmo tempo ou pequena perda (< 20%)
  18. 18. Configuração de Disco Supondo: • 1TB de dados • Discos de 100 GB • 100 I/O por segundo RAID # discos Max escritas/seg Max leituas/seg Disponibilidade RAID-0 10 1000 1000 Baixa RAID-0+1 20 1000 2000 Muito Alta RAID-5 11 275 1100 Alta
  19. 19. Capacidade vs. Desempenho 4.800 IOPS, 800 GB de armazenamento – Por capacidade • RAID 5 = ~ 16 x 72GB • RAID 10 = ~ 30 x 72GB – Por desempenho (2:1 R/W) • RAID 10 – 3200 reads + (1600 writes * 2) = ~ 6400 IOPS – Discos de 10k rpm = 6400/130 = ~ 49 = ~ 48 discos – Discos de 15k rpm = 6400/180 = ~ 35 = ~ 34 discos • RAID 5 – 3200 reads + (1600 writes * 4) = ~ 9600 IOPS – Discos de 10k rpm = 9600/130 = ~ 73 discos – Discos de 15k rpm = 9600/180 = ~ 53 discos
  20. 20. Estudo de Caso – Efeito Cache em Storage Interaction Total Elapsed write time for cycle (sec) Average writes per second Average MB per second 1 469 341,151398 2,831823 2 460 347,82608 2,887228 3 466 343,347626 2,850054 4 467 342,612427 2,843951 5 467 342,612427 2,843951 6 462 346,320343 2,874279 7 462 346,320343 2,874279 8 456 350,877197 2,912555 9 458 349,344971 2,899836 10 457 350,109406 2,906182 Avg 462,4 346,0522218 2,8724138 Std. Dev 4,647580015 3,478041696 0,028863353 Interaction Total Elapsed write time for cycle (sec) Average writes per second Average MB per second 1 150 1066,666626 8,854166 2 151 1059,602661 7,9553 3 159 1006,289307 8,352987 4 157 1019,108276 8,459395 5 152 1052,631592 8,737665 6 148 1081,081055 8,973817 7 144 1111,111084 9,22309 8 154 1038,96106 8,624188 9 148 1081,081055 8,973817 10 151 1059,602661 7,9553 Avg 151,4 1057,613538 8,6109725 Std. Dev 4,427188724 30,80922367 0,429820883 Teste de desempenho de storage usando o SQLIOSim.exe 30min depois… Saturação do cache devido a utilização de RAID 5, derrubou o desempenho de I/O
  21. 21. Estudo de Caso – Fator HBA Queuetarget e Queuedetph Deve-se procurar valores ótimos para a sua apliação
  22. 22. QUIZ • Se dobrarmos o número de núcleos de uma máquina, dobramos a sua capacidade de processamento? • Porque?
  23. 23. Estudo de Caso – Web Site (paralelismo) • Teste de desempenho em três configurações distintas de servidores com aplicação configurada para medium pooled usando o ACT para gerar a mesma carga, removendo o fator latência – índices normalizados Servidor (antigo) 8 cores Desempenho: 1 Servidor atual 16 cores Desempenho: 3.15 Servidor 16 cores com virtualização 4 VMs (4vCPU por VM) Desempenho: 3.30
  24. 24. 16 cores com servidor de aplicações 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 DesempenhoRelativo Escalabilidade SMP (Servidor Web) Nesta situação fictícia, 16 núcleos físicos entregam desempenho relativo de 7,4 cores, com eficiência de 0,46
  25. 25. 16 cores virtualizados em 4 VMs 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 DesempenhoRelativo Escalabilidade SMP (Servidor Web) 4 núcleos físicos, representam desempenho relativo de 3,2 núcleos e 0,8 de eficiência Desempenho Relativo 7,4 < 4 x (3,2 x Δ) 4 máquinas virtuais rodando app server e Δ é o overhead [0 ≤ Δ ≤ 1] 1 máquina física com 16 núcleos rodando app server
  26. 26. Eficiência Computacional 0 50 100 150 200 250 300 350 400 450 500 Pbase Pmax ConsumodePotência(W) Potência Proporcional a Computação 5300 5400 5500 5600 E5-2600 Pspread Patual = P𝑏𝑎𝑠𝑒 + P𝑠𝑝𝑟𝑒𝑎𝑑 Simplificação da relação potência vs. trabalho computacional
  27. 27. Obrigado!

×