Practical programming of FPGAs in the data center and on the edge

A Greater Boston RIG project

As modern data center workloads become increasingly complex, constrained and critical, mainstream “CPU-centric” computing can no longer keep pace. Future data centers are moving towards a more fluid model, with computation and communication no longer localized to commodity CPUs and routers. Next generation “data-centric” data centers will “compute everywhere,” whether data is stationary (in memory) or on the move (in network). Reconfigurable hardware, in the form of Field Programmable Gate Arrays (FPGAs), are transforming ordinary clouds into massive supercomputers. This project highlights many ways to deploy FPGAs in a data center node, such as traditional back-end accelerators, tightly coupled off-load processors, Smart NICs, Bump-in-the-Wire, and even in the router itself. 

Research Project Directory

These major projects involve PhD students, professors, and Red Hat engineers. To work with Red Hat Research on a major project of your own, email us. To suggest a smaller scale project, submit your request here.

Projects

ProjectSummaryRIGUniversitiesrig_hfilterpartner_university_hfilter
Open-Source Toolchain Optimization for FPGA CADAdditional details to be added soon! Project Poster Link to full size project postergreater-bostonumass-lowell
StrIoT: functional stream processingStrIoT is a functional stream-processing system written in the Haskell programming language. The StrIoT library provides a set of stream-processing …brnonewcastle-university
Characterizing Microservice ArchitecturesMicroservice architectures are the default method for building distributed applications in industry. Though the basic tenants of this architectural style …, greater-bostonemory-university tufts-university
Cloud Cost OptimizerThe goal of this project is to design and implement a scalable multi-cloud cost optimizer capable of calculating the best …tel-avivtechnion
Securing satellite communications with in-network computingThis project aims to design, implement and evaluate a system to enhance the security and privacy of emerging satellite communications infrastructure using in-network computing and software-defined networking.brnouniversity-of-oxford
Understanding accuracy decay in online image retrieval systems within the context of open-set classification and unsupervised clusteringImage retrieval systems are extremely useful to political scientists and human rights advocates attempting to understand the scope and spread of disinformation in massive datasets. However, in standard image retrieval tasks the corpus of images is unchanging as time moves forward. When considering online disinformation this is clearly not the case. Image retrieval in an online system can essentially be modeled as an open-set problem, where there is no guarantee that the classes of images seen before will have any correspondence to the classes of images seen at present or in the future.greater-bostonuniversity-of-notre-dame
Advanced proactive caching for heterogeneous storage systemsThis project targets improving the performance of distributed storage systems, such as Ceph and NooBaa, by developing novel caching frameworks …tel-avivben-gurion-university
Automated detection of memory safety vulnerabilities in RustIn comparison to C, the Rust language provides significant memory safety guarantees through its concept of lifetimes and its borrow-checker. …greater-bostoncolumbia-university
Tuning the Linux kernelThe Linux kernel is a complicated piece of software with multiple components interacting with each other in complex ways. The …greater-boston
Disinformation Detection at ScaleThe increased prevalence of fake and manipulated visual media on the Internet has led to social and technical dilemmas in …, greater-bostonunicamp-universidade-estadual-de-campinas university-of-notre-dame
Characterizing and optimizing reactive systems, a continuum language-runtimeThis research project was kicked off by a paper we published in REBLS 2021. This paper aimed at comparing the costs and benefits of three different reactive streams libraries for Java: do mature and complex libraries implementing involved optimizations perform better than newer libraries sacrificing such optimizations for a simpler codebase?brno
AI for Cloud OpsThis project aims to address this gap in effective cloud management and operations with a concerted, systematic approach to building and integrating AI-driven software analytics into production systems. We aim to provide a rich selection of heavily-automated “ops” functionality as well as intuitive, easily-accessible analytics to users, developers, and administratorsgreater-bostonboston-university
Creating a global open research platform to better understand social sustainability using data from a real-life smart villageIn this project, a team of BU faculty will team up with Red Hat researchers and with SmartaByar, an organization …greater-bostonboston-university
DISL: A Dynamic Infrastructure Services Layer for Reconfigurable HardwareBU faculty member Martin Herbordt will work with Red Hat researchers Uli Drepper and Ahmed Sanaullah to create a generic …greater-bostonboston-university
Practical Programming of FPGAs with Open Source ToolsThis project has evolved from the Practical programming of FPGAs in the data center and on the edge project. Please see …greater-bostonboston-university
Near-Data Data TransformationBU faculty members Manos Athanassoulis and Renato Mancuso will work with Red Hat researchers Uli Drepper and Ahmed Sanaullah to create a hardware-software co-design paradigm for data systems that implements near-memory processing.greater-bostonboston-university
Towards high performance and energy efficiency in open-source stream processing.BU faculty members Vasiliki Kalavari and Jonathan Appavoo will work with Red Hat researcher Sanjay Arora to create an open-source …greater-bostonboston-university
OSMOSIS: Open-Source Multi-Organizational Collaborative Training for Societal-Scale AI SystemsThe goal of our project is to develop a novel framework and cloud-based implementation for facilitating collaboration among highly heterogeneous research, development, and educational settings.greater-bostonboston-university
Privacy-Preserving Cloud Computing using Homomorphic EncryptionIn today’s data-driven world, a large amount of data is collected by billions of devices (cell phones, autonomous cars, handheld …greater-bostonboston-university
Serverless Streaming Graph AnalyticsIn this project, we will focus on graph streams that can be used to model distributed systems, where workers are represented as nodes connected with edges that denote communication or dependencies.greater-bostonboston-university
Enabling Intelligent In-Network Computing for Cloud SystemsWith the network infrastructure becoming highly programmable, it is time to rethink the role of networks in the cloud computing …greater-bostonboston-university
Linux Computational CachingIn this speculative work we are attempting to explore a biologically motivated conjecture on how memory of past computing can be stored and recalled to automatically improve a system’s behavior.greater-bostonboston-university
Foundations in Open Source EducationIn this project we are developing an exemplar set of materials for an introductory computers systems class that exploits, Jupyter, Jupyter Books, OpenShift and the the Mass Open Cloud to develop and deliver a unique educational experience for learning about how computer systems work.greater-bostonboston-university
Symbiotes: A New step in Linux’s EvolutionThis work explores how a new kind of software entity, a symbiotie, might bridge this gap. By adding the ability for application software to shed the boundary that separates it from the OS kernel it is free to integrate, modify and evolve in to a hybrid that is both application and OS.greater-bostonboston-university
Intelligent Data Synchronization for Hybrid CloudsThe goal of this project is to design configurable synchronization solutions on a common platform for a wide range of edge computing scenarios relevant to Red Hat. These solutions will be thoroughly validated on a state-of-the-art testbed capable of emulating realistic environments (e.g., smart cities).greater-bostonboston-university
Secure cross-site analytics on OpenShift logsThe project aims to explore whether cryptographically secure Multi-Party Computation, or MPC for short, can be used to perform secure cross-site analytics on OpenShift logs with minimum client participation.greater-bostonboston-university
Robust Data Systems TuningBU faculty members Manos Athanassoulis and Evimaria Terzi will work on building a new robust tuning framework for LSM-based data …greater-bostonboston-university
Test Case Prioritization: Towards Efficient and Reliable Continuous IntegrationAutomatic regression testing is a crucial step of any CI/CD pipeline. Its primary goal is to detect bugs and defects introduced by recent changes as early as possible while keeping verification costs at a very low level. The goal of the TCP project is to create a novel ML-based tool that solves the TCP (Test Case Prioritization) problem in software regression testing.tel-avivreichman-university
Robust LSM-Trees Under Workload UncertaintyWe introduce a new robust tuning paradigm to aid in the design of data systems with uncertain assumptions by modeling the behavior of the system and then utilizing these models in conjunction with techniques in robust optimization. Our approach is demonstrated through tuning a popular log-structured merge-tree based storage engine, RocksDBgreater-bostonboston-university
PHYSICS: oPtimized HYbrid Space-time servIce Continuum in faaSPHYSICS is a high technology European research project with total funding of about 5ML€ proceeding with a consortium of 14 …, brno tel-aviv
SpotOS – a distributed cloud-based operating system over unreliable resourcesThe aim of this project is to devise and implement a distributed cloud-based operating system that uses unreliable or temporarily …tel-avivtechnion
Does efficient, private, agnostic learning imply efficient, agnostic online learning?Users of online services today must trust platforms with their personal data. Platforms can choose to enable privacy by default …greater-bostonboston-university
Are Adversarial Attacks a Viable Solution to Individual Privacy?Users of online services today must trust platforms with their personal data. Platforms can choose to enable privacy by default …greater-bostonboston-university
Secured API in Hybrid CloudRecently we see many companies that are moving their data from local data centers to public-managed clouds. But with these movements, some questions raise up.tel-avivariel-university
Side-channel attacks on embedded devices and smartcardsThis project focuses on several aspects of side-channel attacks on embedded devices and smartcards, utilizing timing, power-analysis and other side-channels. …brnomasaryk-university
Big Data Stack EU Project: An European Open Source InitiativeThe Big Data Stack EU research project aims at providing a complete infrastructure management system, which bases the management and deployment decisions on data from current and past application and infrastructure deployments. It focuses on:tel-aviv
Mining issued Common Criteria and FIPS140-2 certificatesThe security certification reports might be long but is also a trove of publicly available data about otherwise proprietary devices …brnomasaryk-university
Kubernetes Optimized Service Discovery Across ClustersThe Submariner project provides an ability to connect multiple Kubernetes clusters into a secure shared network which allows various services to communicate with each other., tel-avivhebrew-university-of-jerusalem reichman-university
Smart CommuteBecause an individual’s driving style has an impact of ~25/30% on the CO2 emissions and carpooling can save up to …
Domestic Violence TrackerAn issue with COVID-19 is the lack of financial ability to escape domestic violence. This does not mean the victims …
OpenVolunteerPlatformThe OpenVolunteerPlatform provides community support by improving food security and access to resources amongst vulnerable populations. The platform helps to …
Building the next generation of programmable networking – powered by LinuxThe project seeks to explore areas related to programmable networking, with a particular focus on the eXpress Data Path (XDP) technology in the Linux kernel.karlstad-university
Verifying constant-time cryptographic algorithm implementationsThe aim of this project is to verify the timing side-channel resistance of cryptographic implementations. The project focuses on the constant time (and constant memory access) generic cryptographic implementations of selected cryptographic algorithms. Tbrnomasaryk-university
Trusted Computing EcosystemThe project aims to study the TPM ecosystem as currently exists in deployed devices and software applications using it, establish the types of chips and their properties one can encounter, investigate the state of patching of known vulnerabilities like ROCA against Infineon’s TPM (CVE-2017-15361) or TPMFail against Intel’s fTPM (CVE-2019-11090) and STM’s TPM (CVE-2019-16863) and analyze a reliability of stored integrity measurements (PCRs) for remote attestation and disk encryption uses.brnomasaryk-university
Improving Full Disk EncryptionThe primary focus of this project is also data integrity protection, either in combination with encryption (authentication encryption) or standalone using dm-integrity and dm-verity kernel driver.brnomasaryk-university
Accelerating Microarchitectural Security ResearchWe are working on processes and tooling to lower the barrier to entry into the field and accelerate attack research and mitigation across academia and industry.brnotu-graz
Authentication in public open-source repositoriesThis project focuses on user authentication in public repositories containing open-source projects, which are then used by commercial companies (e.g. Red Hat) as a source for their internally maintained repositories.brnomasaryk-university
LART – LLVM Abstraction and Refinement ToolThe goal of this tool is to provide LLVM-to-LLVM transformations that implement various program abstractions.brnomasaryk-university
Adaptive Learning of ProgrammingThe mission of Adaptive Learning of Programming is to make learning more efficient and engaging by personalizing educational systems using artificial intelligence techniques.brnomasaryk-university
Workflow-Centric Tracing for Cloud ApplicationsWorkflow-centric tracing allows traces (i.e., graphs) of requests’ workflows to be constructed by stitching together trace points with the same request context. Three collaboratory projects focus on improving the observability and diagnosability of Red Hat products using this technique., greater-bostonboston-university northeastern-university
Hybrid Cloud CachingA fundamental goal of the Hybrid Cloud Cache project is to allow simplified integration into existing data lakes, to enable caching to be transparently introduced into hybrid cloud computation, to support efficient caching of objects widely shared across clusters deployed by different organizations, and to avoid the complexity of managing a separate caching service on top of the data lake, greater-bostonboston-university northeastern-university
Volume Storage Over Object StorageThis project creates a hybrid storage system composed of a high-speed local device (e.g. Optane) to store short term data, along with a write-once object store (e.g, Ceph RGW) to store data blocks permanently., greater-bostonboston-university northeastern-university
Kariz Cache Prefetching and ManagementKariz is a caching system that works closely with analytic frameworks scheduler to find the best caching policy for the current running application., greater-bostonboston-university northeastern-university
OpenInfra LabsOpenInfra Labs is an OpenStack Foundation project connecting open source projects to production to advance open source infrastructure. The project …, , boston-university northeastern-university umass-amherst
Elastic Secure InfrastructureThis project encompasses work in several areas to design, build and evaluate secure bare-metal elastic infrastructure for data centers.greater-bostonboston-university
Open Cloud TestbedThe Open Cloud Testbed project will build and support a testbed for research and experimentation into new cloud platforms – the underlying software which provides cloud services to applications. Testbeds such as OCT are critical for enabling research into new cloud technologies – research that requires experiments which potentially change the operation of the cloud itself., , greater-bostonboston-university northeastern-university umass-amherst
Ceph StorageThis research project is investigating how Ceph compression and erasure coded pools could optimize Prometheus tsdb storage.greater-bostonumass-lowell
Implementing Secure Multi-Party ComputingSecure Multiparty Computation (MPC) is a cryptographic primitive that allows several parties to jointly and privately compute desired functions over secret data. Building and deploying practical MPC applications faces several obstacles, including performance overhead, complicated deployment and setup procedures, and adoption of MPC protocols into modern software stacks. MPC applications expose trade-offs between efficiency and privacy that may be hard to reason about, formally characterize, and encode in a protocol design or implementation.greater-bostonboston-university
Outfitting QEMU/KVM with Partitioning Hypervisor FunctionalityThis project extends the virtualization capabilities of QEMU and KVM by adding partitioning hypervisor functionality. With this implementation, hardware resources can be exclusively assigned to specific tasks and VMs. Current work supports KVM Isolation IOCTLs to query CPUs to find isolated CPUs.greater-bostonboston-university
An Optimizing Operating System: Accelerating Execution With SpeculationTo optimize performance, Automatically Scalable Computation (ASC), a Harvard/BU collaboration attempts to auto-parallelize single threaded workloads, reducing any new effort required from programmers to achieve wall clock speedup. SEUSS takes a different approach by splicing a custom operating system into the backend of a high throughput distributed serverless platform, Apache OpenWhisk. SEUSS uses an alternative isolation mechanism to containers, called Library Operating Systems (LibOSs).greater-bostonboston-university
Open CEP – An Advanced Open Source Complex Event Processing EngineThe aim of this project is to create a scalable open-source complex event processing (CEP) framework.tel-avivtechnion
Ceph: Wire-Level Compression-Efficient Object Storage Daemon Communication for the CloudThe project’s purpose is to reduce storage network traffic (object, block, etc.) for the following cases: between the failure domains in cost-sensitive environments such as public clouds, and between nodes in cases where the network bandwidth is the bottleneck of the node performance.tel-avivreichman-university
Innovation Scorecard: Controlling framework for innovation projects in ITInnovation Scorecard is a conceptual performance measurement and management control framework specifically designed for work activities that relate to innovation. Its origin lies in the outcomes of a primary research project that was supported by the Czech Scientific Foundation during 2013-2015. This project’s objective was to ascertain whether organizations in the Czech Republic measure the efficiency of their innovations and what metrics they applied to measure these. Results confirmed that organizations that constantly managed innovation were engaged in identifying performance measurements to determine the level of value and benefits associated with innovation.brnobrno-university-of-technology
Kernel Techniques to Optimize Memory Bandwidth with Predictable LatencyRecent processors have started introducing the first mechanism to monitor and control memory bandwidth. Can we use these mechanisms to enable machines to be fully used while ensuring that primary workloads have deterministic performance? This project presents early results from using Intel’s Resource Director Technology and some insight into this new hardware support. The project also examines an algorithm using these tools to provide deterministic performance on different workloads.greater-bostonboston-university
Unikernel LinuxThis project aims to turn the Linux kernel into a unikernel with the following characteristics: 1) are easily compiled for any application, 2) use battle-tested, production Linux and glibc code, 3) allow the entire upstream Linux developer community to maintain and develop the code, and 4) provide applications normally running vanilla Linux to benefit from unikernel performance and security advantages.greater-bostonboston-university
Code2Vec: Learning code representationsThis project analyzed semantic similarities of learned code embeddings parsed from open source python libraries such as numpy, pandas and sklearn. Still in progress is another analysis that learns code embeddings in a supervised manner with the C++ codebase for performance measurement of program execution in CPU with performance counters (e.g. LLC misses to L1 requests, Cycles Per Instruction).greater-bostonboston-university
Perun: Lightweight Performance Version SystemPerun is an open source light-weight Performance Version System, which works as a wrapper over existing Version Control Systems and in parallel manages performance profiles corresponding to different versions of projects. Moreover, it offers a tool suite suitable for automation of the performance regression test runs, postprocessing of existing profiles or effective interpretation of the results.brnobrno-university-of-technology
DiffKemp: Automatic analysis of semantic differences in kernel optionsThe project aims at creating a tool for automatic analysis of differences in the code between versions of the Linux kernel. The goal is to determine whether the semantics (the effect) of some kernel option, function, or parameter, changed between two kernel versionsbrnobrno-university-of-technology
SymbioticSymbiotic is an open-source framework for program analysis integrating instrumentation, static program slicing and various program analysis tools.brnomasaryk-university
Vega ProjectThe Vega Project team at Red Hat came up with an idea to harness the power of Kubernetes to provide the next-generation open-source tool for high-performance computing. The project is way past the design phase, and the team is already working on the proof-of-concept implementation using Red Hat OpenShift Container Platform.brnomasaryk-university
Quality Assurance System for Internet of Things TechnologyThe main goal is to design, implement and verify a framework for quality assurance of products based on the Internet of Things concept. The aim of the framework is to help individual IoT projects to establish an efficient testing and verification strategy of the infrastructure. The proposed framework is based on a model of the IoT infrastructure, composed of methodological part, driven by university team, and a technical part, mainly worked on by Red Hat engineers.brnoczech-technical-university
AUFOVER – The Automation of Formal VerificationThe goal of the Automation of Formal Verification (AUFOVER) project is to develop automated formal verification tools and integrate them for industrial use. The tools to be developed or improved within the projects are Verification Server, Verification Server Client Application, csmock plug-ins, DIVINE, Symbiotic and Testos. The purpose of the grant is to finish the development of university tools based on formal mathematical methods and their transfer to a commercial environment, including integration with industrial partners’ tools and incorporation of these tools into the commercial processes for software verification., brnobrno-university-of-technology masaryk-university
Usable Security for DevelopersThis project focuses on the cryptographic APIs with respect to their developer usability. Such APIs are notoriously complex and prone to usage errors – our goal is to analyze their (in)correct usage and propose precautions and guidelines to achieve better usability and security.brnomasaryk-university
Fuzzing Device Emulation in QEMUHypervisors—the software that allows a computer to simulate multiple virtual computers—form the backbone of cloud computing. Because they are both ubiquitous and essential, they are security-critical applications that make attractive targets for potential attackers.greater-bostonboston-university
D3N: A Multi-Layer Cache for Data CentersThis project designs and develops D3N, a novel multi-layer cooperative caching architecture that mitigates network imbalances by caching data on the access side of each layer of hierarchical network topology. A prototype implementation, which incorporates a two-layer cache, is highly-performant (can read cached data at 5GB/s, the maximum speed of our SSDs) and significantly improves the performance of big-data jobs., greater-bostonboston-university northeastern-university
Practical programming of FPGAs in the data center and on the edgeFPGAs are now essential components in the data center and on the edge with millions deployed. FPGAs are found in a wide variety of system elements and provide such critical functions as SDN, encryption/decryption, and compression. Yet for nearly all system providers, much less system users, programming these FPGAs is impossible. Our overall goal is to enable FPGA application development by High Level Language (HLL) programmers, especially for the data center and the edge, and exclusively using existing open-source tools.greater-bostonboston-university
Automatic Configuration of Complex HardwareIn this project, we pursue three goals towards this understanding: 1) identify, via a set of microbenchmarks, application characteristics that will illuminate mappings between hardware register values and their corresponding microbenchmark performance impact, 2) use these mappings to frame NIC configuration as a set of learning problems such that an automated system can recommend hardware settings corresponding to each network application, and 3) introduce either new dynamic or application instrumented policy into the device driver in order to better attune dynamic hardware configuration to application runtime behavior.greater-bostonboston-university
Quest-V, a Partitioning Hypervisor for Latency-Sensitive WorkloadsQuest-V is a separation kernel that partitions services of different criticality levels across separate virtual machines, or sandboxes. Each sandbox encapsulates a subset of machine physical resources that it manages without requiring intervention from a hypervisor. In Quest-V, a hypervisor is only needed to bootstrap the system, recover from certain faults, and establish communication channels between sandboxes.greater-bostonboston-university
Avocado ProjectThe goal of the Avocado project, as a generic test automation framework, is to provide a solid foundation for software projects to build their testing needs on. With Avocado, common testing problems are solved at the framework level, and developers can spend more of their time writing tests that, by default, will adhere to best practices., brnoczech-technical-university karlstad-university
Performance Management for Serverless ComputingServerless computing provides developers the freedom to build and deploy applications without worrying about infrastructure. Resources (memory, cpu, location) specified …greater-bostonboston-university