In the cloud today, the quantity of information that needs to be stored and processed is growing faster than the performance of general purpose processors. For decades, Moore’s Law has ensured that CPUs could keep up, but today it is unlikely that this trend can be maintained. To overcome this challenge, we investigate how software interacts with the underlying server hardware and explore ways in which we could tailor the latter to the application’s needs. As an alternative to adding conventional cores, we investigate using part of the chip for specialized processing elements or extending the server architecture with novel accelerators.
More specifically, we explore research questions related to integrating programmable hardware accelerators in data management systems that suffer from various forms of data movement bottlenecks (e.g., large-scale distributed databases, blockchains, etc.) and emerging distributed data-intensive applications that are often bound by the processing power of CPUs (e.g., business analytics, machine learning, etc.). The most important challenges of this research direction revolve around the goal of ensuring that, while we benefit from the use of novel hardware, the flexibility, reliability, as well as the security guarantees, of applications are not impacted. In our exploration we employ rigorous analytical methods, build proof of concept software systems and prototype specialized hardware, using Field Programmable Gate Arrays (FPGAs).