[en] A MULTILANGUAGE PROGRAMMING MODEL FOR GEOGRAPHICALLY DISTRIBUTED APPLICATIONS
[pt] UM MODELO DE PROGRAMAÇÃO MULTILINGUAGEM PARA APLICAÇÕES GEOGRAFICAMENTE DISTRIBUÍDAS
Descripción
[pt] Neste trabalho propomos usar o ALua, um mecanismo de comunicação orientado a eventos, baseado na linguagem interpretada Lua, para coordenação e desenvolvimento de aplicações paralelas distribuídas. ALua é um modelo de programação dual para aplicações paralelas distribuídas, que age como elemento de ligação, permitindo que partes pré- compiladas do programa sejam executadas em diferentes máquinas. Novas tecnologias em programação paralela, como computação em grade, e o interesse atual em computação distribuída para redes geográficas demandam novos níveis de flexibilidade, como o uso de estratégias de adaptação e a habilidade para um usuário interferir em uma computação sem a necessidade de interrompê-la. Além disso, devido a sua natureza assíncrona, a programação dirigida a eventos oferece um modelo apropriado para ambiente sujeitos a falhas e retardos, que são freqüentes no contexto de redes geográficas. Neste trabalho, mostramos que o ALua pode trazer a flexibilidade desejada, através de mecanismos de adaptação e monitoramento não só de aplicações, mas do próprio ambiente de execução, e ainda tirar proveito de sua natureza interpretada para permitir a intervenção do usuário na aplicação mesmo durante a sua execução.[en] In this work we propose the use of Alua, an event-driven communication mechanism for coordinating and developing distributed parallel applications, based on the interpreted language Lua. Alua adopts a multilinguage programming model for distributed parallel applications, acting as a gluing element among precompiled program parts running on different machines. New developments in parallel programming, such as Grid computing, and current interest in wide-area distributed computing demand new levels of flexibility, such as the use of adaptive strategies and the ability for an user to interfer with a computation without having to stop it. Furthermore, because of its asynchronous nature, event-driven programming provides a suitable model for environments subject to failures and delays that are frequent in the context of geographically distributed computing. In this work we show that ALua can achieve the required flexibility through mechanisms for monitoring and adapting not only applications, but also the execution environment, and also exploit its interpretive nature to allow the programmer to modify the behavior of the application during its execution.