M.Sc Thesis

M.Sc StudentIerushalmi Oren
SubjectFile System Aware FPGA
DepartmentDepartment of Electrical and Computer Engineering
Supervisors ASSOCIATE PROF. Yoav Etsion
ASSOCIATE PROF. Mark Silberstein


Heterogeneous computing and accelerators are an emerging design paradigm that is ever more relevant in the age of dark Silicon ? the compulsive shutdown of parts of the chip to respect the power envelope. Heterogeneous computing trades area for power consumption by incorporating specialized hardware modules aimed at efficiently performing specific tasks.

Here we target accelerators that act on storage devices and files. We introduce the design of a hardware file system for hardware based accelerators.

The hardware file system provides the accelerator with access abilities to the host’s file system, similar to software processes file-system system calls. The accelerator is directly connected to the storage device and using the file system module can perform autonomous operations on files.

This design has the potential to reduce the I/O overhead of the storage subsystem by performing the calculations near the storage device. Instead of moving the data between the storage device and the host, only meta-data is communicated. This method also frees the host’s CPU for other tasks. In addition, it gives important abstraction to hardware designers that need to access files which are bigger than the available memory on the device.

We show the implementation of the proposed system on an FPGA device, and evaluate the performance on several basic benchmarks that represent different workload classes. We explore the parameters of the system and how they affect the performance for different workloads.

The system currently supports only read-only access, but even with that limitation it has some interesting use cases.

We conclude that our file system module performs well on different classes of applications, easing the design of the hardware. The module can be used without change in several scenarios, and can support several types of file-systems.

The module is essential for the creation of this type of accelerator, it allows the FPGA to operate almost autonomously and benefit from the proximity to the storage device.