análise de padrões de uso em grades computacionais oportunistas danilo m. r. conde

23
Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Upload: internet

Post on 22-Apr-2015

112 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de padrões de uso em grades computacionais oportunistas

Danilo M. R. Conde

Page 2: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Visão geral

Grades computacionais InteGrade LUPA Aprendizado Computacional Análise de Agrupamentos Implementação Atual do LUPA

Page 3: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Grades computacionais

Origem Uso de vários computadores de baixo custo

resultando em grande poder de processamento

Grades oportunistas: uso de computadores não dedicados quando estão ociosos

Page 4: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

InteGrade

IME-USP, PUC-Rio, UFMA, UFG, UFMS CNPq, CAPES, IBM, Microsoft

Provê uma infra-estrutura que permite a implantação de grades computacionais oportunistas

Page 5: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

InteGrade

Linhas de pesquisa– Tolerância a falhas– Identificação de padrões de uso– Gerenciamento de recursos entre aglomerados– Desenvolvimento de aplicações paralelas– Agentes móveis– Segurança– Desenvolvimento de aplicações para a grade

Page 6: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

InteGrade

Orientado a objetos Comunicação CORBA entre módulos C++, Java, LUA

Page 7: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

InteGrade – executando uma aplicação na grade

Page 8: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

LUPA

Local Usage Pattern Analyzer Coleta dados sobre utilização dos recursos

– CPU, memória, swap, uso de mouse e teclado– Privacidade

Analisa dados de forma a estabelecer padrões de uso

Prediz uso futuro baseado no padrão de utilização atual

Page 9: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

LUPA

manhã livre

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

tarde livre

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

almoço e fim livres

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

dia inteiro sem aulas

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Page 10: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Aprendizado Computacional

O processo de identificação dos padrões é um processo de aprendizado.

Um sistema aprende quando altera sua estrutura, algoritmos e dados de forma a melhorar seu desempenho.

“Qualquer mudança num sistema que melhore o seu desempenho na segunda vez que ele repetir a mesma tarefa, ou uma tarefa da mesma população” (Simon, 1983)

Page 11: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Aprendizado Computacional

Por que aprender ?– Algumas aplicações dependem de exemplos– Mineração de dados– Agentes que atuam em ambientes que não são

completamente conhecidos

Page 12: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Aprendizado Computacional

Supervisionado– Presença de um tutor que fornece exemplos

Não-supervisionado– Aprende relações e propriedades entre um

conjunto de objetos

Por reforço– Recompensa e punição

Page 13: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos

Análise de conglomerados, clustering, cluster analysis

É uma técnica de aprendizado não-supervisionado cujo objetivo é separar um conjunto de objetos em grupos de objetos semelhantes

Page 14: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos

Page 15: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos

Page 16: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos

Não se trata de um algoritmo, mas de uma técnica com várias implementações diferentes

O processo de aplicar a análise de agrupamentos a um problema possui vários elementos

Page 17: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos - Elementos

1. Escolha dos dados a serem analisados

2. Seleção de variáveis

3. Homogeneização das variáveis

4. Medidas de semelhança

5. Escolha dos algoritmos e implementação

6. Número de agrupamentos

7. Interpretação dos resultados

Page 18: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos

Dois principais tipos de algoritmos:– Hierárquicos– De Partição

Page 19: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos - Algoritmos hierárquicos aglomerativos

Preparação: Construa n agrupamentos, um com cada elemento do conjunto de entrada, rotulando-os de 1 a n, e construa uma matriz de similaridade entre os agrupamentos.

Algoritmo:Repita os seguintes passos até haver apenas um agrupamento:1. Encontre o par de agrupamentos p e q, p > q, com menor

distância entre si, ou seja, os dois elementos mais semelhantes. Eles serão a entrada na matriz com o menor valor.

2. Reduza o número de agrupamentos em um, transformando o agrupamento q na fusão de p e q. Atualize matriz de similaridade, removendo a linha e a coluna referentes a p e calculando as novas distâncias para q.

3. Armazene que nesse passo os agrupamentos p e q foram fundidos e qual era a distância entre eles antes da operação.

Page 20: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos - Algoritmos hierárquicos aglomerativos

B A C D E

d1

d2

d3

d4

Page 21: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos - Algoritmos hierárquicos aglomerativos

Formas de calcular as distâncias entre dois agrupamentos– Centróide– Médias das distâncias– Single Linkage: d(A, B) – Complete Linkage: d(A, B)

BjAijid ,:),(min BjAijid ,:),(max

Page 22: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Análise de Agrupamentos – Algoritmo k-Médias (k-means)

Número k de agrupamentos é pré-definido Algoritmo:

1. Escolha k objetos e crie uma partição com cada um deles

2. Insira cada objeto que ainda não está em nenhuma partição à partição da qual ele está menos distante.

3. Calcule a distância de cada objeto a cada uma das partições. Se a partição mais próxima não for a que ele está, mova-o para ela.

4. Repita o passo 3 até convergir, ou seja, não existir mais nenhum objeto que precise trocar de partição.

Page 23: Análise de padrões de uso em grades computacionais oportunistas Danilo M. R. Conde

Implementação Atual do LUPA

A única informação coletada é a utilização de CPU, a cada 5 minutos

Usando intervalos de 48 horas Atualmente não utiliza análise de agrupamentos Infra-estrutura já está pronta, falta adicionar os

algoritmos mais sofisticados Questões abertas:

– Comportamento do sistema quando não possui dados para identificar o padrão atual

– Quando devem ser recalculados os padrões