Cloud and high-performance computing (HPC) are essential for advancing science and education. Field programmable gate arrays (FPGAs) are being integrated into data centers and cloud computing due to their power and performance benefits. This proposal focuses on filling the gap between the current use of FPGAs and the use of such computing infrastructures for mainstream computing. Exact solution for hardware/software partitioning is known to be a computationally difficult problem which is often solved based on static analysis without taking program runtime behavior into account. This work aims to take full advantage of FPGAs in cloud computing via automated partitioning to speed up HPC while minimizing energy consumption.
The project integrates techniques from computer architecture, compilers, machine learning and computer systems to allow for an efficient automated task partitioning and tuning. The cross-layer techniques will exploit CPU-FPGA systems and will be based on hardware-software cooperation with new innovative architectures. This work could result in solutions for adaptable, scalable, energy-efficient and high-performance use of heterogeneous architectures for cluster and cloud computing. In addition, the research ideas developed in this project are expected to significantly speed the pace of discovery in many computing domains from cloud computing and cyber physical systems to mobile computing and embedded systems.
This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.