based accelerators without dealing with the complex-
ity of hardware design. Furthermore, the vision is to
provide users with a repository of bitstream
2
files of
common applications, which can be used as a service
but also as building blocks to develop more complex
applications. It must be noted that Amazon AWS al-
ready offers GPU instances (AWS, 2013), and FPGA-
based accelerators are offered by Nimbix within its
JARVICE service. But, to the best of our knowledge,
this is the first open-source proposal of an IaaS ar-
chitecture in which the FPGA accelerators (among
others) are considered as computational virtual re-
sources.
The rest of the paper is organized as follows. In
Section 2 some related works are reviewed. Then, the
architecture of our proposal is described in Section 3,
while some implementation details are given in Sec-
tion 4. Finally, Section 5 concludes this work, and
outlines some guidelines for future work.
2 RELATED WORK
Hardware FPGA devices used as co-processors
can offer significant improvement to many applica-
tions (Guneysu et al., 2008) (Dondo et al., 2013).
So, there are several attempts to integrate FPGAs
into traditional software environments. Many solu-
tions are provided by the industry, such as PicoCom-
puting, Convey and Xillybus. These products con-
nect software to FPGAs via a proprietary interface
with their own languages and development environ-
ments. The Mitrion-C Open Bio Project (Mitrion-C:
The Open Bio Project, 2013) tries to accelerate key
bioinformatics applications by porting critical parts to
be run on FPGAs. Open source proposals such as (Ja-
cobsen and Kastner, 2013) provide a framework that
uses FPGAs as an acceleration platform. It must be
highlighted that in this work FPGAs are connected to
PCs through PCIe. However, these examples lack the
framework for developing parallel and distributed ap-
plications on clusters with multiple nodes.
There are systems where FPGA devices are used
as the only computing elements forming the clus-
ter (Guneysu et al., 2008). However, not all appli-
cations can be accelerated effectively using FPGAs.
For example, the high clock rate and large numbers
of floating point units in GPUs make them good can-
didates for hardware accelerators.
The use of GPUs as computational resources
on cloud infrastructures has emerged in the last
years (Suneja et al., 2011). Hence, nowadays sev-
2
A bitstream is the data file to be loaded into a FPGA.
eral commercial companies offer GPU service to
their clients (Nvidia, 2013). For example, Amazon
EC2 (AWS, 2013) supports general purpose GPU
workflows via CUDA and OpenCL with NVIDIA
Tesla Fermi GPUs. The use of FPGAs in cloud sys-
tems has not been so successful until now. At this
point it must be highlighted that Nimbix (Nimbix,
2013) offers a commercial cloud processing system
with a variety of accelerated platforms. Recently,
the company has launched JARVICE, a PaaS plat-
form that includes the availability of GPUs, DSP
and FPGAs for an application catalog and an API or
command-line access to submit jobs.
Moreover, there are some efforts that combine
accelerators (FPGAs and GPUs) and CPUs in clus-
ter nodes such as Axel (Tsoi and Luk, 2010). Axel
combines heterogeneous nodes with the MapReduce
programming model resulting in a low-cost high-
performance computing platform. The authors in this
work highlight that the largest drawback of FPGA
design is the difficulty of implementation compared
with CUDA programming time.
Also, recent researches focus on dynamically re-
configurable FPGAs. Reconfigurable FPGAs are de-
vices where software logic can be reprogrammed to
implement specific functionalities on tunable hard-
ware. Hence, in (Dondo et al., 2013) a reconfiguration
service is presented. This service is based on an effi-
cient mechanism for managing the partial reconfigu-
ration of FPGAs, so that a large reduction in partial
reconfiguration time is obtained. Providing this kind
of service is a must in order to attach FPGA resources
in cloud infrastructures. Nevertheless, more in-depth
research is required to provide a virtual machine mon-
itor able to manage the reconfigurable capabilities on
FPGA devices.
The closest research to our vision is the HAR-
NESS (Hardware- and Network-Enhanced Soft-
ware Systems for Cloud Computing) European FP7
project (HARNESS FP7 project, 2013). The objec-
tive of this project is to develop an enhanced PaaS
with access to a variety of computational, communi-
cation, and storage resources. The application con-
sists of a set of components that can have multiple im-
plementations. Then, an application can be deployed
in many different ways over the resources obtaining
different cost, performance and usage characteristics.
However, for the time being no framework proposal
nor proof-of concept has been published yet.
CLOSER2014-4thInternationalConferenceonCloudComputingandServicesScience
130