grids: agentes, economia e workflow rodrigo paes [email protected] computação distribuída...

46
Grids: Agentes, Economia e Workflow Rodrigo Paes [email protected] Computação Distribuída Profª. Noemi Rodriguez

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Grids:Agentes, Economia e Workflow

Rodrigo [email protected]

Computação DistribuídaProfª. Noemi Rodriguez

Page 2: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Agenda

• PARTE I

– Agentes - Conceitos

– Agentes e Grid

• PARTE II

– Economia• Gerenciamento de recursos baseado em modelos econômicos

– Workflow• Exemplo em bioinformática

Page 3: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Agentes de Software

Introdução

Page 4: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Tendências

• Sistemas distribuídos

• Arquitetura aberta

• Sistemas extensíveis

• Utilização de ontologias – Web Semântica

Page 5: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Uma pergunta…

• Será que o paradigma e técnicas atuais de ES serão suficientes para endereçar a produção eficiente da próxima geração de sistemas de software?

Page 6: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Evolução dos Paradigmas de ES

Tempo

Abstrações determinadas pela arquitetura da máquina

Abstrações determinadas pelo domínio do problema

• Linguagens Assembler

• Abstração Funcional

• Programação Estruturada

• Orientação a Objetos

• Componentes

• ...

• Agentes de Software

Page 7: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

• Uma pergunta controversa– Não existe um consenso sobre o que é um agente

• Dois pontos de vista principais– Inteligência Artificial

• Um agente é pró-ativo, inteligente, e deve ser altamente interativo (P2P) em vez de participar de uma arquitetura cliente-servidor

– Engenharia de Software• Um agente é uma abstração para decompor o problema em

entidades que possuam um certo grau de autonomia e que sejam capazes de participar de interações complexas

O que são Agentes?

Page 8: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Exemplos de Agentes

• Agentes– Que buscam, negociam e montam pacotes de

viagens– Que buscam informações de interesse de

usuários na Internet– Agentes utilizados para fazer simulações

• Catástrofes, Jogos eletrônicos ...

– Agentes que representam usuários– Agentes que representam empresas em um

cenário B2B

Page 9: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Características de Agentes ES• Básicas

– Autonomia• Capacidade de agir sem intervenção externa

– Pró-atividade• Atuam não somente em resposta ao ambiente – são

orientados a objetivos

– Interatividade• Se comunicam com outros agentes e com o ambiente

– Adaptação• São capazes de modificar, em algum grau, o seu

comportamento devido à mudanças do ambiente e de outros agentes

Page 10: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Características de Agentes ES• Adicionais

– Aprendizado• São capazes de modificar o seu comportamento

baseados em sua experiência

– Racionalidade• São capazes de selecionar suas ações baseados

em seus objetivos

– Mobilidade• São capazes de se mover de um ambiente para

outro

Page 11: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Em resumo

• Entidade que possui– Estado encapsulado– Comportamento que manipula o estado– Chame isso de objeto

• Entidade– Estado encapsulado– Comportamento que manipula o estado– Capaz de ser distribuida– Orientada a objetivos– Possui autonomia– Chame isso de agente

Page 12: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Benefícios da abstração de Agentes

• Entidade Pró-Ativa

• Fraco acoplamento– Comunicação através de mensagens de alto

nível

• Flexibilidade de customização – individual de agentes– protocolos de comunicação– algoritmos de aprendizado

Page 13: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

O Estado da Arte

• Engenharia de sistemas multi-agentes em estado inicial

• Desenvolvimento ad-hoc• Falta de avaliação do impacto do uso do

paradigma multi-agente• Experimentação – Estudos de Caso• Desenvolvimento de uma ES para o paradigma

Page 14: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Agentes e Grids

Foster, Ian; Jennings, Nicholas; Kesselman, Carl; Brain Meets Brawn: Why Grid and Agents Need Each Other.

Page 15: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Contexo

• Sistemas abertos– Compostos por componentes independentes

…– … que cooperam para alcançar objetivos

individuais e coletivos

• Interesse crescente em ambas as comunidades (grid e agentes), mas sob perspectivas diferentes

Page 16: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Perspectivas

• Comunidade “Grid”– Infra-estrutura– Compartilhamento de recursos– Segurança– Robustez– Desempenho

• Comunidade “Agente”– Conceitos– Metodologias– Algoritmos para a resolução de problemas

(negociação, …)– Mecanismos para lidar com interações complexas

Page 17: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Problemas

• Grid– Interação e interoperabilidade rígida e inflexível

