A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Índice de Carga e Desempenho em Sistemas Distribuídos Com eles é possível estimar a carga sobre um sistema afim de que seja possível realocar os usuários.

Apresentações semelhantes


Apresentação em tema: "Índice de Carga e Desempenho em Sistemas Distribuídos Com eles é possível estimar a carga sobre um sistema afim de que seja possível realocar os usuários."— Transcrição da apresentação:

1

2

3 Índice de Carga e Desempenho em Sistemas Distribuídos Com eles é possível estimar a carga sobre um sistema afim de que seja possível realocar os usuários para servidores diferentes de modo a entregar sempre a melhor performance possível.

4 O Sistema Distribuído Um dos objetivos de um sistema distribuído é a utilização eficiente dos recursos dos sistemas.

5 Índice de Carga Para a utilização eficiente dos recursos, existem os Índices de Carga, que são utilizados para medir a carga do sistema. Eles indicam se o elemento considerado está ocioso, sobrecarregado ou em situação normal. Pode ser definido como uma variável numérica, assumindo valores para representar diferentes estados do dispositivo utilizado.

6 Índice de Carga Ex: Um índice de carga normalizado de 0 a 1 Para Índice = 0 : computador não está utilizando recursos ou está utilizando recurso que não sobrecarrega o sistema. Para Índice = 0.5 : computador utiliza recursos e não está totalmente sobrecarregado. Para Índice = 1 : computador utiliza recursos e está totalmente sobrecarregado.

7 Índice de Carga As cargas podem ser alteradas rapidamente, por isso, os índices devem ser atualizados constantemente. O custo para obter este índice não deve interferir no desempenho do sistema. Geralmente as técnicas de medição são eficientes e geram uma sobrecarga mínima no sistema. Os índices podem ser divididos em grupos: os baseado na fila de acesso ao recurso, no percentual de utilização do recurso e no tempo de execução/resposta.

8 Índice de Carga Para a escolha do índice de carga, algumas características importantes devem ser consideradas: quantificar a utilização do processador. quantificar as requisições de memória. quantificar as requisições de I/O. quantificar utilização de rede.

9 Índice de Carga Recomenda-se a adoção de um índice de carga que seja a média das características essenciais de algum recurso sobre um determinado tempo.

10 Índice de Carga Existem vários algoritmos de Índice de Cargas. A maioria dos algoritmos de índice são para sistemas homogêneos. Por quê? Diferentes potências computacionais nas plataformas distribuídas e heterogêneas, agregam ao índice de carga a tarefa de normalizar as cargas. Essa normalização não é trivial porque depende do nível de heterogeneidade.

11 Índice de Carga O índice de carga que é freqüentemente assumido é o baseado no comprimento de fila de processos na CPU(CPU load). Porém ele não funciona corretamente em ambientes onde os computadores têm capacidade de processamento heterogênea e os processos não tem ocupação semelhante. Por quê ?

12 Índice de Carga Ex : Suponha dois computadores. Computador 1 : 2 processos de baixa ocupação na fila. Computador 2: 1 processo que ocupa 99% da CPU. No índice de carga baseado no comprimento de fila de processos na CPU, o computador 1 tem índice igual a 2 e o computador 2 tem índice igual a 1. De acordo com o algoritmo de comprimento de fila, o segundo computador irá receber o processo iniciado, apesar de não ter recursos disponíveis Isso significa que o computador 2 está menos sobrecarregado que o 1 ? - Não. Apesar do computador 1 ter mais processos na fila, ele está parcialmente sobrecarregado enquanto o computador 2 está totalmente carregado.

13 Índice de Carga Existem aplicações destinadas a processamento, acesso a disco, comunicação entre processos e as que necessitam de uma grande quantidade de memória, são elas: CPU-Bound: alto processamento e pouca atividade de I/O. Disk-Bound: muitos acessos ao disco. Network-Bound: muitas comunicações entre processos. Memory-Bound: necessitam de uma grande quantidade de memória.

14 Índices de carga de processador mais utilizados Número de chamadas ao sistema: quanto maior o número de chamadas, mais carregado o processador. Número de interrupções : quanto mais interrupções atendidas, mais alto é o índice. Tempo de CPU idle: o tempo que o processador ficou ocioso, geralmente medido em porcentagem de um certo período de tempo. Quanto menor o tempo de ociosidade, mais carregado o processador.

