FPGAs provide a unique combination of highly parallel custom computation, relatively low manufacturing/engineering costs, and low power requirements. Over the last two decades, these characteristics have proved to be a powerful combination for many scientific applications. We are looking at how FPGAs can be applied to assist a wide variety of enterprise applications.
Offloading Communication Protocol Processing
Any time that information is transferred from one processor to another, some communication is necessary. If this communication does not go through shared memory, it requires the serialization and deserialization of various data structures and objects. This translation overhead may be significant when considering the performance of large distributed or networked systems. In this case study, we look at how we can offload object marshaling for Remote Procedure Calls (RPCs) to an FPGA.
- Rene Mueller and Ken Eguro, FPGA-Accelerated Deserialization of Object Structures, no. MSR-TR-2009-126, September 2009.
As networked systems and services gain popularity, the security and computational overhead of encrypted communication becomes more important. Reconfigurable computing platforms seem to be ideal for accelerating encryption due to their adaptability and highly parallel execution model.
- Gary C. T. Chow, Ken Eguro, Wayne Luk, and Phillip Leong, A Karatsuba-based Montgomery Multiplier, in International Conference on Field Programmable Logic and Applications (short paper), August 2010.
- Gary C.T. Chow and Ken Eguro, A Parameterizable Processor Architecture for Large Characteristic Pairing-Based Cryptography , no. MSR-TR-2010-77, June 2010.
Regular expressions are used by many e-mail systems to filter for spam. These systems may match against tens to hundreds of thousands of regular expressions. While this highly parallel problem can be mapped to FPGAs quite effectively, the conventional FPGA design methodology and execution model presents several practical problems for developers trying to create FPGA-based solutions for real-world filtering applications.
- Ken Eguro, Automated Dynamic Reconfiguration for High-Performance Regular Expression Searching, in International Conference on Field-Programmable Technology (short paper), December 2009.
Quantifying Speedup and Characterizing FPGA-Appropriate Applications
Particularly to those new to the world of reconfigurable computing, the potential performance advantages of FPGAs seems almost magical. We would like to shed light on why certain applications benefit so strongly from these flexible spatial architectures and learn more about what types of applications might be good candidates for FPGAs in the future.
- Scott Sirowy and Alessandro Forin, Where’s the Beef? Why FPGAs Are So Fast, no. MSR-TR-2008-130, September 2008.