• Modelos de cooperação• Protocolos flexíveis• Padrões abertos que se baseam em tecnologias

independentes de LP– Web-services

» UDDI, WSDL , …– Linguagens de comunicação de alto nível

• Agentes– “Tipicamente” questões como escalabilidade,

robustez e segurança ficam em segundo plano

Page 18: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Entretanto …

• Os “Grids” estão buscando se tornar mais flexíveis

• E os “agentes” estão se tornando mais confiáveis e escaláveis– Engenharia de Software

• Em outras palavras, um está caminhando pro território do outro

Page 19: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Sistemas orientado a serviços robustos e flexíveis

• Serviços autônomos– Serviço

• “uma entidade que provê uma funcionalidade para um cliente através de troca de mensagens bem definidas”

– Grids• Estruturar as interações como Web-Services

– Agentes• Podem ser considerados como provedores de serviços

– Então, quando os serviços precisam de algum grau de autonomia, por que não, considerá-los como agentes?

• Ex.: Um serviço de acesso a uma camada de persistência– Onde eventualmente os dados serão replicados– O número de réplicas é determinado dinamicamente– Algoritmos de planejamento distribuído podem ser utilizados para

mapear as consultas para as réplicas– Pode existir a necessidade de negociar por recursos

Page 20: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Sistemas orientado a serviços robustos e flexíveis

• Negociação e contratos de prestação de serviços– Um provedor de serviços, pode estar indisponível ou

não ter interesse em fornecer o serviço (autonomia de decisão)

– Se é necessário um comportamento mais previsível• Compromissos adquiridos (contratos)

– Qualidade de serviço

– Mas como obter uma qualidade de serviço que satisfaça as necessidades do usuário?

• Custo, desempenho, precisão• É necessário algum nível de negociação

Page 21: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Sistemas orientado a serviços robustos e flexíveis

• Negociação e contratos de prestação de serviços– Pode envolver aspectos tais como:

• Carga de processamento do processador• Reputação do cliente• Tempo para a entrega dos resultados• Tempo• …

Page 22: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Conclusões

• Os autores sugerem alguns tópicos de pesquisa em conjunta– Arquiteturas baseadas em serviços– Estabelecimento de políticas de confiança– Gerenciamento da execução do sistema– Negociação– Composição de serviços– Organizações virtuais– Integração semântica– …

Page 23: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Minha opinião

• Discussão muito abstrata

• Position paper

• Boa percepção– Grid Agentes– Agentes Grid

• Visão IA de agentes

Page 24: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

PARTE II

Exemplos: Economia e Bioinformática

Page 25: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Economia

Buyya, Rajkumar; Abramson, David; Giddy, Jonathan; Stockinger, Heinz; Economic models for resource management and scheduling in Grid Computing. Concurrency and Computation: practice and experience, 2002; 14: 1507--1542

Page 26: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Motivação

• Os donos dos recursos possuem políticas de acesso, uso e custo diferentes

• A carga e a disponibilidade dos recursos (e provedores) varia no tempo

• Mesmo para sistemas de larga-escala, abordagens tradicionais utilizam:– Abordagens centralizadas que precisam do

estado global para tomar decisão– Assumem o uso de políticas comuns

Page 27: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Solução apresentada

• Utilização de modelos econômicos para alocação de recursos– Descentralização– Heterogeneidade

• De políticas, atributos de negociação ….

– Permite aos usuários negociarem um preço particular baseados na demanda, prioridade e orçamento disponível

– Preço pode ser substituído por cotas ou outra abstração qualquer

Page 28: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Mercado de “Commodity” (Produto)

• Provedores de serviço dão o preço– Geralmente baseados no custo de produção

adicionado de uma margem de lucro

. . .consumer_id // this can be same Grid-IDpeak_time_price // 9am-6pm: office hours on working dayslunch_time_price // (12.30-2pm)offpeak_time_price // (6pm-9am),discount_when_lightly_loaded // if load is less than 50% at any timeraise_price_high_demand // % raise price if average load is above 50%price_holiday_time // during holidays and week ends!. . .

Page 29: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

“Posted price” (Promoções)

• Similar ao “commodity”, mas permite o uso de ofertas– 2mg grátis– 1 hora R$3,00– 2 horas R$5,00– …

Page 30: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Bargaining (Negociação)

• Nos modelos anteriores os preços são fixos

• Mas os clientes e os provedores podem querer negociar até que cheguem a um acordo ou desistam de negociar.

• Negociação é direcionada aos requisitos dos usuário– Deadline– Preço– …