15 Índices de carga de processador mais utilizados Tempo de CPU em funções do S.O. : um complementar do número de chamadas ao sistema, mas levando em conta o tempo gasto nelas, não ao número delas. Quanto mais tempo gasto, maior o índice. Tempo de CPU para programas de usuário: tempo que o processador gastou nos programas de usuário, geralmente medido em porcentagem de um certo período de tempo. Comprimento de fila da CPU : é o número de processos na fila de execução. Quanto mais processos na fila, maior a carga do processador. No Linux pode ser obtido utilizando o comando sar -q.

16 Índices de carga de processador mais utilizados Média do comprimento de fila da CPU : é a média do número de processos na fila de execução em um determinado tempo. No Linux pode ser obtido utilizando o comando uptime, que apresenta as médias dos últimos um, cinco e quinze minutos da fila de execução. Número de usuários ativos (logados ou ativos) : número instantâneo de usuários ativos ou logados no sistema. Pode ser obtido também no Linux com o comando uptime. Quanto maior o número de usuários ativos, maior a carga do sistema. Capacidade de carga – utilização efetiva da CPU : é um número que representa a velocidade relativa do processador utilizada por um processo. Ele é obtido multiplicando a utilização do processador geralmente em porcentagem com o número que representa a velocidade relativa do processador.

17 Índices de carga de processador mais utilizados Carga média do uso de CPU: Número que representa a utilização média da CPU durante um intervalo, medido em porcentagem. Processos bloqueados: O número de processos que estão no estado bloqueado é utilizado como índice de carga de processador

18 Índices de carga de disco Número de leituras por segundo: É obtido através do comando "Iostat -D" que mostra a quantidade de leituras por segundo de cada disco. Quanto mais leituras, maior a carga. Número de escritas por segundo: É obtido através do comando "Iostat -D" que mostra a quantidade de escritas por segundo de cada disco. Quanto mais escritas, maior o índice. Quantidade de seeks por segundo: Mostra a quantidade de buscas por segundo no disco, ou seja, quantas vezes os dados procurados não estavam organizados de forma contígua.

19 Índices de carga de disco Quantidade de pedidos de I/O: É a quantidade de requisições de entrada e saída que ocorrem em cada disco. Número de processos esperando na fila por disco: É a quantidade de processos que não estão executando pois dependem de dados armazenados e outro processo já está utilizando o disco. Taxa de dados transferida por disco: É a quantidade de dados que foi transferida em cada disco.

20 Índices de carga de disco Porcentagem de utilização de cada disco: Reflete a utilização percentual de cada disco.

21 Índices de carga de memória Memória ocupada: Corresponde à quantidade de memória primária total em uso. Porém os sistemas operacionais fornecem apenas informações sobre a memória livre, então é necessário utilizar a informação sobre a quantidade de memória disponível no sistema. Cache e buffers: Este índice corresponde à quantidade de bytes que os sistemas operacionais utilizam para armazenar arquivos lidos no disco. Com isso, esses sistemas operacionais contabilizam as páginas usadas como buffers de leitura e escrita de I/O, e o cache de páginas. Quanto menor a quantidade de caches e buffers, maior o índice de carga.

22 Índices de carga de memória Memória ativa: É a porção da memória usada a qual permanece ativa, ou seja, a quantidade de bytes ocupados por páginas que foram acessadas recentemente. Memória inativa: Mostra a porção da memória que foi alocada, entretanto não foi usada recentemente. Quanto maior a memória inativa, maior o índice de carga. Swap usado: É a quantidade de espaço swap, o qual está sendo usado por páginas retiradas da memória principal, em casos de falta de memória.

23 Índices de carga de memória Swap cache: Mede a área mantida pelo sistema operacional para diminuir o número de acessos ao disco quando ocorrer ausências de páginas. Essa área é denominada swap cache. Quanto a este índice, há uma indefinição se o índice de carga será maior ou menor quando o swap cache for maior. Page stealing: É o número de páginas de caches e buffers retiradas pelo kernel por segundo, para utilizá-las em outro propósito. Páginas alocadas: Mede a quantidade de novas alocações feitas por segundo, de forma a atender a demanda dos programas, ou seja, mede a atividade do sistema de alocação de páginas.

