A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerenciando dinamicamente a execução de tarefas com uma linguagem interpretada {anolan,

Apresentações semelhantes


Apresentação em tema: "Gerenciando dinamicamente a execução de tarefas com uma linguagem interpretada {anolan,"— Transcrição da apresentação:

1 Gerenciando dinamicamente a execução de tarefas com uma linguagem interpretada {anolan,

2 2 de 20 Motivação Desenvolver um mecanismo para a alocação de recursos para trabalhos computacionais submetidos através da grade. Endereçamento Virtual (para clusters com endereçamento virtual, sem Globus, permitir a submissão de jobs usando um mecanismo simples e pouco pesado)

3 3 de 20 Componentes do Globus GRAM Globus Security Infrastructure Job Manager GRAM client API calls to request resource allocation and process creation. MDS client API calls to locate resources Query current status of resource Create RSL Library Parse Request Allocate & create processes Process Monitor & control Site boundary GRAM ClientMDS Gatekeeper GRAM Reporter Local Resource Manager Update MDS with resource state information Authentication

4 4 de 20 Escalonadores Locais LSF (Load Sharing Facility) SGE (Sun Grid Engine) OpenPBS (Open Portable Batch System) Condor

5 5 de 20 Características comuns Oferecem checkpointing e migração de processos Balanceamento dinâmico de carga (fundamentalmente por migração de processos) Autenticação e autorização Daemon fault recovery Staging

6 6 de 20 Requerimentos de adaptabilidade no Grid Barreiras administrativas Considerável variabilidade no uso dos recursos Aplicações de longa vida demandam atuar durante a execução (adaptação dinâmica/checkpointing?) O balanceamento da carga e a tolerância a falhas são problemas fundamentais em ambientes Grid.

7 7 de 20 Linguagens interpretadas Interatividade Adaptação: as funções podem ser acrescentadas ou redefinidas dinamicamente Portabilidade Flexibilidade

8 8 de 20 ALua Mecanismo de comunicação baseado em eventos para programação paralela e distribuída em Lua. Aplicações ALua são compostas por vários processos rodando em diferentes máquinas que se comunicam através de mensagens As mensagens são chunks de código que será executado pelo receptor. O código pode estar escrito em Lua ou C. Concorrência –Single thread. As mensagens são executadas seqüencialmente em um loop de eventos.

9 9 de 20 Globus/ALua host ALua Host Tarefa RSL HostCarga n00.par0 n03.par0.2 n01.par0.7 n02.par0.77 n00n01 n02 n03

10 10 de 20 Grid submission globusrun -r server.par.inf.puc- rio.br:/jobmanager-alua '&(executable=ls) (count=2)'

11 11 de 20 Escalonador Local submit.lua Job Queue Task Manager GRAM Job dispatcher Monitoring information Job description Allocate and create processes Control, status, cancel Processor Resource alocation Job scheduler control.lua Job status/ cancel Job Request (RSL) Callback Client Job status/ cancel Status/ cancel request Job ID Status /cancel request Resource Manager Resource requirements Scheduling policies ALua Local Resource Manager Monitor Alua Daemon Monitor Alua Daemon Monitor Alua Daemon Processor Job ID

12 12 de 20 Notification engine (Lua Monitor) Sistema de monitoração extensivel escrito em Lua Baseado em –Propriedades: parâmetros a serem observados, –Aspectos: permite especificar determinado comportamento da propriedade, –Observadores: especifica as propriedades/aspectos de interesse e um callback para receber notificações da ocorrência do evento.

13 13 de 20 Lua Monitor Exemplo: LuaMonitor:attachEventObserver({ notifyEvent=function(self, event) alua.send(taskManager,[[alarm()]])}, "CPUIncrease","$CPU:Increasing")

14 14 de 20 Grid submission globusrun -r server.par.inf.puc- rio.br:/jobmanager-alua '&(executable=ls) (count=1)' globus_gram_client_callback_allow successful lua submit.lua exec 1 ls GRAM Job submission successful GLOBUS_GRAM_PROTOCOL_JOB_STA TE_ PENDING

15 15 de 20 Grid submission globusrun -r server.par:/jobmanager-alua '&(executable=ver00) (count=1) (jobType="mpi") (arguments=" ")' globus_gram_client_callback_allow successful GRAM Job submission successful GLOBUS_GRAM_PROTOCOL_JOB_STATE_P ENDING GLOBUS_GRAM_PROTOCOL_JOB_STATE_A CTIVE GLOBUS_GRAM_PROTOCOL_JOB_STATE_D ONE

16 16 de 20 Problemas Segurança –Execução no loop de eventos não tem autenticação –Jobs executados com os direitos do Resource Manager Escalabilidade –Interconexão dos daemons Desempenho –Linguagem interpretada (troca por mais flexibilidade). (Precisa avaliação quantitativa das perdas reais no modelo de programação dual!)

17 17 de 20 Resultados experimentais

18 18 de 20 Conclusões e Trabalhos futuros Console Permitir comunicações entre processos executando em diferentes sites Escalonamento global (Meta escalonamento) Testar com aplicações reais

19 19 de 20 Mais informações Managing jobs with an interpreted language for dynamic adaptation, MGC2005

20 20 de 20 Fim


Carregar ppt "Gerenciando dinamicamente a execução de tarefas com uma linguagem interpretada {anolan,"

Apresentações semelhantes


Anúncios Google