8 research outputs found

    Trading-off reliability and performance in FPGA-based reconfigurable heterogeneous systems

    Get PDF
    Recent years have witnessed the rapid growth of heterogeneous systems, composed of CPUs and hardware accelerators, to face up the constant increase of computational performance demand of digital systems. In this scenario, FPGAs offer the possibility to implement high performance reconfigurable accelerators, able to speed up the intrinsically parallel portions of applications. The study of reconfigurable heterogeneous systems is still maturing and, while some contributions about performance and power consumption are available, in literature there are few works addressing reliability. This paper analyzes reconfigurable heterogeneous systems in presence of permanent faults occurring in the FPGA. In this context, a reconfigurable heterogeneous architecture, including a Run Time Manager responsible for the communication of software tasks and the FPGA, the scheduling and the placement of hardware tasks, is presented. In addition, the paper introduces a reconfigurable heterogeneous system simulator for the proposed architecture. This simulator is able to evaluate during the design phase the degradation of the system performance due to permanent faults and allows to explore the design space dimensions efficiently

    Dynamic Scheduling, Allocation, and Compaction Scheme for Real-Time Tasks on FPGAs

    Get PDF
    Run-time reconfiguration (RTR) is a method of computing on reconfigurable logic, typically FPGAs, changing hardware configurations from phase to phase of a computation at run-time. Recent research has expanded from a focus on a single application at a time to encompass a view of the reconfigurable logic as a resource shared among multiple applications or users. In real-time system design, task deadlines play an important role. Real-time multi-tasking systems not only need to support sharing of the resources in space, but also need to guarantee execution of the tasks. At the operating system level, sharing logic gates, wires, and I/O pins among multiple tasks needs to be managed. From the high level standpoint, access to the resources needs to be scheduled according to task deadlines. This thesis describes a task allocator for scheduling, placing, and compacting tasks on a shared FPGA under real-time constraints. Our consideration of task deadlines is novel in the setting of handling multiple simultaneous tasks in RTR. Software simulations have been conducted to evaluate the performance of the proposed scheme. The results indicate significant improvement by decreasing the number of tasks rejected

    Un gestor de ejecuci贸n de grafos de tareas para sistemas multitarea din谩micamente reconfigurables

    Get PDF
    El HW reconfigurable se puede utilizar para construir un sistema multitarea en el que las tareas puedan asignarse en tiempo de ejecuci贸n a los recursos reconfigurables seg煤n las necesidades de las aplicaciones. En estos sistemas, las tareas se representan normalmente como grafos de subtareas ac铆clicos, donde una subtarea es la unidad de planificaci贸n. Normalmente, un procesador empotrado controla la ejecuci贸n de este tipo de sistemas trabajando con estructuras de datos complejas, como grafos o listas enlazadas, cuyo manejo a menudo genera retardos en la ejecuci贸n. Adem谩s, las comunicaciones HW/SW son a menudo un cuello de botella del sistema. Por tanto resulta muy interesante reducir tanto los c谩lculos que realiza el procesador como las comunicaciones. Para lograr este objetivo se ha desarrollado un gestor HW que controla la ejecuci贸n de grafos de subtareas en un conjunto de unidades reconfigurables. Este gestor recibe como entrada los grafos junto con una planificaci贸n asociada a cada subtarea y garantiza su correcta ejecuci贸n sin necesidad de ninguna otra intervenci贸n por parte del procesador. Adem谩s, incluye mecanismos para optimizar la gesti贸n de las reconfiguraciones reduciendo las penalizaciones que generan en tiempo de ejecuci贸n. [ABSTRACT] Reconfigurable HW can be used to build a hardware multitasking system where tasks can be assigned to the reconfigurable HW at run-time according to the requirements of the running applications. Normally the execution in this kind of systems is controlled by an embedded processor. In these systems tasks are frequently represented as acyclic subtask graphs, where a subtask is the basic scheduling unit that can be assigned to a reconfigurable HW. In order to control the execution of these tasks, the processor must manage at run-time complex data structures, like graphs or linked list, which may generate significant execution-time penalties. In addition, HW/SW communications are frequently a system bottleneck. Hence, it is very interesting to find a way to reduce the run-time SW computations and the HW/SW communications. To this end I have developed a HW execution manager that controls the execution of subtask graphs over a set of reconfigurable units. This manager receives as input a subtask graph coupled to a subtask schedule, and guarantees its proper execution. In addition it includes support to reduce the execution-time overhead due to reconfigurations. With this HW support the execution of task graphs can be managed efficiently generating only very small run-time penalties

    Synthesis Techniques for Semi-Custom Dynamically Reconfigurable Superscalar Processors

    Get PDF
    The accelerated adoption of reconfigurable computing foreshadows a computational paradigm shift, aimed at fulfilling the need of customizable yet high-performance flexible hardware. Reconfigurable computing fulfills this need by allowing the physical resources of a chip to be adapted to the computational requirements of a specific program, thus achieving higher levels of computing performance. This dissertation evaluates the area requirements for reconfigurable processing, an important yet often disregarded assessment for partial reconfiguration. Common reconfigurable computing approaches today attempt to create custom circuitry in static co-processor accelerators. We instead focused on a new approach that synthesized semi-custom general-purpose processor cores. Each superscalar processor core's execution units can be customized for a particular application, yet the processor retains its standard microprocessor interface. We analyzed the area consumption for these computational components by studying the synthesis requirements of different processor configurations. This area/performance assessment aids designers when constraining processing elements in a fixed-size area slot, a requirement for modern partial reconfiguration approaches. Our results provide a more deterministic evaluation of performance density, hence making the area cost analysis less ambiguous when optimizing dynamic systems for coarse-grained parallelism. The results obtained showed that even though performance density decreases with processor complexity, the additional area still provides a positive contribution to the aggregate parallel processing performance. This evaluation of parallel execution density contributes to ongoing efforts in the field of reconfigurable computing by providing a baseline for area/performance trade-offs for partial reconfiguration and multi-processor systems

    Verifiable resilience in architectural reconfiguration

    Get PDF
    This thesis addresses the formal veri cation of a support infrastructure for resilient dynami- cally recon gurable systems. A component-based system, whose architectural con guration may change at runtime, is classed as dynamically recon gurable. Such systems require a support infrastructure for the control of recon gurations to provide resilience. The veri cation of such recon guration support increases the trust that developers and stakeholders may place on the system. The thesis de nes an architectural model of an infrastructure of services for the support of dynamic recon guration and takes a formal approach to the de nition and veri cation of one aspect of the infrastructure. The execution of recon guration policies in a recon guration infrastructure provides guidance to the architectural change to be enacted on a recon gurable system. These recon guration policies are often produced using a language with informal syntax and no formal semantics. Predicting properties of these policies governing recon guring systems has yet to be attempted. In this thesis, we de ne RPL { a recon guration policy language with a formal syntax and semantics. With the use of a case study, theories of RPL and an example policy are developed and the veri cation of key proof obligations and validation conjectures of policies expressed in RPL is demonstrated. The contribution of the thesis is two-fold. Firstly, the architectural de nition of a support infrastructure provides a lasting contribution in that it suggests a clear direction for future work in dynamic recon guration. Secondly, through the formal de nition of RPL and the veri cation of properties of policies, the thesis provides a basis for the use of formal veri cation in dynamic recon guration and, more speci cally, in policies for dynamic recon guration.EThOS - Electronic Theses Online ServiceEPSRC DIRC ProjectGBUnited Kingdo

    A Dynamic Reconfiguration Run-Time System

    No full text
    The feasibility of run-time reconfiguration of FPGAs has been established by a large number of case studies. However, these systems have typically involved an ad hoc combination of hardware and software. The software that manages the dynamic reconfiguration is typically specialised to one application and one hardware configuration. We present three different applications of dynamic reconfiguration, based on research activities at Glasgow University, and extract a set of common requirements. We present the design of an extensible run-time system for managing the dynamic reconfiguration of FPGAs, motivated by these requirements. The system is called RAGE, and incorporates operating-system style services that permit sophisticated and high level operations on circuits. 1 Introduction Dynamic reconfiguration of FPGAs has recently become viable with the introduction of devices that allow high speed partial reconfiguration, e.g., the Xilinx XC6200 series [14]. Dynamic reconfiguration is usu..
    corecore