Developing FPGAs as an acceleration platform for data-intensive applications

Placeholder Show Content

Abstract/Contents

Abstract
FPGAs have grown in popularity as compute accelerators in recent years, being deployed in the clouds of Amazon, Alibaba, and Microsoft for either internal tasks like networking acceleration or directly for customers to rent. As their use has grown, it has become increasingly clear that they are fairly unproductive for developers compared to competing platforms like GPUs and CPUs. We aim to close this gap in this dissertation by taking a domain-specific approach. We argue that general-purpose FPGA development tools are fundamentally limited by the complexity of the platform, and therefore focus on building faster and simpler tools for the specific case of streaming data-intensive applications. We first present Fleet, a system for accelerating massively parallel streaming workloads on FPGAs. Fleet provides a simple language for users to define a compute unit that processes a single stream of data, and then automatically replicates the compute unit many times into a memory controller fabric so that the final design can process many independent streams at once. We next present a fast compilation system for Fleet-like applications. Our system leverages the fact that the memory controller design is fixed across applications, and therefore compiles it ahead of time, leaving empty slots for copies of the user's processing unit. The user-visible compile time is thus reduced only to the time required to compile a few copies of the processing unit and replicate them into the prebuilt memory controller. Finally, we leverage the design patterns of identical compute units and streaming DRAM access to design a FPGA accelerator for the problem of finding interesting subgroups in large tabular datasets. This accelerator is able to outperform GPUs and CPUs on a cost per throughput basis due to its customized partitioning of SRAM resources across compute units.

Description

Type of resource text
Form electronic resource; remote; computer; online resource
Extent 1 online resource.
Place California
Place [Stanford, California]
Publisher [Stanford University]
Copyright date 2022; ©2022
Publication date 2022; 2022
Issuance monographic
Language English

Creators/Contributors

Author Thomas, James Joe
Degree supervisor Hanrahan, P. M. (Patrick Matthew)
Degree supervisor Zaharia, Matei
Thesis advisor Hanrahan, P. M. (Patrick Matthew)
Thesis advisor Zaharia, Matei
Thesis advisor Horowitz, Mark (Mark Alan)
Degree committee member Horowitz, Mark (Mark Alan)
Associated with Stanford University, Computer Science Department

Subjects

Genre Theses
Genre Text

Bibliographic information

Statement of responsibility James Thomas.
Note Submitted to the Computer Science Department.
Thesis Thesis Ph.D. Stanford University 2022.
Location https://purl.stanford.edu/nr306vc9684

Access conditions

Copyright
© 2022 by James Joe Thomas
License
This work is licensed under a Creative Commons Attribution Non Commercial 3.0 Unported license (CC BY-NC).

Also listed in

Loading usage metrics...