Anais WSCAD 2005 Submissão e Monitoração Utilizando ... · Laboratório de Pesquisa em Sistemas...
Transcript of Anais WSCAD 2005 Submissão e Monitoração Utilizando ... · Laboratório de Pesquisa em Sistemas...
Anais WSCAD 2005
Submissão e Monitoração Utilizando Dispositivos Móveis para a Abordagem de Gerenciamento de Workflow em Ambientes de Grades
V. C. M. Borges e M. A. R. Dantas Universidade Federal de Santa Catarina
Departamento de Informática e Estatística Laboratório de Pesquisa em Sistemas Distribuídos
{vcunha,[email protected]
Resumo
Grades computacionais são ambientes geograficamente distribuídos voltados ao compartilhamento em larga escala de recursos e serviços que podem fornecer alto desempenho na execução de aplicações. Neste contexto, nossa proposta é a utilização de dispositivos móveis para a submissão e monitoração de tarefas, visando um gerenciamento de workjiow nos ambientes grades. Em outras palavras, neste artigo apresentamos um protótipo como trabalho de pesquisa cujo objetivo é adicionar a um middleware de grade facilidades de gerenciamento de workjiow e antologias empregando dispositivos móveis. Atualmente inúmeras pesquisas são realizadas para melhorar as propostas existentes na área de midd/ewares de grade computacional. Entretanto uma carência de aplicativos tem sido observada em dispositivos móveis com o objetivo de submissão e monitoração de tarefas. Com protótipo ora proposto esperamos que os usuários de dispositivos móveis possam submeter e monitorar a execução de suas tarefas de forma organizada e coordenada utilizando a abordagem workjiow.
1. Introdução
Grades computacionais consistem de ambientes geograficamente distribuídos, heterogêneos e dinâmicos voltados ao compartilhamento em larga escala de recursos e serviços que podem fornecer alto desempenho na execução de aplicações em vários domínios científicos (exemplos são a bioinformática, a química computacional, a astronomia e a climatologia) e também comerciais [8].
Devido sua mobilidade alta, dispositivos móveis estão ganhando popularidade e seu número está crescendo rapidamente. Um ambiente de resolução de problemas baseado em grids pode disponibilizar aos usuários de dispositivos móveis uma forma mais robusta para resolverem pro-
213
blemas que demandem uma grande quantidade de recursos [20, 15].
O Globus Toolkit é um pacote de software para implementar ambientes de grade computacional, permitindo entidades compartilhar poder computacional, bancos de dados, e outras ferramentas através de limites geográficos, corporativos e institucionais sem sacrificar autonomia local [2]. Atualmente inúmeras pesquisas [19, 13, 16, 11 , 24, 25] são realizadas para melhorar as propostas existentes na área de middleware de grade computacional, utilizando Globus Toolkit.
Essas pesquisas têm adicionado novas ferramentas e protocolos para o compartilhamento, monitoramento, descobrimento, segurança e gerenciamento de recursos, como também ambientes para resolução de problemas. Entretanto uma carência de aplicativos tem sido observada em dispositivos móveis com objetivo de submeter e monitorar a execução de tarefas no ambiente grade através de interface padronizada.
Alguns pesquisadores [11, 24, 25], desenvolvedores de sistema e usuário de aplicação notam a necessidade de uma forma para expressar, combinar, organizar a estrutura de tarefas multi-unidades dentro do contexto grade computacional [ 16]. Para estes propósitos, o conceito de workjiow surgiu em grade computacional descrevendo padrões de fluxo de dados e controle entre recursos grade, incluindo atores (humanos e máquinas) participando em interações [li].
O objetivo da presente pesquisa tem como característica diferencial adicionar facilidades de gerenciamento de workjiow e ontologias para os dispositivos móveis, permitindo a um usuário submeter e monitorar remotamente a execução de tarefas no ambiente de grade computacional através de um portal voltado para dispositivos móveis.
Foi desenvolvido um protótipo que disponibiliza uma forma organizada e coordenada para a execução das tarefas no ambiente de grade através da abordagem wor/...flow e empregando ontologia para descrever semanticamente o workjiow a partir do portal. Este artigo é organizado da seguinte
Anais WSCAD 2005
forma: seção 2 cita trabalhos relacionados com a proposta, seção 3 descreve detalhes do protótipo e seção 4 apresentase a conclusão da proposta.
2. Trabalhos Relacionados
A facilidade de uso da computação móvel para submissão e controle de tarefas em ambientes de grade computacional permite prover para os usuários de dispositivos móveis o acesso ao processamento existente nos ambientes grade. Em [12] existe uma proposta de um protótipo, cuja arquitetura distribuída tem como característica ser baseada em agentes para análise de dados físicos de alta velocidade em dispositivos móveis. Um portal denominado JCiarens foi desenvolvido com a finalidade de permitir o acesso aos dados que estão sendo gerados pela grade computacional e analisá-los em dispositivos móveis
Um problema existente na utilização de grades computacionais, tanto para usuários de dispositivos móveis como também para usuários de máquinas desktops, é a organização da execução de alguma tarefa no ambiente grade, visto que esta tarefa pode conter diversas interações entre programas e banco de dados armazenados em diferentes lugares. Tudo isso fazendo parte de uma mesma tarefa que determina desta forma um fluxo de trabalho, onde a tarefa é executada em etapas chamadas também de atividades.
Para ajudar na organização e coordenação de todas estas atividades envolvidas em uma execução de uma tarefa foi empregado o conceito de workjlow no ambiente de grade computacional [13, 11, 24, 25, 4). Segundo [1), workjlow pode ser definido como uma automação de um processo negociável, como um todo ou parte, durante o qual documentos, informações ou tarefas são passadas de um participante para um outro para determinada ação, de acordo com um conjunto de regras de procedimento estabelecidas.
A abordagem wor/..jlow é largamente utilizada em gerenciamento de processos, ela está também crescendo para ser um importante método de relacionamento entre cooperação, composição e conversação de serviços em ambientes grades [13, 11, 24, 25). Um sistema de gerenciamento workfiow define, cria e gerencia a execução de workjiows através do uso de softwares, executando em um ou mais mecanismos workfiow, na qual são capazes de interpretar a definição de processos, interagirem com os participantes do workfiow e invocar o uso de aplicações e ferramentas [22).
Muitas linguagens, ferramentas e padrões são propostos paro especificar workjiow, tais como BPEL4WS, GSFL, Condor DAGman, XPDL, BPML, PNML e UNICORE e XLANG [ 11]. A maioria das linguagens prioriza a descrição do relacionamento e interação entre serviços. Sendo assim, [22) propõe um método para construir um sistema de gerenciamento distribuído baseado em serviços em ambiente grade. Este sistema de gerenciamento workflow base-
ado em serviço abstrai e envolve os serviços grade em alto nível, compondo estes serviços dentro de uma federação.
A interoperabilidade, reuso e compartilhamento de conhecimento é importante em ambientes de grades computacionais, onde diferentes pessoas necessitam acessar, prover e trocar dados. Para obtenção dessas características, ontologias são usadas para desenvolvimento de modelagens que expressem o conhecimento possuído pelo domínio, formando uma camada de comunicação única e comum a todos os usuários. Segundo [10, 7, 9], ontologia é definida como uma especificação formal e explícita de uma conceituação compartilhada.
214
O emprego de uma ontologia descrevendo os recursos (máquinas, bancos de dados e programas) utilizados em cada atividade que compõem um determinado workfiow e qual problema específico o mesmo pode resolver, fornece conhecimento ao usuário para que ele escolha um workfiow que pode melhor resolver seu problema. Semelhante como mostrado em [23), onde é discutida a semântica de processo e necessária descrição de caso para o gerenciamento de workfiow em ambientes grade usado para aplicações cientificas e a estrutura de ontologias básicas suportando a execução de tarefas.
Em [4) é proposta uma arquitetura de programas que permitem pesquisadores biomédicos encontrarem e criarem módulos de programas de bioinformática para resolver problemas relativos à área sem a necessidade de conhecer detalhes de desenvolvimento dos programas e banco de dados contidos no grade. Empregam-se abordagens como: ontologias para descrever a semântica de origem de dados, componentes de softwares específicos ao domínio e gerenciamento de workjiow para especificar em modo abstrato aplicações complexas e distribuídas.
Em [ 14) é proposta uma ontologia com um modelo de vocabulário, utilizada para oferecer representação escalável e fácil navegação de informação de contexto, agindo em interface de usuário, especialmente interface de usuário das Series 60 de telefone móvel. Esta ontologia é utilizada na ferramenta Context Studio, que é uma ferramenta de personalização de aplicação semi-automatizada para adaptação baseada em contexto. O Context Studio é desenvolvido especialmente para usuários que possuem telas pequenas, como usuários de dispositivos móveis.
3. Protótipo
Nesta seção apresentamos os seguintes componentes do protótipo: Portal e Gerenciador Workftow. São descritas as funcionalidades de cada serviço oferecido por ambos componentes e algumas tecnologias que serão utilizadas para construção de cada componente do protótipo.
Anais WSCAD 2005
3.1. Portal
Este componente pennite os usuários de dispositivos móveis acessarem a ontologia de descrição de workjlows, através de um portal. A utilização de portal juntamente com ontologia fornece um modelo padronizado e amigável de acesso às informações sobre os vários workjlows definidos para execução no ambiente grade [5]. O usuário de dispositivo móvel navegará na ontologia e selecionará o mais adequado workjlow que melhor resolve seu problema. Em seguida o pedido de submissão do workflow escolhido é encaminhado ao componente Gerenciador Workjlow, assim como mostrado na figura 1.
Logo em seguida uma instância de monitoramento chamada Monitor é criada para acompanhar a execução do workjlow, esta instância de monitoramento recebe um Identificador do workjlow que está sendo executado, com este identificador ele acessará as informações dinâmicas da execução do workjlow requisitado pelo usuário, estas informações estão armazenadas em um repositório no componente Gerenciador Workflow.
3.2. Gerenciador Workftow
O componente Gerenciador Workflow é baseado em serviços, semelhante ao apresentado em [22], dentre os quais são abordados: o serviço Controlador, o serviço de Instância e o serviço Mecanismo. Cada workjlow adrnininstrado por este componente tem seu próprio serviço Mecanismo, serviço Instância e um Identificador único. A comunicação entre este componente e o middleware grade Globus será feita utilizando a tecnologia Java Commodity Grid Kit [21].
Em seguida são descritos os serviços disponibilizados por este componente, como ilustrado na figura 1:
• Controlador: recebe o pedido de submissão, retoma o Identificador do workjlow que está sendo executado para o Monitor, cria a cada pedido de submissão recebido os serviços Mecanismo e Instância referente ao workjlow submetido. Depois que o worl..jiow tenninar sua execução, o Controlador vai destruir os serviços Mecanismo e Instância respectivos ao workjlow que teve sua execução finalizada;
• Mecanismo: submete e controla a execução de todas as atividades que fazem parte do workjlow no ambiente grade. A submissão dependerá da disponibilidade dos nodos pertencente ao grade e restrições de execução, por exemplo, dados não podem ser movidos de um local para outro. Este serviço interage com o componente do g lobus chamado Globus Resource Allocation Manager (GRAM) [2].
• Instância: responsável por coletar as informações de execução de cada atividade que faz parte do workjlow
215
e armazená-las no repositório de metadados, exemplos destas informações são: o status da atividade atual e a atividade que se encontra a execução do workjlow. Este serviço interage com o componente do globus chamado Monitoring and Discovery Service (MDS) [2].
Modelo
lêS, ~
I
Figura 1. Modelo do Protótipo
O workjlow será modelado com base em redes de Petri, que permite a definição de workjlow arbitrários com somente poucos elementos gráficos, apenas pela conexão de componentes de softwares e dados. O tipo de rede de Petri utilizado corresponderá a redes de Petri com tokens individuais (redes de Petri colorida) [11] . Termos como conflito e deadlock são propriedades bem definidas das redes de Petri que podem ajudar quando for analisar e aperfeiçoar o workjlow de uma tarefa grade.
As redes de Petri não serão utilizadas somente para modelar, mas também para controlar o workjlow. Uma linguagem de descrição baseada em XML de redes de Petri chamada PNML (Petri Net Markup Language) será utilizada para declaração de estados, transições e arcos que constroem a rede de Petri da tarefa grade [ 11].
Para desenvolver a ontologia utilizaremos a Linguagem OWL [6], devido a dois fatores: por ser um padrão de linguagem para criação de ontologias, reconhecido pela W3C e por apresentar todas as características de outras linguagens, tais como: RDF e DAML+OIL. Para edição da ontologia será utilizado o editor Protegé-2000 [18], onde são descritos os conceitos pertencentes à ontologia, juntamento com seus atributos. Os fatores que levaram a sua escolha são: por ser um software livre e disponível em diversas pla-
Anais WSCAD 2005
taformas (exemplos são Windows, Linux, Mac OS, AIX, Solaris e HP UX).
No desenvolvimento do portnl para dispositivos móveis será utilizado J2ME Wireless Toolkit [3], por fornecer certas facilidades (exemplos são os emuladores, a documentação e exemplos de código fonte disponibilizados na web) e portabilidade [ 17]. O portnl oferecerá uma interface amigável ao usuário para acompanhar a execução workflow e semelhante como mostrado na figura 2.
Figura 2. Interface de monitoramento workflow em dispositivos móveis
4. Conclusão
Neste artigo apresentamos um protótipo que tem como contribuição diferencial o provimento de meios para que usuários de dispositivos móveis possam usufruir o poder computacional oferecido por grades computacionais. Em adição, esta contribuição permite que usuários acompanhem remotamente a execução de tarefas de forma organizada, combinada, coordenada e distribuída pelos recursos e serviços grade através de abordagens empregadas como workjlow, ontologia e portal.
O protótipo descrito neste artigo evidencia a usabilidade de grade computacional de modo que o usuário não precise ter conhecimento de detalhes muito específicos do middleware G/obus. Como trabalho futuro de pesquisa, o protótipo descrito vai ser disponibilizado como um serviço no middleware G/obus.
Referências
[I] Workflow management coalition. WJMC-TC00-1003, Rejerence model and API specification, 1996.
216
[2] GLOBUS A/Jiance. G/obus Toolkit 4.0. Disponível em: http://www.globus.org. 2005.
[3] Sun Java Wireless Too/kit (Java 2 P/atfomr, Micro Edition (J2ME) Wireless Toolkit) . Disponível em: http://java.sun.com/products/sjwtoolkit/, 2005.
[4] M. Cannataro, C. Comito, A. Guzzo, and P. Veltri. lntegrating ontology and workflow in proteus, a grid-based problem solving environment for bioinformatics. lntemationa/ Conjerence on bifomration Technology: Coding and Compllting (ITCC'04), 2(2):5-7, Abril2004.
[5] T. Colvero and M. A. R. Dantas. Portais de Grids Computacionais Utilizando Ontologia para Descoberta de Sen•iços e Recursos Computacionais. Universidade Federal de Santa Catarina, Florianópolis-Santa Catarina, 2005.
[6] O. Corcho, M. Fernández-Lópes, and A. Gómez-Péres. OmoWeb - Tecnical Roadmap v 1.0. Disponível em: http://ontoweb.org/About/Deliverables/, 2003.
[7] D. Fensel. Ontologies: Silver bullet for knowledge management and eletronic commerce. Springer - Verlag, Ber/in, 2000.
[8] I. Foster and C. Kesselman. The Grid: Blueprint for a NeiV Computing bifrastructure. Morgan Kaufmann Publishers Inc., San Francisco, USA, 1999.
[9] T. Gava and C. Menezes. Especificação de software baseada em antologias. J/1 Escola de biformática. pages 167-205, 2003.
[10] T. R. Gruber. Toward principies for the design of ontologies used for knowledge sharing. Imernacional Workshop on Fomra/ Ontology, (I), 1993.
[li] A. Hoheisel. User tools and languages for graph-based grid workftows. Workshop GGF-10 Grid Workj/OIV, BerlinGemwny, Março 2004.
[12] A. lkram, A. Ali, A. Anjum, C. Steenberg, H. Newman, J . Bunn. M. Thomas, and T. Azim. Grid enabled distributed analysis using handheld devices. Research Group, NDGC, 2005.
[13] C. Jung, M. Einhoff, S. Noll, and N. Schiffner. Gridjob builder - a workftow editor for computing grids. illlemational Conjerence on bifomration Teclmology: Coding and Computing (ITCC'04), 2(2):95- 99, Abril2004.
[14] P. Korpipaa, J. Hiik.k.ila, J. Kela, S. Ronkainer, and I. Kansalti. Utilising context ontology in mobile device application personalisation. ACM lntemational C01rjerence Proceeding Series. 3rd illfemational c01rjerence 0 11 Mobile and ubiquitous multimedia. pages 133-140, 2004.
[15] S. Kurkovsky, A. R. Bhagyavati, and M. Yang. Modeling a grid-based problem solving environment for mobile devices. lmemational Conjerence 011 biformation Technology: Coding and Computing (ITCC'04). 2(2):135- 136, Abril 2004.
[16] A. Mayer, S. McGough, N. Furmento, W. Lee, M. Gulamali, S. Newhouse, and J. Darlington. Workflow expression comparison of spatial and temporal approaches. Workshop GGF-10 Grid Workf/ow, Ber/in-Gemrany, Março 2004.
[17] J. W. Muchow. Core J2ME Tecnologia and MIDP. MAKRON BOOKS, 2004.
Anais WSCAD 2005
[18] N. Noy, R. Fergerson, and M. Musen. Owl web ontology language overview: combining interoperability and flexibility. 12th International Conference on Knowledge Engineering and Knowledge Managemem-Europe Know/edge Aquisition Workshop (EKAW), Outubro 2000.
[19) A. Pernas and M. A. R. Dantas. Ontologias aplicadas a descrição de recursos em ambientes grid. INFOCOMP Joumal o f Complller Science, 3(2):26-31, Novembro 2004.
[20) T. Pham, L. Huang, and C. Dulan. Challenge: Integrating mobile wireless devices into the computational grid. 8th 1ntemational Conference 011 Mobile Compllting mui Networking (MOBICOM'02), pages 271-278, Setembro 2002.
[21) G. von Laszewski, I. Foster, J . Gawor, and P. Lane. A Java Commodity Grid Kit. Concurrency and Complllation: Practice and Experience. pages 643-662. 2001.
[22) M. Yang, H. Liang, and B. Xu. S-wfms: A service-based workflow management system in grid environment. 19th 111-ternationa/ Conjere11ce 011 Advanced Infornwtion NetiVorking and Applications (A/NA '05), 1( 1):293-297, Março 2005.
[23] H. Yu, X. Bai, G. Wang, Y. Ji. and D. C. Marinescum. Metainformation and workflow management for solving complex problems in grid environments. 18th lnt. Parai/e/ and Disrribwed Proc. Symp. (IPDPS 2004), 93(3):613-630, Março 2004.
[24] J. Yu and R. Buyya. A novel architecture for realizing grid workftow using tuple spaces. 5th IEEEIACM Imemariona/ Workshop 011 Grid Computing (GRID '04 ), 0(0): 119-128, Novembro 2004.
[25] J. Yu and R. Buyya. A taxonomy of workflow management systems for grid computing. Technica/ Report. GRIDS-TR-2005-1, Grid Compwing and Disrributed Systems LaborofOI)~ University of Melbourne, Austra/ia, Março 2005.
217