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

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

Treinamento no GRADEp Serviço Executor ExecutorDemo.

Apresentações semelhantes


Apresentação em tema: "Treinamento no GRADEp Serviço Executor ExecutorDemo."— Transcrição da apresentação:

1 Treinamento no GRADEp Serviço Executor ExecutorDemo

2 Slide 2 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Autoria Autora Ingrid Oliveira de Nunes Versão (número, data, autor) V1, junho de 2005 V2, 03 de agosto de 2005, Geyer

3 Slide 3 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Sumário da Apresentação Sumário Visão Geral Activator Interfaces Migrable SchedulingHeuristic ExecutorDemo classe Walker classe WalkerActivator

4 Slide 4 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Visão Geral define métodos para: disparar e terminar aplicações criar e migrar objetos (OXes) ligar heurísticas por aplicação que irão guiar a seleção de host tanto na instanciação como na migração remotas dos objetos noção de um Activator por objeto instanciação através do Design Pattern Strategy

5 Slide 5 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Activator responsável por: conectar o objeto ao seu ambiente de execução carregar e inicializar qualquer outro recurso extra antes do objeto iniciar sua execução especificado quando o OX é instanciado através do método createObject() ligado ao objeto – carregado com ele mesmo que haja migração caso seja omitido, o sistema procurará um Activator que sirva para o objeto

6 Slide 6 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Interface Interface do Executor métodos de instância // Cria um objeto na aplicação que o invoca, invocando o construtor apropriado de acordo com a lista de parâmetros public ObjectId createObject(Class c,Object[] p,Activator a,Object hint); Parâmetros: c – classe a ser instanciada p – parâmetros a serem passados ao construtor a – Activator customizado do objeto hint – dica para guiar o processo de seleçao de host Retorno: identificador do objeto

7 Slide 7 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Interface Interface do Executor // Migra um OX existente entre dois nodos public void moveObject(ObjectId ox,Object placementHint); Parâmetros: ox – objeto a ser migrado placementHint – dica para onde o objeto será migrado

8 Slide 8 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Interface Interface do Executor // Desativa o objeto OX, armazenando seu estado e outras informações de gerenciamento no objeto MarshaledOX retornado // Necessário por exemplo antes da migração de um objeto public MarshaledOX deactivateObject(ObjectId ox); Parâmetros: ox – objeto a ser desativado Retorno: objeto com informações de estado do objeto desativado // Retorna a execução de um objeto desativado public void activateObject(MarshaledOX oxState); Parâmetros: oxState – objeto com informações de estado do objeto a ser ativado

9 Slide 9 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Interface Interface do Executor // Dispara a execução de uma aplicação descrita pelo documento com o descritor de disparo public void startApplication(org.isam.util.xml.XmlElement launchingDesc) throws MalformedAppLaunchingDescriptorException; Parâmetros: lauchingDesc – documento com o descritor de disparo da aplicação // Faz a aplicação abortar sua execução, parando todas as suas threads public void exitApplication(); // Retorna a aplicação cuja thread chamadora pertence public ApplicationId currentApplication(); Retorno: identificador da aplicação

10 Slide 10 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Interface Interface do Executor // Executa a ação fornecida na aplicação, esperando seu término para retornar public void runAction(ApplicationId app,Runnable action); Parâmetros: app – aplicação onde a ação será executada action – ação a ser executada // Seta uma heurística de agendamento por aplicação. Este método está deprecated public void setHeuristic(SchedulingHeuristic sh); Parâmetros: sh – a heurística de agendamento

11 Slide 11 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor Interface – SchedulingHeuristic interface definida dentro da interface Executor liga as heurísticas de agendamento à operação do Executor define os métodos: public HostId chooseCreationHost(String cls,Object[] params,Object hint,Vector toAvoid); public HostId chooseMigrationHost(ObjectId o,Object hint,Vector toAvoid); Parâmetros: cls – classe a ser instanciada o – objeto a ser migrado p – parâmetros a serem passados ao construtor hint – dica para guiar o processo de seleçao de host toAvoid – lista de hosts a evitar Retorno: identificador do host escolhido

12 Slide 12 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor ExecutorDemo exemplo de uma aplicação do serviço Executor no GRADEp local: /isam/isam-apps/executordemo/ arquivos: ExecutorDemo.java fonte da aplicação. executordemo.isam descritor de disparo da aplicação em formato XML do ISAM.

13 Slide 13 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor ExecutorDemo – classe Walker implementa as interfaces Runnable e Serializable opcionais ou dependentes do comportamento da aplicação atributos: String name – nome do objeto String where – localização do objeto int count – contador de passos da execução do objeto métodos run() – a cada 2 segundos, imprime a localização do objeto, enquanto a Thread não é interrompida setWhere(String where) – seta a localização do objeto

14 Slide 14 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor ExecutorDemo – classe WalkerActivator Ativador da classe Walker Ativação: public void activate (ObjectId oxID,Object obj,MarshaledOX extState); seta localização do objeto cria uma thread para o objeto inicia a execução da thread Desativação: public void deactivate (ObjectId oxID,Object obj,MarshaledOX oxState) throws InterruptedException; interrompe a thread espera término da thread

15 Slide 15 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor ExecutorDemo recebe como parâmetro três identificadores de Host (HostId) cria instância do serviço Executor: Executor executor = (Executor) Exehda.getService(Executor.SERVICE_NAME); cria objeto no primeiro Host fornecido: ObjectId walkerID = executor.createObject( Walker.class, //Classe a ser instanciada new Object[] { "Walker#0" }, //Argumentos new WalkerActivator(), //Ativator h1);//Host

16 Slide 16 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 Serviço Executor ExecutorDemo migra o objeto entre o segundo e o terceiro host indefinidamente: while (true) { sleep(10000); executor.moveObject(walkerID,h2); System.out.println("Moved to "+h2); sleep(10000); executor.moveObject(walkerID,h3); System.out.println("Moved to "+h3); } método sleep(long millis): faz a thread corrente parar sua execução durante os milisegundos fornecidos

17 Treinamento no GRADEp Serviço Executor ExecutorDemo


Carregar ppt "Treinamento no GRADEp Serviço Executor ExecutorDemo."

Apresentações semelhantes


Anúncios Google