VINEYARD has developed a programming model for heterogeneous accelerator-based servers. The programming model can support acceleration of big data analytics frameworks such as Spark with hardware accelerators including Maxeler DFEs, general FPGAs, and GPUs.
The programming model provides a uniform interface for various accelerators. It offers multiple implementations of the same algorithm according to the accelerators and allows the programmer to invoke each implementation using the same interface.
VINEYARD has also developed a runtime system for using heterogeneous accelerators. For FPGA-based accelerators, VINEYARD has developed a framework that enables space-sharing of multiple applications on a single FPGA. This framework can distribute FPGA resources to each application dynamically according to the application’s requirement by multi-kernel configuration-based task scheduling.
For the runtime system for GPUs, VINEYARD has developed FairGV, a GPU virtualization framework that can achieve ideal fairness and high utilization for GPU workloads. Leveraging FairGV, VINEYARD has developed three-level hierarchical scheduling methods for Spark workloads, which include Global, Local, and Application-level schedulers.