1000 resultados para DIAGNOSTICO DE FALLOS
Resumo:
La repercusión de los efectos sísmicos en las estructuras es de gran importancia ya que puede directa o indirectamente afectar la estabilidad y la resistencia de las estructuras. La vida útil de una estructura es por tanto condicionada a estos efectos y deben por tanto ser estudiados y modelizados a la hora de diseñar y calcular una estructura. El grado de devastación que los sismos pueden tener en núcleos urbanos puede apreciarse, entre otras cosas, por los fallos estructurales y la perdida de estabilidad de las estructuras. Son muchas veces daños irreparables, como la pérdida de vidas humanas, perdidas económicas, disrupción de servicios importantes, entre otros. Queda claro entonces que los efectos sísmicos no pueden ser ignorados, y así lo reflejan muchos países incluyendo normativas sísmicas de obligado uso. Uno de los métodos más utilizados para simular los efectos sísmicos es el método "modal espectral". Este método usa los espectros sísmicos para establecer la aceleración que experimenta una estructura en función de sus modos de vibración. El objeto del presente trabajo es comparar distintas normas sísmicas en función de su afección a una estructura modelada en el programa SAP2000. Durante el proceso de dicha comparación se establecerá cual de ellas es la que da valores más significativos y los procesos utilizados para obtener los distintos espectros sísmicos, así como los parámetros utilizados en cada caso. Las normas escogidas para realizar dicha comparación son: - Norma peruana (Diseño sismorresistente , E.30) - Norma argelina (Regles parasismiques algeriennes RPA 99) - Norma costarricense (Código sísmico de Costa Rica 2010) - Norma española (Norma de construcción sismorresistente, NCSE-02). Los objetivos específicos son: o Recopilar información sobre la aplicabilidad de 4 normas sísmicas a una misma estructura. o Comparar resultados después de aplicar las 4 normas sísmicas a una misma estructura y extraer conclusiones.
Resumo:
En el proceso general de la sociedad por la mejora continua hacia la Calidad, el sector de la construcción, y más específicamente la actividad de los Arquitectos con la redacción de los proyectos, no pueden, ni deben, quedar al margen. La presente investigación apunta un procedimiento para el control técnico de los proyectos y demuestra la eficacia y rentabilidad de éste o cualquier otro método de control, avanzando una aproximación a los modelos de costes de calidad de los estudios de arquitectura. El método de trabajo que se ha previsto para el desarrollo de la tesis cuenta con una base principal consistente en definir un procedimiento general de revisión de los proyectos, tipificando los principales errores (sistema de puntos de inspección), analizando las causas que los generan, su repercusión en el plazo, durabilidad y satisfacción del cliente, así como en definir un método de cuantificación que nos aproxime a la "importancia" (económica) que tienen o inducen los errores e indefiniciones detectadas. Para demostrar la validez de la hipótesis inicial sobre la rentabilidad de aplicar un sistema de control técnico del proyecto, se ha aplicado una parte del procedimiento general particularizado para la evaluación sistemática de los problemas, indefiniciones y fallos detectados, al que llamamos de forma simplificada Método Partícula Éste se aplica sobre una muestra de proyectos que se revisan y que, para que los resultados del análisis sean representativos, se seleccionaron de forma aleatoria, respondiendo topológicamente en sus variables definitorias a la población que se pretende estudiar: la totalidad de proyectos de ejecución de viviendas producidos en el ámbito territorial de Madrid (Comunidad) en el plazo comprendido entre los años 1990 y 1995. Pero además esta representatividad está condicionada a la mayor o menor exactitud de la valoración que se haga de los sobrecostos que puedan generar los errores e indefiniciones de los proyectos. Se hace pues imprescindible el tratar de objetivar al máximo los criterios de valoración de los mismos. Con los datos generados en la revisión de cada proyecto se analizan la totalidad de resultados de la muestra objeto de estudio, sacando conclusiones sobre frecuencia e importancia de los errores, incidencia de las variables que influyen, y posibles combinaciones de variables que incrementan el riesgo. Extrapolando el análisis al método general y a la población objeto de estudio, se extraen conclusiones significativas respecto a la eficacia del control técnico de proyectos, así como de las formas de optimizar las inversiones realizadas en el mismo, depurando y optimizando selectivamente el método general definido. Con el análisis de los modelos de coste de calidad se puede constatar cómo las inversiones en desarrollar sistemas de aseguramiento de la calidad de los proyectos, o, de forma más modesta, controlando la calidad técnica de los mismos, los estudios de arquitectura, amén del mejor servicio ofrecido a los clientes, y lo que ésto supone de permanencia en el mercado, mejoran significativamente su competitividad y su margen de beneficio, demostrando que son muy rentables tanto para los propios arquitectos, como para la sociedad en general. ABSTRACT The construction sector as a whole, and especifically architects as project drafters, must fully participate in the general process of society for continuous improvement towards quality. Our research outlines a procedure for the technical control of projects and shows the efficacy and cost-effectiveness of this or any other control method, putting fonvard an approach to quality cost-models in Architecture offices. Our procedure consists mainly in defining a general method of revising projects, typifying main errors (Points of inspection system), analysing their causes, their repercussion in clients' durability and satisfaction. It wHI also define a quantitative method to assess tfie economic importance of detected errors and indefinitions. To prove our initial hypothesis on the cost-effectiveness of applying a system of tecfinical control to projects we have applied part of the general procedure, adjusting it to the systematic evaluation of problems, indefinitions and errors we have found. This will be simply called Particular Method. We will use it on a sample of projects which were randomly selected, for the sake of representativeness, and which, in their defining variables, match the population under study topologically: every housing project in Madrid (Región) between 1.990 and 1.995. Furthermore, this representativeness is related to the accuracy of the assessment of the additional costs due to errors or lack of definition in the projects. We must therefore try to be precise in the evaluation of their costs. With data obtained from the revision of each project, we analyze every result from the sample under study, drawing conclusions about the frequency and importance of each error, their causing variables, and the combination of variables which are risk-increasing. By extrapolating this analysis to the General Method and the population under study, we draw significant conclusions on the effectiveness of the technical control of projects, as well as of the ways to optimise the investment in it, improving and optimising the General Method in a selective way. Analyzing quality cost-models, we can show how the investment in developing systems that will guarantee quality projects, or, more modestly, controlling the technical quality of them, Architecture firms will not only serve their clients best, with its impact on the firm's durability, but also improve their competitivity and their profit margin proving that they are profitable both for architects themselves and for the general public.
Resumo:
La Ingeniería de Pruebas está especializada en la verificación y validación del Software,y formalmente se define como: “Proceso de desarrollo que emplea métodos rigurosos para evaluar la corrección y calidad del producto a lo largo de todo su ciclo de vida” [3]. Este proceso comprende un conjunto de métodos, procedimientos y técnicas formalmente definidas las cuales, usadas de forma sistemática, facilitan la identificación de la mayor cantidad de errores y fallos posibles de un software. Un software que pase un proceso riguroso de pruebas es un producto de calidad que seguramente facilitará la labor del Ingeniero de Software en la corrección de futuras incidencias, algunas de ellas generadas tras la implantación en el entorno real. Este proceso constituye un área de la Ingeniería del Software y una especialidad por tanto, de la misma. De forma simple, la consecución de una correcta Verificación y Validación del Software requiere de algunas actividades imprescindibles como: - Realizar un plan de pruebas del proyecto. - Actualizar dicho plan y corregirlo en caso necesario. - Revisar los documentos de análisis de requisitos. - Ejecutar las pruebas en las diferentes fases del desarrollo del proyecto. - Documentar el diseño y la ejecución de las pruebas. - Generar documentos con los resultados y anomalías de las pruebas ya ejecutadas. Actualmente, la Ingeniería de Pruebas no es muy reconocida como área de trabajo independiente sino más bien, un área inmersa dentro de la Ingeniería de Software. En el entorno laboral existe el perfil de Ingeniero de Pruebas, sin embargo pocos ingenieros de software tienen claro querer ser Ingenieros de Pruebas (probadores o testers) debido a que nunca han tenido la oportunidad de enfrentarse a actividades prácticas reales dentro de los centros de estudios universitarios donde cursan la carrera. Al ser un área de inherente ejercicio profesional, la parte correspondiente de la Ingeniería de Pruebas suele enfocarse desde un punto de vista teórico más que práctico. Hay muchas herramientas para la creación de pruebas y de ayuda para los ingenieros de pruebas, pero la mayoría son de pago o hechas a medida para grandes empresas que necesitan dicho software. Normalmente la gente conoce lo que es la Ingeniería de Pruebas únicamente cuando se empieza a adquirir experiencia en dicha área en el ejercicio profesional dentro de una empresa. Con lo cual, el acercamiento durante la carrera no necesariamente le ha ofrecido al profesional en Ingeniería, la oportunidad de trabajar en esta rama de la Ingeniería del Software y en algunos casos, NOVATests: Metodología y herramienta software de apoyo para los Ingenieros de Prueba Junior 4 los recién egresados comienzan su vida profesional con algún desconocimiento en este sentido. Es por el conjunto de estas razones, que mi intención en este proyecto es proponer una metodología y una herramienta software de apoyo a dicha metodología, para que los estudiantes de carreras de Ingeniería Software y afines, e ingenieros recién egresados con poca experiencia o ninguna en esta área (Ingenieros de Pruebas Junior), puedan poner en práctica las actividades de la Ingeniería de Pruebas dentro de un entorno lo más cercano posible al ejercicio de la labor profesional. De esta forma, podrían desarrollar las tareas propias de dicha área de una manera fácil e intuitiva, favoreciendo un mayor conocimiento y experiencia de la misma. ABSTRACT The software engineering is specialized in the verification and validation of Software and it is formally defined as: “Development process which by strict methods evaluates and corrects the quality of the product along its lifecycle”. This process contains a number of methods, procedures and techniques formally defined which used systematically make easier the identification of the highest quantity of error and failures within a Software. A software going through this rigorous process of tests will become a quality product that will help the software engineer`s work while correcting incidences. Some of them probably generated after the deployment in a real environment. This process belongs to the Software engineering and therefore it is a specialization itself. Simplifying, the correct verification and validation of a software requires some essential activities such as: -Create a Test Plan of the project - Update this Test Plan and correct if necessary - Check Requirement’s specification documents -Execute the different tests among all the phases of the project - Create the pertinent documentation about design and execution of these tests. - Generate the result documents and all the possible incidences the tests could contain. Currently, the Test engineering is not recognized as a work area but an area immerse within the Software engineering. The professional environment includes the role of Test engineer, but only a few software engineers have clear to become Test engineers (testers) because they have never had the chance to face this activities within the university study centers where they take study of this degree. Since there are little professional environments, this area is focused from a theoretical way instead of a more practical vision. There are plenty of tools helping the Test engineer, but most of them are paid tools or bespoke tools for big companies in need of this software. Usually people know what test engineering is by starting working on it and not before, when people start acquiring experience in this field within a company. Therefore, the degree studied have not approach this field of the Software engineering before and in some cases the graduated students start working without any knowledge in this area. Because of this reasons explained, it is my intention to propose this Project: a methodology and a software tool supporting this methodology so the students of software engineering and similar ones but also graduated students with little experience in this area (Junior Test Engineers), can afford practice in this field and get used to the activities related with the test engineering. Because of this they will be able to carry out the proper tasks of this area easier, enforcing higher and better knowledge and experience of it.
Resumo:
El cerebro humano es probablemente uno de los sistemas más complejos a los que nos enfrentamos en la actualidad, si bien es también uno de los más fascinantes. Sin embargo, la compresión de cómo el cerebro organiza su actividad para llevar a cabo tareas complejas es un problema plagado de restos y obstáculos. En sus inicios la neuroimagen y la electrofisiología tenían como objetivo la identificación de regiones asociadas a activaciones relacionadas con tareas especificas, o con patrones locales que variaban en el tiempo dada cierta actividad. Sin embargo, actualmente existe un consenso acerca de que la actividad cerebral tiene un carácter temporal multiescala y espacialmente extendido, lo que lleva a considerar el cerebro como una gran red de áreas cerebrales coordinadas, cuyas conexiones funcionales son continuamente creadas y destruidas. Hasta hace poco, el énfasis de los estudios de la actividad cerebral funcional se han centrado en la identidad de los nodos particulares que forman estas redes, y en la caracterización de métricas de conectividad entre ellos: la hipótesis subyacente es que cada nodo, que es una representación mas bien aproximada de una región cerebral dada, ofrece a una única contribución al total de la red. Por tanto, la neuroimagen funcional integra los dos ingredientes básicos de la neuropsicología: la localización de la función cognitiva en módulos cerebrales especializados y el rol de las fibras de conexión en la integración de dichos módulos. Sin embargo, recientemente, la estructura y la función cerebral han empezado a ser investigadas mediante la Ciencia de la Redes, una interpretación mecánico-estadística de una antigua rama de las matemáticas: La teoría de grafos. La Ciencia de las Redes permite dotar a las redes funcionales de una gran cantidad de propiedades cuantitativas (robustez, centralidad, eficiencia, ...), y así enriquecer el conjunto de elementos que describen objetivamente la estructura y la función cerebral a disposición de los neurocientíficos. La conexión entre la Ciencia de las Redes y la Neurociencia ha aportado nuevos puntos de vista en la comprensión de la intrincada anatomía del cerebro, y de cómo las patrones de actividad cerebral se pueden sincronizar para generar las denominadas redes funcionales cerebrales, el principal objeto de estudio de esta Tesis Doctoral. Dentro de este contexto, la complejidad emerge como el puente entre las propiedades topológicas y dinámicas de los sistemas biológicos y, específicamente, en la relación entre la organización y la dinámica de las redes funcionales cerebrales. Esta Tesis Doctoral es, en términos generales, un estudio de cómo la actividad cerebral puede ser entendida como el resultado de una red de un sistema dinámico íntimamente relacionado con los procesos que ocurren en el cerebro. Con este fin, he realizado cinco estudios que tienen en cuenta ambos aspectos de dichas redes funcionales: el topológico y el dinámico. De esta manera, la Tesis está dividida en tres grandes partes: Introducción, Resultados y Discusión. En la primera parte, que comprende los Capítulos 1, 2 y 3, se hace un resumen de los conceptos más importantes de la Ciencia de las Redes relacionados al análisis de imágenes cerebrales. Concretamente, el Capitulo 1 está dedicado a introducir al lector en el mundo de la complejidad, en especial, a la complejidad topológica y dinámica de sistemas acoplados en red. El Capítulo 2 tiene como objetivo desarrollar los fundamentos biológicos, estructurales y funcionales del cerebro, cuando éste es interpretado como una red compleja. En el Capítulo 3, se resumen los objetivos esenciales y tareas que serán desarrolladas a lo largo de la segunda parte de la Tesis. La segunda parte es el núcleo de la Tesis, ya que contiene los resultados obtenidos a lo largo de los últimos cuatro años. Esta parte está dividida en cinco Capítulos, que contienen una versión detallada de las publicaciones llevadas a cabo durante esta Tesis. El Capítulo 4 está relacionado con la topología de las redes funcionales y, específicamente, con la detección y cuantificación de los nodos mas importantes: aquellos denominados “hubs” de la red. En el Capítulo 5 se muestra como las redes funcionales cerebrales pueden ser vistas no como una única red, sino más bien como una red-de-redes donde sus componentes tienen que coexistir en una situación de balance funcional. De esta forma, se investiga cómo los hemisferios cerebrales compiten para adquirir centralidad en la red-de-redes, y cómo esta interacción se mantiene (o no) cuando se introducen fallos deliberadamente en la red funcional. El Capítulo 6 va un paso mas allá al considerar las redes funcionales como sistemas vivos. En este Capítulo se muestra cómo al analizar la evolución de la topología de las redes, en vez de tratarlas como si estas fueran un sistema estático, podemos caracterizar mejor su estructura. Este hecho es especialmente relevante cuando se quiere tratar de encontrar diferencias entre grupos que desempeñan una tarea de memoria, en la que las redes funcionales tienen fuertes fluctuaciones. En el Capítulo 7 defino cómo crear redes parenclíticas a partir de bases de datos de actividad cerebral. Este nuevo tipo de redes, recientemente introducido para estudiar las anormalidades entre grupos de control y grupos anómalos, no ha sido implementado nunca en datos cerebrales y, en este Capítulo explico cómo hacerlo cuando se quiere evaluar la consistencia de la dinámica cerebral. Para concluir esta parte de la Tesis, el Capítulo 8 se centra en la relación entre las propiedades topológicas de los nodos dentro de una red y sus características dinámicas. Como mostraré más adelante, existe una relación entre ellas que revela que la posición de un nodo dentro una red está íntimamente correlacionada con sus propiedades dinámicas. Finalmente, la última parte de esta Tesis Doctoral está compuesta únicamente por el Capítulo 9, el cual contiene las conclusiones y perspectivas futuras que pueden surgir de los trabajos expuestos. En vista de todo lo anterior, espero que esta Tesis aporte una perspectiva complementaria sobre uno de los más extraordinarios sistemas complejos frente a los que nos encontramos: El cerebro humano. ABSTRACT The human brain is probably one of the most complex systems we are facing, thus being a timely and fascinating object of study. Characterizing how the brain organizes its activity to carry out complex tasks is highly non-trivial. While early neuroimaging and electrophysiological studies typically aimed at identifying patches of task-specific activations or local time-varying patterns of activity, there has now been consensus that task-related brain activity has a temporally multiscale, spatially extended character, as networks of coordinated brain areas are continuously formed and destroyed. Up until recently, though, the emphasis of functional brain activity studies has been on the identity of the particular nodes forming these networks, and on the characterization of connectivity metrics between them, the underlying covert hypothesis being that each node, constituting a coarse-grained representation of a given brain region, provides a unique contribution to the whole. Thus, functional neuroimaging initially integrated the two basic ingredients of early neuropsychology: localization of cognitive function into specialized brain modules and the role of connection fibres in the integration of various modules. Lately, brain structure and function have started being investigated using Network Science, a statistical mechanics understanding of an old branch of pure mathematics: graph theory. Network Science allows endowing networks with a great number of quantitative properties, thus vastly enriching the set of objective descriptors of brain structure and function at neuroscientists’ disposal. The link between Network Science and Neuroscience has shed light about how the entangled anatomy of the brain is, and how cortical activations may synchronize to generate the so-called functional brain networks, the principal object under study along this PhD Thesis. Within this context, complexity appears to be the bridge between the topological and dynamical properties of biological systems and, more specifically, the interplay between the organization and dynamics of functional brain networks. This PhD Thesis is, in general terms, a study of how cortical activations can be understood as the output of a network of dynamical systems that are intimately related with the processes occurring in the brain. In order to do that, I performed five studies that encompass both the topological and the dynamical aspects of such functional brain networks. In this way, the Thesis is divided into three major parts: Introduction, Results and Discussion. In the first part, comprising Chapters 1, 2 and 3, I make an overview of the main concepts of Network Science related to the analysis of brain imaging. More specifically, Chapter 1 is devoted to introducing the reader to the world of complexity, specially to the topological and dynamical complexity of networked systems. Chapter 2 aims to develop the biological, topological and functional fundamentals of the brain when it is seen as a complex network. Next, Chapter 3 summarizes the main objectives and tasks that will be developed along the forthcoming Chapters. The second part of the Thesis is, in turn, its core, since it contains the results obtained along these last four years. This part is divided into five Chapters, containing a detailed version of the publications carried out during the Thesis. Chapter 4 is related to the topology of functional networks and, more specifically, to the detection and quantification of the leading nodes of the network: the hubs. In Chapter 5 I will show that functional brain networks can be viewed not as a single network, but as a network-of-networks, where its components have to co-exist in a trade-off situation. In this way, I investigate how the brain hemispheres compete for acquiring the centrality of the network-of-networks and how this interplay is maintained (or not) when failures are introduced in the functional network. Chapter 6 goes one step beyond by considering functional networks as living systems. In this Chapter I show how analyzing the evolution of the network topology instead of treating it as a static system allows to better characterize functional networks. This fact is especially relevant when trying to find differences between groups performing certain memory tasks, where functional networks have strong fluctuations. In Chapter 7 I define how to create parenclitic networks from brain imaging datasets. This new kind of networks, recently introduced to study abnormalities between control and anomalous groups, have not been implemented with brain datasets and I explain in this Chapter how to do it when evaluating the consistency of brain dynamics. To conclude with this part of the Thesis, Chapter 8 is devoted to the interplay between the topological properties of the nodes within a network and their dynamical features. As I will show, there is an interplay between them which reveals that the position of a node in a network is intimately related with its dynamical properties. Finally, the last part of this PhD Thesis is composed only by Chapter 9, which contains the conclusions and future perspectives that may arise from the exposed results. In view of all, I hope that reading this Thesis will give a complementary perspective of one of the most extraordinary complex systems: The human brain.
Resumo:
El rebase se define como el transporte de una cantidad importante de agua sobre la coronación de una estructura. Por tanto, es el fenómeno que, en general, determina la cota de coronación del dique dependiendo de la cantidad aceptable del mismo, a la vista de condicionantes funcionales y estructurales del dique. En general, la cantidad de rebase que puede tolerar un dique de abrigo desde el punto de vista de su integridad estructural es muy superior a la cantidad permisible desde el punto de vista de su funcionalidad. Por otro lado, el diseño de un dique con una probabilidad de rebase demasiado baja o nula conduciría a diseños incompatibles con consideraciones de otro tipo, como son las estéticas o las económicas. Existen distintas formas de estudiar el rebase producido por el oleaje sobre los espaldones de las obras marítimas. Las más habituales son los ensayos en modelo físico y las formulaciones empíricas o semi-empíricas. Las menos habituales son la instrumentación en prototipo, las redes neuronales y los modelos numéricos. Los ensayos en modelo físico son la herramienta más precisa y fiable para el estudio específico de cada caso, debido a la complejidad del proceso de rebase, con multitud de fenómenos físicos y parámetros involucrados. Los modelos físicos permiten conocer el comportamiento hidráulico y estructural del dique, identificando posibles fallos en el proyecto antes de su ejecución, evaluando diversas alternativas y todo esto con el consiguiente ahorro en costes de construcción mediante la aportación de mejoras al diseño inicial de la estructura. Sin embargo, presentan algunos inconvenientes derivados de los márgenes de error asociados a los ”efectos de escala y de modelo”. Las formulaciones empíricas o semi-empíricas presentan el inconveniente de que su uso está limitado por la aplicabilidad de las fórmulas, ya que éstas sólo son válidas para una casuística de condiciones ambientales y tipologías estructurales limitadas al rango de lo reproducido en los ensayos. El objetivo de la presente Tesis Doctoral es el contrate de las formulaciones desarrolladas por diferentes autores en materia de rebase en distintas tipologías de diques de abrigo. Para ello, se ha realizado en primer lugar la recopilación y el análisis de las formulaciones existentes para estimar la tasa de rebase sobre diques en talud y verticales. Posteriormente, se llevó a cabo el contraste de dichas formulaciones con los resultados obtenidos en una serie de ensayos realizados en el Centro de Estudios de Puertos y Costas. Para finalizar, se aplicó a los ensayos de diques en talud seleccionados la herramienta neuronal NN-OVERTOPPING2, desarrollada en el proyecto europeo de rebases CLASH (“Crest Level Assessment of Coastal Structures by Full Scale Monitoring, Neural Network Prediction and Hazard Analysis on Permissible Wave Overtopping”), contrastando de este modo la tasa de rebase obtenida en los ensayos con este otro método basado en la teoría de las redes neuronales. Posteriormente, se analizó la influencia del viento en el rebase. Para ello se han realizado una serie de ensayos en modelo físico a escala reducida, generando oleaje con y sin viento, sobre la sección vertical del Dique de Levante de Málaga. Finalmente, se presenta el análisis crítico del contraste de cada una de las formulaciones aplicadas a los ensayos seleccionados, que conduce a las conclusiones obtenidas en la presente Tesis Doctoral. Overtopping is defined as the volume of water surpassing the crest of a breakwater and reaching the sheltered area. This phenomenon determines the breakwater’s crest level, depending on the volume of water admissible at the rear because of the sheltered area’s functional and structural conditioning factors. The ways to assess overtopping processes range from those deemed to be most traditional, such as semi-empirical or empirical type equations and physical, reduced scale model tests, to others less usual such as the instrumentation of actual breakwaters (prototypes), artificial neural networks and numerical models. Determining overtopping in reduced scale physical model tests is simple but the values obtained are affected to a greater or lesser degree by the effects of a scale model-prototype such that it can only be considered as an approximation to what actually happens. Nevertheless, physical models are considered to be highly useful for estimating damage that may occur in the area sheltered by the breakwater. Therefore, although physical models present certain problems fundamentally deriving from scale effects, they are still the most accurate, reliable tool for the specific study of each case, especially when large sized models are adopted and wind is generated Empirical expressions obtained from laboratory tests have been developed for calculating the overtopping rate and, therefore, the formulas obtained obviously depend not only on environmental conditions – wave height, wave period and water level – but also on the model’s characteristics and are only applicable in a range of validity of the tests performed in each case. The purpose of this Thesis is to make a comparative analysis of methods for calculating overtopping rates developed by different authors for harbour breakwater overtopping. First, existing equations were compiled and analysed in order to estimate the overtopping rate on sloping and vertical breakwaters. These equations were then compared with the results obtained in a number of tests performed in the Centre for Port and Coastal Studies of the CEDEX. In addition, a neural network model developed in the European CLASH Project (“Crest Level Assessment of Coastal Structures by Full Scale Monitoring, Neural Network Prediction and Hazard Analysis on Permissible Wave Overtopping“) was also tested. Finally, the wind effects on overtopping are evaluated using tests performed with and without wind in the physical model of the Levante Breakwater (Málaga).
Resumo:
En la presente investigación se analiza la causa del hundimiento del cuarto compartimento del Tercer Depósito del Canal de Isabel II el 8 de abril de 1905, uno de los más graves de la historia de la construcción en España: fallecieron 30 personas y quedaron heridas otras 60. El Proyecto y Construcción de esta estructura era de D. José Eugenio Ribera, una de las grandes figuras de la ingeniería civil en nuestro país, cuya carrera pudo haber quedado truncada como consecuencia del siniestro. Dado el tiempo transcurrido desde la ocurrencia de este accidente, la investigación ha partido de la recopilación de la información relativa al Proyecto y a la propia construcción de la estructura, para revisar a continuación la información disponible sobre el hundimiento. De la construcción de la cubierta es interesante destacar la atrevida configuración estructural, cubriéndose una inmensa superficie de 74.000 m2 mediante una sucesión de bóvedas de hormigón armado de tan sólo 5 cm de espesor y un rebajamiento de 1/10 para salvar una luz de 6 m, que apoyaban en pórticos del mismo material, con pilares también muy esbeltos: 0,25 m de lado para 8 m de altura. Y todo ello en una época en la que la tecnología y conocimiento de las estructuras con este "nuevo" material se basaban en buena medida en el desarrollo de patentes. En cuanto a la información sobre el hundimiento, llama la atención en primer lugar la relevancia de los técnicos, peritos y letrados que intervinieron en el juicio y en el procedimiento administrativo posterior, poniéndose de manifiesto la trascendencia que el accidente tuvo en su momento y que, sin embargo, no ha trascendido hasta nuestros días. Ejemplo de ello es el papel de Echegaray -primera figura intelectual de la época- como perito en la defensa de Ribera, de D. Melquiades Álvarez -futuro presidente del Congreso- como abogado defensor, el General Marvá -uno de los máximos exponentes del papel de los ingenieros militares en la introducción del hormigón armado en nuestro país-, que presidiría la Comisión encargada del peritaje por parte del juzgado, o las opiniones de reconocidas personalidades internacionales del "nuevo" material como el Dr. von Emperger o Hennebique. Pero lo más relevante de dicha información es la falta de uniformidad sobre lo que pudo ocasionar el hundimiento: fallos en los materiales, durante la construcción, defectos en el diseño de la estructura, la realización de unas pruebas de carga cuando se concluyó ésta, etc. Pero la que durante el juicio y en los Informes posteriores se impuso como causa del fallo de la estructura fue su dilatación como consecuencia de las altas temperaturas que se produjeron aquella primavera. Y ello a pesar de que el hundimiento ocurrió a las 7 de la mañana... Con base en esta información se ha analizado el comportamiento estructural de la cubierta, permitiendo evaluar el papel que diversos factores pudieron tener en el inicio del hundimiento y en su extensión a toda la superficie construida, concluyéndose así cuáles fueron las causas del siniestro. De los resultados obtenidos se presta especial atención a las enseñanzas que se desprenden de la ocurrencia del hundimiento, enfatizándose en la relevancia de la historia -y en particular de los casos históricos de error- para la formación continua que debe existir en la Ingeniería. En el caso del hundimiento del Tercer Depósito algunas de estas "enseñanzas" son de plena actualidad, tales como la importancia de los detalles constructivos en la "robustez" de la estructuras, el diseño de estructuras "integrales" o la vigilancia del proceso constructivo. Por último, la investigación ha servido para recuperar, una vez más, la figura de D. José Eugenio Ribera, cuyo papel en la introducción del hormigón armado en España fue decisivo. En la obra del Tercer Depósito se arriesgó demasiado, y provocó un desastre que aceleró la transición hacia una nueva etapa en el hormigón estructural al abrigo de un mayor conocimiento científico y de las primeras normativas. También en esta etapa sería protagonista. This dissertation analyses the cause of the collapse of the 4th compartment of the 3th Reservoir of Canal de Isabel II in Madrid. It happened in 1905, on April 8th, being one of the most disastrous accidents occurred in the history of Spanish construction: 30 people died and 60 were injured. The design and construction supervision were carried out by D. José Eugenio Ribera, one of the main figures in Civil Engineering of our country, whose career could have been destroyed as a result of this accident. Since it occurred more than 100 years ago, the investigation started by compiling information about the structure`s design and construction, followed by reviewing the available information about the accident. With regard to the construction, it is interesting to point out its daring structural configuration. It covered a huge area of 74.000 m2 with a series of reinforced concrete vaults with a thickness of not more than 5 cm, a 6 m span and a rise of 1/10th. In turn, these vaults were supported by frames composed of very slender 0,25 m x 0,25 m columns with a height of 8 m. It is noteworthy that this took place in a time when the technology and knowledge about this "new" material was largely based on patents. In relation to the information about the collapse, its significance is shown by the important experts and lawyers that were involved in the trial and the subsequent administrative procedure. For example, Echegaray -the most important intellectual of that time- defended Ribera, Melquiades Álvarez –the future president of the Congress- was his lawyer, and General Marvá -who represented the important role of the military engineers in the introduction of reinforced concrete in our country-, led the Commission that was put in charge by the judge of the root cause analysis. In addition, the matter caught the interest of renowned foreigners like Dr. von Emperger or Hennebique and their opinions had a great influence. Nonetheless, this structural failure is unknown to most of today’s engineers. However, what is most surprising are the different causes that were claimed to lie at the root of the disaster: material defects, construction flaws, errors in the design, load tests performed after the structure was finished, etc. The final cause that was put forth during the trial and in the following reports was attributed to the dilatation of the roof due to the high temperatures that spring, albeit the collapse occurred at 7 AM... Based on this information the structural behaviour of the roof has been analysed, which allowed identifying the causes that could have provoked the initial failure and those that could have led to the global collapse. Lessons have been learned from these results, which points out the relevance of history -and in particular, of examples gone wrong- for the continuous education that should exist in engineering. In the case of the 3th Reservoir some of these lessons are still relevant during the present time, like the importance of detailing in "robustness", the design of "integral" structures or the due consideration of construction methods. Finally, the investigation has revived, once again, the figure of D. José Eugenio Ribera, whose role in the introduction of reinforced concrete in Spain was crucial. With the construction of the 3th Reservoir he took too much risk and caused a disaster that accelerated the transition to a new era in structural concrete based on greater scientific knowledge and the first codes. In this new period he would also play a major role.
Resumo:
Los sistemas microinformáticos se componen principalmente de hardware y software, con el paso del tiempo el hardware se degrada, se deteriora y en ocasiones se avería. El software evoluciona, requiere un mantenimiento, de actualización y en ocasiones falla teniendo que ser reparado o reinstalado. A nivel hardware se analizan los principales componentes que integran y que son comunes en gran parte estos sistemas, tanto en equipos de sobre mesa como portátiles, independientes del sistema operativo, además de los principales periféricos, también se analizan y recomiendan algunas herramientas necesarias para realizar el montaje, mantenimiento y reparación de estos equipos. Los principales componentes hardware internos son la placa base, memoria RAM, procesador, disco duro, carcasa, fuente de alimentación y tarjeta gráfica. Los periféricos más destacados son el monitor, teclado, ratón, impresora y escáner. Se ha incluido un apartado donde se detallan los distintos tipos de BIOS y los principales parámetros de configuración. Para todos estos componentes, tanto internos como periféricos, se ha realizado un análisis de las características que ofrecen y los detalles en los que se debe prestar especial atención en el momento de seleccionar uno frente a otro. En los casos que existen diferentes tecnologías se ha hecho una comparativa entre ambas, destacando las ventajas y los inconvenientes de unas frente a otras para que sea el usuario final quien decida cual se ajusta mejor a sus necesidades en función de las prestaciones y el coste. Un ejemplo son las impresoras de inyección de tinta frente a las laser o los discos duros mecánicos en comparación con y los discos de estado sólido (SSD). Todos estos componentes están relacionados, interconectados y dependen unos de otros, se ha dedicado un capítulo exclusivamente para estudiar cómo se ensamblan estos componentes, resaltando los principales fallos que se suelen cometer o producir y se han indicado unas serie tareas de mantenimiento preventivo que se pueden realizar para prolongar la vida útil del equipo y evitar averías por mal uso. Los mantenimientos se pueden clasificar como predictivo, perfectivo, adaptativo, preventivo y correctivo. Se ha puesto el foco principalmente en dos tipos de mantenimiento, el preventivo descrito anteriormente y en el correctivo, tanto software como hardware. El mantenimiento correctivo está enfocado al análisis, localización, diagnóstico y reparación de fallos y averías hardware y software. Se describen los principales fallos que se producen en cada componente, cómo se manifiestan o qué síntomas presentan para poder realizar pruebas específicas que diagnostiquen y acoten el fallo. En los casos que es posible la reparación se detallan las instrucciones a seguir, en otro caso se recomienda la sustitución de la pieza o componente. Se ha incluido un apartado dedicado a la virtualización, una tecnología en auge que resulta muy útil para realizar pruebas de software, reduciendo tiempos y costes en las pruebas. Otro aspecto interesante de la virtualización es que se utiliza para montar diferentes servidores virtuales sobre un único servidor físico, lo cual representa un importante ahorro en hardware y costes de mantenimiento, como por ejemplo el consumo eléctrico. A nivel software se realiza un estudio detallado de los principales problemas de seguridad y vulnerabilidades a los que está expuesto un sistema microinformático enumerando y describiendo el comportamiento de los distintos tipos de elementos maliciosos que pueden infectar un equipo, las precauciones que se deben tomar para minimizar los riesgos y las utilidades que se pueden ejecutar para prevenir o limpiar un equipo en caso de infección. Los mantenimientos y asistencias técnicas, en especial las de tipo software, no siempre precisan de la atención presencial de un técnico cualificado, por ello se ha dedicado un capítulo a las herramientas de asistencia remota que se pueden utilizar en este ámbito. Se describen algunas de las más populares y utilizadas en el mercado, su funcionamiento, características y requerimientos. De esta forma el usuario puede ser atendido de una forma rápida, minimizando los tiempos de respuesta y reduciendo los costes. ABSTRACT Microcomputer systems are basically made up of pieces of hardware and software, as time pass, there’s a degradation of the hardware pieces and sometimes failures of them. The software evolves, new versions appears and requires maintenance, upgrades and sometimes also fails having to be repaired or reinstalled. The most important hardware components in a microcomputer system are analyzed in this document for a laptop or a desktop, with independency of the operating system they run. In addition to this, the main peripherals and devices are also analyzed and a recommendation about the most proper tools necessary for maintenance and repair this kind of equipment is given as well. The main internal hardware components are: motherboard, RAM memory, microprocessor, hard drive, housing box, power supply and graphics card. The most important peripherals are: monitor, keyboard, mouse, printer and scanner. A section has been also included where different types of BIOS and main settings are listed with the basic setup parameters in each case. For all these internal components and peripherals, an analysis of their features has been done. Also an indication of the details in which special attention must be payed when choosing more than one at the same time is given. In those cases where different technologies are available, a comparison among them has been done, highlighting the advantages and disadvantages of selecting one or another to guide the end user to decide which one best fits his needs in terms of performance and costs. As an example, the inkjet vs the laser printers technologies has been faced, or also the mechanical hard disks vs the new solid state drives (SSD). All these components are interconnected and are dependent one to each other, a special chapter has been included in order to study how they must be assembled, emphasizing the most often mistakes and faults that can appear during that process, indicating different tasks that can be done as preventive maintenance to enlarge the life of the equipment and to prevent damage because of a wrong use. The different maintenances can be classified as: predictive, perfective, adaptive, preventive and corrective. The main focus is on the preventive maintains, described above, and in the corrective one, in software and hardware. Corrective maintenance is focused on the analysis, localization, diagnosis and repair of hardware and software failures and breakdowns. The most typical failures that can occur are described, also how they can be detected or the specific symptoms of each one in order to apply different technics or specific tests to diagnose and delimit the failure. In those cases where the reparation is possible, instructions to do so are given, otherwise, the replacement of the component is recommended. A complete section about virtualization has also been included. Virtualization is a state of the art technology that is very useful especially for testing software purposes, reducing time and costs during the tests. Another interesting aspect of virtualization is the possibility to have different virtual servers on a single physical server, which represents a significant savings in hardware inversion and maintenance costs, such as electricity consumption. In the software area, a detailed study has been done about security problems and vulnerabilities a microcomputer system is exposed, listing and describing the behavior of different types of malicious elements that can infect a computer, the precautions to be taken to minimize the risks and the tools that can be used to prevent or clean a computer system in case of infection. The software maintenance and technical assistance not always requires the physical presence of a qualified technician to solve the possible problems, that’s why a complete chapter about the remote support tools that can be used to do so has been also included. Some of the most popular ones used in the market are described with their characteristics and requirements. Using this kind of technology, final users can be served quickly, minimizing response times and reducing costs.
Resumo:
La Arquitectura de la Red de las Cosas (IoT) hace referencia a una red de objetos cotidianos interconectados digitalmente. Gracias a IoT, no sólo podemos almacenar, analizar e intercambiar información y datos con dichos objetos, sino que además ellos pueden tener la capacidad de interactuar entre ellos de forma autónoma. Para ellos, los objetos cotidianos disponen de actuadores y sensores que permiten modificar su comportamiento y conocer su estado y propiedades, respectivamente. La gestión de IoT combina todas las funcionalidades necesarias para coordinar un sistema con una Arquitectura de la Red de las Cosas. Una buena gestión del sistema puede reducir costes, mejorar la asistencia a problemas de uso inesperado, corregir fallos y permitir la escalabilidad del sistema permitiéndole la incorporación de nuevos módulos y funcionalidades. En este Proyecto Fin de Grado se realizará primero un análisis de los aspectos de IoT relacionados con la gestión de dispositivos integrados en la Arquitectura de la Red de las Cosas. Después se procederá a realizar la especificación y el diseño de plataforma de gestión. Y finalmente se desarrollarán un caso de uso que permita validar algunos elementos de la plataforma diseñada. Se realizarán distintas pruebas para comprobar una correcta gestión de los dispositivos como el correcto funcionamiento del diseño previamente establecido, por medio, entre otras, de las siguientes operaciones: listar los elementos conectados, posibilidad de obtener y/o modificar dichos elementos (su configuración y su estado) o presentar informes y comprobar el estado en el que se encuentran los dispositivos: operativos o no operativos. De tal forma, en esta memoria se plasma como se ha desarrollado la gestión de dispositivos integrados en un sistema con Arquitectura de la Red de las Cosas utilizando tanto plataformas Intel Galileo como Arduino. ABSTRACT. The Architecture of the Internet of Things (IoT) refers to a network of digitally interconnected everyday objects. With IoT, not only we can store, analyze and exchange information and data with objects, but they can also autonomously interact among them. To accomplish that, the everyday objects are made of actuators and sensors that let us act on their behavior and know their state and properties, respectively. Management of IoT combines all the functionalities needed for coordinating a system with an Architecture of the Internet of Things. A good management system can reduce faults, improve assistance to reduce unexpected problems, correct errors and allow the scalability of the system, allowing the addition of new modules and functionalities. In this Degree Final Project, an analysis about aspects of IoT related to the management of devices integrated into the Architecture of the Internet of things is carried out first. Then, the specification and the design of the management platform is made. Finally, a use case will be developed to validate some elements of the designed platform. Several tests will be run to check the correct management of the devices such as the proper functioning of the design previously established, requesting, among others, the following set of operations: list the connected elements, possibility to obtain or modify these elements (their configuration and their state) or reporting and checking which devices are operating or non-operating. So, in this memory it is explained how it has been carried out the management of devices integrated in a system with an Architecture of the Internet of Things (IoT), based on the Intel Galileo and Arduino platforms.
Resumo:
Los ataques a redes de información son cada vez más sofisticados y exigen una constante evolución y mejora de las técnicas de detección. Para ello, en este proyecto se ha diseñado e implementado una plataforma cooperativa para la detección de intrusiones basada en red. En primer lugar, se ha realizado un estudio teórico previo del marco tecnológico relacionado con este ámbito, en el que se describe y caracteriza el software que se utiliza para realizar ataques a sistemas (malware) así como los métodos que se utilizan para llegar a transmitir ese software (vectores de ataque). En el documento también se describen los llamados APT, que son ataques dirigidos con una gran inversión económica y temporal. Estos pueden englobar todos los malware y vectores de ataque existentes. Para poder evitar estos ataques, se estudiarán los sistemas de detección y prevención de intrusiones, describiendo brevemente los algoritmos que se tienden a utilizar en la actualidad. En segundo lugar, se ha planteado y desarrollado una plataforma en red dedicada al análisis de paquetes y conexiones para detectar posibles intrusiones. Este sistema está orientado a sistemas SCADA (Supervisory Control And Data Adquisition) aunque funciona sobre cualquier red IPv4/IPv6, para ello se definirá previamente lo que es un sistema SCADA, así como sus partes principales. Para implementar el sistema se han utilizado dispositivos de bajo consumo llamados Raspberry PI, estos se ubican entre la red y el equipo final que se quiera analizar. En ellos se ejecutan 2 aplicaciones desarrolladas de tipo cliente-servidor (la Raspberry central ejecutará la aplicación servidora y las esclavas la aplicación cliente) que funcionan de forma cooperativa utilizando la tecnología distribuida de Hadoop, la cual se explica previamente. Mediante esta tecnología se consigue desarrollar un sistema completamente escalable. La aplicación servidora muestra una interfaz gráfica que permite administrar la plataforma de análisis de forma centralizada, pudiendo ver así las alarmas de cada dispositivo y calificando cada paquete según su peligrosidad. El algoritmo desarrollado en la aplicación calcula el ratio de paquetes/tiempo que entran/salen del equipo final, procesando los paquetes y analizándolos teniendo en cuenta la información de señalización, creando diferentes bases de datos que irán mejorando la robustez del sistema, reduciendo así la posibilidad de ataques externos. Para concluir, el proyecto inicial incluía el procesamiento en la nube de la aplicación principal, pudiendo administrar así varias infraestructuras concurrentemente, aunque debido al trabajo extra necesario se ha dejado preparado el sistema para poder implementar esta funcionalidad. En el caso experimental actual el procesamiento de la aplicación servidora se realiza en la Raspberry principal, creando un sistema escalable, rápido y tolerante a fallos. ABSTRACT. The attacks to networks of information are increasingly sophisticated and demand a constant evolution and improvement of the technologies of detection. For this project it is developed and implemented a cooperative platform for detect intrusions based on networking. First, there has been a previous theoretical study of technological framework related to this area, which describes the software used for attacks on systems (malware) as well as the methods used in order to transmit this software (attack vectors). In this document it is described the APT, which are attacks directed with a big economic and time inversion. These can contain all existing malware and attack vectors. To prevent these attacks, intrusion detection systems and prevention intrusion systems will be discussed, describing previously the algorithms tend to use today. Secondly, a platform for analyzing network packets has been proposed and developed to detect possible intrusions in SCADA (Supervisory Control And Data Adquisition) systems. This platform is designed for SCADA systems (Supervisory Control And Data Acquisition) but works on any IPv4 / IPv6 network. Previously, it is defined what a SCADA system is and the main parts of it. To implement it, we used low-power devices called Raspberry PI, these are located between the network and the final device to analyze it. In these Raspberry run two applications client-server developed (the central Raspberry runs the server application and the slaves the client application) that work cooperatively using Hadoop distributed technology, which is previously explained. Using this technology is achieved develop a fully scalable system. The server application displays a graphical interface to manage analytics platform centrally, thereby we can see each device alarms and qualifying each packet by dangerousness. The algorithm developed in the application calculates the ratio of packets/time entering/leaving the terminal device, processing the packets and analyzing the signaling information of each packet, reating different databases that will improve the system, thereby reducing the possibility of external attacks. In conclusion, the initial project included cloud computing of the main application, being able to manage multiple concurrent infrastructure, but due to the extra work required has been made ready the system to implement this funcionality. In the current test case the server application processing is made on the main Raspberry, creating a scalable, fast and fault-tolerant system.
Resumo:
La presente tesis doctoral contribuye al problema del diagnóstico autonómico de fallos en redes de telecomunicación. En las redes de telecomunicación actuales, las operadoras realizan tareas de diagnóstico de forma manual. Dichas operaciones deben ser llevadas a cabo por ingenieros altamente cualificados que cada vez tienen más dificultades a la hora de gestionar debidamente el crecimiento exponencial de la red tanto en tamaño, complejidad y heterogeneidad. Además, el advenimiento del Internet del Futuro hace que la demanda de sistemas que simplifiquen y automaticen la gestión de las redes de telecomunicación se haya incrementado en los últimos años. Para extraer el conocimiento necesario para desarrollar las soluciones propuestas y facilitar su adopción por los operadores de red, se propone una metodología de pruebas de aceptación para sistemas multi-agente enfocada en simplificar la comunicación entre los diferentes grupos de trabajo involucrados en todo proyecto de desarrollo software: clientes y desarrolladores. Para contribuir a la solución del problema del diagnóstico autonómico de fallos, se propone una arquitectura de agente capaz de diagnosticar fallos en redes de telecomunicación de manera autónoma. Dicha arquitectura extiende el modelo de agente Belief-Desire- Intention (BDI) con diferentes modelos de diagnóstico que gestionan las diferentes sub-tareas del proceso. La arquitectura propuesta combina diferentes técnicas de razonamiento para alcanzar su propósito gracias a un modelo estructural de la red, que usa razonamiento basado en ontologías, y un modelo causal de fallos, que usa razonamiento Bayesiano para gestionar debidamente la incertidumbre del proceso de diagnóstico. Para asegurar la adecuación de la arquitectura propuesta en situaciones de gran complejidad y heterogeneidad, se propone un marco de argumentación que permite diagnosticar a agentes que estén ejecutando en dominios federados. Para la aplicación de este marco en un sistema multi-agente, se propone un protocolo de coordinación en el que los agentes dialogan hasta alcanzar una conclusión para un caso de diagnóstico concreto. Como trabajos futuros, se consideran la extensión de la arquitectura para abordar otros problemas de gestión como el auto-descubrimiento o la auto-optimización, el uso de técnicas de reputación dentro del marco de argumentación para mejorar la extensibilidad del sistema de diagnóstico en entornos federados y la aplicación de las arquitecturas propuestas en las arquitecturas de red emergentes, como SDN, que ofrecen mayor capacidad de interacción con la red. ABSTRACT This PhD thesis contributes to the problem of autonomic fault diagnosis of telecommunication networks. Nowadays, in telecommunication networks, operators perform manual diagnosis tasks. Those operations must be carried out by high skilled network engineers which have increasing difficulties to properly manage the growing of those networks, both in size, complexity and heterogeneity. Moreover, the advent of the Future Internet makes the demand of solutions which simplifies and automates the telecommunication network management has been increased in recent years. To collect the domain knowledge required to developed the proposed solutions and to simplify its adoption by the operators, an agile testing methodology is defined for multiagent systems. This methodology is focused on the communication gap between the different work groups involved in any software development project, stakeholders and developers. To contribute to overcoming the problem of autonomic fault diagnosis, an agent architecture for fault diagnosis of telecommunication networks is defined. That architecture extends the Belief-Desire-Intention (BDI) agent model with different diagnostic models which handle the different subtasks of the process. The proposed architecture combines different reasoning techniques to achieve its objective using a structural model of the network, which uses ontology-based reasoning, and a causal model, which uses Bayesian reasoning to properly handle the uncertainty of the diagnosis process. To ensure the suitability of the proposed architecture in complex and heterogeneous environments, an argumentation framework is defined. This framework allows agents to perform fault diagnosis in federated domains. To apply this framework in a multi-agent system, a coordination protocol is defined. This protocol is used by agents to dialogue until a reliable conclusion for a specific diagnosis case is reached. Future work comprises the further extension of the agent architecture to approach other managements problems, such as self-discovery or self-optimisation; the application of reputation techniques in the argumentation framework to improve the extensibility of the diagnostic system in federated domains; and the application of the proposed agent architecture in emergent networking architectures, such as SDN, which offers new capabilities of control for the network.
Resumo:
Debido al gran incremento de datos digitales que ha tenido lugar en los últimos años, ha surgido un nuevo paradigma de computación paralela para el procesamiento eficiente de grandes volúmenes de datos. Muchos de los sistemas basados en este paradigma, también llamados sistemas de computación intensiva de datos, siguen el modelo de programación de Google MapReduce. La principal ventaja de los sistemas MapReduce es que se basan en la idea de enviar la computación donde residen los datos, tratando de proporcionar escalabilidad y eficiencia. En escenarios libres de fallo, estos sistemas generalmente logran buenos resultados. Sin embargo, la mayoría de escenarios donde se utilizan, se caracterizan por la existencia de fallos. Por tanto, estas plataformas suelen incorporar características de tolerancia a fallos y fiabilidad. Por otro lado, es reconocido que las mejoras en confiabilidad vienen asociadas a costes adicionales en recursos. Esto es razonable y los proveedores que ofrecen este tipo de infraestructuras son conscientes de ello. No obstante, no todos los enfoques proporcionan la misma solución de compromiso entre las capacidades de tolerancia a fallo (o de manera general, las capacidades de fiabilidad) y su coste. Esta tesis ha tratado la problemática de la coexistencia entre fiabilidad y eficiencia de los recursos en los sistemas basados en el paradigma MapReduce, a través de metodologías que introducen el mínimo coste, garantizando un nivel adecuado de fiabilidad. Para lograr esto, se ha propuesto: (i) la formalización de una abstracción de detección de fallos; (ii) una solución alternativa a los puntos únicos de fallo de estas plataformas, y, finalmente, (iii) un nuevo sistema de asignación de recursos basado en retroalimentación a nivel de contenedores. Estas contribuciones genéricas han sido evaluadas tomando como referencia la arquitectura Hadoop YARN, que, hoy en día, es la plataforma de referencia en la comunidad de los sistemas de computación intensiva de datos. En la tesis se demuestra cómo todas las contribuciones de la misma superan a Hadoop YARN tanto en fiabilidad como en eficiencia de los recursos utilizados. ABSTRACT Due to the increase of huge data volumes, a new parallel computing paradigm to process big data in an efficient way has arisen. Many of these systems, called dataintensive computing systems, follow the Google MapReduce programming model. The main advantage of these systems is based on the idea of sending the computation where the data resides, trying to provide scalability and efficiency. In failure-free scenarios, these frameworks usually achieve good results. However, these ones are not realistic scenarios. Consequently, these frameworks exhibit some fault tolerance and dependability techniques as built-in features. On the other hand, dependability improvements are known to imply additional resource costs. This is reasonable and providers offering these infrastructures are aware of this. Nevertheless, not all the approaches provide the same tradeoff between fault tolerant capabilities (or more generally, reliability capabilities) and cost. In this thesis, we have addressed the coexistence between reliability and resource efficiency in MapReduce-based systems, looking for methodologies that introduce the minimal cost and guarantee an appropriate level of reliability. In order to achieve this, we have proposed: (i) a formalization of a failure detector abstraction; (ii) an alternative solution to single points of failure of these frameworks, and finally (iii) a novel feedback-based resource allocation system at the container level. Finally, our generic contributions have been instantiated for the Hadoop YARN architecture, which is the state-of-the-art framework in the data-intensive computing systems community nowadays. The thesis demonstrates how all our approaches outperform Hadoop YARN in terms of reliability and resource efficiency.
Resumo:
La Comunidad de Madrid ha tenido un pasado minero importante que ha dejado su vestigio en el territorio. Actualmente la explotación de minerales no metálicos y de rocas industriales y ornamentales continúa, pero no así la de la minería metálica que en el pasado fue abundante. Hoy en día todas estas minas están abandonadas, dando lugar a zonas degradadas con un elevado riesgo para la seguridad de las personas y de los animales terrestres que habitan por sus inmediaciones, y necesitan ser intervenidas atendiendo, además, a su integración o recuperación ecológica y paisajística en el territorio. El principal propósito de esta tesis es conocer la situación actual que presentan las minas abandonadas de metales y proponer unos modelos de actuación para la rehabilitación e integración de los espacios mineros abandonados de la Comunidad de Madrid, cuya ventaja también estriba en su posible extrapolación a otras aéreas de gestión con una problemática similar. Partiendo de una selección de cincuenta y siete minas de interior metálicas abandonadas, se ha hecho un diagnostico en función de su seguridad (riesgo), interés cultural, arqueológico e histórico y por su afección a espacios protegidos, resultando que en todas, excepto en tres de ellas, es preciso llevar a cabo medidas protectoras y de restauración e integración en el medio ambiente. El conjunto de minas catalogadas de alto riesgo para la seguridad son veintitrés, y sobre ellas se ha realizado un Análisis Clúster, en el que además de los criterios de gestión formulados: seguridad, protección del patrimonio minero-industrial e integración ecológico-paisajística, se han incorporado otros modificadores como distancia a poblaciones, caminos, pistas y vías pecuarias, y accesibilidad. Con los resultados de este análisis se obtienen una clasificación por grupos de las minas en relación con las características intrínsecas de las explotaciones preseleccionadas y la tipología de problemas que presentan, y a partir de ella se plantean soluciones viables que se concretan en la redacción de una serie de anteproyectos tipo. Una de las principales aportaciones es que se trata de un modelo de inventariocaracterización- actuación extrapolable a otros entornos similares con problemáticas parecidas. Las propuestas de actuación que figuran en los anteproyectos tipo se proponen como medidas aplicables en situaciones similares. La tesis además también incorpora una base de datos georreferenciada que permite la localización de las explotaciones mineras abandonadas, el acceso rápido a sus características y a la propuesta de restauración correspondiente. ABSTRACT The Community of Madrid had an important mining past that left its traces in the territory. Currently the explotation of non-metallic minerals and industrial and ornamental rocks continues, but not so much with the metal deposits that were abundant in the past. Today these mines are abandoned, resulting in degraded areas with a high risk to the safety of nearby people and animals that inhabit its vicinity, and they need to be intervened, by tending to their environment integration or ecological and landscape recovery. The main objective of this thesis is to know the current situation of abandoned metal mines and propose an action model for the rehabilitation and integration of abandoned mining areas of the Community of Madrid, whose advantage also is its possible extrapolation to other management areas with similar problems. From a selection of fifty-seven abandoned metal mines, a diagnosis has been made, based on safety (risk), cultural, archaeological and historical interests and how it can be related to protected areas, resulting that all but three of them need measures of protection, restoration and integration to the environment. The set of mines that are classified as a high security risk are twenty-three, and it has been made on them an Cluster Analysis, as in addition to the management formulated criteria, such as safety, protection of mining and industrial heritage and eco-landscape integration, it has been incorporated other modifying variables, such as distance to populations, roads, tracks and livestock paths, and accessibility. With the results of this analysis, a classification of similar groups of mines in relation with the intrinsic characteristics of the preselected mines and typology problems, and from it a set of viable solutions will be specified, being then drafted on a series of proposals. One of the main contributions of this research is that it consists of an inventorycharacterization- action model, which can be extrapolated to other similar environments with similar problems. The action measures that are contained in the proposals are defined as applicable to similar situations. The thesis also incorporates a geo-referenced database that allows finding the location of abandoned mines, thus giving quick access to its features and its corresponding restoration proposal.
Resumo:
Los sistemas empotrados han sido concebidos tradicionalmente como sistemas de procesamiento específicos que realizan una tarea fija durante toda su vida útil. Para cumplir con requisitos estrictos de coste, tamaño y peso, el equipo de diseño debe optimizar su funcionamiento para condiciones muy específicas. Sin embargo, la demanda de mayor versatilidad, un funcionamiento más inteligente y, en definitiva, una mayor capacidad de procesamiento comenzaron a chocar con estas limitaciones, agravado por la incertidumbre asociada a entornos de operación cada vez más dinámicos donde comenzaban a ser desplegados progresivamente. Esto trajo como resultado una necesidad creciente de que los sistemas pudieran responder por si solos a eventos inesperados en tiempo diseño tales como: cambios en las características de los datos de entrada y el entorno del sistema en general; cambios en la propia plataforma de cómputo, por ejemplo debido a fallos o defectos de fabricación; y cambios en las propias especificaciones funcionales causados por unos objetivos del sistema dinámicos y cambiantes. Como consecuencia, la complejidad del sistema aumenta, pero a cambio se habilita progresivamente una capacidad de adaptación autónoma sin intervención humana a lo largo de la vida útil, permitiendo que tomen sus propias decisiones en tiempo de ejecución. Éstos sistemas se conocen, en general, como sistemas auto-adaptativos y tienen, entre otras características, las de auto-configuración, auto-optimización y auto-reparación. Típicamente, la parte soft de un sistema es mayoritariamente la única utilizada para proporcionar algunas capacidades de adaptación a un sistema. Sin embargo, la proporción rendimiento/potencia en dispositivos software como microprocesadores en muchas ocasiones no es adecuada para sistemas empotrados. En este escenario, el aumento resultante en la complejidad de las aplicaciones está siendo abordado parcialmente mediante un aumento en la complejidad de los dispositivos en forma de multi/many-cores; pero desafortunadamente, esto hace que el consumo de potencia también aumente. Además, la mejora en metodologías de diseño no ha sido acorde como para poder utilizar toda la capacidad de cómputo disponible proporcionada por los núcleos. Por todo ello, no se están satisfaciendo adecuadamente las demandas de cómputo que imponen las nuevas aplicaciones. La solución tradicional para mejorar la proporción rendimiento/potencia ha sido el cambio a unas especificaciones hardware, principalmente usando ASICs. Sin embargo, los costes de un ASIC son altamente prohibitivos excepto en algunos casos de producción en masa y además la naturaleza estática de su estructura complica la solución a las necesidades de adaptación. Los avances en tecnologías de fabricación han hecho que la FPGA, una vez lenta y pequeña, usada como glue logic en sistemas mayores, haya crecido hasta convertirse en un dispositivo de cómputo reconfigurable de gran potencia, con una cantidad enorme de recursos lógicos computacionales y cores hardware empotrados de procesamiento de señal y de propósito general. Sus capacidades de reconfiguración han permitido combinar la flexibilidad propia del software con el rendimiento del procesamiento en hardware, lo que tiene la potencialidad de provocar un cambio de paradigma en arquitectura de computadores, pues el hardware no puede ya ser considerado más como estático. El motivo es que como en el caso de las FPGAs basadas en tecnología SRAM, la reconfiguración parcial dinámica (DPR, Dynamic Partial Reconfiguration) es posible. Esto significa que se puede modificar (reconfigurar) un subconjunto de los recursos computacionales en tiempo de ejecución mientras el resto permanecen activos. Además, este proceso de reconfiguración puede ser ejecutado internamente por el propio dispositivo. El avance tecnológico en dispositivos hardware reconfigurables se encuentra recogido bajo el campo conocido como Computación Reconfigurable (RC, Reconfigurable Computing). Uno de los campos de aplicación más exóticos y menos convencionales que ha posibilitado la computación reconfigurable es el conocido como Hardware Evolutivo (EHW, Evolvable Hardware), en el cual se encuentra enmarcada esta tesis. La idea principal del concepto consiste en convertir hardware que es adaptable a través de reconfiguración en una entidad evolutiva sujeta a las fuerzas de un proceso evolutivo inspirado en el de las especies biológicas naturales, que guía la dirección del cambio. Es una aplicación más del campo de la Computación Evolutiva (EC, Evolutionary Computation), que comprende una serie de algoritmos de optimización global conocidos como Algoritmos Evolutivos (EA, Evolutionary Algorithms), y que son considerados como algoritmos universales de resolución de problemas. En analogía al proceso biológico de la evolución, en el hardware evolutivo el sujeto de la evolución es una población de circuitos que intenta adaptarse a su entorno mediante una adecuación progresiva generación tras generación. Los individuos pasan a ser configuraciones de circuitos en forma de bitstreams caracterizados por descripciones de circuitos reconfigurables. Seleccionando aquellos que se comportan mejor, es decir, que tienen una mejor adecuación (o fitness) después de ser evaluados, y usándolos como padres de la siguiente generación, el algoritmo evolutivo crea una nueva población hija usando operadores genéticos como la mutación y la recombinación. Según se van sucediendo generaciones, se espera que la población en conjunto se aproxime a la solución óptima al problema de encontrar una configuración del circuito adecuada que satisfaga las especificaciones. El estado de la tecnología de reconfiguración después de que la familia de FPGAs XC6200 de Xilinx fuera retirada y reemplazada por las familias Virtex a finales de los 90, supuso un gran obstáculo para el avance en hardware evolutivo; formatos de bitstream cerrados (no conocidos públicamente); dependencia de herramientas del fabricante con soporte limitado de DPR; una velocidad de reconfiguración lenta; y el hecho de que modificaciones aleatorias del bitstream pudieran resultar peligrosas para la integridad del dispositivo, son algunas de estas razones. Sin embargo, una propuesta a principios de los años 2000 permitió mantener la investigación en el campo mientras la tecnología de DPR continuaba madurando, el Circuito Virtual Reconfigurable (VRC, Virtual Reconfigurable Circuit). En esencia, un VRC en una FPGA es una capa virtual que actúa como un circuito reconfigurable de aplicación específica sobre la estructura nativa de la FPGA que reduce la complejidad del proceso reconfiguración y aumenta su velocidad (comparada con la reconfiguración nativa). Es un array de nodos computacionales especificados usando descripciones HDL estándar que define recursos reconfigurables ad-hoc: multiplexores de rutado y un conjunto de elementos de procesamiento configurables, cada uno de los cuales tiene implementadas todas las funciones requeridas, que pueden seleccionarse a través de multiplexores tal y como ocurre en una ALU de un microprocesador. Un registro grande actúa como memoria de configuración, por lo que la reconfiguración del VRC es muy rápida ya que tan sólo implica la escritura de este registro, el cual controla las señales de selección del conjunto de multiplexores. Sin embargo, esta capa virtual provoca: un incremento de área debido a la implementación simultánea de cada función en cada nodo del array más los multiplexores y un aumento del retardo debido a los multiplexores, reduciendo la frecuencia de funcionamiento máxima. La naturaleza del hardware evolutivo, capaz de optimizar su propio comportamiento computacional, le convierten en un buen candidato para avanzar en la investigación sobre sistemas auto-adaptativos. Combinar un sustrato de cómputo auto-reconfigurable capaz de ser modificado dinámicamente en tiempo de ejecución con un algoritmo empotrado que proporcione una dirección de cambio, puede ayudar a satisfacer los requisitos de adaptación autónoma de sistemas empotrados basados en FPGA. La propuesta principal de esta tesis está por tanto dirigida a contribuir a la auto-adaptación del hardware de procesamiento de sistemas empotrados basados en FPGA mediante hardware evolutivo. Esto se ha abordado considerando que el comportamiento computacional de un sistema puede ser modificado cambiando cualquiera de sus dos partes constitutivas: una estructura hard subyacente y un conjunto de parámetros soft. De esta distinción, se derivan dos lineas de trabajo. Por un lado, auto-adaptación paramétrica, y por otro auto-adaptación estructural. El objetivo perseguido en el caso de la auto-adaptación paramétrica es la implementación de técnicas de optimización evolutiva complejas en sistemas empotrados con recursos limitados para la adaptación paramétrica online de circuitos de procesamiento de señal. La aplicación seleccionada como prueba de concepto es la optimización para tipos muy específicos de imágenes de los coeficientes de los filtros de transformadas wavelet discretas (DWT, DiscreteWavelet Transform), orientada a la compresión de imágenes. Por tanto, el objetivo requerido de la evolución es una compresión adaptativa y más eficiente comparada con los procedimientos estándar. El principal reto radica en reducir la necesidad de recursos de supercomputación para el proceso de optimización propuesto en trabajos previos, de modo que se adecúe para la ejecución en sistemas empotrados. En cuanto a la auto-adaptación estructural, el objetivo de la tesis es la implementación de circuitos auto-adaptativos en sistemas evolutivos basados en FPGA mediante un uso eficiente de sus capacidades de reconfiguración nativas. En este caso, la prueba de concepto es la evolución de tareas de procesamiento de imagen tales como el filtrado de tipos desconocidos y cambiantes de ruido y la detección de bordes en la imagen. En general, el objetivo es la evolución en tiempo de ejecución de tareas de procesamiento de imagen desconocidas en tiempo de diseño (dentro de un cierto grado de complejidad). En este caso, el objetivo de la propuesta es la incorporación de DPR en EHW para evolucionar la arquitectura de un array sistólico adaptable mediante reconfiguración cuya capacidad de evolución no había sido estudiada previamente. Para conseguir los dos objetivos mencionados, esta tesis propone originalmente una plataforma evolutiva que integra un motor de adaptación (AE, Adaptation Engine), un motor de reconfiguración (RE, Reconfiguration Engine) y un motor computacional (CE, Computing Engine) adaptable. El el caso de adaptación paramétrica, la plataforma propuesta está caracterizada por: • un CE caracterizado por un núcleo de procesamiento hardware de DWT adaptable mediante registros reconfigurables que contienen los coeficientes de los filtros wavelet • un algoritmo evolutivo como AE que busca filtros wavelet candidatos a través de un proceso de optimización paramétrica desarrollado específicamente para sistemas caracterizados por recursos de procesamiento limitados • un nuevo operador de mutación simplificado para el algoritmo evolutivo utilizado, que junto con un mecanismo de evaluación rápida de filtros wavelet candidatos derivado de la literatura actual, asegura la viabilidad de la búsqueda evolutiva asociada a la adaptación de wavelets. En el caso de adaptación estructural, la plataforma propuesta toma la forma de: • un CE basado en una plantilla de array sistólico reconfigurable de 2 dimensiones compuesto de nodos de procesamiento reconfigurables • un algoritmo evolutivo como AE que busca configuraciones candidatas del array usando un conjunto de funcionalidades de procesamiento para los nodos disponible en una biblioteca accesible en tiempo de ejecución • un RE hardware que explota la capacidad de reconfiguración nativa de las FPGAs haciendo un uso eficiente de los recursos reconfigurables del dispositivo para cambiar el comportamiento del CE en tiempo de ejecución • una biblioteca de elementos de procesamiento reconfigurables caracterizada por bitstreams parciales independientes de la posición, usados como el conjunto de configuraciones disponibles para los nodos de procesamiento del array Las contribuciones principales de esta tesis se pueden resumir en la siguiente lista: • Una plataforma evolutiva basada en FPGA para la auto-adaptación paramétrica y estructural de sistemas empotrados compuesta por un motor computacional (CE), un motor de adaptación (AE) evolutivo y un motor de reconfiguración (RE). Esta plataforma se ha desarrollado y particularizado para los casos de auto-adaptación paramétrica y estructural. • En cuanto a la auto-adaptación paramétrica, las contribuciones principales son: – Un motor computacional adaptable mediante registros que permite la adaptación paramétrica de los coeficientes de una implementación hardware adaptativa de un núcleo de DWT. – Un motor de adaptación basado en un algoritmo evolutivo desarrollado específicamente para optimización numérica, aplicada a los coeficientes de filtros wavelet en sistemas empotrados con recursos limitados. – Un núcleo IP de DWT auto-adaptativo en tiempo de ejecución para sistemas empotrados que permite la optimización online del rendimiento de la transformada para compresión de imágenes en entornos específicos de despliegue, caracterizados por tipos diferentes de señal de entrada. – Un modelo software y una implementación hardware de una herramienta para la construcción evolutiva automática de transformadas wavelet específicas. • Por último, en cuanto a la auto-adaptación estructural, las contribuciones principales son: – Un motor computacional adaptable mediante reconfiguración nativa de FPGAs caracterizado por una plantilla de array sistólico en dos dimensiones de nodos de procesamiento reconfigurables. Es posible mapear diferentes tareas de cómputo en el array usando una biblioteca de elementos sencillos de procesamiento reconfigurables. – Definición de una biblioteca de elementos de procesamiento apropiada para la síntesis autónoma en tiempo de ejecución de diferentes tareas de procesamiento de imagen. – Incorporación eficiente de la reconfiguración parcial dinámica (DPR) en sistemas de hardware evolutivo, superando los principales inconvenientes de propuestas previas como los circuitos reconfigurables virtuales (VRCs). En este trabajo también se comparan originalmente los detalles de implementación de ambas propuestas. – Una plataforma tolerante a fallos, auto-curativa, que permite la recuperación funcional online en entornos peligrosos. La plataforma ha sido caracterizada desde una perspectiva de tolerancia a fallos: se proponen modelos de fallo a nivel de CLB y de elemento de procesamiento, y usando el motor de reconfiguración, se hace un análisis sistemático de fallos para un fallo en cada elemento de procesamiento y para dos fallos acumulados. – Una plataforma con calidad de filtrado dinámica que permite la adaptación online a tipos de ruido diferentes y diferentes comportamientos computacionales teniendo en cuenta los recursos de procesamiento disponibles. Por un lado, se evolucionan filtros con comportamientos no destructivos, que permiten esquemas de filtrado en cascada escalables; y por otro, también se evolucionan filtros escalables teniendo en cuenta requisitos computacionales de filtrado cambiantes dinámicamente. Este documento está organizado en cuatro partes y nueve capítulos. La primera parte contiene el capítulo 1, una introducción y motivación sobre este trabajo de tesis. A continuación, el marco de referencia en el que se enmarca esta tesis se analiza en la segunda parte: el capítulo 2 contiene una introducción a los conceptos de auto-adaptación y computación autonómica (autonomic computing) como un campo de investigación más general que el muy específico de este trabajo; el capítulo 3 introduce la computación evolutiva como la técnica para dirigir la adaptación; el capítulo 4 analiza las plataformas de computación reconfigurables como la tecnología para albergar hardware auto-adaptativo; y finalmente, el capítulo 5 define, clasifica y hace un sondeo del campo del hardware evolutivo. Seguidamente, la tercera parte de este trabajo contiene la propuesta, desarrollo y resultados obtenidos: mientras que el capítulo 6 contiene una declaración de los objetivos de la tesis y la descripción de la propuesta en su conjunto, los capítulos 7 y 8 abordan la auto-adaptación paramétrica y estructural, respectivamente. Finalmente, el capítulo 9 de la parte 4 concluye el trabajo y describe caminos de investigación futuros. ABSTRACT Embedded systems have traditionally been conceived to be specific-purpose computers with one, fixed computational task for their whole lifetime. Stringent requirements in terms of cost, size and weight forced designers to highly optimise their operation for very specific conditions. However, demands for versatility, more intelligent behaviour and, in summary, an increased computing capability began to clash with these limitations, intensified by the uncertainty associated to the more dynamic operating environments where they were progressively being deployed. This brought as a result an increasing need for systems to respond by themselves to unexpected events at design time, such as: changes in input data characteristics and system environment in general; changes in the computing platform itself, e.g., due to faults and fabrication defects; and changes in functional specifications caused by dynamically changing system objectives. As a consequence, systems complexity is increasing, but in turn, autonomous lifetime adaptation without human intervention is being progressively enabled, allowing them to take their own decisions at run-time. This type of systems is known, in general, as selfadaptive, and are able, among others, of self-configuration, self-optimisation and self-repair. Traditionally, the soft part of a system has mostly been so far the only place to provide systems with some degree of adaptation capabilities. However, the performance to power ratios of software driven devices like microprocessors are not adequate for embedded systems in many situations. In this scenario, the resulting rise in applications complexity is being partly addressed by rising devices complexity in the form of multi and many core devices; but sadly, this keeps on increasing power consumption. Besides, design methodologies have not been improved accordingly to completely leverage the available computational power from all these cores. Altogether, these factors make that the computing demands new applications pose are not being wholly satisfied. The traditional solution to improve performance to power ratios has been the switch to hardware driven specifications, mainly using ASICs. However, their costs are highly prohibitive except for some mass production cases and besidesthe static nature of its structure complicates the solution to the adaptation needs. The advancements in fabrication technologies have made that the once slow, small FPGA used as glue logic in bigger systems, had grown to be a very powerful, reconfigurable computing device with a vast amount of computational logic resources and embedded, hardened signal and general purpose processing cores. Its reconfiguration capabilities have enabled software-like flexibility to be combined with hardware-like computing performance, which has the potential to cause a paradigm shift in computer architecture since hardware cannot be considered as static anymore. This is so, since, as is the case with SRAMbased FPGAs, Dynamic Partial Reconfiguration (DPR) is possible. This means that subsets of the FPGA computational resources can now be changed (reconfigured) at run-time while the rest remains active. Besides, this reconfiguration process can be triggered internally by the device itself. This technological boost in reconfigurable hardware devices is actually covered under the field known as Reconfigurable Computing. One of the most exotic fields of application that Reconfigurable Computing has enabled is the known as Evolvable Hardware (EHW), in which this dissertation is framed. The main idea behind the concept is turning hardware that is adaptable through reconfiguration into an evolvable entity subject to the forces of an evolutionary process, inspired by that of natural, biological species, that guides the direction of change. It is yet another application of the field of Evolutionary Computation (EC), which comprises a set of global optimisation algorithms known as Evolutionary Algorithms (EAs), considered as universal problem solvers. In analogy to the biological process of evolution, in EHW the subject of evolution is a population of circuits that tries to get adapted to its surrounding environment by progressively getting better fitted to it generation after generation. Individuals become circuit configurations representing bitstreams that feature reconfigurable circuit descriptions. By selecting those that behave better, i.e., with a higher fitness value after being evaluated, and using them as parents of the following generation, the EA creates a new offspring population by using so called genetic operators like mutation and recombination. As generations succeed one another, the whole population is expected to approach to the optimum solution to the problem of finding an adequate circuit configuration that fulfils system objectives. The state of reconfiguration technology after Xilinx XC6200 FPGA family was discontinued and replaced by Virtex families in the late 90s, was a major obstacle for advancements in EHW; closed (non publicly known) bitstream formats; dependence on manufacturer tools with highly limiting support of DPR; slow speed of reconfiguration; and random bitstream modifications being potentially hazardous for device integrity, are some of these reasons. However, a proposal in the first 2000s allowed to keep investigating in this field while DPR technology kept maturing, the Virtual Reconfigurable Circuit (VRC). In essence, a VRC in an FPGA is a virtual layer acting as an application specific reconfigurable circuit on top of an FPGA fabric that reduces the complexity of the reconfiguration process and increases its speed (compared to native reconfiguration). It is an array of computational nodes specified using standard HDL descriptions that define ad-hoc reconfigurable resources; routing multiplexers and a set of configurable processing elements, each one containing all the required functions, which are selectable through functionality multiplexers as in microprocessor ALUs. A large register acts as configuration memory, so VRC reconfiguration is very fast given it only involves writing this register, which drives the selection signals of the set of multiplexers. However, large overheads are introduced by this virtual layer; an area overhead due to the simultaneous implementation of every function in every node of the array plus the multiplexers, and a delay overhead due to the multiplexers, which also reduces maximum frequency of operation. The very nature of Evolvable Hardware, able to optimise its own computational behaviour, makes it a good candidate to advance research in self-adaptive systems. Combining a selfreconfigurable computing substrate able to be dynamically changed at run-time with an embedded algorithm that provides a direction for change, can help fulfilling requirements for autonomous lifetime adaptation of FPGA-based embedded systems. The main proposal of this thesis is hence directed to contribute to autonomous self-adaptation of the underlying computational hardware of FPGA-based embedded systems by means of Evolvable Hardware. This is tackled by considering that the computational behaviour of a system can be modified by changing any of its two constituent parts: an underlying hard structure and a set of soft parameters. Two main lines of work derive from this distinction. On one side, parametric self-adaptation and, on the other side, structural self-adaptation. The goal pursued in the case of parametric self-adaptation is the implementation of complex evolutionary optimisation techniques in resource constrained embedded systems for online parameter adaptation of signal processing circuits. The application selected as proof of concept is the optimisation of Discrete Wavelet Transforms (DWT) filters coefficients for very specific types of images, oriented to image compression. Hence, adaptive and improved compression efficiency, as compared to standard techniques, is the required goal of evolution. The main quest lies in reducing the supercomputing resources reported in previous works for the optimisation process in order to make it suitable for embedded systems. Regarding structural self-adaptation, the thesis goal is the implementation of self-adaptive circuits in FPGA-based evolvable systems through an efficient use of native reconfiguration capabilities. In this case, evolution of image processing tasks such as filtering of unknown and changing types of noise and edge detection are the selected proofs of concept. In general, evolving unknown image processing behaviours (within a certain complexity range) at design time is the required goal. In this case, the mission of the proposal is the incorporation of DPR in EHW to evolve a systolic array architecture adaptable through reconfiguration whose evolvability had not been previously checked. In order to achieve the two stated goals, this thesis originally proposes an evolvable platform that integrates an Adaptation Engine (AE), a Reconfiguration Engine (RE) and an adaptable Computing Engine (CE). In the case of parametric adaptation, the proposed platform is characterised by: • a CE featuring a DWT hardware processing core adaptable through reconfigurable registers that holds wavelet filters coefficients • an evolutionary algorithm as AE that searches for candidate wavelet filters through a parametric optimisation process specifically developed for systems featured by scarce computing resources • a new, simplified mutation operator for the selected EA, that together with a fast evaluation mechanism of candidate wavelet filters derived from existing literature, assures the feasibility of the evolutionary search involved in wavelets adaptation In the case of structural adaptation, the platform proposal takes the form of: • a CE based on a reconfigurable 2D systolic array template composed of reconfigurable processing nodes • an evolutionary algorithm as AE that searches for candidate configurations of the array using a set of computational functionalities for the nodes available in a run time accessible library • a hardware RE that exploits native DPR capabilities of FPGAs and makes an efficient use of the available reconfigurable resources of the device to change the behaviour of the CE at run time • a library of reconfigurable processing elements featured by position-independent partial bitstreams used as the set of available configurations for the processing nodes of the array Main contributions of this thesis can be summarised in the following list. • An FPGA-based evolvable platform for parametric and structural self-adaptation of embedded systems composed of a Computing Engine, an evolutionary Adaptation Engine and a Reconfiguration Engine. This platform is further developed and tailored for both parametric and structural self-adaptation. • Regarding parametric self-adaptation, main contributions are: – A CE adaptable through reconfigurable registers that enables parametric adaptation of the coefficients of an adaptive hardware implementation of a DWT core. – An AE based on an Evolutionary Algorithm specifically developed for numerical optimisation applied to wavelet filter coefficients in resource constrained embedded systems. – A run-time self-adaptive DWT IP core for embedded systems that allows for online optimisation of transform performance for image compression for specific deployment environments characterised by different types of input signals. – A software model and hardware implementation of a tool for the automatic, evolutionary construction of custom wavelet transforms. • Lastly, regarding structural self-adaptation, main contributions are: – A CE adaptable through native FPGA fabric reconfiguration featured by a two dimensional systolic array template of reconfigurable processing nodes. Different processing behaviours can be automatically mapped in the array by using a library of simple reconfigurable processing elements. – Definition of a library of such processing elements suited for autonomous runtime synthesis of different image processing tasks. – Efficient incorporation of DPR in EHW systems, overcoming main drawbacks from the previous approach of virtual reconfigurable circuits. Implementation details for both approaches are also originally compared in this work. – A fault tolerant, self-healing platform that enables online functional recovery in hazardous environments. The platform has been characterised from a fault tolerance perspective: fault models at FPGA CLB level and processing elements level are proposed, and using the RE, a systematic fault analysis for one fault in every processing element and for two accumulated faults is done. – A dynamic filtering quality platform that permits on-line adaptation to different types of noise and different computing behaviours considering the available computing resources. On one side, non-destructive filters are evolved, enabling scalable cascaded filtering schemes; and on the other, size-scalable filters are also evolved considering dynamically changing computational filtering requirements. This dissertation is organized in four parts and nine chapters. First part contains chapter 1, the introduction to and motivation of this PhD work. Following, the reference framework in which this dissertation is framed is analysed in the second part: chapter 2 features an introduction to the notions of self-adaptation and autonomic computing as a more general research field to the very specific one of this work; chapter 3 introduces evolutionary computation as the technique to drive adaptation; chapter 4 analyses platforms for reconfigurable computing as the technology to hold self-adaptive hardware; and finally chapter 5 defines, classifies and surveys the field of Evolvable Hardware. Third part of the work follows, which contains the proposal, development and results obtained: while chapter 6 contains an statement of the thesis goals and the description of the proposal as a whole, chapters 7 and 8 address parametric and structural self-adaptation, respectively. Finally, chapter 9 in part 4 concludes the work and describes future research paths.
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.
Resumo:
Los fenómenos dinámicos pueden poner en peligro la integridad de estructuras aeroespaciales y los ingenieros han desarrollado diferentes estrategias para analizarlos. Uno de los grandes problemas que se plantean en la ingeniería es cómo atacar un problema dinámico estructural. En la presente tesis se plantean distintos fenómenos dinámicos y se proponen métodos para estimar o simular sus comportamientos mediante un análisis paramétrico determinista y aleatorio del problema. Se han propuesto desde problemas sencillos con pocos grados de libertad que sirven para analizar las diferentes estrategias y herramientas a utilizar, hasta fenómenos muy dinámicos que contienen comportamientos no lineales, daños y fallos. Los primeros ejemplos de investigación planteados cubren una amplia gama de los fenómenos dinámicos, como el análisis de vibraciones de elementos másicos, incluyendo impactos y contactos, y el análisis de una viga con carga armónica aplicada a la que también se le añaden parámetros aleatorios que pueden responder a un desconocimiento o incertidumbre de los mismos. Durante el desarrollo de la tesis se introducen conceptos y se aplican distintos métodos, como el método de elementos finitos (FEM) en el que se analiza su resolución tanto por esquemas implícitos como explícitos, y métodos de análisis paramétricos y estadísticos mediante la técnica de Monte Carlo. Más adelante, una vez ya planteadas las herramientas y estrategias de análisis, se estudian fenómenos más complejos, como el impacto a baja velocidad en materiales compuestos, en el que se busca evaluar la resistencia residual y, por lo tanto, la tolerancia al daño de la estructura. Se trata de un suceso que puede producirse por la caída de herramienta, granizo o restos en la pista de aterrizaje. Otro de los fenómenos analizados también se da en un aeropuerto y se trata de la colisión con un dispositivo frangible, el cual tiene que romperse bajo ciertas cargas y, sin embargo, soportar otras. Finalmente, se aplica toda la metodología planteada en simular y analizar un posible incidente en vuelo, el fenómeno de la pérdida de pala de un turbohélice. Se trata de un suceso muy particular en el que la estructura tiene que soportar unas cargas complejas y excepcionales con las que la aeronave debe ser capaz de completar con éxito el vuelo. El análisis incluye comportamientos no lineales, daños, y varios tipos de fallos, y en el que se trata de identificar los parámetros clave en la secuencia del fallo. El suceso se analiza mediante análisis estructurales deterministas más habituales y también mediante otras técnicas como el método de Monte Carlo con el que se logran estudiar distintas incertidumbres en los parámetros con variables aleatorias. Se estudian, entre otros, el tamaño de pala perdida, la velocidad y el momento en el que se produce la rotura, y la rigidez y resistencia de los apoyos del motor. Se tiene en cuenta incluso el amortiguamiento estructural del sistema. Las distintas estrategias de análisis permiten obtener unos resultados valiosos e interesantes que han sido objeto de distintas publicaciones. ABSTRACT Dynamic phenomena can endanger the integrity of aerospace structures and, consequently, engineers have developed different strategies to analyze them. One of the major engineering problems is how to deal with the structural dynamics. In this thesis, different dynamic phenomena are introduced and several methods are proposed to estimate or simulate their behaviors. The analysis is considered through parametric, deterministic and statistical methods. The suggested issues are from simple problems with few degrees of freedom, in order to develop different strategies and tools to solve them, to very dynamic phenomena containing nonlinear behaviors failures, damages. The first examples cover a wide variety of dynamic phenomena such as vibration analysis of mass elements, including impacts and contacts, and beam analysis with harmonic load applied, in which random parameters are included. These parameters can represent the unawareness or uncertainty of certain variables. During the development of the thesis several concepts are introduced and different methods are applied, such as the finite element method (FEM), which is solved through implicit and explicit schemes, and parametrical and statistical methods using the Monte Carlo analysis technique. Next, once the tools and strategies of analysis are set out more complex phenomena are studied. This is the case of a low-speed impact in composite materials, the residual strength of the structure is evaluated, and therefore, its damage tolerance. This incident may occur from a tool dropped, hail or debris throw on the runway. At an airport may also occur, and it is also analyzed, a collision between an airplane and a frangible device. The devise must brake under these loads, however, it must withstand others. Finally, all the considered methodology is applied to simulate and analyze a flight incident, the blade loss phenomenon of a turboprop. In this particular event the structure must support complex and exceptional loads and the aircraft must be able to successfully complete the flight. Nonlinear behavior, damage, and different types of failures are included in the analysis, in which the key parameters in the failure sequence are identified. The incident is analyzed by deterministic structural analysis and also by other techniques such as Monte Carlo method, in which it is possible to include different parametric uncertainties through random variables. Some of the evaluated parameters are, among others, the blade loss size, propeller rotational frequency, speed and angular position where the blade is lost, and the stiffness and strength of the engine mounts. The study does also research on the structural damping of the system. The different strategies of analysis obtain valuable and interesting results that have been already published.