Publications

Publications

< back to publications

Maintaining Communication Consistency during Task Migrations in Heterogeneous Reconfigurable Devices

Author(s): A. Wicaksana, O. Muller, F. Rousseau, A. Sasongko

Doc. Source: Multi-Processor System-on-Chip 1: Architectures

Publisher: Wiley, Chichester, UK

Pages: 255-285

The capacity to deploy, halt and migrate applications between virtualized processing nodes has proven to be consequential in future cloud provisioning. FPGAs as accelerators have been gaining traction in the cloud due to the offered high performance, energy efficiency, and on-the-fly programmability. But the FPGA virtualization in cloud is currently restricted to certain families and vendors of FPGAs, and naturally, migrating applications between processing nodes that have different FPGAs is troublesome. Task migration between heterogeneous FPGAs presents a risk in the communication during the extraction and restoration of the memory contents related to hardware tasks. To maintain a consistent execution after task migration, the communication between tasks in the processing nodes must be efficiently managed.
In this chapter, we present a communication methodology in hardware context switch suitable for cloud infrastructure integrating heterogeneous FPGAs. The communication mechanism follows Kahn Process Network (KPN) model to provide a deterministic behavior in the system and ensure the resumption of execution without any error. We introduce a communication protocol that manages the communication data and FPGA task context in hardware task migration. The proposed communication solution for hardware context switch between heterogeneous FPGAs is implemented in the Zynq and Intel FPGA platforms. The experiment result shows that communication protocol ensures a consistent execution to migrated applications. A small overhead in resource utilization and data footprint are detected in exchange for up to 98% reduction in the context switch latency (best-case scenario) which facilitates scheduling and provisioning in cloud services. In future works, an integration of our solution in bigger scale systems is feasible.