Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Grids: Agentes, Economia e Workflow
Rodrigo Paes Computação Distribuída Profª. Noemi Rodriguez
2
Agenda PARTE I PARTE II Agentes - Conceitos Agentes e Grid Economia
Gerenciamento de recursos baseado em modelos econômicos Workflow Exemplo em bioinformática
3
Agentes de Software Introdução
4
Tendências Sistemas distribuídos Arquitetura aberta
Sistemas extensíveis Utilização de ontologias – Web Semântica
5
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?
6
Evolução dos Paradigmas de ES
Linguagens Assembler Abstração Funcional Programação Estruturada Orientação a Objetos Componentes ... Agentes de Software Abstrações determinadas pela arquitetura da máquina Tempo Abstrações determinadas pelo domínio do problema
7
O que são Agentes? 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
8
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
9
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
10
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
11
Em resumo Entidade que possui Entidade Estado encapsulado
Comportamento que manipula o estado Chame isso de objeto Entidade Capaz de ser distribuida Orientada a objetivos Possui autonomia Chame isso de agente
12
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
13
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
14
Agentes e Grids Foster, Ian; Jennings, Nicholas; Kesselman, Carl; Brain Meets Brawn: Why Grid and Agents Need Each Other.
15
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
16
Perspectivas Comunidade “Grid” Comunidade “Agente” 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
17
Problemas Grid Agentes
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
18
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
19
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
20
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
21
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 …
22
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 …
23
Minha opinião Discussão muito abstrata Position paper Boa percepção
Grid Agentes Agentes Grid Visão IA de agentes
24
Exemplos: Economia e Bioinformática
PARTE II Exemplos: Economia e Bioinformática
25
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:
26
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
27
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
28
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-ID peak_time_price // 9am-6pm: office hours on working days lunch_time_price // ( pm) offpeak_time_price // (6pm-9am), discount_when_lightly_loaded // if load is less than 50% at any time raise_price_high_demand // % raise price if average load is above 50% price_holiday_time // during holidays and week ends!
29
“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 …
30
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 …
31
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
32
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
33
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
34
Community/ coalition/bartering/share holders
Ambiente cooperativo Quem contribui mais ganha mais direito aos recursos Presente em muitas comunidades de compartilhamento de arquivos p2p
35
Nimrod-G: Grid Resource Broker
36
Experimento: Scheduling
Programa com uso intensivo da CPU #Parameters Declaration parameter angle_degree integer range from 1 to 200 step 1; parameter time_base_value integer default 10; #Task Definition task main #Copy necessary executables depending on node type copy calc.$OS node:calc #Executable program with parameter values on remote node node:execute ./calc $angle_degree $time_base_value #Copy results file to use home node with jobname as extension copy node:output ./output.$jobname endtask
37
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
38
Experimento: Scheduling
39
Experimento: Scheduling
Resultados Parâmetros: 4 horas de deadline Otimizar para tempo de execução 2h e 30 min. Custo: G$ Otimizar para minimizar custos 4h e 25 min. Custo: G$
40
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
41
Workflow Moreau, Luc et al. On the use of agents in a BioInformatics Grid. International Symposium on cluster computing and the Grid. 2003
42
Contexto Projeto em “e-Science” – MyGrid
Auxiliam biólogos e pesquisadores em bioinformática a realizar experimentos in silico” baseados em workflow In-vivo – Experimentos realizados dentro de organismos vivos In-vitro – Experimentos realizados em ambientes artificiais In-silico – Experimentos realizados em computador (in silicon) silício
43
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.
44
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
45
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 …
46
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>
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.