213 resultados para Concurrency


Relevância:

10.00% 10.00%

Publicador:

Resumo:

Los años cincuenta y sesenta son los años de la incorporación definitiva de la arquitectura española al panorama internacional. Entre los arquitectos que protagonizan ese salto sin retorno, se encuentra el grupo de aquellos que unos años más tarde serán denominados por Juan Daniel Fullaondo como Escuela de Madrid. Carlos Flores, en su libro Arquitectura Española Contemporánea 1880-1950, se refiere a esos arquitectos como aquellos que se aplicaban a la difícil tarea de restablecer en España un tipo de arquitectura que conectaba con las teorías, soluciones y lenguajes establecidos por Europa durante las primeras décadas del siglo XX. Sigfried Giedion plantea en Espacio, Tiempo y Arquitectura el origen de una nueva tradición, surgida a partir de la revolución óptica de principios de siglo. Con tradición se refiere a una nueva cultura, que abarca la interrelación de las diferentes actividades del hombre: la similitud de los métodos que se usan en la arquitectura, la construcción, la pintura, el urbanismo o la ciencia. Esa novedad, fundamentada en su independencia y desvinculación con el periodo anterior, se inscribe dentro del esquema evolutivo que Thomas Kuhn plantea en su texto La Estructura de la Revoluciones Científicas, conforme a periodos no acumulativos. Kuhn habla del surgimiento de anomalías en cada periodo, origen de las crisis de pensamiento cuya explicación precisará un necesario cambio paradigmático. En la ciencia, en el campo de la óptica Thomas Young demuestra a principios del siglo XIX la naturaleza ondulatoria de la luz con su experimento de doble rendija; en el electromagnetismo se produce el salto conceptual que supone la postulación de la existencia del campo eléctrico por parte de Michael Faraday, y en termodinámica la consideración apuntada por Planck de que la radiación de la energía de produce de forma discreta, a través de cuantos. En las artes plásticas, paralelamente, Gleizes y Metzinger, en su recopilación de logros cubistas recogida en Sobre el Cubismo, hablan de la evolución sufrida durante el siglo XIX por la pintura: desde el idealismo de principios de siglo, para pasando por el realismo y la representación impresionista de la realidad, concluir prescindiendo de la perspectiva clásica. También la matemática, una vez desarrolladas por Gauss o Lobachevsky y Bolyai geometrías coherentes que incumplen el quinto postulado de Euclides, terminará dando validez a través de Riemann a los espacios ambiente en los que habitan dichas geometrías, desvinculando la relación directa entre espacio geométrico –el espacio ambiente al que da lugar un tipo de geometría- y el espacio físico. Capi Corrales refleja en su libro Contando el Espacio, cómo hasta la teoría de la relatividad y el cubismo, las geometrías no euclídeas no se hicieron notorias también fuera del campo de las matemáticas. El origen de la nueva tradición con la que Giedion se refiere a la nueva cultura de la modernidad coincide con los saltos paradigmáticos que suponen la teoría de la relatividad en las ciencias y el cubismo en las artes plásticas. Ambas se prolongan durante las primeras décadas hasta la teoría cuántica y la abstracción absoluta, barreras que los dos principales precursores de la relatividad y el cubismo, Einstein y Picasso, nunca llegan a franquear. En ese sentido Giedion habla también, además del origen, de su desarrollo, e incorpora las aportaciones periféricas en la arquitectura de Brasil, Japón o Finlandia, incluyendo por tanto la revisión orgánica propugnada por Zevi como parte de esa nueva tradición, quedando abierta a la incorporación tardía de nuevas aportaciones al desarrollo de esa cultura de la modernidad. Eliminado el concepto de la estética trascendental de Kant del tiempo como una referencia absoluta, y asumido el valor constante de la velocidad de la luz, para la teoría de la relatividad no existe una simultaneidad auténtica. Queda así fijada la velocidad de la luz como uno de los límites del universo, y la equivalencia entre masa y energía. En el cubismo la simultaneidad espacial viene motivada por la eliminación del punto de vista preferente, cuyo resultado es la multiplicidad descriptiva de la realidad, que se visualiza en la descomposición en planos, tanto del objeto como del espacio, y la consecuente continuidad entre fondo y figura que en arquitectura se refleja en la continuidad entre edificio y territorio. Sin la consideración de un punto de vista absoluto, no existe una forma auténtica. El cubismo, y su posterior desarrollo por las vanguardias plásticas, hacen uso de la geometría como mecanismo de recomposición de la figura y el espacio, adoptando mecanismos de penetración, superposición y transparencia. Gyorgy Kepes indica en El Lenguaje de la Visión que la descomposición cubista del objeto implica la sucesiva autonomía de los planos, hasta convertirse en elementos constituyentes. Algo que refleja las axonometrías arquitectónicas de Van Doesburg y que culmina con los espacios propuestos por Mies van der Rohe en sus primeros proyectos europeos. Estos mecanismos, encuentran eco en los primeros planteamientos de Javier Carvajal: en la ampliación del Panteón de españoles del cementerio de Campo Verano, un recinto virtual reconstruido mentalmente a partir del uso de tres únicos planos; o en el Pabellón de Nueva York, que organiza su planta baja desde el recorrido, introduciendo el parámetro temporal como una dimensión más. Al uso diferenciado del plano como elemento constituyente, Carvajal incorpora su plegado y su disposición conformando envolventes como mecanismo de cualificación espacial y formal, potenciando la prolongación entre arquitectura y territorio. Una continuidad que quedará culminada en las dos viviendas unifamiliares construidas en Somosaguas. La descomposición volumétrica conduce a unos niveles de abstracción que hace precisa la incorporación de elementos de la memoria -fuentes, patios, celosías…- a modo de red de señales, como las que Picasso y Braque introducen en sus cuadros para permitir su interpretación. Braque insiste en el interés por el espacio que rodea a los objetos. Una búsqueda de la tactilidad del espacio contraria a la perspectiva que aleja el objeto del observador, y que en los jardines de las viviendas de Somosaguas parece emanar de su propia materialidad. Un espacio táctil alejado del espacio geométrico y que Braque identifica con el espacio representativo en el que Poincaré, en La Ciencia y la Hipótesis, ubica nuestras sensaciones. Desdibujar los límites del objeto prolonga el espacio indefinidamente. Con el paso en el arte griego del mito al logos, se abre paso a la matemática como herramienta de comprensión de la naturaleza hasta el siglo XIX. Leon Lederman, en Simetría y la Belleza del Universo, apunta a que una de las mayores contribuciones de la teoría de Einstein es hacer cambiar el modo de pensar la naturaleza, orientándolo hacia la búsqueda de los principios de simetría que subyacen bajo las leyes físicas. Considerando que la simetría es la invariancia de un objeto o un sistema frente a una transformación y que las leyes físicas son las mismas en cualquier punto del espacio, el espacio de nuestro universo posee una simetría traslacional continua. En la ocupación del espacio de las primeras propuestas de Corrales y Molezún aparecen estructuras subyacentes que responden a enlosetados: paralelogramos sometidos a transformaciones continuas, que la naturaleza identifica tridimensionalmente con los grupos cristalográficos. Las plantas del museo de Arte Contemporáneo de la Castellana, la residencia de Miraflores, el pabellón de Bruselas o la torre Peugeot pertenecen a este grupo. La arquitectura como proceso de ocupación continua del territorio y de su trasposición al plano de cubierta, se materializa en líneas estructurales coincidentes con la estructura matemática de sus simetrías de traslación cuya posibilidad de prolongación infinita queda potenciada por el uso de la envolvente transparente. Junto a esta transparencia literal, inherente al material, Colin Rowe y Robert Slutzky nos alertan sobre otra transparencia inherente a la estructura: la transparencia fenomenal, ilustrada por los cuadros de Juan Gris, y cuya intuición aparece reflejada en la casa Huarte en Puerta de Hierro de Madrid. Corrales y Molezún insisten en una lectura de su volumetría alejada de la frontalidad, en la que los contornos de sus cubiertas inclinadas y las visuales tangenciales sugeridas por la organización de sus recorridos introducen una estructura diagonal que se superpone al entendimiento ortogonal de su planta, dibujando una intrincada red de líneas quebradas que permiten al espacio fluctuar entre las secuencia volumétrica propuesta. Los datos relativos al contenido energético de la luz y el concepto de átomo parten de la consideración de la emisión de energía en cuantos realizada por Planck, y concluyen con una circunstancia paradójica: la doble naturaleza de la luz -demostrada por la explicación de Einstein del efecto fotoeléctrico- y la doble naturaleza de la materia -asumida por Bohr y demostrada por el efecto Compton-. Schrödinger y Heisenberg formularán finalmente la ecuación universal del movimiento que rige en las ondas de materia, y cuya representación matemática es lo que se conoce como función de onda. El objeto es así identificado con su función de onda. Su ondulatoriedad expresará la probabilidad de encontrarse en un lugar determinado. Gyorgy Kepes subraya la necesidad de simplificar el lenguaje para pasar de la objetividad que aún permanece en la pintura cubista a la abstracción total del espacio. Y es así como los artistas plásticos reducen los objetos a simples formas geométricas, haciendo aflorar a la vez, las fuerzas plásticas que los tensionan o equilibran, en un proceso que acaba por eliminar cualquier atisbo de materia. Robert Rosenblum en La Pintura Moderna y la Tradición del Romanticismo Nórdico habla de cómo ese rechazo de la materia en favor de un vacío casi impalpable, campos luminosos de color denso que difunden un sereno resplandor y parecen engendrar las energías elementales de la luz natural, está directamente vinculado a la relación con la naturaleza que establece el romanticismo nórdico. La expresión de la energía de la naturaleza concentrada en un vacío que ya había sido motivo de reflexión para Michael Faraday en su postulación del concepto de campo eléctrico. Sáenz de Oíza incide en la expresión de la condición material de la energía en su propuesta junto a José Luis Romany para la capilla en el Camino de Santiago. La evocación de diferentes fuerzas electromagnéticas, las únicas junto a las gravitatorias susceptibles de ser experimentadas por el hombre, aparecerán visualizadas también en el carácter emergente de algunas de sus obras: el Santuario de Aránzazu o Torres Blancas; pero también en la naturaleza fluyente de sus contornos, la dispersión perimetral de los espacios -el umbral como centro del universoo la configuración del límite como respuesta a las tensiones germinales de la naturaleza. Miguel Fisac, a la vuelta de su viaje a los países nórdicos, aborda una simplificación lingüística orientada hacia la adecuación funcional de los espacios. En el Instituto de Daimiel, el Instituto de formación del profesorado o los complejos para los Padres Dominicos en Valladolid o Alcobendas, organiza progresivamente la arquitectura en diferentes volúmenes funcionales, incidiendo de un modo paralelo en la manifestación de los vínculos que se establecen entre dichos volúmenes como una visualización de las fuerzas que los tensionan y equilibran. En ellos la prolongación de la realidad física más allá de los límites de la envolvente ya es algo más que una simple intuición. Un proceso en el que el tratamiento de la luz como un material de construcción más, tendrá un especial protagonismo. En la iglesia de la Coronación, la iluminación del muro curvo escenifica la condición ondulatoria de la luz, manifestándose como si de un patrón de interferencia se tratara. Frente a la disolución de lo material, el espacio se manifiesta aquí como un medio denso, alejado de la tradicional noción de vacío. Una doble naturaleza, onda y partícula, que será intuido también por Fisac en la materia a través de su uso comprometido del hormigón como único material de construcción. Richard Feynmann nos alerta de la ocupación del espacio por multitud de fuerzas electromagnéticas que, al igual que la luz, precisan de receptores específicos para captar su presencia. Sus célebres diagramas suponen además la visualización definitiva de los procesos subatómicos. Al igual que la abstracción absoluta en las artes plásticas, esas representaciones diagramáticas no son asimilables a imágenes obtenidas de nuestra experiencia. Una intuición plasmada en el uso del diagrama, que irán adquiriendo progresivamente los dibujos de Alejandro de la Sota. La sección del gimnasio Maravillas recoge los trazos de sus principales elementos constructivos: estructura, cerramientos, compartimentaciones…, pero también, y con la misma intensidad, los de las fuerzas que generan su espacio, considerando así su condición de elementos constituyentes. El vacío, nos deja claro Sota, es el lugar donde habitan dichas tensiones. La posterior simplificación de las formas acompañadas de la obsesión por su aligeramiento, la casi desaparición de la envolvente, incide en aquella idea con la que Paul Klee define la actividad del artista en su Teoría del Arte Moderno, y en la que se transmite el distanciamiento hacia lo aparente: No se trata de reproducir lo visible, se trata de volver visible. Así, en Bankunión y Aviaco, como en tantos otros proyectos, frente al objetivo de la forma, Sota plantea el límite como la acotación de un ámbito de actuación. Su propia representación aséptica y diagramática transmite la renuncia a una especificidad espacial. Gilles Deleuze expresa ese posicionamiento en Pintura, el Concepto de Diagrama: el diagrama como la posibilidad de cuadros infinitos, o la posibilidad infinita de cuadros. Aparece así una concepción probabilística del espacio en la que frente a la renuncia por la forma, la tendencia al aligeramiento, y lo difuso de su definición – ideas claras, definición borrosa, en palabras de Llinás referidas al modo de operar de Sota-, la insistente atención a algunos elementos como escaleras, protecciones o miradores parece trasmitir la idea de que la arquitectura queda condensada en aquellos acontecimientos que delatan su condición dinámica, transitoria. Primando la relación frente al objeto, el vínculo frente a lo tangible. English summary. The fifties and sixties were the years of the final incorporation of Spanish architecture to the international scene. Among the architects who star that no return leap, is the group of those who a few years later will be named by Juan Daniel Fullaondo as Escuela de Madrid. Carlos Flores, in his book Arquitectura Española Contemporánea 1880-1950, refers to those architects as those that applied to the difficult task of restoring in Spain an architecture that connected with theories, solutions and established languages in Europe during the first decades of the twentieth century. Sigfried Giedion proposes in Space, Time and Architecture, the origin of a new tradition, arising from the optical revolution at the beginning of the century. With tradition he refers to a new culture, covering the interplay of different human activities: the similarity of the methods used in architecture, building, painting, urban planning or science. This new feature, based on its independence and detachment from the previous period, is part of the evolutionary scheme that Thomas Kuhn proposes in his text The Structure of Scientific Revolutions, according to non-accumulative periods. Kuhn talks about the emergence of anomalies in each period, origin of thought crisis whose explanation will require a paradigm shift needed. In science, in the field of optical Thomas Young demonstrates at the early nineteenth century the wave nature of light with its double-slit experiment , in electromagnetism the postulation of the existence of the electric field by Michael Faraday involves a conceptual leap, and in thermodynamic, the consideration pointed by Planck about quantum energy radiation. In the arts, in a parallel process, Gleizes and Metzinger , in his collection of cubism achievements on their book Du Cubisme, speak of evolution occurring during the nineteenth century by the painting: from the idealism of beginning of the century, going for realism and impressionist representation of reality, and finishing regardless of the classical perspective . Mathematics also, once developed by Gauss and Lobachevsky and Bolyai consistent geometries that violate Euclid's fifth postulate , will end validating Riemann’s ambient spaces in which these geometries inhabit, decoupling the direct relationship between geometric space -the space environment that results in a type of geometry- , and physical space. Capi Corrales reflectes in his book Contando el Espacio, that non-Euclidean geometries were not noticeable outside the field of mathematics until the theory of relativity and cubism. The origin of the new tradition that Giedion relates to the new culture of modernity coincides with paradigmatic leaps pointed by the theory of relativity in science and Cubism in the visual arts. Both are extended during the first decades until quantum theory and absolute abstraction, barriers that the two main precursors of relativity and cubism, Einstein and Picasso never overcome. In that sense Giedion speaks about the origin, but also the development, and incorporates peripheral inputs from Brazil, Japan and Finland architecture, thus including organic revision advocated by Zevi as part of this new tradition, being open to the late addition of new contributions to the development of that culture of modernity. Removed the concept of Kant's transcendental aesthetics, of time as an absolute reference, and assumed the constant value of the speed of light, theory of relativity says there is no authentic concurrency. It is thus fixed the speed of light as one of the limits of the universe, and the equivalence of mass and energy. In cubism, spatial simultaneity results from the elimination of preferential points of view, resulting in the multiplicity descriptive of reality, which is displayed in decomposition levels, both the object and the space, and the resulting continuity between figure and background that architecture is reflected in the continuity between building and land. Without the consideration of an absolute point of view, there isn’t an authentic shape. Cubism, and its subsequent development by the vanguard arts, make use of geometry as a means of rebuilding the figure and space, taking penetration mechanisms, overlapping and transparency. Gyorgy Kepes suggest in Languaje of Vision, that cubist decomposition of the object involves successive planes autonomy, to become constituent elements. Something that reflects the Van Doesburg’s architectural axonometrics and culminates with the spaces proposed by Mies van der Rohe in his first European projects. These mechanisms are reflected in the first approaches by Javier Carvajal: the extension of Spanish Pantheon in Campo Verano Cemetery, virtual enclosure mentally reconstructed from 24 the use of only three planes, or in the Spanish Pavilion of New York, which organizes its ground floor from the tour, introducing the time parameter as an additional dimension. Carvajal adds to the differential use of the plane as a constituent, Carvajal incorporates its folding and forming enclosures available as a mechanism for spatial and formal qualification, promoting the extension between architecture and territory. A continuity that will be completed in the two houses built in Somosaguas. Volumetric decomposition, as the fragmentation achieved in the last cubist experiences, needs the incorporation of elements of memory - fountains, patios, shutters...- as a network of signals, such as those introduced by Picasso and Braque in their paintings to allow their interpretation. Braque insists in his interest in the space surrounding the objects. A search of the tactility of space contrary to the perspective, which moves the observer away from the object, and that in the gardens of Somosaguas seems to emanate from its own materiality. A tactile space away from the geometric space and Braque identified with the representative space in which Poincaré in La Science et l´hypothèse, located our feelings. To blur those boundaries of the object extends the space indefinitely. With the passage in Greek art from myth to logos, it opens up to mathematics as a tool for understanding the nature until the nineteenth century. Leon Lederman, in Symmetry and beautiful Universe, suggests that one of the greatest contributions of Einstein's theory is to change the mindset of nature, namely the search for symmetry principles that underlie physical laws. Considering that symmetry is the invariance of an object or system from a transformation and that physical laws are the same at any point in space, the space of our universe has a continuous translational symmetry. In the space occupation of the first proposals by Corrales and Molezún underlying structures appear that match enlosetados: parallelograms under continuous transformations, which nature identifies tridimensionally with the crystallographic groups. Plants in the Contemporary Art Museum in La Castellana, the residence in Miraflores, the Brussels pavilion or the Peugeot tower belong to this group. The architecture as a process of continuous occupation of the territory and of its transposition to the deck, embodied in structural lines coincide with the mathematical structure of the translational symmetry and infinite extension whose possibility is enhanced by the use of the transparent cover. Alongside this literal transparency inherent to the material, Colin Rowe and Robert Slutzky alert us another transparency inherent in the structure: phenomenal transparency, illustrated by the Juan Gris’ works, and whose intuition is reflected in the Huarte’s house in Puerta de Hierro in Madrid. Corrales and Molezún insist on a reading of its volume away from the frontal, in which the outline of their inclined roofs and tangential visual suggested by the organization of his circulations introduce a diagonal structure which overlaps the orthogonal understanding of its plant, drawing an intricate web of broken lines that allow the space fluctuate between the volumetric sequence proposal. Information concerning to the energy mean of light and the concept of atom start from the consideration by Plank about the energy emission, and conclude with a paradoxical situation: the dual nature of light - demonstrated by the explanation of Einstein's photoelectric effect-, and the dual nature of matter -assumed by Bohr and demonstrated by the Compton effect-. Finally, Schrödinger and Heisenberg will formulate the universal movement equation governing in undulatory matter, whose mathematical representation is what is known as a wave function. The object is thus identified with its wave function. Its undulatory expression speaks about the probability of being found in a certain place. Gyorgy Kepes emphasizess the need to simplify the language to move from the objectivity that still remains in the cubist painting to the total abstraction of the space. And this is how artists reduced the objects to simple geometric shapes, making emerge at a time, the plastic forces that tense or balance them, in a process that eventually eliminate any trace of matter. Robert Rosenblum in Modern Painting and the Northern Romantic Tradition. Friedrich to Rothko talks about how this rejection of matter in an almost impalpable vacuum: dense color light fields that broadcast a serene glow and seem to generate the elemental energies of natural light is directly linked to the relationship with nature that sets the northern romanticism. An expression of the power of nature concentrated in a vacuum which had been reason for thought by Michael Faraday in his application of the concept of electric field. Saenz de Oíza touches upon the material expression of the energy in its proposal with Jose Luis Romany to the chapel on the Camino de Santiago. The presence of electromagnetic forces, the only ones with the gravitational one capable of being experienced by the man will also visualize in the emerging nature of some of his works: the sanctuary of Aránzazu or Torres Blancas, but also in the flowing nature of its contours, and the inclusion of interest in the realization of space fluctuating boundary: the threshold as the center of the universe. Miguel Fisac, back from his trip to the Northern Countries, starts on a linguistic simplification oriented to the functional adequacy of spaces. In the Daimiel Institute, in the Institute to Teacher Formation or in the complex to the Dominican Fathers in Valladolid or Alcobendas, progressively organized into different functional volumes architecture, focusing in a parallel way in the manifestation of the links established between these volumes as a visualization of the forces that tense and balance them. The prolongation of the physical reality beyond the limits of the envelope is already something more than a simple intuition. A process in which the treatment of light as a construction material, have a special role. In the Coronation church, curved wall lighting dramatizes the undulatory condition of the light, manifesting as if an interference pattern is involved. Versus the dissolution of the material, the space is expressed here as a dense atmosphere, away from the traditional notion of the vacuum. A dual nature, wave and particle, which is also sensed by Fisac in his committed use of concrete as a unique construction material. Richard Feynman alerts us to the occupation of space by many electromagnetic forces, which like the light, require specific receptors to capture their presence. His famous diagrams also involve the final visualization of atomic processes. As absolute abstraction in the visual arts, these representations are not assimilated to images obtained from our experience. A diagrammatic nature, abstracted from figuration, which will obtein the pictures of Alejandro de la Sota. The section of Maravillas gym collects traces of its main building blocks: structure, enclosures... but also, and with the same intensity, of the forces that generate their space as constituent elements. Sota makes it clear: the vacuum is where inhabit these tensions. The subsequent simplification of forms, accompanied by the obsession with his lightening, the near disappearance of the envelope, touches upon that idea which Paul Klee defines the activity of the artist in his Modern Art Theory, the spacing out to the apparent: it is not to reproduce the visible, it is to turn visible. Thus, in Bankunión and Aviaco, as in many other projects, against the shape, raises the limit as the dimension of a scope. His own aseptic and diagrammatic representation transmits waiver to a spatial specificity that Gilles Deleuze clearly expressed in Painting. The Concept Diagram: The diagram as the possibility of infinite pictures, or infinite possibility of the picture. Thus appears the probabilistic concept of space in which, opposite to the diffuse of its definition -clear ideas, diffuse definition, as Llinas said- the insistent attention to some elements like stairs, guards or lookouts seems to concentrate the architecture in its dynamic condition, transitional. The relationship opposite the object, the link opposite the tangible.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

