reconfigurable data processing for clouds parth shah kanika chawla sowmith boyanpalli 1
TRANSCRIPT
RECONFIGURABLE DATA PROCESSING FOR CLOUDS
Parth ShahKanika ChawlaSowmith Boyanpalli
1
MOTIVATION
To Implement Reconfigurable computing in Cloud Based Systems
2 / 20
INTRODUCTION Cloud Computing??
Datacenters??
Reconfigurable Computing??
3 / 20
BACKGROUND Reconfigurable computing paved way for mainstream high performance
computing .
Modern FPGA’s implement high bandwidth custom memory hierarchies offering
flexibility and performance
Implementing these FPGA’s in modern computing systems is hindered by the
need for specialized FPGA boards and also lack of programming modes
They also don’t have a good O.S suport and ABI interfaces for application
development.
4 / 20
WHAT’S IN THE PAPER Using FPGA’s just like CPU’s and GPU’s in the cloud.
Using FPGA’s in datacenters scaling down the energy requirement when
compared to using conventional processors.
5 / 20
CLOUD COMPUTING History
Virtualization
Xen Hypervisor – Partition Multiple Guest OS – adopted by amazon
Sudden surges in load is handled by adding additional virtual machines -
Providing dynamic reconfiguration
6 / 20
HARDWARE CLOUDS Data Centers employ horizontal scaling by increasing the number of hosts.
Vertical Scaling is difficult as modern systems are made up of multicore systems
with constant clock speed.
The growth of data centers is limited due to energy constraints and software has
reached the saturation.
Hence Hardware improvisation is needed.
7 / 20
RESEARCH INTERESTS
Major research interests areas in cloud computing
Impact of reconfigurable FPGA on these research areas
1. Operating Systems
2. Datacenter Programming
3. Information Security
OPERATING SYSTEMS Hypervisors expose simple network and storage interfaces to VMs.
Actual Physical drivers handled elsewhere
9 / 20
OPERATING SYSTEMS
Networking involves bridging, topology and integration with systems like Openflow
Storage deals with Snapshots and deduplication of common blocks across VMs
Currently limited to I/O, can be extended to run computation over data
Availability of GPU and Programmable I/O boards
New OS designed to simplify the task of writing, deploying and profiling code across heterogeneous platforms
10 / 20
DATACENTER PROGRAMMING Distributed dataflow frameworks that transparently handle fault tolerance,
resource scheduling, synchronization, message passing
Examples: - MapReduce, Dryad, CIEL
Simple Programming models
Directed Acyclic Graphs (DAG)
Run-time schedules iteratively walks DAG
Prepares host to ensure data is available locally
Main challenge: Reconfiguring FPGAs
Mesos investigates partitioning physical resources across multiple frameworks on same set of hosts 11 / 20
DATACENTER PROGRAMMING Encouragement for novel database models other than SQL and ACID models
Experiments done to program all data processing operators on top of large FPGAs
Right computation model enables significant improvement in power consumption
and parallelization
Close integration between high level host languages and FPGAs required
MORA: an example of DSL for streaming vector and matrix operations aimed at
multimedia applications.
Compiler infrastructures like LLVM to convert C/C++ code to FPGAs
Less effort to design and implement portably
12 / 20
DATACENTER PROGRAMMING Many tools and methods available for easy programming and
synthesis
Accelerator: library to synthesis data parallel programs in C# to FPGAs
Multi-stage programming: Abstract algorithms converted to high level language and then into desired architecture.
13 / 20
INFORMATION SECURITY
15/20
CLOUD outsources processing over large datasheets
This code is often written in C or FORTRAN
Even a small bug in input can let attackers execute arbitrary code on the host machine
Although the attackers cannot access the virtual data in the hypervisor, they still have access to many local network resources
Malicious data can be crafted to exploit memory errors and execute as a code on a CPU
THE ISSUE
THE SOLUTION
16 / 20
By shifting from software to hardware, information security is improved immensely.
Baking algorithm implementation into FPGA ensures that attackers cannot run their arbitrary code in the system.
The data is never manipulated via the CPU rather it is directly compiled to the FPGA
Only a small channel exists between OS and FPGA to communicate results.
The conventional FPGA model has scope of hacking through SRAM but when deployed in cloud, attackers don’t have any physical access.
DATA SECURITY Data needs security against the untrusted cloud infrastructure, which
can be ensured using encoding data.
Encoding is done for information flow constraints, which are ideal for domain specific data flow languages.
Homomorphic encryption are also being deployed. It permits computation over encrypted data without decrypting the underlying data.
But it is expensive to implement.
But recently, lattice based cryptography which decrease the complexity cost of homomorphic encryption, are being used.
Using Lattice reduction, speedups of 2.12 have been reported.
17 / 20
DATA SECURITY
Reducing cost of cryptography has a social impact.
Until now anonymity networks such as Tor AND Freenet were being used for
storing data. Using them is way too slow.
There have been talks to shift this burden to cloud computing, but cost remains
the main constraint.
Virtual networking is reconfigured much more than hardware setups.
18 / 20
19
THE FUTURE CHALLENGES How to unify the demands of data-centric processing, language integration,
network processing into a single infrastructure
The need for better OS integration, device models, and abstractions
Without an ABI or source API, software re-use and integration is very difficult.
Debugging and visualization support. General purpose systems provide a
hypervisor-kernel-user space language runtime model that gets progressively
easier and higher-level to debug. Abstraction boundaries exist where they don’t in
current FPGAs. Staged programming or functional testing in a general-purpose
systems makes this easier.
We need to develop a common set of concepts, principles and models for
application execution on reconfigurable computing platforms to allow
collaboration between universities and companies and to provide a solid
framework to build new innovations and applications. This kind of eco-system has
been sadly lacking for reconfigurable systems.
CONCLUSION It is encouraging that cloud computing is driven by fine-grained charging for the
computation resources used.
Reconfigurable FPGAs driven down the cost of many types of computation
commonly found on the cloud, and thus a community-driven deployment of a
cloud setup with rentable hardware would provide a focal point to “fill in the
blanks” for reconfigurable FPGA computing in the cloud.
20 / 20
LIMITATIONS The paper does not provide any experimental results and is much of a literature
survey
Half of the paper covers background and introduction and does not give much
information about implementation.
A practical model or example should have been given.
THANK YOU