The
reconfiguration features of modern field programmable gate arrays (Multicore
FPGA) make new approaches for parallel computing possible.
Reconfiguration at runtime offers an important step to adaptive and
self organizing behaviour of modern System-on-Chip (MP SoC).
To make these features of a modern FPGA manageable a software model is
required, which hides the hardware system from the application
software. The scalable dataflow-driven virtual machine (SDVM) is such
a virtualization of a parallel, adaptive and heterogeneous set of
processing elements and logic. The SDVM is a middleware concept to
form a parallel computing machine consisting of any set of processing
elements, such as processing units in a multicore (FPGA) system, or
computers in a computer cluster. The SDVM supports a growing and
shrinking of the cluster at runtime. It uses the work-stealing
principle to dynamically distribute the workload among all independent
units.
This paper describes the structure and the functionality of SDVM as
well as some aspects for adaptation to modern Multicore FPGA.