This report addresses the problem of minimizing the average execution time of an application, based on speculative FPGA configuration prefetch. Dynamically reconfigurable systems (like FPGAs) provide both the performance of hardware acceleration and the flexibility and adaptability that modern applications require. Unfortunately, one of their main drawbacks that significantly impacts performance is the high reconfiguration overhead. Configuration prefetching is one method to reduce this penalty by overlapping FPGA reconfigurations with useful computations. In order to make it effective and to avoid very high misprediction penalties, it is important to prefetch the configurations that provide the highest performance improvement, and to do th...
Runtime reconfigurable systems built upon devices with partial reconfiguration can provide reduction...
Summarization: Partial reconfiguration (PR) of FPGAs can be used to dynamically extend and adapt the...
Hardware/software partitioning is a process that occurs frequently in embedded system design. It is ...
Aim of this paper is to define a scheduling of the task graph of an application that minimizes its t...
Many streaming applications composed of multiple tasks self-adapt their tasks’ execution at runtime ...
Despite large caches, main-memory access latencies still cause significant performance losses in man...
FPGAs are widely used in today's embedded systems design due to their low cost, high performance, an...
Abstract—Modern processors are equipped with multiple hardware prefetchers, each of which targets a ...
In computer systems, latency tolerance is the use of concurrency to achieve high performance in spit...
The paper investigates the interaction between software pipelining and different software prefetchin...
Heterogeneous system-on-chips (SoC) that include both general-purpose processors and field programma...
A program phase is an interval over which the working set of the program remains more or less consta...
none6Field-Programmable Gate Arrays (FPGAs) have become promising mapping fabric for the implementat...
Summarization: Partial reconfiguration suffers from the inherent high latency and low throughput whi...
The configuration of an FPGA is a process of customizing the functionality implemented by the FPGA f...
Runtime reconfigurable systems built upon devices with partial reconfiguration can provide reduction...
Summarization: Partial reconfiguration (PR) of FPGAs can be used to dynamically extend and adapt the...
Hardware/software partitioning is a process that occurs frequently in embedded system design. It is ...
Aim of this paper is to define a scheduling of the task graph of an application that minimizes its t...
Many streaming applications composed of multiple tasks self-adapt their tasks’ execution at runtime ...
Despite large caches, main-memory access latencies still cause significant performance losses in man...
FPGAs are widely used in today's embedded systems design due to their low cost, high performance, an...
Abstract—Modern processors are equipped with multiple hardware prefetchers, each of which targets a ...
In computer systems, latency tolerance is the use of concurrency to achieve high performance in spit...
The paper investigates the interaction between software pipelining and different software prefetchin...
Heterogeneous system-on-chips (SoC) that include both general-purpose processors and field programma...
A program phase is an interval over which the working set of the program remains more or less consta...
none6Field-Programmable Gate Arrays (FPGAs) have become promising mapping fabric for the implementat...
Summarization: Partial reconfiguration suffers from the inherent high latency and low throughput whi...
The configuration of an FPGA is a process of customizing the functionality implemented by the FPGA f...
Runtime reconfigurable systems built upon devices with partial reconfiguration can provide reduction...
Summarization: Partial reconfiguration (PR) of FPGAs can be used to dynamically extend and adapt the...
Hardware/software partitioning is a process that occurs frequently in embedded system design. It is ...