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

Post on 22-Apr-2015

112 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

InteGrade

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

InteGrade – executando uma aplicação na grade

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

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

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)

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

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

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

Análise de Agrupamentos

Análise de Agrupamentos

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

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

Análise de Agrupamentos

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

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.

Análise de Agrupamentos - Algoritmos hierárquicos aglomerativos

B A C D E

d1

d2

d3

d4

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

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.

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

top related