El presente trabajo fin de grado, que, a partir de ahora, denominaré TFG, consiste en elaborar una monitorización de programas concurrentes en lenguaje Java, para que se visualicen los eventos ocurridos durante la ejecución de los dichos programas. Este trabajo surge en el marco de la asignatura “Concurrencia” de la Escuela Técnica Superior de Ingeniería Informática de la Universidad Politécnica de Madrid, impartida por D. Julio Mariño y D. Ángel Herranz. El objetivo principal de este proyecto es crear una herramienta para el aprendizaje de la asignatura de concurrencia, facilitando la comprensión de los conceptos teóricos, de modo que puedan corregir los posibles errores que haya en sus prácticas. en este proyecto se expone el desarrollo de una librería de visualización de programas concurrentes programados en Java usando un formalismo gráfico similar al empleado en la asignatura. Además esta librería da soporte a los mecanismos de sincronización usados en las prácticas de la asignatura: la librería Monitor (desarrollada por los profesores de la asignatura, D. Ángel Herranz y D. Julio Mariño) y la librería JCSP (Universidad de Kent). ---ABSTRACT---This Bachelor Thesis addresses the problem of monitoring a Java program in order to trace and visualize a certain set of events produced during the execution of concurrent Java programs. This work originates in the subject "Concurrency" of the Computer Science and Engineering degree of our University. The main goal of this work is to have a tool that helps students learning the subject, so they can better understand the core concepts and correct common mistakes in the course practical work. We have implemented a library for visualizing concurrent Java programsusing a graphical notation similar to the one used in class, which supports the design of concurrent programs whose synchronization mechanisms are either monitors(using the Monitor package) or CSP(as implemented in the JCSP library from Kent University).

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The software engineering community has paid little attention to non-functional requirements, or quality attributes, compared with studies performed on capture, analysis and validation of functional requirements. This circumstance becomes more intense in the case of distributed applications. In these applications we have to take into account, besides the quality attributes such as correctness, robustness, extendibility, reusability, compatibility, efficiency, portability and ease of use, others like reliability, scalability, transparency, security, interoperability, concurrency, etc. In this work we will show how these last attributes are related to different abstractions that coexist in the problem domain. To achieve this goal, we have established a taxonomy of quality attributes of distributed applications and have determined the set of necessary services to support such attributes.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Los tipos de datos concurrentes son implementaciones concurrentes de las abstracciones de datos clásicas, con la diferencia de que han sido específicamente diseñados para aprovechar el gran paralelismo disponible en las modernas arquitecturas multiprocesador y multinúcleo. La correcta manipulación de los tipos de datos concurrentes resulta esencial para demostrar la completa corrección de los sistemas de software que los utilizan. Una de las mayores dificultades a la hora de diseñar y verificar tipos de datos concurrentes surge de la necesidad de tener que razonar acerca de un número arbitrario de procesos que invocan estos tipos de datos de manera concurrente. Esto requiere considerar sistemas parametrizados. En este trabajo estudiamos la verificación formal de propiedades temporales de sistemas concurrentes parametrizados, poniendo especial énfasis en programas que manipulan estructuras de datos concurrentes. La principal dificultad a la hora de razonar acerca de sistemas concurrentes parametrizados proviene de la interacción entre el gran nivel de concurrencia que éstos poseen y la necesidad de razonar al mismo tiempo acerca de la memoria dinámica. La verificación de sistemas parametrizados resulta en sí un problema desafiante debido a que requiere razonar acerca de estructuras de datos complejas que son accedidas y modificadas por un numero ilimitado de procesos que manipulan de manera simultánea el contenido de la memoria dinámica empleando métodos de sincronización poco estructurados. En este trabajo, presentamos un marco formal basado en métodos deductivos capaz de ocuparse de la verificación de propiedades de safety y liveness de sistemas concurrentes parametrizados que manejan estructuras de datos complejas. Nuestro marco formal incluye reglas de prueba y técnicas especialmente adaptadas para sistemas parametrizados, las cuales trabajan en colaboración con procedimientos de decisión especialmente diseñados para analizar complejas estructuras de datos concurrentes. Un aspecto novedoso de nuestro marco formal es que efectúa una clara diferenciación entre el análisis del flujo de control del programa y el análisis de los datos que se manejan. El flujo de control del programa se analiza utilizando reglas de prueba y técnicas de verificación deductivas especialmente diseñadas para lidiar con sistemas parametrizados. Comenzando a partir de un programa concurrente y la especificación de una propiedad temporal, nuestras técnicas deductivas son capaces de generar un conjunto finito de condiciones de verificación cuya validez implican la satisfacción de dicha especificación temporal por parte de cualquier sistema, sin importar el número de procesos que formen parte del sistema. Las condiciones de verificación generadas se corresponden con los datos manipulados. Estudiamos el diseño de procedimientos de decisión especializados capaces de lidiar con estas condiciones de verificación de manera completamente automática. Investigamos teorías decidibles capaces de describir propiedades de tipos de datos complejos que manipulan punteros, tales como implementaciones imperativas de pilas, colas, listas y skiplists. Para cada una de estas teorías presentamos un procedimiento de decisión y una implementación práctica construida sobre SMT solvers. Estos procedimientos de decisión son finalmente utilizados para verificar de manera automática las condiciones de verificación generadas por nuestras técnicas de verificación parametrizada. Para concluir, demostramos como utilizando nuestro marco formal es posible probar no solo propiedades de safety sino además de liveness en algunas versiones de protocolos de exclusión mutua y programas que manipulan estructuras de datos concurrentes. El enfoque que presentamos en este trabajo resulta ser muy general y puede ser aplicado para verificar un amplio rango de tipos de datos concurrentes similares. Abstract Concurrent data types are concurrent implementations of classical data abstractions, specifically designed to exploit the great deal of parallelism available in modern multiprocessor and multi-core architectures. The correct manipulation of concurrent data types is essential for the overall correctness of the software system built using them. A major difficulty in designing and verifying concurrent data types arises by the need to reason about any number of threads invoking the data type simultaneously, which requires considering parametrized systems. In this work we study the formal verification of temporal properties of parametrized concurrent systems, with a special focus on programs that manipulate concurrent data structures. The main difficulty to reason about concurrent parametrized systems comes from the combination of their inherently high concurrency and the manipulation of dynamic memory. This parametrized verification problem is very challenging, because it requires to reason about complex concurrent data structures being accessed and modified by threads which simultaneously manipulate the heap using unstructured synchronization methods. In this work, we present a formal framework based on deductive methods which is capable of dealing with the verification of safety and liveness properties of concurrent parametrized systems that manipulate complex data structures. Our framework includes special proof rules and techniques adapted for parametrized systems which work in collaboration with specialized decision procedures for complex data structures. A novel aspect of our framework is that it cleanly differentiates the analysis of the program control flow from the analysis of the data being manipulated. The program control flow is analyzed using deductive proof rules and verification techniques specifically designed for coping with parametrized systems. Starting from a concurrent program and a temporal specification, our techniques generate a finite collection of verification conditions whose validity entails the satisfaction of the temporal specification by any client system, in spite of the number of threads. The verification conditions correspond to the data manipulation. We study the design of specialized decision procedures to deal with these verification conditions fully automatically. We investigate decidable theories capable of describing rich properties of complex pointer based data types such as stacks, queues, lists and skiplists. For each of these theories we present a decision procedure, and its practical implementation on top of existing SMT solvers. These decision procedures are ultimately used for automatically verifying the verification conditions generated by our specialized parametrized verification techniques. Finally, we show how using our framework it is possible to prove not only safety but also liveness properties of concurrent versions of some mutual exclusion protocols and programs that manipulate concurrent data structures. The approach we present in this work is very general, and can be applied to verify a wide range of similar concurrent data types.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

