9 research outputs found

    Vector coprocessor sharing techniques for multicores: performance and energy gains

    Get PDF
    Vector Processors (VPs) created the breakthroughs needed for the emergence of computational science many years ago. All commercial computing architectures on the market today contain some form of vector or SIMD processing. Many high-performance and embedded applications, often dealing with streams of data, cannot efficiently utilize dedicated vector processors for various reasons: limited percentage of sustained vector code due to substantial flow control; inherent small parallelism or the frequent involvement of operating system tasks; varying vector length across applications or within a single application; data dependencies within short sequences of instructions, a problem further exacerbated without loop unrolling or other compiler optimization techniques. Additionally, existing rigid SIMD architectures cannot tolerate efficiently dynamic application environments with many cores that may require the runtime adjustment of assigned vector resources in order to operate at desired energy/performance levels. To simultaneously alleviate these drawbacks of rigid lane-based VP architectures, while also releasing on-chip real estate for other important design choices, the first part of this research proposes three architectural contexts for the implementation of a shared vector coprocessor in multicore processors. Sharing an expensive resource among multiple cores increases the efficiency of the functional units and the overall system throughput. The second part of the dissertation regards the evaluation and characterization of the three proposed shared vector architectures from the performance and power perspectives on an FPGA (Field-Programmable Gate Array) prototype. The third part of this work introduces performance and power estimation models based on observations deduced from the experimental results. The results show the opportunity to adaptively adjust the number of vector lanes assigned to individual cores or processing threads in order to minimize various energy-performance metrics on modern vector- capable multicore processors that run applications with dynamic workloads. Therefore, the fourth part of this research focuses on the development of a fine-to-coarse grain power management technique and a relevant adaptive hardware/software infrastructure which dynamically adjusts the assigned VP resources (number of vector lanes) in order to minimize the energy consumption for applications with dynamic workloads. In order to remove the inherent limitations imposed by FPGA technologies, the fifth part of this work consists of implementing an ASIC (Application Specific Integrated Circuit) version of the shared VP towards precise performance-energy studies involving high- performance vector processing in multicore environments

    Enabling high performance dynamic language programming for micro-core architectures

    Get PDF
    Micro-core architectures are intended to deliver high performance at a low overall power consumption by combining many simple central processing unit (CPU) cores, with an associated small amount of memory, onto a single chip. This technology is not only of great interest for embedded, Edge and IoT applications but also for High-Performance Computing (HPC) accelerators. However, micro-core architectures are difficult to program and exploit, not only because each technology is different, with its own idiosyncrasies, but also because they each present a different low-level interface to the programmer. Furthermore, micro-cores have very constrained amounts of on-chip, scratchpad memory (often around 32KB), further hampering programmer productivity by requiring the programmer to manually manage the regular loading and unloading of data from the host to the device during program execution. To help address these issues, dynamic languages such as Python have been ported to several micro-core architectures but these are often delivered as interpreters with the associated performance penalty over natively compiled languages, such as C. The research questions for this thesis target four areas of concern for dynamic programming languages on micro-core architectures: (RQ1) how to manage the limited on-chip memory for data, (RQ2) how to manage the limited on-chip memory for code, (RQ3) how to address the low runtime performance of virtual machines and (RQ4) how to manage the idiosyncratic architectures of micro-core architectures. The focus of this work is to address these concerns whilst maintaining the programmer productivity benefits of dynamic programming languages, using ePython as the research vehicle. Therefore, key areas of design (such as abstractions for offload) and implementation (novel compiler and runtime techniques for these technologies) are considered, resulting in a number of approaches that are not only applicable to the compilation of Python codes but also more generally to other dynamic languages on micro-cores architectures. RQ1 was addressed by providing support for kernels with arbitrary data size through high-level programming abstractions that enable access to the memory hierarchies of micro-core devices, allowing the deployment of real-world applications, such as a machine learning code to detect cancer cells in full-sized scan images. A new abstract machine, Olympus, addressed RQ2 by supporting the compilation of dynamic languages, such as Python, to micro-core native code. Olympus enables ePython to close the kernel runtime performance gap with native C, matching C for the LINPACK and an iterative Fibonacci benchmark, and to provide, on average, around 75\% of native C runtime performance across four benchmarks running on a set of eight CPU architectures. Olympus also addresses RQ3 by providing dynamic function loading, supporting kernel codes larger than the on-chip memory, whilst still retaining the runtime performance benefits of native code generation. Finally, RQ4 was addressed by the Eithne benchmarking framework which not only enabled a single benchmarking code to be deployed, unchanged, across different CPU architectures, but also provided the underlying communications framework for Olympus. The portability of end-user ePython codes and the underlying Olympus abstract machine were validated by running a set of four benchmarks on eight different CPU architectures, from a single codebase

    Control, Readout and Commissioning of the Ultra-High Speed 1 Megapixel DSSC X-Ray Camera for the European XFEL

    Get PDF
    The goal of this thesis was to develop the software and firmware basis to control and read out the 1-Megapixel DEPFET Sensor with Signal Compression (DSSC) detector, which is being built for the European XFEL (EuXFEL). The DSSC detector proposes single photon resolution at 0.5 keV photon energy, high dynamic range of 10000 photons at a very high frame rate of 4.5 MHz. During this thesis, the readout chain has been implemented, which receives the average data rate of 134 GBit/s from the detector and transfers sorted image data via four QSFP+ fiber cables to the DAQ system. Additional control software and firmware has been developed for commissioning of the first 1/16th megapixel prototypes. A multifunctional measurement and data analysis framework has been created which is used for characterization of the detector, particularly of properties of the complex readout ASICs. Additional parameter trimming routines to automatically adapt gain and offset parameters of a large pixel matrix have been developed in order to generate suitable configurations which have been applied during two measurement campaigns at the Petra III synchrotron. For integration into the new Karabo framework, which is provided by XFEL for beamline control, several software devices have been implemented

    Mobile Robots Navigation

    Get PDF
    Mobile robots navigation includes different interrelated activities: (i) perception, as obtaining and interpreting sensory information; (ii) exploration, as the strategy that guides the robot to select the next direction to go; (iii) mapping, involving the construction of a spatial representation by using the sensory information perceived; (iv) localization, as the strategy to estimate the robot position within the spatial map; (v) path planning, as the strategy to find a path towards a goal location being optimal or not; and (vi) path execution, where motor actions are determined and adapted to environmental changes. The book addresses those activities by integrating results from the research work of several authors all over the world. Research cases are documented in 32 chapters organized within 7 categories next described

    Arquitectura de Agente Emocional para Aplicaciones de Control en Tiempo Real

    Full text link
    Tesis por compendioArtificial agents are a technology suitable for solving problems. Agents can perform tasks that their users cannot and/or do not want to accomplish. Agents are systems with a significant degree of autonomy. Even being autonomous in their behavior, they assume the users' goals as their own goals, because there is an agreement between the agent and the user. It is a powerful technology, and the research on this field is very active. As agents are complex systems, it is necessary to define development frameworks that facilitate their conception, design and construction. We name these frameworks, artificial agent architectures. Each architecture is characterized by a few key ideas related to the way the agent represents its knowledge about the world, and how it organizes its behavior. We call these key ideas a paradigm. In this work, an artificial agent's architecture is proposed. In this architecture the organization of the behavior is emotionally driven. It is a bio-inspired architecture. The emotion in this case, however, is a very simplified version of the emotional process in the natural emotional agents. Although other agent architectures based on emotions have been proposed, they have been usually focused on the social skills of the agents, normally to interact with people. This situation could have been caused due to the knowledge we had about the importance of the emotion in the social relations between human beings, when people recognize the internal state of the others, or show their own internal states, and the emotional communication influences their behavior. However, the fundamental role of the emotion in a wide range of cognitive processes is being recognized because of the recent research in psychology and neuroscience. Emotions seem to make an essential contribution in processes such as perception, learning, memory, decision-making and problem solving. Deliberative rational thoughts themselves would be directed by emotions. Given this new view about the emotion, in this thesis, we have investigated the role of the emotions in the cognitive processes of an artificial agent, related them to the general decision making problem, not just the social interaction problem. As an example, in the application considered as a case study in this project, the emotional agent controls a mobile robot platform, in which there is not an important behavior layer of social interaction, and the emotional processes primarily motivate behaviors related to problems in a physical environment, with objects, parts, or areas of operation and navigation. In this thesis, we have defined a specification for the proposed emotional agent architecture, and have discussed the implementation aspects of it.Los agentes artificiales constituyen una tecnolog铆a de apoyo para la resoluci贸n de problemas. Un agente es un sistema con un grado significativo de autonom铆a, lo que le permite descargar a su usuario de tareas que 茅ste no puede o no quiere realizar. Aun siendo aut贸nomo en sus comportamientos, el agente asume los objetivos de su usuario como propios, ya que existe un contrato entre el agente y su representado. Se trata de una tecnolog铆a potente y que interesa desarrollar, con lo que el 谩rea de investigaci贸n en agentes est谩 abierta y hay un esfuerzo continuo para construir agentes con cada vez mejores prestaciones. Siendo los agentes sistemas complejos, resulta necesario definir marcos de desarrollo que permitan concebirlos, dise帽arlos y construirlos. Conocemos a estos marcos como arquitecturas de agentes artificiales. Cada una de estas arquitecturas se caracteriza por ciertas ideas clave, relacionadas con la forma en que el agente representa su conocimiento y organiza su comportamiento, en lo que se denomina un paradigma. Sin duda, queda mucho recorrido en este campo - ampliando por ejemplo las 谩reas de aplicaci贸n, o permitiendo funcionalidades adicionales, o aumentando la eficiencia de los procesos implicados, tanto en lo relativo al comportamiento del agente cuando 茅ste est谩 en explotaci贸n, como durante el propio proceso de construcci贸n y validaci贸n del sistema. En este trabajo se propone una arquitectura de agente artificial en el que la organizaci贸n del comportamiento est谩 dirigida por un proceso emocional. Se trata de una arquitectura bio-inspirada. La emoci贸n en este caso, sin embargo, es una versi贸n muy simplificada del proceso emocional en los agentes emocionales naturales. Aunque se han definido otras arquitecturas de agentes artificiales basadas en emociones, han sido enfocadas, sobre todo, a construir agentes con habilidades sociales; normalmente para interactuar con las personas. Posiblemente esto ha sido debido a que ya hace mucho que se aceptaba la importancia de la emoci贸n en las relaciones sociales entre los seres humanos; cuando 茅stos interpretan el estado interno de los dem谩s o expresan su propio estado, alterando con ello sus comportamientos. Sin embargo, el papel fundamental de la emoci贸n en un amplio espectro de procesos cognitivos est谩 siendo reconocido a ra铆z de la investigaci贸n en psicolog铆a y neurolog铆a. Las emociones parecen contribuir de forma esencial en procesos como la percepci贸n, el aprendizaje, la memoria, la toma de decisiones o la resoluci贸n de problemas. El propio pensamiento deliberativo racional estar铆a dirigido por las emociones. Teniendo en cuenta esta nueva visi贸n de las emociones, en este trabajo se ha investigado el rol de la emoci贸n en los procesos cognitivos de un agente artificial relacionados con la toma de decisiones en general, no s贸lo en lo relativo a los procesos de interrelaci贸n social. As铆 por ejemplo, en la aplicaci贸n considerada como caso de estudio de este trabajo, el agente emocional controla una plataforma de robot m贸vil de servicio, en la que no hay una capa de comportamiento social importante, y donde los procesos emocionales motivan fundamentalmente los comportamientos relacionados con problemas surgidos en un entorno f铆sico, con objetos, piezas, o espacios de operaci贸n y navegaci贸n. En esta tesis se define una especificaci贸n para la arquitectura de agente emocional artificial propuesta y se discute aspectos de implementaci贸n de dicha arquitectura.Els agents artificials constitueixen una tecnologia de suport per a la resoluci贸 de problemes. Un agent 茅s un sistema amb un grau significatiu d'autonomia, el que li permet descarregar al seu usuari de tasques que aquest no pot o no vol fer. Fins i tot sent aut貌nom en els seus comportaments, l'agent assumeix els objectius del seu usuari com a propis, ja que hi ha un contracte entre l'agent i el seu representat. Es tracta d'una tecnologia potent i que interessa desenvolupar, de manera que l'脿rea de recerca en agents est脿 oberta i hi ha un esfor莽 continu per construir agents amb cada vegada millors prestacions. Sent els agents sistemes complexos, resulta necessari definir marcs de desenvolupament que puguen permetre concebre'ls, dissenyar-los i construir-los. Coneixem a aquests marcs com arquitectures d'agents artificials. Cadascuna d'aquestes arquitectures es caracteritza per certes idees clau, relacionades amb la forma en qu猫 l'agent representa el seu coneixement i organitza el seu comportament, en el que s'anomena un paradigma. Sens dubte, queda molt de recorregut en aquest camp - ampliant les 脿rees d'aplicaci贸, o permetent funcionalitats addicionals, o augmentant l'efici猫ncia dels processos implicats, tant pel que fa al comportament de l'agent quan aquest est脿 en explotaci贸, com durant el mateix proc茅s de construcci贸 i validaci贸 del sistema. En aquest treball es proposa una arquitectura d'agent artificial en qu猫 l'organitzaci贸 del comportament est脿 dirigida per un proc茅s emocional. Es tracta d'una arquitectura bio-inspirada. L'emoci贸 en aquest cas, per貌, 茅s una versi贸 molt simplificada del proc茅s emocional en els agents emocionals naturals. Tot i que s'han definit altres arquitectures d'agents artificials basades en emocions, han estat enfocades, sobretot, a construir agents amb habilitats socials; normalment per interactuar amb les persones. Possiblement aix貌 ha segut perqu猫 ja fa molt que s'acceptava la import脿ncia de l'emoci贸 en les relacions socials entre els 茅ssers humans; quan aquests interpreten l'estat intern dels altres o expressen el seu propi estat, alterant amb aix貌 els seus comportaments. No obstant aix貌, el paper fonamental de l'emoci贸 en un ampli espectre de processos cognitius est脿 sent reconegut arran de la investigaci贸 en psicologia i neurologia. Les emocions semblen contribuir de forma essencial en processos com la percepci贸, l'aprenentatge, la mem貌ria, la presa de decisions o la resoluci贸 de problemes. El mateix pensament deliberatiu racional estaria dirigit per les emocions. Tenint en compte aquesta nova visi贸 de les emocions, en aquest treball s'ha investigat el paper de l'emoci贸 en els processos cognitius d'un agent artificial relacionats amb la presa de decisions en general, no nom茅s pel que fa als processos d'interrelaci贸 social. Aix铆 per exemple, en l'aplicaci贸 considerada com a cas d'estudi d'aquest treball, l'agent emocional controla una plataforma de robot m貌bil de servei, en qu猫 no hi ha una capa de comportament social important, i on els processos emocionals motiven fonamentalment els comportaments relacionats amb problemes sorgits en un entorn f铆sic, amb objectes, peces, o espais d'operaci贸 i navegaci贸. En aquesta tesi es defineix una especificaci贸 per a l'arquitectura d'agent emocional artificial proposta i es discuteixen aspectes d'implementaci贸 de la arquitectura.Dom铆nguez Montagud, CP. (2017). Arquitectura de Agente Emocional para Aplicaciones de Control en Tiempo Real [Tesis doctoral no publicada]. Universitat Polit猫cnica de Val猫ncia. https://doi.org/10.4995/Thesis/10251/86223TESISCompendi

    Arquitectura asim茅trica multicore con procesador de Petri

    Get PDF
    Se ha determinado, en una arquitectura multi-Core SMP, el lugar donde incorporar el PP o el HPP sin alterar el ISA del resto de los core. Se ha obtenido una familia de procesadores que ejecutan los algoritmos de Petri para dar soluci贸n a sistemas reactivos y concurrentes, con una s贸lida verificaci贸n formal que permite la programaci贸n directa de los procesadores. Para esto, se ha construido el hardware de un PP y un HPP, con un IP-Core en una FPGA, integrado a un sistema multi-Core SMP, que ejecuta distintos tipo de RdP. Esta familia de procesadores es configurable en distintos aspectos: - Tama帽o del procesador (cantidad de plazas y transiciones). - Procesadores con tiempo y procesadores temporales. - Arquitectura heterog茅nea, que permite distribuir los recursos empleados para instanciar el procesador seg煤n se requiera, y obtener un ahorro sustancial. - La posibilidad de configurar el procesador en pos de obtener los requerimientos y minimizar los recursos. Muy valorado en la construcci贸n de sistemas embebidos. En los sistemas con alta necesidad de concurrencia y sincronizaci贸n, donde se ha evaluado este procesador, las prestaciones han mostrado una importante mejora en el desempe帽o. El procesador tiene la capacidad de resolver simult谩neamente, por conjuntos m煤ltiples disparos, lo que disminuye los tiempos de consulta y decisi贸n, adem谩s los programas ejecutados cumplen con los formalismos de las RdP extendidas y sincronizadas, y los resultados de su ejecuci贸n son determin铆sticos. Los tiempos de respuesta para determinar una sincronizaci贸n son de dos ciclos por consulta (entre la solicitud de un disparo y la respuesta).Facultad de Inform谩tic

    Methoden zur applikationsspezifischen Effizienzsteigerung adaptiver Prozessorplattformen

    Get PDF
    General-Purpose Prozessoren sind f眉r den durchschnittlichen Anwendungsfall optimiert, wodurch vorhandene Ressourcen nicht effizient genutzt werden. In der vorliegenden Arbeit wird untersucht, in wie weit es m枚glich ist, einen General-Purpose Prozessor an einzelne Anwendungen anzupassen und so die Effizienz zu steigern. Die Adaption kann zur Laufzeit durch das Prozessor- oder Laufzeitsystem anhand der jeweiligen Systemparameter erfolgen, um eine Effizienzsteigerung zu erzielen

    XXIII Congreso Argentino de Ciencias de la Computaci贸n - CACIC 2017 : Libro de actas

    Get PDF
    Trabajos presentados en el XXIII Congreso Argentino de Ciencias de la Computaci贸n (CACIC), celebrado en la ciudad de La Plata los d铆as 9 al 13 de octubre de 2017, organizado por la Red de Universidades con Carreras en Inform谩tica (RedUNCI) y la Facultad de Inform谩tica de la Universidad Nacional de La Plata (UNLP).Red de Universidades con Carreras en Inform谩tica (RedUNCI
    corecore