This paper discusses how FPGA acceleration is used within the JUNIPER platform. JUNIPER is a processing platform to enable the development of real-time, Big Data systems. Unlike existing Big Data approaches which are based on either batch processing, or streaming processing that is “fast enough”, the JUNIPER platform integrates a range of technologies that increase the predictability of the system allowing for design time analysis and timing guarantees. One of these technologies is FPGA-based acceleration of Java.

General purpose hardware translation of Java is a challenging problem. It is made possible in this work because of a number of features in the JUNIPER programming model. Rather than attempting to translate the entire application, the programmer can mark specific sections of their program (called Locales) as acceleratable. Communications in and out of Locales are restricted to use the MPI-based JUNIPER communications model.

Initial results show that the use of Java does not hamper hardware generation, and provides tight execution time estimates. This paper describes the work currently under way, the approach being developed, and presents some preliminary results that demonstrate the promise in the technique.

BibTex Entry

@inproceedings{IGray2015,
 author = {I. Gray, N. Audsley, J. Garside, Y. Chan, A. Wellings},
 booktitle = {9th HiPEAC workshop on Reconfigurable Computing},
 title = {FPGA-based acceleration for 
Real-Time Big Data Systems},
 year = {2015}
}