<< Volver atrás

Tesis:

Modelo de programación basado en actores para sistemas masivamente paralelos


  • Autor: HERNANDEZ NUÑEZ, Juan María

  • Título: Modelo de programación basado en actores para sistemas masivamente paralelos

  • Fecha: 1995

  • Materia: PROGRAMACIÓN ORIENTADA A OBJETOS

  • Escuela: FACULTAD DE INFORMATICA

  • Departamentos: ARQUITECTURA Y TECNOLOGIA DE SISTEMAS INFORMATICOS

  • Acceso electrónico:

  • Director/a 1º: MIGUEL ANASAGASTI, Pedro de

  • Resumen: Los avances tecnológicos y la disminución progresiva de los precios del hardware, han favorecido la aparición de una gran variedad de sistemas multiprocesador. Sin embargo, este espectacular avance en el campo del hardware no se ha visto correspondido con un avance similar en el terreno del software. De hecho, aunque estos sistemas aportan una gran potencia y rapidez de procesamiento de la información, no se obtiene de ellos todo el rendimiento que se puede esperar debido, fundamentalmente, a la carencia de un software apropiado que permita explotar al máximo este tipo de arquitecturas. Los modelos de programación concurrentes basados en objetos, son en la actualidad los modelos de programación con una mayor perspectiva de futuro para el desarrollo de software apropiado que permita la construcción de grandes aplicaciones de una manera modular, flexible y explotando al máximo el paralelismo subyacente en los sistemas masivamente paralelos. Esto se debe a que la programación concurrente orientada a objetos combina los paradigmas de los modelos basados en objetos con los modelos concurrentes. Es decir, combina las nociones de encapsulación, abstracción, clases y herencia relativas a los modelos basados en objetos con los conceptos de procesos ligeros, comunicación y sincronización entre éstos, relativos a los modelos concurrentes. Sin embargo, la combinación de los paradigmas concurrente y orientado a objetos ha demostrado ser más difícil de lo que parecía a primera vista, ya que las características que aportan ambos sistemas no son ortogonales y consecuentemente no pueden combinarse de forma arbitraria. El principal objetivo de esta tesis es aportar nuevas soluciones software que favorezcan la construcción modular, el diseño e implementación de grandes aplicaciones en arquitecturas masivamente paralelas dentro del contexto de los lenguajes de programación concurrente basados en objetos. Las soluciones propuestas están orientadas a establecer el modelo de programación del sistema de gestión de bases de datos paralela QUATRO, que está siendo diseñado por nuestro grupo de investigación. El trabajo desarrollado para conseguir este objetivo se ha basado en los siguientes puntos: 1.- Presentamos un estudio original de los SGBD actuales, centrándonos en las denominadas próximas generaciones de sistemas de bases de datos y en los sistemas de gestión de bases de datos paralelas. En particular, se destacan las principales arquitecturas utilizadas en el desarrollo de estos sistemas así como los modelos y lenguajes de programación utilizados para la implementación de los mismos. 2.- Basándonos en este estudio y tras determinar que los LPCOO se presentan como la mejor alternativa de futuro para el desarrollo de grandes aplicaciones en este tipo de arquitecturas, establecemos un conjunto de criterios que permiten evaluar las ventajas y desventajas que puede aportar cualquier LPCOO actual o futuro. 3.- Siguiendo estos criterios, efectuamos una labor de síntesis de los LPCOO más representativos, estructurando éstos en función a los criterios establecidos y al conflicto conocido como "anomalía en la herencia". Este estudio nos permitirá establecer un conjunto de requisitos mínimos que deben cumplir los LPCOO para resolver las deficiencias encontradas. 4.- En virtud a estos requisitos, proponemos un nuevo modelo de lenguaje basado en actores que resuelve las deficiencias encontradas en los actuales modelos. Para comprobar la viabilidad del modelo propuesto, diseñamos e implementamos un nuevo lenguaje de programación denominado ALBA, que se adapta al modelo propuesto. La implementación se ha desarrollado en una arquitectura de memoria distribuida compuesta de transputers tipo T800 bajo el sistema operativo Helios. 5.- Finalmente y dado que uno de los principales problemas con los que el diseñador de aplicaciones paralelas y distribuidas se encuentra es la sincronización de actividades de múltiples procesos concurrentes, proponemos un nuevo paradigma de programación Actor-TuplaSpace, ideado para la comunicación y sincronización de actividades concurrentes en el marco de los LPCOO. En particular, este nuevo esquema de programación proporciona un mecanismo para coordinar múltiples actores de una aplicación. El uso de transiciones de estado permite determinar de forma dinámica el conjunto de mensajes aceptables por un actor, siendo éste además, un mecanismo compatible con la herencia entre clases