24 Índices de carga de memória Ausências Menores: Este índice corresponde às ausências de páginas que não necessitam de acesso ao disco. Essas são chamadas de ausências menores ou minor faults. Ausências Maiores: Este índice corresponde às ausências maiores, ou major faults, as quais ocorrem sempre quando uma ou mais páginas residentes no espaço swap devem ser lidas do disco para a memória.

25 Índices de carga de rede Quantidade de pacotes que chegam: É obtido através do comando "netstat". Representa o valor da quantidade de pacotes que entram em cada interface da rede. Quantidade de pacotes que saem: É obtido através do comando "netstat". Representa o valor da quantidade de pacotes que deixam cada interface da rede. Número de colisões: É a quantidade de colisões que ocorreram na rede. Quanto mais colisões, mais congestionada a rede, portanto maior a carga.

26 Índices de carga de rede Taxa de transferência dos dados: Mede a taxa de transferência dos dados na rede. Quanto mais dados são transferidos, maior o índice. Taxa de erros: Mede a taxa de erros nas transferências. Quanto maior o número de erros, maior será o índice de carga.

27 Índice de Desempenho O índice de desempenho é uma grandeza que ilustra o que pode ser esperado de um sistema computacional. Sua utilidade é realizar o balanceamento de carga em sistemas distribuídos.

28 Como obter o índice de desempenho ?

29 Cada índice de carga é calculado separadamente, e possui um benchmark específico. Fazer normalização de cada índice de carga. Obter índice de desempenho que é dado por:

30 Como obter o índice de desempenho ? ID é o índice de desempenho o qual leva em consideração os quatro recursos básicos (CPU, memória, disco e rede), W1, W2, W3 e W4 são os pesos dados para os índices de acordo com as características da aplicação escolhida. I Processador é a combinação dos índices de processador, os quais mais se adéquam a aplicações estritamente CPU-Bound. I Memória é a combinação dos índices de memória, os quais mais se adéquam a aplicações estritamente Memory-Bound. I Disco é a combinação dos índices de disco, os quais mais se adéquam a aplicações estritamente Disk-Bound. I Rede é a combinação dos índices de rede, os quais mais se adequam a aplicações estritamente Network-Bound.

31 O Índice de Carga e Desempenho Escalonamento fazendo uso de resultados de qualquer índice de carga é sempre melhor quando comparado com sistemas que não usam balanceamento. Índices de cargas baseados na média geralmente são melhores que índices instantâneos. A média do comprimento de fila de CPU é um pouco melhor que a utilização de CPU.

32 O Índice de Carga e Desempenho Os índices de desempenho são importantes pois eles fornecem informações que levam em consideração as heterogeneidades configuracional, arquitetural e temporal das máquinas existentes no sistema. Em ambientes heterogêneo e multi-usuário, a importância do índice de carga é ainda maior. A presença de aplicações de usuários e as diferenças entre os processadores influenciam consideravelmente no desempenho esperado para a aplicação.

33 Referências Bibliográficas Branco, Kalinka Regina Lucas Jaquie Castelo. Índices de carga e desempenho em ambientes paralelos/distribuídos : modelagem e métricas p. Tese (Doutorado) - Instituto de Ciências Matemáticas e de Computação Voorsluys, William. Avaliação de índices de carga de memória em sistemas computacionais distribuídos p. Dissertação (Mestrado) - Instituto de Ciências Matemáticas e de Computação Kunz, T. (1991). The Influence of Different Workload Descriptions on a Heuristic Load Balancing Scheme. IEEE Transactions on Software Engineering, v.17, n.7, p , July. Schnor, B.; Petri, S.; Langendörfer, H. (1996). Load Management for Load Balancing on Heterogeneous Plataforms: A Comparison of Traditional and Neural Network Based Approaches. In Second International Euro-Par Conference - Euro- Par'96, Lecture Notes in Computer Science v.1124, Lyon, France, p , August.

34 O Índice de Carga e Desempenho Dúvidas?


Carregar ppt "Índice de Carga e Desempenho em Sistemas Distribuídos Com eles é possível estimar a carga sobre um sistema afim de que seja possível realocar os usuários."

Apresentações semelhantes


Anúncios Google