A raíz de la aparición de los procesadores dotados de varios “cores”, la programación paralela, un concepto que, por otra parte no era nada nuevo y se conocía desde hace décadas, sufrió un nuevo impulso, pues se creía que se podía superar el techo tecnológico que había estado limitando el rendimiento de esta programación durante años. Este impulso se ha ido manteniendo hasta la actualidad, movido por la necesidad de sistemas cada vez más potentes y gracias al abaratamiento de los costes de fabricación. Esta tendencia ha motivado la aparición de nuevo software y lenguajes con componentes orientados precisamente al campo de la programación paralela. Este es el caso del lenguaje Go, desarrollado por Google y lanzado en 2009. Este lenguaje se basa en modelos de concurrencia que lo hacen muy adecuados para abordar desarrollos de naturaleza paralela. Sin embargo, la programación paralela es un campo complejo y heterogéneo, y los programadores son reticentes a utilizar herramientas nuevas, en beneficio de aquellas que ya conocen y les son familiares. Un buen ejemplo son aquellas implementaciones de lenguajes conocidos, pero orientadas a programación paralela, y que siguen las directrices de un estándar ampliamente reconocido y aceptado. Este es el caso del estándar OpenMP, un Interfaz de Programación de Aplicaciones (API) flexible, portable y escalable, orientado a la programación paralela multiproceso en arquitecturas multi-core o multinucleo. Dicho estándar posee actualmente implementaciones en los lenguajes C, C++ y Fortran. Este proyecto nace como un intento de aunar ambos conceptos: un lenguaje emergente con interesantes posibilidades en el campo de la programación paralela, y un estándar reputado y ampliamente extendido, con el que los programadores se encuentran familiarizados. El objetivo principal es el desarrollo de un conjunto de librerías del sistema (que engloben directivas de compilación o pragmas, librerías de ejecución y variables de entorno), soportadas por las características y los modelos de concurrencia propios de Go; y que añadan funcionalidades propias del estándar OpenMP. La idea es añadir funcionalidades que permitan programar en lenguaje Go utilizando la sintaxis que OpenMP proporciona para otros lenguajes, como Fortan y C/C++ (concretamente, similar a esta última), y, de esta forma, dotar al usuario de Go de herramientas para programar estructuras de procesamiento paralelo de forma sencilla y transparente, de la misma manera que lo haría utilizando C/C++.---ABSTRACT---As a result of the appearance of processors equipped with multiple "cores ", parallel programming, a concept which, moreover, it was not new and it was known for decades, suffered a new impulse, because it was believed they could overcome the technological ceiling had been limiting the performance of this program for years. This impulse has been maintained until today, driven by the need for ever more powerful systems and thanks to the decrease in manufacturing costs. This trend has led to the emergence of new software and languages with components guided specifically to the field of parallel programming. This is the case of Go language, developed by Google and released in 2009. This language is based on concurrency models that make it well suited to tackle developments in parallel nature. However, parallel programming is a complex and heterogeneous field, and developers are reluctant to use new tools to benefit those who already know and are familiar. A good example are those implementations from well-known languages, but parallel programming oriented, and witch follow the guidelines of a standard widely recognized and accepted. This is the case of the OpenMP standard, an application programming interface (API), flexible, portable and scalable, parallel programming oriented, and designed for multi-core architectures. This standard currently has implementations in C, C ++ and Fortran. This project was born as an attempt to combine two concepts: an emerging language, with interesting possibilities in the field of parallel programming, and a reputed and widespread standard, with which programmers are familiar with. The main objective is to develop a set of system libraries (which includes compiler directives or pragmas, runtime libraries and environment variables), supported by the characteristics and concurrency patterns of Go; and that add custom features from the OpenMP standard. The idea is to add features that allow programming in Go language using the syntax OpenMP provides for other languages, like Fortran and C / C ++ (specifically, similar to the latter ), and, in this way, provide Go users with tools for programming parallel structures easily and, in the same way they would using C / C ++.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Esta tesis doctoral se enmarca dentro del campo de los sistemas embebidos reconfigurables, redes de sensores inalámbricas para aplicaciones de altas prestaciones, y computación distribuida. El documento se centra en el estudio de alternativas de procesamiento para sistemas embebidos autónomos distribuidos de altas prestaciones (por sus siglas en inglés, High-Performance Autonomous Distributed Systems (HPADS)), así como su evolución hacia el procesamiento de alta resolución. El estudio se ha llevado a cabo tanto a nivel de plataforma como a nivel de las arquitecturas de procesamiento dentro de la plataforma con el objetivo de optimizar aspectos tan relevantes como la eficiencia energética, la capacidad de cómputo y la tolerancia a fallos del sistema. Los HPADS son sistemas realimentados, normalmente formados por elementos distribuidos conectados o no en red, con cierta capacidad de adaptación, y con inteligencia suficiente para llevar a cabo labores de prognosis y/o autoevaluación. Esta clase de sistemas suele formar parte de sistemas más complejos llamados sistemas ciber-físicos (por sus siglas en inglés, Cyber-Physical Systems (CPSs)). Los CPSs cubren un espectro enorme de aplicaciones, yendo desde aplicaciones médicas, fabricación, o aplicaciones aeroespaciales, entre otras muchas. Para el diseño de este tipo de sistemas, aspectos tales como la confiabilidad, la definición de modelos de computación, o el uso de metodologías y/o herramientas que faciliten el incremento de la escalabilidad y de la gestión de la complejidad, son fundamentales. La primera parte de esta tesis doctoral se centra en el estudio de aquellas plataformas existentes en el estado del arte que por sus características pueden ser aplicables en el campo de los CPSs, así como en la propuesta de un nuevo diseño de plataforma de altas prestaciones que se ajuste mejor a los nuevos y más exigentes requisitos de las nuevas aplicaciones. Esta primera parte incluye descripción, implementación y validación de la plataforma propuesta, así como conclusiones sobre su usabilidad y sus limitaciones. Los principales objetivos para el diseño de la plataforma propuesta se enumeran a continuación: • Estudiar la viabilidad del uso de una FPGA basada en RAM como principal procesador de la plataforma en cuanto a consumo energético y capacidad de cómputo. • Propuesta de técnicas de gestión del consumo de energía en cada etapa del perfil de trabajo de la plataforma. •Propuestas para la inclusión de reconfiguración dinámica y parcial de la FPGA (por sus siglas en inglés, Dynamic Partial Reconfiguration (DPR)) de forma que sea posible cambiar ciertas partes del sistema en tiempo de ejecución y sin necesidad de interrumpir al resto de las partes. Evaluar su aplicabilidad en el caso de HPADS. Las nuevas aplicaciones y nuevos escenarios a los que se enfrentan los CPSs, imponen nuevos requisitos en cuanto al ancho de banda necesario para el procesamiento de los datos, así como en la adquisición y comunicación de los mismos, además de un claro incremento en la complejidad de los algoritmos empleados. Para poder cumplir con estos nuevos requisitos, las plataformas están migrando desde sistemas tradicionales uni-procesador de 8 bits, a sistemas híbridos hardware-software que incluyen varios procesadores, o varios procesadores y lógica programable. Entre estas nuevas arquitecturas, las FPGAs y los sistemas en chip (por sus siglas en inglés, System on Chip (SoC)) que incluyen procesadores embebidos y lógica programable, proporcionan soluciones con muy buenos resultados en cuanto a consumo energético, precio, capacidad de cómputo y flexibilidad. Estos buenos resultados son aún mejores cuando las aplicaciones tienen altos requisitos de cómputo y cuando las condiciones de trabajo son muy susceptibles de cambiar en tiempo real. La plataforma propuesta en esta tesis doctoral se ha denominado HiReCookie. La arquitectura incluye una FPGA basada en RAM como único procesador, así como un diseño compatible con la plataforma para redes de sensores inalámbricas desarrollada en el Centro de Electrónica Industrial de la Universidad Politécnica de Madrid (CEI-UPM) conocida como Cookies. Esta FPGA, modelo Spartan-6 LX150, era, en el momento de inicio de este trabajo, la mejor opción en cuanto a consumo y cantidad de recursos integrados, cuando además, permite el uso de reconfiguración dinámica y parcial. Es importante resaltar que aunque los valores de consumo son los mínimos para esta familia de componentes, la potencia instantánea consumida sigue siendo muy alta para aquellos sistemas que han de trabajar distribuidos, de forma autónoma, y en la mayoría de los casos alimentados por baterías. Por esta razón, es necesario incluir en el diseño estrategias de ahorro energético para incrementar la usabilidad y el tiempo de vida de la plataforma. La primera estrategia implementada consiste en dividir la plataforma en distintas islas de alimentación de forma que sólo aquellos elementos que sean estrictamente necesarios permanecerán alimentados, cuando el resto puede estar completamente apagado. De esta forma es posible combinar distintos modos de operación y así optimizar enormemente el consumo de energía. El hecho de apagar la FPGA para ahora energía durante los periodos de inactividad, supone la pérdida de la configuración, puesto que la memoria de configuración es una memoria volátil. Para reducir el impacto en el consumo y en el tiempo que supone la reconfiguración total de la plataforma una vez encendida, en este trabajo, se incluye una técnica para la compresión del archivo de configuración de la FPGA, de forma que se consiga una reducción del tiempo de configuración y por ende de la energía consumida. Aunque varios de los requisitos de diseño pueden satisfacerse con el diseño de la plataforma HiReCookie, es necesario seguir optimizando diversos parámetros tales como el consumo energético, la tolerancia a fallos y la capacidad de procesamiento. Esto sólo es posible explotando todas las posibilidades ofrecidas por la arquitectura de procesamiento en la FPGA. Por lo tanto, la segunda parte de esta tesis doctoral está centrada en el diseño de una arquitectura reconfigurable denominada ARTICo3 (Arquitectura Reconfigurable para el Tratamiento Inteligente de Cómputo, Confiabilidad y Consumo de energía) para la mejora de estos parámetros por medio de un uso dinámico de recursos. ARTICo3 es una arquitectura de procesamiento para FPGAs basadas en RAM, con comunicación tipo bus, preparada para dar soporte para la gestión dinámica de los recursos internos de la FPGA en tiempo de ejecución gracias a la inclusión de reconfiguración dinámica y parcial. Gracias a esta capacidad de reconfiguración parcial, es posible adaptar los niveles de capacidad de procesamiento, energía consumida o tolerancia a fallos para responder a las demandas de la aplicación, entorno, o métricas internas del dispositivo mediante la adaptación del número de recursos asignados para cada tarea. Durante esta segunda parte de la tesis se detallan el diseño de la arquitectura, su implementación en la plataforma HiReCookie, así como en otra familia de FPGAs, y su validación por medio de diferentes pruebas y demostraciones. Los principales objetivos que se plantean la arquitectura son los siguientes: • Proponer una metodología basada en un enfoque multi-hilo, como las propuestas por CUDA (por sus siglas en inglés, Compute Unified Device Architecture) u Open CL, en la cual distintos kernels, o unidades de ejecución, se ejecuten en un numero variable de aceleradores hardware sin necesidad de cambios en el código de aplicación. • Proponer un diseño y proporcionar una arquitectura en la que las condiciones de trabajo cambien de forma dinámica dependiendo bien de parámetros externos o bien de parámetros que indiquen el estado de la plataforma. Estos cambios en el punto de trabajo de la arquitectura serán posibles gracias a la reconfiguración dinámica y parcial de aceleradores hardware en tiempo real. • Explotar las posibilidades de procesamiento concurrente, incluso en una arquitectura basada en bus, por medio de la optimización de las transacciones en ráfaga de datos hacia los aceleradores. •Aprovechar las ventajas ofrecidas por la aceleración lograda por módulos puramente hardware para conseguir una mejor eficiencia energética. • Ser capaces de cambiar los niveles de redundancia de hardware de forma dinámica según las necesidades del sistema en tiempo real y sin cambios para el código de aplicación. • Proponer una capa de abstracción entre el código de aplicación y el uso dinámico de los recursos de la FPGA. El diseño en FPGAs permite la utilización de módulos hardware específicamente creados para una aplicación concreta. De esta forma es posible obtener rendimientos mucho mayores que en el caso de las arquitecturas de propósito general. Además, algunas FPGAs permiten la reconfiguración dinámica y parcial de ciertas partes de su lógica en tiempo de ejecución, lo cual dota al diseño de una gran flexibilidad. Los fabricantes de FPGAs ofrecen arquitecturas predefinidas con la posibilidad de añadir bloques prediseñados y poder formar sistemas en chip de una forma más o menos directa. Sin embargo, la forma en la que estos módulos hardware están organizados dentro de la arquitectura interna ya sea estática o dinámicamente, o la forma en la que la información se intercambia entre ellos, influye enormemente en la capacidad de cómputo y eficiencia energética del sistema. De la misma forma, la capacidad de cargar módulos hardware bajo demanda, permite añadir bloques redundantes que permitan aumentar el nivel de tolerancia a fallos de los sistemas. Sin embargo, la complejidad ligada al diseño de bloques hardware dedicados no debe ser subestimada. Es necesario tener en cuenta que el diseño de un bloque hardware no es sólo su propio diseño, sino también el diseño de sus interfaces, y en algunos casos de los drivers software para su manejo. Además, al añadir más bloques, el espacio de diseño se hace más complejo, y su programación más difícil. Aunque la mayoría de los fabricantes ofrecen interfaces predefinidas, IPs (por sus siglas en inglés, Intelectual Property) comerciales y plantillas para ayudar al diseño de los sistemas, para ser capaces de explotar las posibilidades reales del sistema, es necesario construir arquitecturas sobre las ya establecidas para facilitar el uso del paralelismo, la redundancia, y proporcionar un entorno que soporte la gestión dinámica de los recursos. Para proporcionar este tipo de soporte, ARTICo3 trabaja con un espacio de soluciones formado por tres ejes fundamentales: computación, consumo energético y confiabilidad. De esta forma, cada punto de trabajo se obtiene como una solución de compromiso entre estos tres parámetros. Mediante el uso de la reconfiguración dinámica y parcial y una mejora en la transmisión de los datos entre la memoria principal y los aceleradores, es posible dedicar un número variable de recursos en el tiempo para cada tarea, lo que hace que los recursos internos de la FPGA sean virtualmente ilimitados. Este variación en el tiempo del número de recursos por tarea se puede usar bien para incrementar el nivel de paralelismo, y por ende de aceleración, o bien para aumentar la redundancia, y por lo tanto el nivel de tolerancia a fallos. Al mismo tiempo, usar un numero óptimo de recursos para una tarea mejora el consumo energético ya que bien es posible disminuir la potencia instantánea consumida, o bien el tiempo de procesamiento. Con el objetivo de mantener los niveles de complejidad dentro de unos límites lógicos, es importante que los cambios realizados en el hardware sean totalmente transparentes para el código de aplicación. A este respecto, se incluyen distintos niveles de transparencia: • Transparencia a la escalabilidad: los recursos usados por una misma tarea pueden ser modificados sin que el código de aplicación sufra ningún cambio. • Transparencia al rendimiento: el sistema aumentara su rendimiento cuando la carga de trabajo aumente, sin cambios en el código de aplicación. • Transparencia a la replicación: es posible usar múltiples instancias de un mismo módulo bien para añadir redundancia o bien para incrementar la capacidad de procesamiento. Todo ello sin que el código de aplicación cambie. • Transparencia a la posición: la posición física de los módulos hardware es arbitraria para su direccionamiento desde el código de aplicación. • Transparencia a los fallos: si existe un fallo en un módulo hardware, gracias a la redundancia, el código de aplicación tomará directamente el resultado correcto. • Transparencia a la concurrencia: el hecho de que una tarea sea realizada por más o menos bloques es transparente para el código que la invoca. Por lo tanto, esta tesis doctoral contribuye en dos líneas diferentes. En primer lugar, con el diseño de la plataforma HiReCookie y en segundo lugar con el diseño de la arquitectura ARTICo3. Las principales contribuciones de esta tesis se resumen a continuación. • Arquitectura de la HiReCookie incluyendo: o Compatibilidad con la plataforma Cookies para incrementar las capacidades de esta. o División de la arquitectura en distintas islas de alimentación. o Implementación de los diversos modos de bajo consumo y políticas de despertado del nodo. o Creación de un archivo de configuración de la FPGA comprimido para reducir el tiempo y el consumo de la configuración inicial. • Diseño de la arquitectura reconfigurable para FPGAs basadas en RAM ARTICo3: o Modelo de computación y modos de ejecución inspirados en el modelo de CUDA pero basados en hardware reconfigurable con un número variable de bloques de hilos por cada unidad de ejecución. o Estructura para optimizar las transacciones de datos en ráfaga proporcionando datos en cascada o en paralelo a los distinto módulos incluyendo un proceso de votado por mayoría y operaciones de reducción. o Capa de abstracción entre el procesador principal que incluye el código de aplicación y los recursos asignados para las diferentes tareas. o Arquitectura de los módulos hardware reconfigurables para mantener la escalabilidad añadiendo una la interfaz para las nuevas funcionalidades con un simple acceso a una memoria RAM interna. o Caracterización online de las tareas para proporcionar información a un módulo de gestión de recursos para mejorar la operación en términos de energía y procesamiento cuando además se opera entre distintos nieles de tolerancia a fallos. El documento está dividido en dos partes principales formando un total de cinco capítulos. En primer lugar, después de motivar la necesidad de nuevas plataformas para cubrir las nuevas aplicaciones, se detalla el diseño de la plataforma HiReCookie, sus partes, las posibilidades para bajar el consumo energético y se muestran casos de uso de la plataforma así como pruebas de validación del diseño. La segunda parte del documento describe la arquitectura reconfigurable, su implementación en varias FPGAs, y pruebas de validación en términos de capacidad de procesamiento y consumo energético, incluyendo cómo estos aspectos se ven afectados por el nivel de tolerancia a fallos elegido. Los capítulos a lo largo del documento son los siguientes: El capítulo 1 analiza los principales objetivos, motivación y aspectos teóricos necesarios para seguir el resto del documento. El capítulo 2 está centrado en el diseño de la plataforma HiReCookie y sus posibilidades para disminuir el consumo de energía. El capítulo 3 describe la arquitectura reconfigurable ARTICo3. El capítulo 4 se centra en las pruebas de validación de la arquitectura usando la plataforma HiReCookie para la mayoría de los tests. Un ejemplo de aplicación es mostrado para analizar el funcionamiento de la arquitectura. El capítulo 5 concluye esta tesis doctoral comentando las conclusiones obtenidas, las contribuciones originales del trabajo y resultados y líneas futuras. ABSTRACT This PhD Thesis is framed within the field of dynamically reconfigurable embedded systems, advanced sensor networks and distributed computing. The document is centred on the study of processing solutions for high-performance autonomous distributed systems (HPADS) as well as their evolution towards High performance Computing (HPC) systems. The approach of the study is focused on both platform and processor levels to optimise critical aspects such as computing performance, energy efficiency and fault tolerance. HPADS are considered feedback systems, normally networked and/or distributed, with real-time adaptive and predictive functionality. These systems, as part of more complex systems known as Cyber-Physical Systems (CPSs), can be applied in a wide range of fields such as military, health care, manufacturing, aerospace, etc. For the design of HPADS, high levels of dependability, the definition of suitable models of computation, and the use of methodologies and tools to support scalability and complexity management, are required. The first part of the document studies the different possibilities at platform design level in the state of the art, together with description, development and validation tests of the platform proposed in this work to cope with the previously mentioned requirements. The main objectives targeted by this platform design are the following: • Study the feasibility of using SRAM-based FPGAs as the main processor of the platform in terms of energy consumption and performance for high demanding applications. • Analyse and propose energy management techniques to reduce energy consumption in every stage of the working profile of the platform. • Provide a solution with dynamic partial and wireless remote HW reconfiguration (DPR) to be able to change certain parts of the FPGA design at run time and on demand without interrupting the rest of the system. • Demonstrate the applicability of the platform in different test-bench applications. In order to select the best approach for the platform design in terms of processing alternatives, a study of the evolution of the state-of-the-art platforms is required to analyse how different architectures cope with new more demanding applications and scenarios: security, mixed-critical systems for aerospace, multimedia applications, or military environments, among others. In all these scenarios, important changes in the required processing bandwidth or the complexity of the algorithms used are provoking the migration of the platforms from single microprocessor architectures to multiprocessing and heterogeneous solutions with more instant power consumption but higher energy efficiency. Within these solutions, FPGAs and Systems on Chip including FPGA fabric and dedicated hard processors, offer a good trade of among flexibility, processing performance, energy consumption and price, when they are used in demanding applications where working conditions are very likely to vary over time and high complex algorithms are required. The platform architecture proposed in this PhD Thesis is called HiReCookie. It includes an SRAM-based FPGA as the main and only processing unit. The FPGA selected, the Xilinx Spartan-6 LX150, was at the beginning of this work the best choice in terms of amount of resources and power. Although, the power levels are the lowest of these kind of devices, they can be still very high for distributed systems that normally work powered by batteries. For that reason, it is necessary to include different energy saving possibilities to increase the usability of the platform. In order to reduce energy consumption, the platform architecture is divided into different power islands so that only those parts of the systems that are strictly needed are powered on, while the rest of the islands can be completely switched off. This allows a combination of different low power modes to decrease energy. In addition, one of the most important handicaps of SRAM-based FPGAs is that they are not alive at power up. Therefore, recovering the system from a switch-off state requires to reload the FPGA configuration from a non-volatile memory device. For that reason, this PhD Thesis also proposes a methodology to compress the FPGA configuration file in order to reduce time and energy during the initial configuration process. Although some of the requirements for the design of HPADS are already covered by the design of the HiReCookie platform, it is necessary to continue improving energy efficiency, computing performance and fault tolerance. This is only possible by exploiting all the opportunities provided by the processing architectures configured inside the FPGA. Therefore, the second part of the thesis details the design of the so called ARTICo3 FPGA architecture to enhance the already intrinsic capabilities of the FPGA. ARTICo3 is a DPR-capable bus-based virtual architecture for multiple HW acceleration in SRAM-based FPGAs. The architecture provides support for dynamic resource management in real time. In this way, by using DPR, it will be possible to change the levels of computing performance, energy consumption and fault tolerance on demand by increasing or decreasing the amount of resources used by the different tasks. Apart from the detailed design of the architecture and its implementation in different FPGA devices, different validation tests and comparisons are also shown. The main objectives targeted by this FPGA architecture are listed as follows: • Provide a method based on a multithread approach such as those offered by CUDA (Compute Unified Device Architecture) or OpenCL kernel executions, where kernels are executed in a variable number of HW accelerators without requiring application code changes. • Provide an architecture to dynamically adapt working points according to either self-measured or external parameters in terms of energy consumption, fault tolerance and computing performance. Taking advantage of DPR capabilities, the architecture must provide support for a dynamic use of resources in real time. • Exploit concurrent processing capabilities in a standard bus-based system by optimizing data transactions to and from HW accelerators. • Measure the advantage of HW acceleration as a technique to boost performance to improve processing times and save energy by reducing active times for distributed embedded systems. • Dynamically change the levels of HW redundancy to adapt fault tolerance in real time. • Provide HW abstraction from SW application design. FPGAs give the possibility of designing specific HW blocks for every required task to optimise performance while some of them include the possibility of including DPR. Apart from the possibilities provided by manufacturers, the way these HW modules are organised, addressed and multiplexed in area and time can improve computing performance and energy consumption. At the same time, fault tolerance and security techniques can also be dynamically included using DPR. However, the inherent complexity of designing new HW modules for every application is not negligible. It does not only consist of the HW description, but also the design of drivers and interfaces with the rest of the system, while the design space is widened and more complex to define and program. Even though the tools provided by the majority of manufacturers already include predefined bus interfaces, commercial IPs, and templates to ease application prototyping, it is necessary to improve these capabilities. By adding new architectures on top of them, it is possible to take advantage of parallelization and HW redundancy while providing a framework to ease the use of dynamic resource management. ARTICo3 works within a solution space where working points change at run time in a 3D space defined by three different axes: Computation, Consumption, and Fault Tolerance. Therefore, every working point is found as a trade-off solution among these three axes. By means of DPR, different accelerators can be multiplexed so that the amount of available resources for any application is virtually unlimited. Taking advantage of DPR capabilities and a novel way of transmitting data to the reconfigurable HW accelerators, it is possible to dedicate a dynamically-changing number of resources for a given task in order to either boost computing speed or adding HW redundancy and a voting process to increase fault-tolerance levels. At the same time, using an optimised amount of resources for a given task reduces energy consumption by reducing instant power or computing time. In order to keep level complexity under certain limits, it is important that HW changes are transparent for the application code. Therefore, different levels of transparency are targeted by the system: • Scalability transparency: a task must be able to expand its resources without changing the system structure or application algorithms. • Performance transparency: the system must reconfigure itself as load changes. • Replication transparency: multiple instances of the same task are loaded to increase reliability and performance. • Location transparency: resources are accessed with no knowledge of their location by the application code. • Failure transparency: task must be completed despite a failure in some components. • Concurrency transparency: different tasks will work in a concurrent way transparent to the application code. Therefore, as it can be seen, the Thesis is contributing in two different ways. First with the design of the HiReCookie platform and, second with the design of the ARTICo3 architecture. The main contributions of this PhD Thesis are then listed below: • Architecture of the HiReCookie platform including: o Compatibility of the processing layer for high performance applications with the Cookies Wireless Sensor Network platform for fast prototyping and implementation. o A division of the architecture in power islands. o All the different low-power modes. o The creation of the partial-initial bitstream together with the wake-up policies of the node. • The design of the reconfigurable architecture for SRAM FPGAs: ARTICo3: o A model of computation and execution modes inspired in CUDA but based on reconfigurable HW with a dynamic number of thread blocks per kernel. o A structure to optimise burst data transactions providing coalesced or parallel data to HW accelerators, parallel voting process and reduction operation. o The abstraction provided to the host processor with respect to the operation of the kernels in terms of the number of replicas, modes of operation, location in the reconfigurable area and addressing. o The architecture of the modules representing the thread blocks to make the system scalable by adding functional units only adding an access to a BRAM port. o The online characterization of the kernels to provide information to a scheduler or resource manager in terms of energy consumption and processing time when changing among different fault-tolerance levels, as well as if a kernel is expected to work in the memory-bounded or computing-bounded areas. The document of the Thesis is divided into two main parts with a total of five chapters. First, after motivating the need for new platforms to cover new more demanding applications, the design of the HiReCookie platform, its parts and several partial tests are detailed. The design of the platform alone does not cover all the needs of these applications. Therefore, the second part describes the architecture inside the FPGA, called ARTICo3, proposed in this PhD Thesis. The architecture and its implementation are tested in terms of energy consumption and computing performance showing different possibilities to improve fault tolerance and how this impact in energy and time of processing. Chapter 1 shows the main goals of this PhD Thesis and the technology background required to follow the rest of the document. Chapter 2 shows all the details about the design of the FPGA-based platform HiReCookie. Chapter 3 describes the ARTICo3 architecture. Chapter 4 is focused on the validation tests of the ARTICo3 architecture. An application for proof of concept is explained where typical kernels related to image processing and encryption algorithms are used. Further experimental analyses are performed using these kernels. Chapter 5 concludes the document analysing conclusions, comments about the contributions of the work, and some possible future lines for the work.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Evolutionary-based algorithms play an important role in finding solutions to many problems that are not solved by classical methods, and particularly so for those cases where solutions lie within extreme non-convex multidimensional spaces. The intrinsic parallel structure of evolutionary algorithms are amenable to the simultaneous testing of multiple solutions; this has proved essential to the circumvention of local optima, and such robustness comes with high computational overhead, though custom digital processor use may reduce this cost. This paper presents a new implementation of an old, and almost forgotten, evolutionary algorithm: the population-based incremental learning method. We show that the structure of this algorithm is well suited to implementation within programmable logic, as compared with contemporary genetic algorithms. Further, the inherent concurrency of our FPGA implementation facilitates the integration and testing of micro-populations.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Background—Limited information exists regarding the long-term development of comorbidity between Major Depressive Disorder (MDD) and Alcohol Use Disorder (AUD; abuse/dependence). Using a representative prospective study, we examine multiple aspects pertaining to MDD+AUD comorbidity, with a focus on the relation between disorders across periods (adolescence, early adulthood, adulthood) and cumulative impairments by age 30. Method—816 participants were diagnostically interviewed at ages 16, 17, 24, and 30. Results—Rates of comorbid MDD+AUD were low in adolescence (2%), but increased in early adulthood (10%) and adulthood (7%). Rates of cumulative comorbidity were elevated (21%). Most individuals with a history of MDD or AUD had the other disorder, except for women with MDD. Prospectively, adolescent AUD predicted early adult MDD, while early adult MDD predicted adult AUD. Compared to pure disorders, MDD+AUD was associated with higher risk of alcohol dependence, suicide attempt, lower global functioning, and life dissatisfaction. Conclusions—Lifetime rates of comorbid MDD+AUD were considerably higher than in crosssectional studies. Comorbidity was partly explained by bidirectional and developmentally-specific associations and predicted selected rather than generalized impairments. Clinically, our findings emphasize the need to always carefully assess comorbidity in patients with MDD or AUD, taking into account concurrency and developmental timing.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Background—Limited information exists regarding the long-term development of comorbidity between Major Depressive Disorder (MDD) and Alcohol Use Disorder (AUD; abuse/dependence). Using a representative prospective study, we examine multiple aspects pertaining to MDD+AUD comorbidity, with a focus on the relation between disorders across periods (adolescence, early adulthood, adulthood) and cumulative impairments by age 30. Method—816 participants were diagnostically interviewed at ages 16, 17, 24, and 30. Results—Rates of comorbid MDD+AUD were low in adolescence (2%), but increased in early adulthood (10%) and adulthood (7%). Rates of cumulative comorbidity were elevated (21%). Most individuals with a history of MDD or AUD had the other disorder, except for women with MDD. Prospectively, adolescent AUD predicted early adult MDD, while early adult MDD predicted adult AUD. Compared to pure disorders, MDD+AUD was associated with higher risk of alcohol dependence, suicide attempt, lower global functioning, and life dissatisfaction. Conclusions—Lifetime rates of comorbid MDD+AUD were considerably higher than in crosssectional studies. Comorbidity was partly explained by bidirectional and developmentally-specific associations and predicted selected rather than generalized impairments. Clinically, our findings emphasize the need to always carefully assess comorbidity in patients with MDD or AUD, taking into account concurrency and developmental timing.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

