Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida

En este trabajo se ha desarrollado un modelo de ejecución paralelo de los programas lógicos para sistemas distribuidos, su implementación y su evaluación. El modelo considera la explotación del paralelismo-y independiente y el paralelismo-o, así como la combinación de ambos. El sistema está soportad...

Descripción completa

Detalles Bibliográficos
Autor: Araujo Serna, Lourdes
Tipo de recurso: tesis doctoral
Fecha de publicación:2002
País:España
Institución:Universidad Complutense de Madrid (UCM)
Repositorio:Docta Complutense
Idioma:español
OAI Identifier:oai:docta.ucm.es:20.500.14352/62826
Acceso en línea:https://hdl.handle.net/20.500.14352/62826
Access Level:acceso abierto
Palabra clave:Informática
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
id ES_613cbe4ea571cbfc09f29b7772e38796
oai_identifier_str oai:docta.ucm.es:20.500.14352/62826
network_acronym_str ES
network_name_str España
repository_id_str
spelling Procesador paralelo de Prolog sobre una arquitectura de memoria distribuidaAraujo Serna, LourdesInformáticaProgramación de ordenadores (Informática)1203.23 Lenguajes de ProgramaciónEn este trabajo se ha desarrollado un modelo de ejecución paralelo de los programas lógicos para sistemas distribuidos, su implementación y su evaluación. El modelo considera la explotación del paralelismo-y independiente y el paralelismo-o, así como la combinación de ambos. El sistema está soportado por una arquitectura distribuida con un alto número de procesadores que trabajan bajo un control jerárquico. El control se realiza en una serie de procesadores llamados controladores. El resto de los procesadores, procesadores básicos, están dedicados a la ejecución de programas prolog. El paralelismo-y se explota siguiendo un modelo de entornos cerrados (sin referencias a variables externas) en el que se forman tareas-y autónomas para la computación de cada objetivo independiente. La explotación del paralelismo-o se basa en la ejecución multisecuencial de las ramas del árbol de búsqueda. Cada tarea-o nueva que se crea para la exploración de una nueva rama reconstruye el entorno de la tarea padre recomputando el objetivo inicial pero siguiendo el camino de éxito (sin backtracking) recibido de la tarea padre. Cuando un programa presenta paralelismo o-bajo-y y es necesario combinar las distintas soluciones de los objetivos paralelos, se evita el almacenamiento de soluciones parciales y la sincronización de tareas produciendo la combinación de forma distribuida. La idea es crear una computación para cada combinación de soluciones, recomputando el camino de éxito que lleva del objetivo inicial a la llamada paralela considerada. De esta forma la explotación del paralelismo-y se realiza con el mecanismo del paralelismo-o, creando tareas autónomas que reducen considerablemente el trafico de mensajes. Se ha diseñado una maquina abstracta paralela que implementa el modelo de ejecución de los procesadores básicos del sistema. Esta maquina es una extensión de la wam y mantiene sus técnicas de ejecución en los segmentos secuenciales de programa conservando así las optimizaciones ya conseguidas en prolog secuencial. De la misma forma se ha tratado de mantener las técnicas de explotación de cada tipo de paralelismo con las menores modificaciones. El estudio de la planificación ha sido otro objetivo fundamental en el trabajo. Se han evaluando distintas políticas de reparto del trabajo pendiente entre los procesadores-desocupados. También se ha considerado la granularidad de los trabajos pendientes, diseñando distintos controles de granularidad. Finalmente se ha realizado una implementación sobre un sistema de transputers, haciendo un estudio de la red de interconexión que soporta al sistema. Se ha evaluado la explotación de cada tipo de paralelismo y su combinación.Universidad Complutense de Madrid, Servicio de PublicacionesRuz Ortiz, José JaimeUniversidad Complutense de Madrid20022002-01-0120022002-01-01doctoral thesishttp://purl.org/coar/resource_type/c_db06info:eu-repo/semantics/doctoralThesisapplication/pdfhttps://hdl.handle.net/20.500.14352/62826reponame:Docta Complutenseinstname:Universidad Complutense de Madrid (UCM)Españolspaopen accesshttp://purl.org/coar/access_right/c_abf2info:eu-repo/semantics/openAccessoai:docta.ucm.es:20.500.14352/628262026-06-02T12:44:21Z
dc.title.none.fl_str_mv Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
title Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
spellingShingle Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
Araujo Serna, Lourdes
Informática
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
title_short Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
title_full Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
title_fullStr Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
title_full_unstemmed Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
title_sort Procesador paralelo de Prolog sobre una arquitectura de memoria distribuida
dc.creator.none.fl_str_mv Araujo Serna, Lourdes
author Araujo Serna, Lourdes
author_facet Araujo Serna, Lourdes
author_role author
dc.contributor.none.fl_str_mv Ruz Ortiz, José Jaime
Universidad Complutense de Madrid
dc.subject.none.fl_str_mv Informática
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
topic Informática
Programación de ordenadores (Informática)
1203.23 Lenguajes de Programación
description En este trabajo se ha desarrollado un modelo de ejecución paralelo de los programas lógicos para sistemas distribuidos, su implementación y su evaluación. El modelo considera la explotación del paralelismo-y independiente y el paralelismo-o, así como la combinación de ambos. El sistema está soportado por una arquitectura distribuida con un alto número de procesadores que trabajan bajo un control jerárquico. El control se realiza en una serie de procesadores llamados controladores. El resto de los procesadores, procesadores básicos, están dedicados a la ejecución de programas prolog. El paralelismo-y se explota siguiendo un modelo de entornos cerrados (sin referencias a variables externas) en el que se forman tareas-y autónomas para la computación de cada objetivo independiente. La explotación del paralelismo-o se basa en la ejecución multisecuencial de las ramas del árbol de búsqueda. Cada tarea-o nueva que se crea para la exploración de una nueva rama reconstruye el entorno de la tarea padre recomputando el objetivo inicial pero siguiendo el camino de éxito (sin backtracking) recibido de la tarea padre. Cuando un programa presenta paralelismo o-bajo-y y es necesario combinar las distintas soluciones de los objetivos paralelos, se evita el almacenamiento de soluciones parciales y la sincronización de tareas produciendo la combinación de forma distribuida. La idea es crear una computación para cada combinación de soluciones, recomputando el camino de éxito que lleva del objetivo inicial a la llamada paralela considerada. De esta forma la explotación del paralelismo-y se realiza con el mecanismo del paralelismo-o, creando tareas autónomas que reducen considerablemente el trafico de mensajes. Se ha diseñado una maquina abstracta paralela que implementa el modelo de ejecución de los procesadores básicos del sistema. Esta maquina es una extensión de la wam y mantiene sus técnicas de ejecución en los segmentos secuenciales de programa conservando así las optimizaciones ya conseguidas en prolog secuencial. De la misma forma se ha tratado de mantener las técnicas de explotación de cada tipo de paralelismo con las menores modificaciones. El estudio de la planificación ha sido otro objetivo fundamental en el trabajo. Se han evaluando distintas políticas de reparto del trabajo pendiente entre los procesadores-desocupados. También se ha considerado la granularidad de los trabajos pendientes, diseñando distintos controles de granularidad. Finalmente se ha realizado una implementación sobre un sistema de transputers, haciendo un estudio de la red de interconexión que soporta al sistema. Se ha evaluado la explotación de cada tipo de paralelismo y su combinación.
publishDate 2002
dc.date.none.fl_str_mv 2002
2002-01-01
2002
2002-01-01
dc.type.none.fl_str_mv doctoral thesis
http://purl.org/coar/resource_type/c_db06
dc.type.openaire.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
dc.identifier.none.fl_str_mv https://hdl.handle.net/20.500.14352/62826
url https://hdl.handle.net/20.500.14352/62826
dc.language.none.fl_str_mv Español
spa
language_invalid_str_mv Español
language spa
dc.rights.none.fl_str_mv open access
http://purl.org/coar/access_right/c_abf2
dc.rights.openaire.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv open access
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidad Complutense de Madrid, Servicio de Publicaciones
publisher.none.fl_str_mv Universidad Complutense de Madrid, Servicio de Publicaciones
dc.source.none.fl_str_mv reponame:Docta Complutense
instname:Universidad Complutense de Madrid (UCM)
instname_str Universidad Complutense de Madrid (UCM)
reponame_str Docta Complutense
collection Docta Complutense
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869409389655359488
score 15.300719