Page 31: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Tender/Contract-Net (Licitação)

• Cliente anuncia os requisitos aos provedores

• Recebe as propostas

• Avalia e escolhe a mais apropriada

• Inicia o uso do serviço com o provedor escolhido

Page 32: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Leilão

• Provedores anunciam seus serviços

• Clientes fazem ofertas (e podem ver as ofertas dos outros clientes)

• O serviço a prestado a melhor oferta

Page 33: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Bid-Based Proportional Resource Sharing

• A porcentagem de recurso alocado a um usuário é proporcional ao valor da sua oferta em relação as outras ofertas

• Exemplo:– 2 usuários com requisitos similares– O primeiro pretende gastar 2 tokens– O segundo 4– O primeiro fica com 1/3 e o segundo com 2/3

Page 34: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Community/ coalition/bartering/share holders

• Ambiente cooperativo

• Quem contribui mais ganha mais direito aos recursos

• Presente em muitas comunidades de compartilhamento de arquivos p2p

Page 35: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Nimrod-G: Grid Resource Broker

Page 36: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Experimento: Scheduling

• Programa com uso intensivo da CPU

#Parameters Declarationparameter angle_degree integer range from 1 to 200 step 1;parameter time_base_value integer default 10;#Task Definitiontask main

#Copy necessary executables depending on node typecopy calc.$OS node:calc#Executable program with parameter values on remote nodenode:execute ./calc $angle_degree $time_base_value#Copy results file to use home node with jobname as extensioncopy node:output ./output.$jobname

endtask

Page 37: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Experimento: Scheduling

• 2 estratégias (requisitos do usuário)– Otimizar para tempo de execução

• Produz resultados o mais cedo possíveis, antes de um deadline e tentando ficar dentro do orçamento (custos)

– Otimizar para minimizar custos• Tenta produzir os resultados antes do deadline,

mas o foco é a redução de custos

Page 38: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Experimento: Scheduling

Page 39: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Experimento: Scheduling

• Resultados– Parâmetros: 4 horas de deadline

– Otimizar para tempo de execução• 2h e 30 min.• Custo: 199 968 G$

– Otimizar para minimizar custos• 4h e 25 min.• Custo: 141 869 G$

Page 40: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Conclusões (pessoais)

• Permite que cada lugar especifique o seu próprio modelo de custo.

• O modelo pode ser baseado em alguns dos modelos apresentados

• Apresenta comportamento flexível, do ponto de vista do usuário– Negociar de acordo com os atributos mais importantes

• Modelo comercial justo e viável para o uso comercial de grids

Page 41: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Workflow

Moreau, Luc et al. On the use of agents in a BioInformatics Grid. International Symposium on cluster computing and the Grid. 2003

Page 42: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Contexto

• Projeto em “e-Science” – MyGrid

• Auxiliam biólogos e pesquisadores em bioinformática a realizar experimentos in silico” baseados em workflow

Page 43: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Agentes

• Agente do usuário– Permite representar o usuário no sistema.

• Recebimento de notificações de execução

• Uso de linguagens de comunicação de agentes (ACL)

• Negociação– Não ficou claro para mim como isto é utilizado.

Page 44: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

MyGrid – Arquitetura Orientada a Serviços

• Workflow– Dada a especificação de um workflow, tem um

componente capaz de executa-la

• Interação do usuário– Usuário pode interagir com o executor de workflow

• Suspendendo a execução, recuperando a execução, observando, analisando logs ...

– Agentes representam usuários para gerenciar notificações

Page 45: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

MyGrid – Arquitetura Orientada a Serviços

• Ontologias– Informações sobre os usuários e sobre o

workflow

• Segurança e tolerância a falhas– Controle de acesso baseado em papéis– Computações persistentes– …

Page 46: Grids: Agentes, Economia e Workflow Rodrigo Paes rbp@les.inf.puc-rio.br Computação Distribuída Profª. Noemi Rodriguez

Exemplo de Workflow

<serviceProvider name="reformatting_seqret“ type="ebins:seqret_derived"><locator type="static“ service="url of file.wsdl"/>

</serviceProvider>

<activity name="Run_activity1"><performedBy serviceProvider="reformatting_seqret"/><implement>

<export><target portType="ebins:reformatting__seqret"operation="run"/>

</export></implement>

</activity><dataLink source="Create_activity1“ target="Run_activity1">

<map sourceMessage="createEmptyJobResponse“ targetMessage="runRequest"><partMap source="return" target="in0"/>

</map></dataLink>