The use of multiple partial viewpoints is recommended for specification. We believe they also can be useful for devising strategies for testing. In this paper, we use Object-Z to formally specify concurrent Java components from viewpoints based on the separation of application and synchronisation concerns inherent in Java monitors. We then use the Test-Template Framework on the Object-Z viewpoints to devise a strategy for testing the components. When combining the test templates for the different viewpoints we focus on the observable behaviour of the application to systematically derive a practical testing strategy. The Producer-Consumer and Readers-Writers problems are considered as case studies.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Summary form only given. The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent nondeterminism and a number of specific concurrency problems such as interference and deadlock. In previous work, we proposed a method for verifying concurrent Java components based on a mix of code inspection, static analysis tools, and the ConAn testing tool. The method was derived from an analysis of concurrency failures in Java components, but was not applied in practice. In this paper, we explore the method by applying it to an implementation of the well-known readers-writers problem and a number of mutants of that implementation. We only apply it to a single, well-known example, and so we do not attempt to draw any general conclusions about the applicability or effectiveness of the method. However, the exploration does point out several strengths and weaknesses in the method, which enable us to fine-tune the method before we carry out a more formal evaluation on other, more realistic components.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Starting with a UML specification that captures the underlying functionality of some given Java-based concurrent system, we describe a systematic way to construct, from this specification, test sequences for validating an implementation of the system. The approach is to first extend the specification to create UML state machines that directly address those aspects of the system we wish to test. To be specific, the extended UML state machines can capture state information about the number of waiting threads or the number of threads blocked on a given object. Using the SAL model checker we can generate from the extended UML state machines sequences that cover all the various possibilities of events and states. These sequences can then be directly transformed into test sequences suitable for input into a testing tool such as ConAn. As an illustration, the methodology is applied to generate sequences for testing a Java implementation of the producer-consumer system. © 2005 IEEE

Relevância:

10.00% 10.00%

Publicador:

Resumo:

Research in verification and validation (V&V) for concurrent programs can be guided by practitioner information. A survey was therefore run to gain state-of-practice information in this context. The survey presented in this paper collected state-of-practice information on V&V technology in concurrency from 35 respondents. The results of the survey can help refine existing V&V technology by providing a better understanding of the context of V&V technology usage. Responses to questions regarding the motivation for selecting V&V technologies can help refine a systematic approach to V&V technology selection.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

We define a language and a predicative semantics to model concurrent real-time programs. We consider different communication paradigms between the concurrent components of a program: communication via shared variables and asynchronous message passing (for different models of channels). The semantics is the basis for a refinement calculus to derive machine-independent concurrent real-time programs from specifications. We give some examples of refinement laws that deal with concurrency.

Relevância:

10.00% 10.00%

Publicador:

Resumo:

We describe an extension of the theory of Owicki and Gries (1976) to a programming language that supports asynchronous message passing based on unconditional send actions and conditional receive actions. The focus is on exploring the fitness of the extension for distributed program derivation. A number of experiments are reported, based on a running example problem, and with the aim of exploring design heuristics and of streamlining derivations and progress arguments.