Grids: Agentes, Economia e Workflow

Slides:



Advertisements
Apresentações semelhantes
Sistemas Multiagentes
Advertisements

Sistemas Distribuídos
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Sistemas operacionais
Engenharia de Software
Sistemas Distribuídos
Inteligência Artificial Alex F. V. Machado. Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston.
Um Modelo de Reputação Baseado em Testemunhos
Sistemas Multi-Agentes
Viviane Torres da Silva
Os Sistemas Multi-agente Viviane Torres da Silva
Modelos Baseados em Agentes
Metodologias Orientadas a Agentes
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Desenvolvimento e Avaliação de Algoritmos.
Sistemas Operacionais Planejamento de Experimento
Avaliação de Sistemas Operacionais
Grid Anywhere Um Middleware Extensível para Grades Computacionais
Avaliação de Desempenho Introdução Aula 1 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas.
SMA: ORGANIZAÇÃO.
QoS para Realidade Virtual
Processo Desenvolvimento de Software Tradicional
DAS Sistemas Distribuídos para Automação Industrial
Questões Resolvidas - A.C.-10/08/05
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
1 Felipe L. SeverinoPDP Enhancing Grids for Massively Multiplayer Online Computer Games Felipe L. Severino Programação com Objetos Distribuídos paralela.
Prefeitura de Santo André
Agentes inteligentes e sistemas multiagentes
Maria Tereza Nagel Junho 2004 Grids de Agentes Processadores para Gerência de Redes de Computadores e Telecomunicações Orientador: Prof. Dr. Carlos Becker.
1 Programa de Engenharia Elétrica - PEE/COPPE/UFRJ Universidade Federal do Rio de Janeiro Extending OpenFlow for Unified Management and Control of Cloud.
Rodrigo de Souza Couto Redes de Computadores II
Linguagem de Programação IV
Sistemas Distribuídos
Tópicos de Sistemas de Informação A
REDES DE COMPUTADORES Prof. Deivson
Sistemas Distribuídos
Metodologias para construção de SMA
Roteiro Agentes Trabalhando Juntos Coordenação em SMA
Gerenciamento de Redes Utilizando Agentes Móveis
GRADE Conceito Histórico –NASSA’s Information Power Grid (Primeira) “A” GRADE e “uma” GRADE; GRID Middleware –Exs: Condor, GLOBUS e Unicore;
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
3 – Agentes e 4 – Multiagentes
Sistemas Distribuídos
Sistemas Distribuídos Estrutura de Redes
BD Distribuído Conceitos Iniciais.
Gestão por Competências
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Sistemas operacionais
RUP - Cap. 4 – Processo Centrado na Arquitetura
Engenharia de Groupware: Desenvolvimento de Aplicações Colaborativas. Síntese FUKC, H. RAPOSO,A. B. GEROSA, M. A. Artigo apresentado em mini-curso do Congresso.
Integração de Ferramentas CASE
Sistemas Distribuídos
Methodologies for the Design of Service- Based Systems Barbara Pernici João Victor Guimarães de Lemos Professor: Jaelson Castro Outubro/2010.
Condor Services for the Global Grid: Interoperability between Condor and OGSA Clovis Chapman et al Proceedings of the 2004 UK e-Science All Hands.
Protocolos de Cooperação Contract Net Systems Partial Global Planning Negociações.
Scalable Grid Application Scheduling via Decoupled Resource Selection and Scheduling VLADIMIR GUERREIRO Publicado em: IEEE International Symposium, 2006.
III – Aplicações – Serviços Virtuais – Web Services Escola Politécnica da USP MBA EPUSP em Gestão e Engenharia do Produto EP018 O Produto Internet e suas.
Sobre a Prime Control A Prime Control é um Centro de Excelência em Qualidade de Software. Nossa missão é desenvolver, aperfeiçoar e realizar serviços.
Sistemas Distribuídos Nadilma Nunes Aula Inicial – Apresentação da disciplina.
Sistemas Distribuídos
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
CIn.ufpe.br Modelos de Desempenho para Aplicações de Sincronização de dados em Dispositivos Móveis Aluno: Carlos Alexandre Silva de Melo Orientador: Paulo.
Qualidade de Serviço Parametrização de serviços –por causa da heterogeneidade de requisitos vinda de diferentes aplicações distribuídas –flexibilidade.
PROJETO SPICE ISO Integrantes: Erickson Balzaneli
PROPOSTA DE METODOLOGIA PARA UMA MATRIZ ENERGÉTICA REGIONAL.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Transcrição da apresentação:

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

Agenda PARTE I PARTE II Agentes - Conceitos Agentes e Grid Economia Gerenciamento de recursos baseado em modelos econômicos Workflow Exemplo em bioinformática

Agentes de Software Introdução

Tendências Sistemas distribuídos Arquitetura aberta Sistemas extensíveis Utilização de ontologias – Web Semântica

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?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 …

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 …

Minha opinião Discussão muito abstrata Position paper Boa percepção Grid  Agentes Agentes  Grid Visão IA de agentes

Exemplos: Economia e Bioinformática PARTE II Exemplos: Economia e Bioinformática

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

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

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

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 // (12.30-2pm) 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!

“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 …

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 …

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

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

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

Community/ coalition/bartering/share holders Ambiente cooperativo Quem contribui mais ganha mais direito aos recursos Presente em muitas comunidades de compartilhamento de arquivos p2p

Nimrod-G: Grid Resource Broker

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

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

Experimento: Scheduling

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$

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

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

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 http://www.worldwidewords.org/weirdwords/ww-ins1.htm

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.

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

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 …

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>