8 resultados para Wam
em Universidad Politécnica de Madrid
Resumo:
This work presents a method to estimate and correct slow time-dependent position errors due to non perfect ground station synchronization and tropospheric propagation. It uses opportunity traffic emissions, i.e. signals transmitted from the aircrafts within the coverage zone. This method is used to overcome the difficulty of installing reference beacons simultaneously visible by all the base stations in a given Wide Area Multilateration (WAM) system.
Resumo:
Compilation techniques such as those portrayed by the Warren Abstract Machine(WAM) have greatly improved the speed of execution of logic programs. The research presented herein is geared towards providing additional performance to logic programs through the use of parallelism, while preserving the conventional semantics of logic languages. Two áreas to which special attention is given are the preservation of sequential performance and storage efficiency, and the use of low overhead mechanisms for controlling parallel execution. Accordingly, the techniques used for supporting parallelism are efficient extensions of those which have brought high inferencing speeds to sequential implementations. At a lower level, special attention is also given to design and simulation detail and to the architectural implications of the execution model behavior. This paper offers an overview of the basic concepts and techniques used in the parallel design, simulation tools used, and some of the results obtained to date.
Resumo:
The &-Prolog system, a practical implementation of a parallel execution niodel for Prolog exploiting strict and non-strict independent and-parallelism, is described. Both automatic and manual parallelization of programs is supported. This description includes a summary of the system's language and architecture, some details of its execution model (based on the RAP-WAM model), and data on its performance on sequential workstations and shared memory multiprocessors, which is compared to that of current Prolog systems. The results to date show significant speed advantages over state-of-the-art sequential systems.
Resumo:
An Independent And-Parallel Prolog model and implementation, &-Prolog, are described. The description includes a summary of the system's architecture, some details of its execution model (based on the RAP-WAM model), and most importantly, its performance on sequential workstations and shared memory multiprocessors as compared with state-of-the-art Prolog systems. Speedup curves are provided for a collection of benchmark programs which demónstrate significant speed advantages over state-of the art sequential systems.
Resumo:
The goal of the RAP-WAM AND-parallel Prolog abstract architecture is to provide inference speeds significantly beyond those of sequential systems, while supporting Prolog semantics and preserving sequential performance and storage efficiency. This paper presents simulation results supporting these claims with special emphasis on memory performance on a two-level sharedmemory multiprocessor organization. Several solutions to the cache coherency problem are analyzed. It is shown that RAP-WAM offers good locality and storage efficiency and that it can effectively take advantage of broadcast caches. It is argued that speeds in excess of 2 ML IPS on real applications exhibiting medium parallelism can be attained with current technology.
Resumo:
Although the sequential execution speed of logic programs has been greatly improved by the concepts introduced in the Warren Abstract Machine (WAM), parallel execution represents the only way to increase this speed beyond the natural limits of sequential systems. However, most proposed parallel logic programming execution models lack the performance optimizations and storage efficiency of sequential systems. This paper presents a parallel abstract machine which is an extension of the WAM and is thus capable of supporting ANDParallelism without giving up the optimizations present in sequential implementations. A suitable instruction set, which can be used as a target by a variety of logic programming languages, is also included. Special instructions are provided to support a generalized version of "Restricted AND-Parallelism" (RAP), a technique which reduces the overhead traditionally associated with the run-time management of variable binding conflicts to a series of simple run-time checks, which select one out of a series of compiled execution graphs.
Resumo:
Los lenguajes de programación son el idioma que los programadores usamos para comunicar a los computadores qué queremos que hagan. Desde el lenguaje ensamblador, que traduce una a una las instrucciones que interpreta un computador hasta lenguajes de alto nivel, se ha buscado desarrollar lenguajes más cercanos a la forma de pensar y expresarse de los humanos. Los lenguajes de programación lógicos como Prolog utilizan a su vez el lenguaje de la lógica de 1er orden de modo que el programador puede expresar las premisas del problema que se quiere resolver sin preocuparse del cómo se va a resolver dicho problema. La resolución del problema se equipara a encontrar una deducción del objetivo a alcanzar a partir de las premisas y equivale a lo que entendemos por la ejecución de un programa. Ciao es una implementación de Prolog (http://www.ciao-lang.org) y utiliza el método de resolución SLD, que realiza el recorrido de los árboles de decisión en profundidad(depth-first) lo que puede derivar en la ejecución de una rama de busqueda infinita (en un bucle infinito) sin llegar a dar respuestas. Ciao, al ser un sistema modular, permite la utilización de extensiones para implementar estrategias de resolución alternativas como la tabulación (OLDT). La tabulación es un método alternativo que se basa en memorizar las llamadas realizadas y sus respuestas para no repetir llamadas y poder usar las respuestas sin recomputar las llamadas. Algunos programas que con SLD entran en un bucle infinito, gracias a la tabulación dán todas las respuestas y termina. El modulo tabling es una implementación de tabulación mediante el algoritmo CHAT. Esta implementación es una versión beta que no tiene implementado un manejador de memoria. Entendemos que la gestión de memoria en el módulo de tabling tiene gran importancia, dado que la resolución con tabulación permite reducir el tiempo de computación (al no repetir llamadas), aumentando los requerimientos de memoria (para guardar las llamadas y las respuestas). Por lo tanto, el objetivo de este trabajo es implementar un mecanismo de gestión de la memoria en Ciao con el módulo tabling cargado. Para ello se ha realizado la implementación de: Un mecanismo de captura de errores que: detecta cuando el computador se queda sin memoria y activa la reinicialización del sitema. Un procedimiento que ajusta los punteros del modulo de tabling que apuntan a la WAM tras un proceso de realojo de algunas de las áreas de memoria de la WAM. Un gestor de memoria del modulo de tabling que detecta c realizar una ampliación de las áreas de memoria del modulo de tabling, realiza la solicitud de más memoria y realiza el ajuste de los punteros. Para ayudar al lector no familiarizado con este tema, describimos los datos que Ciao y el módulo de tabling alojan en las áreas de memoria dinámicas que queremos gestionar. Los casos de pruebas desarrollados para evaluar la implementación del gestor de memoria, ponen de manifiesto que: Disponer de un gestor de memoria dinámica permite la ejecución de programas en un mayor número de casos. La política de gestión de memoria incide en la velocidad de ejecución de los programas. ---ABSTRACT---Programming languages are the language that programmers use in order to communicate to computers what we want them to do. Starting from the assembly language, which translates one by one the instructions to the computer, and arriving to highly complex languages, programmers have tried to develop programming languages that resemble more closely the way of thinking and communicating of human beings. Logical programming languages, such as Prolog, use the language of logic of the first order so that programmers can express the premise of the problem that they want to solve without having to solve the problem itself. The solution to the problem is equal to finding a deduction of the objective to reach starting from the premises and corresponds to what is usually meant as the execution of a program. Ciao is an implementation of Prolog (http://www.ciao-lang.org) and uses the method of resolution SLD that carries out the path of the decision trees in depth (depth-frist). This can cause the execution of an infinite searching branch (an infinite loop) without getting to an answer. Since Ciao is a modular system, it allows the use of extensions to implement alternative resolution strategies, such as tabulation (OLDT). Tabulation is an alternative method that is based on the memorization of executions and their answers, in order to avoid the repetition of executions and to be able to use the answers without reexecutions. Some programs that get into an infinite loop with SLD are able to give all the answers and to finish thanks to tabulation. The tabling package is an implementation of tabulation through the algorithm CHAT. This implementation is a beta version which does not present a memory handler. The management of memory in the tabling package is highly important, since the solution with tabulation allows to reduce the system time (because it does not repeat executions) and increases the memory requirements (in order to save executions and answers). Therefore, the objective of this work is to implement a memory management mechanism in Ciao with the tabling package loaded. To achieve this goal, the following implementation were made: An error detection system that reveals when the computer is left without memory and activate the reinizialitation of the system. A procedure that adjusts the pointers of the tabling package which points to the WAM after a process of realloc of some of the WAM memory stacks. A memory manager of the tabling package that detects when it is necessary to expand the memory stacks of the tabling package, requests more memory, and adjusts the pointers. In order to help the readers who are not familiar with this topic, we described the data which Ciao and the tabling package host in the dynamic memory stacks that we want to manage. The test cases developed to evaluate the implementation of the memory manager show that: A manager for the dynamic memory allows the execution of programs in a larger number of cases. Memory management policy influences the program execution speed.
Resumo:
El continuo crecimiento de la demanda del transporte aéreo, junto con los nuevos escenarios de intervención militar, están obligando a una optimización en el uso del espacio aéreo. De este modo, la UE y los EEUU (a través de SESAR y NextGen respectivamente) han asentado las bases para una nueva gestión del tráfico aéreo (ATM). Con ello, se pretende aumentar la capacidad de aeropuertos y rutas aéreas, otorgando mayor flexibilidad al uso del espacio aéreo sin comprometer la seguridad de los usuarios. Desde un punto de vista puramente técnico, la clave de este cambio de modelo está en el conocimiento de la posición de cada aeronave en cada instante. En este sentido, la tendencia en ATM es el uso de ADS-B como fuente principal de posicionamiento. Sin embargo, debido a que este sistema está basado en la difusión de la posición obtenida a través de GPS, es necesario un sistema de seguimiento independiente. Actualmente, la intención es migrar del radar secundario de vigilancia (SSR) a la multilateración de área extensa (WAM), con el fin de mejorar la integridad de la posición para aplicaciones en ruta. Aprovechando el rápido despliegue de ADS-B, se pretende reutilizar sus estaciones base para WAM. Cada estación base que recibe el mensaje ADS-B de la aeronave envía conjuntamente la medida del tiempo de llegada (TOA) de dicho mensaje al centro de tráfico aéreo. La posición de la aeronave se obtiene mediante multilateración, cuya técnica consiste en utilizar las medidas de TOA de un mismo mensaje ADS-B obtenidas en las distintas estaciones base. El objetivo es estimar la posición de cada aeronave con la mayor precisión posible. Para poder diseñar el sistema que permite alcanzar este objetivo, son dos los aspectos básicos a estudiar. Por una parte, la identificación y posterior caracterización de los errores (tanto sistemáticos como aleatorios) que afectan a la medida de TOA. Por otra parte, es necesario el estudio de los sistemas de seguimiento, basados en versiones sofisticadas del filtro de Kalman (IMM, UKF). Una vez establecidos estos dos pilares, la presente tesis doctoral propone un sistema que permite efectuar el seguimiento de las aeronaves, corrigiendo los efectos de las principales distorsiones que afectan a la medida de TOA: la refracción troposférica y el error de sincronismo. La mejora en la precisión de la localización ha sido evaluada mediante simulación de escenarios hipotéticos. ABSTRACT The ever-growing demand in the air transportation and the new military intervention scenarios, are generating a need to optimize the use of the airspace. This way, the EU and the USA (through SESAR and NextGen respectively) have set the ground to overhaul the current air traffic management. The intention is to enhance the capacity of airports and air routes, providing greater flexibility in the use of airspace without jeopardizing the security of the end-users. From a technical perspective, the key for this change lies in the knowledge of the aircraft position. The trend in Air Traffic Management (ATM) is to rely on ADS-B as the main source for aircraft positioning. However, this system is based on the aircraft’s self-declaration of its own (often GPS-based) navigation solution. It is therefore necessary to have an independent surveillance system. Nowadays, the intention is to gradually migrate from Secondary Surveillance Radar (SSR) towards Wide Area Multilateration (WAM) in order to enhance surveillance integrity for en-route applications. Given the fast deployment of ADS-B, the aim is to use its base stations for WAM. Each station sends the Time of Arrival (TOA) of the received ADS-B messages to the air traffic center (ATC). The aircraft position is obtained through multilateration, using the TOA of the same message measured by each station. The aim is to accurately estimate the position of each aircraft. Knowledge from two key areas has to be gathered prior to designing such a system. It is necessary to identify and then characterize the errors (both systematic and random) affecting the TOA measurements. The second element is the study of tracking systems based on sophisticated versions of the Kalman filtering (e.g. IMM, UKF). Based on this knowledge, the main contribution of this Ph.D. is an aircraft tracking system that corrects the effects of the main errors involved in the TOA measurement: tropospheric refraction and synchronization issues. Performance gains in positioning accuracy have been assessed by simulating hypothetical WAM scenarios.