domingo, 15 de maio de 2016
ENDERÇEO IP, MÁSCARA DE SUB-REDE E SUB-REDES
Veja bem. Essa divisão de máscara e sub máscara serve facilitar a transmissão. Se meu computador estiver na mesma rede que outro computador, ele só precisa conhecer o endereço de host para se comunicarem.
1. O ENDEREÇO IP
Tudo começa em como um endereço IP é estruturado. Lembre-se que salvo alguns casos especiais, cada endereço IP é único em todo o mundo. E em qualquer caso, não pode existir dois endereços IPs iguais na mesma rede, isso gera um erro chamado "Conflito de IPs".
Um endereço IP é composto por um número de 32 bits (4 bytes) separados em 4 grupos de 8 bits (1 byte cada).
--
ex
Em Decimal = 189.6.76.152
Em Binário = 10111101.00000110.01001100.10011000
--
Esse numero do endereço é separado em duas parte. Uma parte é chamado endereço de rede e a outra parte é chamado endereço de host (host é qualquer dispositivo que transmite e/ou recebe dados na rede).
Quem define qual parte é o endereço de rede e qual parte é o endereço de host é a Máscara de sub-rede.
2. A MÁSCARA DE SUB-REDES
A máscara de sub-rede é um número de 32 bits que possui vários 1's da esquerda para a direita.
--
Ex.
Em binário = 11111111.11111111.00000000.00000000
Em decimal = 255.255.0.0
Abreviado = /16
--
Por causa do tanto de 1's é normal uma abreviação. No exemplo acima, a máscara 255.255.0.0 pode ser abreviada por /16 porque possui 16 números 1's. uma máscara /28 = 11111111.11111111.11111111.11110000 = 255.255.255.240
--
Por exemplo:
o endereço = 189.6.76.152
e a máscara = 255.255.255.240
Pode ser representado por 189.6.76.152/28
--
A máscara de sub-rede (ou somente máscara) divide o endereço em dois: O endereço da rede e o endereço do host. No exemplo acima, se colocarmos a máscara de sub rede embaixo do endereço IP e aplicarmos uma operação lógica "AND" obtemos o endereço de rede. Ou seja, o endereço de rede serão os n bits do lado esquerdo do endereço IP, onde n é o número de 1's da máscara.
--
ex:
189.6.76.152/16
10111101.00000110.01001100.10011000 Endereço IP
AND
11111111.11111111.00000000.00000000 Máscara
-----------------------------------
10111101.00000110.00000000.00000000 Rede
(16 bits, o resto é zero)
Então o endereço de rede é 189.6.0.0/16
--
É muito importante você escrever a máscara junto com o endereço de rede porque podem existir ao mesmo tempo duas redes iguais, porém com mascaras diferente.
O endereço de Host se obtém com a operação "XOR" (OU exclusivo) do endereço de rede com o endereço IP. Que são os bits restantes, neste caso 0.0.76.152
--
Ex.
10111101.00000110.01001100.10011000 Endereço IP
XOR
10111101.00000110.00000000.00000000 Rede
-----------------------------------
00000000.00000000.01001100.10011000 Host
em decimal = 0.0.76.152
--
Assim, o endereço IP é uma operação "OR" da Rede com o Host.
--
Ex.
Endereço de rede 189.6.0.0/16
Enderçeo de Host 0.0.76.152
10111101.00000110.00000000.00000000 - Rede
OR
00000000.00000000.01001100.10011000 - Host
-----------------------------------
10111101.00000110.01001100.10011000 - Endereço IP
--
3. EXEMPLOS
1)
Endereço 200.200.100.100/18
11001000.11001000.01100100.01100100/18
a máscara é 11111111.11111111.11000000.000000 (dezoito 1's)
em decimal = 255.255.192.0
são 18 bits da esquerda para a rede e o restante 32-18 = 14 bits (32 é o numero total de bits)... 14 bits da direita são para os host.
endereço de rede =
200.200.64.0/18 (18 bits)
11001000.11001000.01000000.00000000
endereço de host =
0.0.36.100 (14 bits)
00000000.00000000.00100100.01100100
2)
69.1.87.20/12
01000101.00000001.01010111.00010100/12
a máscara é 11111111.11110000.00000000.00000000 (doze 1's)
em decimal 255.252.0.0
endereço de rede =
69.0.0.0/12 (12 bits)
01000101.00000000.00000000.00000000
endereço de host =
0.0.39.122 (20 bits)
00000000.00000001.01010111.00010100
3)
Endereço
192.168.100.10/24
11000000.10101000.01100100 .00001010/24
Máscara
255.255.255.0
11111111.11111111.11111111.00000000
Endereço de rede
192.168.100.0/24
11000000.10101000.01100100.00000000
Endereço de Host
0.0.0.10
00000000.00000000.00000000.00001010
4. ENDEREÇOS ESPECIAIS
Cada rede comporta um numero de computadores conectados de acordo com sua máscara de sub-rede.
--
por exemplo:
A rede 192.168.0.0/16 possui 16 bits para a rede e 16 bits para os Hosts, isso quer dizer que esta rede pode ter até no máximo 65536 endereços que vão do 192.168.0.0 até o 192.168.255.255.
--
Porém, o primeiro endereço (192.168.0.0) e o último (192.168.255.255)são endereços especiais.
O de final zero é reservados para os endereços de rede (nesse caso para a própria rede 192.168.0.0/16) e os endereços de final 255, por exemplo 192.168.255.255, que são reservados para uma coisa chamada Broadcast (discutiremos isso outra hora).
Tirando esses dois endereços, todos os outros endereços de Host podem ser usados em computadores na mesma rede. Então dos 65536 endereços, apenas 65534 podem ser utilizados.
--
Por exemplo
A rede 71.34.0.0/18
Possui 18 bits para rede e 14 bits para Host. 2^(14) = 16384
Essa rede possui 16384 endereços. Mas como dois são especiais, há 16382 endereços de host.
Se você fizer as contas, verá que os endereços vão de 71.34.0.1 até 71.34.63.254.
--
5. SUB REDES
As vezes uma rede tem uma quantidade muito grande de endereços disponível e para evitar desperdício de endereços (ou seja, muitos endereços não utilizados) é melhor sub dividir uma rede em redes menores. Essas são as sub-redes.
A gente obtém uma sub-rede pegando o endereço de Host e dividindo novamente em sub-rede e host.
OBS. Você só pode dividir em 2^x sub redes, onde x é o numero de bits que vc usa para sub redes. Não tem como dividir em 3 sub redes. tem que arredondar pra cima. Tipo, se vc precisa dividir em 6 sub redes, não dá. Tem que dividir em 8 ou em 4.
--
Exemplo 1
192.168.34.0/24
11000000.10101000.00100010.00000000 Rede
11111111.11111111.11111111.00000000 Mascara
00000000.00000000.00000000.XXXXXXXX Host
Possui 8 bits para Host = 256 endereços.
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Dividindo em 4 sub-redes:
pegamos dois bit porque 2^2 = 4
00000000.00000000.00000000.SSXXXXXX
Assim teremos 6 bits para hosts que dará 64 endereços em cada rede. Mas como dois endereços de cada sub rede são especiais (endereço de rede e endereço de broadcast), cada sub-rede poderá conectar 62 dispositivos totalizando 248 dispositivos nas quatro sub-redes.
|Rede 192.168.34.0/24
||192.168.34.0/26 -> Endereço de rede /25 = 24 + 2
||.
||. (Sub-Rede 1)
||.
||192.168.34.63 -> Endereço de Broadcast
||
||192.168.34.64/26 -> Endereço de rede /26 = 24 + 2
||.
||. (Sub-Rede 2)
||.
||192.168.34.127 -> Endereço de Broadcast
||
||192.168.34.128/26 -> Endereço de rede /26 = 24 + 2
||.
||. (Sub-Rede 3)
||.
||192.168.34.191 -> Endereço de Broadcast
||
||192.168.34.192/26 -> Endereço de rede /26 = 24 + 2
||.
||. (Sub-Rede 4)
||.
||192.168.34.255 -> Endereço de Broadcast
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Dividindo em 64 sub-redes (O máximo possível):
pegamos seis bit porque 2^6 = 64
00000000.00000000.00000000.SSSSSSXX
Assim teremos 2 bits para hosts que dará 4 endereços em cada rede. Mas como dois endereços de cada sub rede são especiais (endereço de rede e endereço de broadcast), cada sub-rede poderá conectar 2 dispositivos (veja que vai sobrar apenas 2 endereços para os dispositivos e não tem jeito de sobrar menos) totalizando 128 dispositivos nas duas sub-redes.
Os endereços 192.168.34.0, 192.168.34.127, 192.168.34.128 e 192.168.34.255 são os endereços especiais.
|Rede 192.168.34.0/24
||192.168.34.0/30 -> Endereço de rede /30 = 24 + 6
||.
||. (Sub-Rede 1)
||.
||192.168.34.3 -> Endereço de Broadcast
||
||192.168.34.4/30 -> Endereço de rede /30 = 24 + 6
||.
||. (Sub-Rede 2)
||.
||192.168.34.7 -> Endereço de Broadcast
||
||.
||.
||.
||
||192.168.34.252/30 -> Endereço de rede /30 = 24 + 6
||.
||. (Sub-Rede 64)
||.
||192.168.34.255 -> Endereço de Broadcast
--
Exemplo 2:
A rede 71.34.0.0/18 possui 14 bits para os host. Podemos dividi-los em 64 redes menores pegando os 6 bits do endereço de host (2^6=64) para usar como sub redes e os bits restantes (8 bits) serão 256 endereços dentro dessa sub-rede. Mas como dois endereços são especiais, cada sub-rede terá no máximo 254 hosts.
71.34.0.0/18 Rede e Máscara
01000111.00100010.00000000.00000000 -> Rede
11111111.11111111.11000000.00000000 -> Mascara
00000000.00000000.00XXXXXX.XXXXXXXX -> Hosts
00000000.00000000.00SSSSSS.XXXXXXXX
Pego 6 bits para sub-redes (S) teremos 2^6=64 sub redes
Cada sub-rede terá 8 bits de hosts = 2^8 = 256 endereços.
Como dois endereços são especiais, cada sub-rede pode conectar 254 dispositivos.
--
"Esse resumo foi feito com base em memórias sem nenhuma referência específica, mas de acordo com o que eu me lembrava do Tanenbaum, Kurose, Soares, Fourozan, Wikipedia, Cormer, etc."
segunda-feira, 4 de abril de 2016
Corrigindo codificação e idioma em Latex
Minha orientadora sugeriu usar o Overleaf para terminarmos um artigo em Latex. É uma ótima ferramenta para trabalho colaborativo, mas tive alguns problemas com a codificação dos caracteres após a compilação. Sem muito esforço consegui solucionar adicionando ao preâmbulo do documento os seguintes pacotes:
Achei essa dica em https://aleteia.wordpress.com/2008/07/30/latex_e_acentos/
Mas caso a opção brazilian estiver com erro, talvez o pacote de língua portuguesa não está instalado. Procure instalar o pacote faltando. No ubuntu 16.04.1 o comando é:
sudo apt-get install texlive-lang-portuguese
\usepackage[brazilian]{babel}Não sou expert em Latex a ponto de descrever cada um destes pacotes, mas sei que são responsáveis pela codificação dos caracteres, substituindo o uso de macros (\'a por á) e a linguagem de alguns elementos como Capítulo em vez de Chapter, por exemplo, não necessariamente nesta ordem.
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
Achei essa dica em https://aleteia.wordpress.com/2008/07/30/latex_e_acentos/
Mas caso a opção brazilian estiver com erro, talvez o pacote de língua portuguesa não está instalado. Procure instalar o pacote faltando. No ubuntu 16.04.1 o comando é:
sudo apt-get install texlive-lang-portuguese
quinta-feira, 25 de abril de 2013
Resumo: Art of Computer Systems Performance Analysis: Techniques for Experimental Measurements Simulation and Modeling - Capítulo 2
Livro: "Art of Computer Systems Performance Analysis:
Techniques for Experimental Measurements Simulation and Modeling" de Raj
Jain
Resumo do capítulo 2:
Resumo do capítulo 2:
CAPÍTULO 2. – ERROS COMUNS E COMO EVITÁ-LOS
Este capítulo inicia com uma lista de erros comumente
observados em projetos de avaliação de desempenho, em seguida é então formulado
um resumo da avaliação de desempenho, os passos para uma correta avaliação de desempenho
e em que ordem devem ser executados.
2.1
- Erros comuns em avaliação de desempenho
Diferentemente do “Game Ratio” do capítulo anterior, a maioria
dos erros não são intencionais. São causados por descuido, equívocos e falta de
conhecimentos sobre as técnicas de avaliação de desempenho.
1. FALTA
DE OBJETIVOS: Qualquer projeto sem metas não deve funcionar. Parece obvio, mas
muitos projetos se iniciam sem objetivos claros. Modelos de propósito gerais
não existem. Não há como o modelo ser flexível suficiente para ser facilmente
modificado para diferentes problemas. Cada modelo deve ter um objetivo
específico. Métricas, carga de trabalho e toda a metodologia dependem do
objetivo. Cada problema possui uma área diferente a ser observada. Antes de
qualquer modelagem, é importante que o projetista entenda o sistema e
identifique o problema. E encontrar um objetivo não é uma tarefa simples. A
maioria dos problemas são bastante vagos no início, então encontrar um conjunto
de objetivos é bastante difícil. Uma vez que se entende o problema e seu
objetivo foi definido fica mais fácil encontrar uma solução.
2. OBJETIVOS
TENDENCIOSOS: Principalmente quando uma comparação é feita na forma de
competição, as métricas, funções, cargas, etc, podem ser escolhidas visando um
resultado que favoreça um lado e não o de encontrar o melhor modelo para
comparar os sistemas. Assim, o analista deve ser imparcial.
3. ABORDAGEM
SEM MÉTODO: Muitos analistas adotam uma abordagem sem sistemática onde os parâmetros,
fatores, métricas e cargas são escolhidos arbitrariamente, levando a resultados
imprecisos. Um método bem definido ajuda na escolha de um conjunto completo de
todos esses elementos
4. ANÁLISE
SEM ENTENDIMENTO DO PROBLEMA: Uma grande parte do esforço da análise está em
definir o problema. Desenvolver um modelo é apenas uma parte do problema.
Modelos são a ferramenta para alcançar as conclusões. Pessoas que precisam
fazer decisão muitas vezes ignoram um trabalho que foca apenas na sistemática,
pois não precisam apenas de um modelo, mas um guia.
5. MÉTRICAS
DE DESEMPENHO INCORRETAS: Métricas são critérios usados para quantificar o desempenho
do sistema. A escolha da métrica correta depende do serviço oferecido pelo
sistema em questão. Assim, manipular a escolha da métrica pode mudar a
conclusão de um estudo de desempenho. Outro erro bastante comum é escolher
apenas métricas fáceis de medir ou computar e ignorar as mais difíceis.
6. CARGA DE TRABALHO REPRESENTATIVA: A carga usada para comparar dois sistemas deve
ser capaz de representar o atual uso do sistema em estudo. Seu uso de forma
inadequada levará a resultados imprecisos que não representa o real
funcionamento do sistema.
7. TÉCNICA
DE AVALIAÇÃO ERRADA: Há três técnicas de avaliação: medição, simulação e
modelagem. Se o analista tiver preferência por alguma técnica, mesmo que seja
mais fácil utilizar outra pode levar a melhores resultados do que de outra
forma, mas também pode causar problemas introduzindo fenômenos que antes não
estavam presentes ou ignorando algum fenômeno importante no sistema original.
Por isso a necessidade de dominar o básico das três técnicas. Há número de
fatores a ser considerado na escolha da técnica correta.
8. SUPERVALORIZAR
IMPORTANTES PARAMETROS: É uma boa ideia fazer uma lista completa das
características da carga e do sistema que afetam seu desempenho. Estas
características chamam-se parâmetros.
O analista então escolhe um conjunto de valores para cada um destes parâmetros.
O resultado final depende destas escolhas. Supervalorizar um ou os parâmetros
mais importantes pode tornar todo resultado inútil.
9. IGNORAR
FATORES SIGNIFICANTES: Um parâmetro que pode variar durante o estudo é chamado
de fator. O restante dos parâmetros
permanecem com valores fixos. Não são todos os fatores que afetam
significativamente o desempenho do sistema. É necessário identificar os fatores
que sejam relevantes para o desempenho. A menos que haja uma razão, estes
parâmetros devem ser usados como fator no estudo de desempenho. Fatores que
estão sob o controle do usuário final são facilmente manipuláveis e devem ter
prioridade a fatores que são mais difíceis de serem alterados. Não gaste tempo
comparando alternativas que o usuário final não pode adotar por envolver ações
inaceitáveis ou fogem da sua esfera de influência. Também é importante conhecer
a aleatoriedade de vários parâmetros e cargas que afetam o desempenho, pois a
escolha dos fatores deve ser feita baseada em sua relevância e não no
conhecimento do fator. Deve ser feito todo esforço para gerar resultados
realistas de todos os para metros. Para parâmetros desconhecidos deve ser feita
uma sensível análise mostrando o efeito de mudar seus valores para quantificar
o impacto de sua incerteza.
10. PROJETO
EXPERIMENTAL INADEQUADO: Projetos experimentais relatam o numero de medidas ou
experimentos de simulação para serem conduzidos e os valores dos parâmetros
usados em cada experimento. A escolha correta destes valores pode gerar mais
informações em um mesmo numero de experimentos enquanto seleções impróprias
pode gerar perda de tempo e recurso. Além disso, projetos muito simples onde os
fatores são alterados um por um pode levar a conclusões errôneas se o efeito de
um depende dos valores de outros.
11. NÍVEL
DE DETALHE INADEQUADO: o nível de detalhe usado na modelagem de um sistema tem
muito impacto na formulação do problema. Para estudar pequenas variações de uma
abordagem comum, usar um modelo detalhado pode ser mais útil, mas em situações
muito diferentes um modelo de alto nível pode ser analisado mais rápido e de
forma mais barata. É um erro comum criar um tipo de modelo quando a situação
pede outro tipo. Assim, o objetivo de um estudo tem um impacto significativo no
modelo e como ele é analisado.
12. SEM
ANALISE: Um erro muito comum em projetos de medição é quando se gera uma enorme
quantidade de dados, mas o analista não consegue direcionar seu uso. Ema alguns
casos um grande relatório cheio de dados brutos são apresentados sem nenhuma
explicação de como se usa os resultados.
13. ANÁLISE
ERRADA: Há um número de erros de análises feitas em medidas, simulações e
modelos analíticos, como considerar médias em taxas ou simulações muito curtas.
Estes erros são discutidos ao longo do livro quando for tratada cada técnica.
14. SEM
ANALISE DE SENSIBILIDADE: Às vezes o analista coloca muita ênfase no resultado
da sua análise e esquece o valor do sistema ou da carga de entrada. Sem uma
análise da sensibilidade não é possível determinar se o resultado pode variar
com pequenas mudanças no cenário e sem a análise de sensibilidade é difícil
entender a relativa importância dos parâmetros.
15. IGNORAR
ERROS DE ENTRADA: muitas vezes um parâmetro de interesse não pode ser medido.
Em vez disso outra variável que pode ser medida serve de base para estimar o
parâmetro. Isso pode introduzir incertezas nos dados de entrada e
consequentemente nos dados de saída. O analista precisa ajustar o nível de
confiança do resultado do modelo a partir dessa informação. Além disso, pode ser
que não valha a pena produzir esses dados com precisão se a entrada for
significativamente grande a ponto das variações não produzirem diferença. Nem
sempre erros de entrada podem ser igualmente distribuídos em torno da média
gerando uma entrada tendenciosa.
16. TRATAMENTO
INDEVIDO DAS DISCREPÂNCIAS: Valores que fogem da média são chamados de
discrepantes. Essas discrepâncias podem representar um problema. Se essa
discrepância não for causada pelo sistema real, deve ser ignorada, pois
incluí-la pode produzir um modelo inválido. Por outro lado, se a discrepância
ocorre no modelo real, deve ser levado em conta ou o modelo será considerado
errado. Decidir quais discrepâncias devem ser ignoradas e quais devem ser
incluídas é parte da avaliação de desempenho e requer um cuidadoso entendimento
do sistema que está sendo modelado.
17. NÃO
ASSUMIR MUDANÇAS NO FUTURO: Isto quer dizer que o modelo funcionará tanto no
futuro quanto no passado. Um modelo baseado em carga e desempenho observados no
passado é usado para prever a o desempenho no futuro. E tanto a carga quanto o
comportamento do sistema no futuro será o mesmo do medido atualmente. O
analista deve considerar essa suposição e limitar a quantidade de tempo que a
previsão é feita.
18. IGNORAR
VARIABILIDADE: É comum o analista utilizar apenas a média do desempenho quando
a variabilidade é muito complicada ou impossível. Se a variabilidade for muito
alta, a média sozinha pode ser enganosa, principalmente em sistemas em que há
momentos de picos e momentos de ociosidade, podendo impactar o desempenho do
usuário.
19. ANÁLISE
MUITO COMPLEXA: Sempre é preferível que se explique o resultado com o modelo
mais simples possível. Muitos problemas do dia a dia são resolvidos por modelos
simples, mesmo que no meio acadêmico se valorize modelos mais complexos. No
mercado de trabalho onde o tempo é essencial, desenvolver um modelo funcional e
simples o suficiente que seja fácil de comercializar dentro de um tempo hábil é
mais valorizado. O ideal é começar com um modelo simples e após os primeiros
resultados, inserir as complicações. Modelos complexos também podem ser
difíceis de entender para quem realmente toma as decisões e seus resultados
podem não ter credibilidade.
20. APRESENTAÇÂO
DOS RESULTADOS INDEVIDA: Ocasionalmente o estudo de desempenho ajuda na tomada
de decisões. Uma análise que não produza resultados ou uma análise em que os
resultados são difíceis de entender resulta e um uma falha e a entidade que
toma decisões pode não conseguir projetar, vender ou conseguir patrocínio.
Transmitir os resultados para os tomadores de decisão é responsabilidade do
analista, por isso deve-se tomar cuidado com as palavras, imagens e gráficos
explicando a análise. “A métrica para o desempenho de uma análise não é o
numero de análises feitas, mas sim o número de análises que ajuda na tomada de
decisão”.
21. IGNORAR
OS ASPECTOS SOCIAIS: Uma boa apresentação do resultado da análise querer dois
tipos de habilidades: sociais e materiais. Escrever e falar são habilidades
sociais enquanto modelar e analisar são habilidades materiais. Muitos analistas
possuem suas habilidades materiais bem desenvolvidas, mas na hora de apresentar
os resultados não tem boas habilidades sociais. A aceitação da análise depende
da confiança entre quem toma decisões e o analista e a apresentação dos
resultados é uma forma de compreendê-lo. Assim as habilidades sociais são
importantes para apresentar resultados que são contra o que quem toma decisão
acredita ou para grandes mudanças em projetos. Porém, em alguns casos, a pessoa
que verá a apresentação do analista também é um analista e está mais
interessado na metodologia adotada do que no resultado final. Nesse caso pode
ser interessante fazer duas apresentações: uma focando a linguagem, crença e
jargões dos tomadores de decisões e outra focando a metodologia. Às vezes os
tomadores de decisões possuem objetivos diferentes que não são interessantes
para o analista, como cronograma, política ou viabilidade de implementação e
podem ser ótimos em analisar os resultados, mas não entender a análise em si.
Um esforço em entender seus interesses e incorpora-los na apresentação pode
aumentar suas chances de vender seu peixe.
22. OMITIR
HIPÓTESES E LIMITAÇÕES: Muitas vezes o analista omite suposições e limitações
no relatório final. Isso pode levar usuários a usar a análise em outro contexto
que não é válido, ou mesmo o analista cria uma teoria no início, mas se esquece
das limitações fazendo conclusões sobre ambientes que a análise não se aplica.
A seguir tem-se um checklist de perguntas que devem ser
respondidas afirmativamente em uma análise de desempenho.
1.
O sistema foi definido corretamente e os
objetivos estão claros?
2.
Os objetivos foram definidos de forma imparcial?
3.
Seguiu todos os passos da análise metodicamente?
4.
O problema foi compreendido antes da análise?
5.
As métricas de desempenho são relevantes para
este problema?
6.
A carga de trabalho (entrada) está correta neste
problema?
7.
A técnica de avaliação usada é apropriada?
8.
Possui uma lista de parâmetros que afetam o
desempenho do sistema?
9.
Da lista de todos os parâmetros, foram escolhidos
os fatores que serão variados?
10.
O projeto experimental é eficiente em termo de
tempo e resultados?
11.
O nível de detalhamento é ideal?
12.
Os dados medidos são apresentados com análise e
interpretação?
13.
A análise está estatisticamente correta?
14.
A análise de sensibilidade foi feita?
15.
Erros na entrada causam significantes alterações
no resultado?
16.
As discrepâncias na entrada ou saída foram
corretamente tratados?
17.
Foram modeladas as futuras mudanças na carga e
no sistema?
18.
A variância da entrada foi levada em conta?
19.
A variância dos resultados foi levada em conta?
20.
A análise é de fácil explicação?
21.
O estilo da apresentação está de acordo com sua
audiência?
22.
Os resultados foram apresentados graficamente
tanto quanto possível?
23.
As teorias e limitações da análise foram
claramente documentadas?
2.2
- Uma abordagem sistemática da avaliação de desempenho
A maioria dos problemas de desempenho são únicos. Os parâmetros
usados em um projeto não podem ser usados em outros, mas alguns passos são
comuns a todos para evitar os erros da seção anterior.
1. DECLARE
OBJETIVOS E DEFINA O SISTEMA: O primeiro passo é declarar quais são os
objetivos da avaliação assim como limites do sistema. Esse limite depende do
objetivo do estudo. A escolha destes limites afetam as métricas de desempenho
assim como a carga que será usada para comparar os sistemas, por isso é importante
entender o sistema. Outras considerações também devem ser feitas, como o
controle administrativo. Se os patrocinadores (sponsors) não tiver controle
sobre algum componente, eles podem querer manter este componente fora do
sistema.
2. LISTAR
SERVIÇOS E RESULTADOS: cada sistema provê um conjunto de serviços. Quando um usuário
requer algum destes serviços, diversos tipos de resultados são possíveis. E alguns
destes resultados são desejáveis, outros não. Então uma lista dos serviços e saídas
são uteis para determinar a correta métrica e cargas.
3. SELECIONAR
MÉTRICAS: O próximo passo é selecionar os critérios para comparar o desempenho.
Esses critérios são chamados de métrica. Normalmente estão relacionadas à
velocidade, precisão ou disponibilidade dos serviços. A seleção correta das métricas
é discutida no capítulo 3
4. LISTAR
PARÂMETROS: o próximo passo é listar todos os parâmetros que afetam o
desempenho. Divide-se em parâmetros do sistema e parâmetros da carga (parâmetros
da carga são as características das requisições dos usuários). No início a
lista não estará completa, mas depois da primeira análise novos parâmetros podem
ser adicionados. O ideal é que a lista esteja sempre atualizada e de fácil
compreensão para que se possa discutir o impacto de vários parâmetros e que
dados devem ser coletados antes e durante a análise.
5. SELECIONAR
OS FATORES DO ESTUDO: Os parâmetros que variam podem variar no sistema se
chamam fatores e seus valores se chamam níveis. No geral a lista de fatores é muito
grande. O ideal é considerar apenas um pequeno úmero de fatores que afetam
muito o desempenho do sistema e manter com valores fixos o restante. Um erro
comum é escolher como fatores parâmetros de fácil medição e ignorar outros às
vezes mais influentes apenas por ser difícil de medir ou variar. A escolha dos
fatores também deve levar em conta a economia, política e as limitações
impostas por quem toma decisão. Isto ajuda a encontrar uma solução que é aceitável
e implementável.
6. ESCOLHER
A TÉCNICA DE AVALIAÇÃO: Há três técnicas para avaliação do desempenho: simulação,
medição de um sistema real e modelagem analítica. A seleção da técnica depende
do nível desejado de precisão assim com dos recursos avaliados para resolver os
problemas. A seleção das técnicas está avaliada no capitulo 3
7. SELECIONAR
A CARGA DE TRABALHO: A carga de trabalho consiste em uma lista de serviços
solicitados ao sistema. Ela depende de cada técnica de avaliação escolhida. Em
todo caso é essencial que a carga represente o uso do sistema na vida real e
para produzir uma carga representativa é necessário medir e caracterizar a
carga em um sistema já existente.
8. PROJETAR
EXPERIMENTOS: Com os fatores e seus níveis definidos é necessário decidir uma
sequencia para que o experimento forneça o máximo de informação com o mínimo de
esforço. Na pratica é interessante conduzir o experimento em duas partes. Uma
primeira parte com um grande número de fatores, mas um pequeno número de níveis.
Sem seguida é escolhido os fatores que mais afetam o sistema e então gerados um
maior numero de níveis a eles.
9. ANALISAR
E INTERPRETAR DADOS: É importante reconhece que a saída das medidas e simulações
são quantidades aleatórias e que variam quando o experimento é repetido. Ao
comprar duas alternativas é necessário levar em conta a variabilidade dos
resultados, pois comparar as médias pode resultar em conclusões imprecisas. E
interpretar é a chave da “arte da análise”. O experimento em si não gera
conclusões, apenas resultados e são este resultados que farão com que o
analista ou o tomador de decisão chegar a uma conclusão. E ainda existe a
possibilidade de vários analistas obterem o mesmo resultado, porém tirarem
conclusões diferentes.
10. APRESENTAR OS RESULTADOS: No fim de todos os
passos do projeto de desempenho, é necessário comunicar a comunidade os
resultados. É importante que os resultados sejam fáceis de entender.
Normalmente são apresentados na forma de gráfico e sem jargão estatístico em
suas escalas corretas. Outro ponto é que, com o conhecimento obtido no estudo
pode ser necessário redefinir alguma decisão dos passos anteriores como
redefinir as limitações e os fatores, por exemplo. Isso leva a conclusão que o
projeto completo consiste em vários ciclos e não em uma simples sequencia de
passos.
Resumindo:
1.
Definir os objetivos do estudo e limitações do
sistema.
2.
Listar serviços e possíveis saídas.
3.
Selecionar métricas de desempenho
4.
Listar parâmetros da carga e do sistema
5.
Selecionar fatores e seus níveis
6.
Selecionar a técnica de avaliação
7.
Selecionar a carga de trabalho
8.
Projetar o experimento
9.
Analisar e interpretar os dados.
10.
Apresentar os resultados ou fazer de novo, se necessário.
sexta-feira, 12 de abril de 2013
Resumo: Art of Computer Systems Performance Analysis: Techniques for Experimental Measurements Simulation and Modeling - Capítulo 1
Livro: "Art of Computer Systems Performance Analysis: Techniques for Experimental Measurements Simulation and Modeling" de Raj Jain
Formato: CHM
http://www.4shared.com/file/VgR6Arts/Art_of_Computer_Systems_Perfor.htm
(Leia abaixo o resumo do Capítulo 1)
O Objetivo do livro é explicar os termos e as técnicas de
avaliação de desempenho com ênfase em técnicas simples para solução de
problemas, avaliação de arquiteturas alternativas, comparação de dois ou mais
sistemas, determinar o melhor valor de um parâmetro, encontrar gargalos,
caracterização de carga (entrada do sistema), número de componentes (capacidade
de planejamento) e prever futuras cargas, onde endende-se que sistema quer
dizer qualquer conjunto de hardware, software e firmware.
Objetivos após ler esse livro:
1.
Selecionar a técnica de avaliação, métricas de desempenho
e cargas de trabalho ideais: Técnicas de medida e avaliação de desempenho que
devem ser usadas para análise de desempenho e modelagem analítica. (Parte I)
2.
Conduzir medidas de desempenho corretamente:
Escolher as melhores técnicas e ferramentas (entre monitores e geradores de
carga) para medição de desempenho em cada caso corretamente. (Parte II)
3.
Usar as técnicas estatísticas próprias para
comparar diversas alternativas: A maioria das avaliações de desempenho consiste
em encontrar a melhor alternativa entre todas. As técnicas estatísticas usadas
para comparar diversas situações são discutidas na Parte III.
4.
Projetar medidas e simular experimentos para
prover a maior quantidade de informações com o mínimo de esforço: Projetar
experimentos e técnicas para organizar experimentos para obter o máximo de
informações com um número mínimo de experimentos apresentados. (Parte IV)
5.
Executar a simulação corretamente: Determinar
questões como a linguagem da simulação, assim como seeds e algoritmos para geração de números
aleatórios, comprimento da simulação e analisar o resultado da simulação.
(Parte V)
6.
Usar modelos de fila simples para analisar o
desempenho de sistemas: Diferentes tipos de filas e redes de fila. Modelos de
filas em modelagem analítica de sistemas de computadores. (Parte VI)
A arte da avaliação de desempenho.
A avaliação do desempenho de um sistema pode ser
considerada uma arte. Uma avaliação não pode ser efetuada mecanicamente, isto
é, depende da interação com o conhecimento de quem avalia. Dado um mesmo dado,
dois analistas podem interpreta-los diferentemente. Isso pode gerar um problema chamado de Disputas de
Razão ("Ratio Game"). Algumas podem ser propositais ou resultado da falta de conhecimento e da
metodologia correta.
Assinar:
Postagens (Atom)