This installment of Research for Practice features a
curated selection from Gustavo Alonso, who provides
an overview of recent developments utilizing field-
programmable gate arrays (FPGAs) in datacenters.
As Moore’s Law has slowed and the computational
overheads of datacenter workloads such as model
serving and data processing have continued to rise,
FPGAs offer an increasingly attractive point in the
trade-off between power and performance. Gustavo’s
selections highlight early successes and practical
deployment considerations that inform the ongoing,
high-stakes debate about the future of datacenter- and
cloud-based computation substrates. Please enjoy!
Peter Bailis is an assistant professor of computer science at Stanford University.
His research in the Future Data Systems group ( futuredata.stanford.edu) focuses
on the design and implementation of next-generation data-intensive systems.
Most of today’s IT is being driven by the convergence of three trends: the
rise of big data, the prevalence of large clusters as
the main computing platform (whether as the cloud, datacenters, or data appliances), and the lack
of a dominating processor architecture. The result is a fascinating cacophony of products and ideas around hardware acceleration and novel computer
architectures, along with the systems
and languages needed to cope with the
One key aspect of these developments is energy consumption, which
is a crucial cost factor in IT and can
no longer be ignored as a social issue.
Power consumption in computing has
many causes, but a well-known culprit
is the movement required to bring data
from storage to the processors along
complex memory hierarchies. Such
data transfers consume a proportionally enormous amount of energy without actually doing anything useful in
terms of computation. Data movement
also has a side effect, often overlooked
in research: the performance penalty
caused by moving the data to and from
an accelerator; this movement often
eats up most of the advantages provided by that accelerator.
It is in this context that FPGAs have
attracted the attention of system architects and have started to appear
in commercial cloud platforms. An
FPGA allows the development of digital circuits customized to a given application. The customization makes
them efficient in terms of both resource and energy consumption. Existing FPGAs typically consume one
order of magnitude less power than
CPUs or GPUs, even less in closely integrated systems that do not require a
separate board. Unlike ASICs (
application-specific integrated circuits),
FPGAs are programmable in the
sense the circuit implemented can be
swapped for a different one when the
need arises (updates, upgrades, different uses, and so on).
Article development led by
Expert-curated guides to
the best of CS research.
BY GUSTAVO ALONSO