Award Abstract # 2008799
SHF: Small: Beyond Accelerators - Using FPGAs to Achieve Fine-grained Control of Data-flows in Embedded SoCs

NSF Org: CCF
Division of Computing and Communication Foundations
Recipient: TRUSTEES OF BOSTON UNIVERSITY
Initial Amendment Date: July 2, 2020
Latest Amendment Date: July 2, 2020
Award Number: 2008799
Award Instrument: Standard Grant
Program Manager: Danella Zhao
CCF
 Division of Computing and Communication Foundations
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: July 15, 2020
End Date: June 30, 2023 (Estimated)
Total Intended Award Amount: $499,857.00
Total Awarded Amount to Date: $499,857.00
Funds Obligated to Date: FY 2020 = $499,857.00
History of Investigator:
  • Renato Mancuso (Principal Investigator)
    rmancuso@bu.edu
Recipient Sponsored Research Office: Trustees of Boston University
1 SILBER WAY
BOSTON
MA  US  02215-1703
(617)353-4365
Sponsor Congressional District: 07
Primary Place of Performance: Trustees of Boston University
111 Cummington Mall, CS
Boston
MA  US  02215-2411
Primary Place of Performance
Congressional District:
07
Unique Entity Identifier (UEI): THL6A6JLE1S7
Parent UEI:
NSF Program(s): Software & Hardware Foundation
Primary Program Source: 01002021DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7941, 7923
Program Element Code(s): 779800
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Modern computing systems are to become context-aware by exploiting knowledge of their environment and taking complex decisions based on a multitude of sensory streams. On the other hand, in safety-critical and high-integrity systems, the capability to detect and correct violations of timing and security invariants, i.e., self-awareness, is of the utmost importance. Unfortunately, as platforms grow in complexity to improve context-awareness, the inter-play between concurrent software components and the underlying hardware becomes hard to predict and to reason about. Therefore, there exists a fundamental tension between context- and self-awareness. This research tackles the challenge of achieving strong self-awareness without trading off system complexity. It does so by defining a new class of software-shaped (SOSH) platforms that provide direct control over the flow of data exchanged between hardware components. SOSH platforms can be implemented today using existing and commercially available hardware that includes traditional processing units and reprogrammable logic on-chip. SOSH data-flow manipulation primitives are constructed in reprogrammable hardware and interposed between traditional central processors, memory modules, and I/O devices. By turning memory and I/O data-flows into manageable entities, a new degree of introspection is unlocked, which constitutes the premise for self-awareness. The project explores key design principles in the definition and implementation of low-overhead SOSH primitives for operations over data-flows. It investigates research avenues on the use of the SOSH paradigm to enact workload profiling and prediction; to implement advanced memory models; to perform security threat identification and mitigation. Evaluation metrics include achievable performance envelopes, expressiveness of programming interfaces, and level of control over access to confidential data and system bottlenecks. The milestones achieved in the definition of SOSH components will be immediately transitioned into practice. Areas of impact include, but are not limited to, civil avionics, autonomous driving technology, analytics engines, and privacy-hardened data stores. The obtained results will be disseminated in peer-reviewed journals, international conferences, and workshops. In addition, a set of publicly available repositories of code, hardware designs, and datasets will be maintained throughout the lifespan of the project and for a minimum of three years thereafter.

The goal of this research is a technology to achieve strong self-awareness in complex systems. The key observation is that the interplay between software and hardware modules (i.e., CPUs, GPUs, DSPs, memory modules, and I/O devices) is embedded in the flow of data they exchange. Thus, turning data-flows into observable and manageable entities enables an unprecedented degree of self-awareness. From this observation, a new paradigm for software-shaped (SOSH) platforms is introduced. In SOSH platforms, the software can instantiate hardware modules to constantly monitor data-flows. It can define policies and performance envelopes for data-flow exchanges, and specify actions that affect both hardware and software components in case of a policy violation. The SOSH methodology targets commercial platforms that integrate embedded processors and programmable logic. Support for partial dynamic reconfiguration is also leveraged to achieve runtime adaptation. Four super-classes of data-flow manipulation primitives are considered. First, merging primitives enable the definition of rules to join data-flows from different components. Next, reordering/filtering primitives adapt seminal results in stream-processing to reduce and reorganize the amount of data moved between components. Third, profiling/logging primitives support the extraction of data-flow characteristics for prediction and state/progress tracking of application workloads. Lastly, splitting primitives allow selective re-routing of sub-flows to improve timing and relieve congestion at the performance bottlenecks. The SOSH paradigm lays the basis for novel approaches for the design and analysis of high-integrity and safety-critical systems. More broadly, SOSH platforms represent the first appearance of a new class of truly self-assessing and self-modifying systems, shaking the foundations of traditional hardware/software layers as non-participating entities. In SOSH platforms, the software can systematically inspect and influence the behavior of the hardware; while the hardware constructs and leverages knowledge of applications to enact goal-aware management.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

(Showing: 1 - 10 of 22)
Zuepke, Alexander and Bastoni, Andrea and Chen, Weifan and Caccamo, Marco and Mancuso, Renato "MemPol: Policing Core Memory Bandwidth from Outside of the Cores" 29th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2023) , 2023 https://doi.org/10.1109/RTAS58335.2023.00026 Citation Details
Oliveira, Daniel and Chen, Weifan and Pinto, Sandro and Mancuso, Renato "Investigating and Mitigating Contention on Low-End Multi-Core Microcontrollers" Cyber-Physical Systems and Internet of Things Week, 2nd Workshop on Real-time Intelligent Edge Computing (RAGE'23) , 2023 https://doi.org/10.1145/3576914.3587513 Citation Details
Papon, Tarikul Islam and Hyoung Mun, Ju and Roozkhosh, Shahin and Hoornaert, Denis and Sanaullah, Ahmed and Drepper, Ulrich and Mancuso, Renato and Athanassoulis, Manos "Relational Fabric: Transparent Data Transformation" IEEE 39th International Conference on Data Engineering (ICDE'23) , 2023 https://doi.org/10.1109/ICDE55515.2023.00297 Citation Details
Roozkhosh, Shahin and Hoornaert, Denis and Mancuso, Renato "CAESAR: Coherence-Aided Elective and Seamless Alternative Routing via on-chip FPGA" Real Time Systems Symposium (RTSS) , 2022 https://doi.org/10.1109/RTSS55097.2022.00038 Citation Details
Roozkhosh, Shahin and Hoornaert, Denis and Mancuso, Renato and Athanassoulis, Manos "Hardware Data Re-organization Engine for Real-Time Systems" WiP Session @ 43rd IEEE Real-Time Systems Symposium (RTSS@Work 2022) , 2022 Citation Details
Roozkhosh, Shahin and Hoornaert, Denis and Mun, Ju Hyoung and Papon, Tarikul Islam and Sanaullah, Ahmed and Drepper, Ulrich and Mancuso, Renato and Athanassoulis, Manos "Relational Memory: Native In-Memory Accesses on Rows and Columns" International Conference on Extending Database Technology (EDBT'23) , 2023 Citation Details
Schwaricke, Gero and Tabish, Rohan and Pellizzoni, Rodolfo and Mancuso, Renato and Bastoni, Andrea and Zuepke, Alexander and Caccamo, Marco "A Real-Time Virtio-Based Framework for Predictable Inter-VM Communication" Proceedings of the 42nd IEEE Real-Time Systems Symposium (RTSS 2021) , 2021 https://doi.org/10.1109/RTSS52674.2021.00015 Citation Details
Sohal, Parul and Bechtel, Michael and Mancuso, Renato and Yun, Heechul and Krieger, Orran "A Closer Look at Intel Resource Director Technology (RDT)" Proceedings of the 30th International Conference on Real-Time Networks and Systems (RTNS 2022) , 2022 https://doi.org/10.1145/3534879.3534882 Citation Details
Sohal, Parul and Tabish, Rohan and Drepper, Ulrich and Mancuso, Renato "E-WarP: A System-wide Framework for Memory Bandwidth Profiling and Management" 41st IEEE Real-Time Systems Symposium (RTSS 2020) , 2020 https://doi.org/10.1109/RTSS49844.2020.00039 Citation Details
Sohal, Parul and Tabish, Rohan and Drepper, Ulrich and Mancuso, Renato "Profile-driven memory bandwidth management for accelerators and CPUs in QoS-enabled platforms" Real-Time Systems , 2022 https://doi.org/10.1007/s11241-022-09382-x Citation Details
Tabish, Rohan and Pellizzoni, Rodolfo and Mancuso, Renato and Gracioli, Giovani and Mirosanlou, Reza and Caccamo, Marco "X-Stream: Accelerating streaming segments on MPSoCs for real-time applications" Journal of Systems Architecture , v.138 , 2023 https://doi.org/10.1016/j.sysarc.2023.102857 Citation Details
(Showing: 1 - 10 of 22)

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

Revolutionizing Safety-Critical Systems: The SOSH Paradigm

This concluded grant has provided crucial support for the proposal and investigation of a new architectural paradigm for safety-critical platform design and consolidation, known as SOSH or Software-Shaped Platforms. We hereby review the foundational aspects of SOSH, its practical applications, and the envisioned capabilities to be explored in future work.

Foundational Aspects of SOSH

1. Introduction and Foundation

The SOSH paradigm represents a visionary approach to designing computing systems. It seeks to aid the transition of safety-critical systems into intelligent entities capable of interacting with their environment in a nuanced and adaptive manner. At its core, SOSH recognizes that safety and intelligence need to to be mutually exclusive. This paradigm shift acknowledges that the modern computing landscape demands more than just passive compliance with safety standards—it requires active engagement with real-world scenarios.

To reconcile safety and intelligence, the SOSH paradigm proposes to turn on-chip data-flows into programmatically manageable entities. Doing so exposes better control to the platform's system software about the use of performance-critical resources such as CPUs, accelerators, interconnects, and memory subsystems. This concluded grant has explored the possibility of defining foundational data-flow manipulation blocks in commercially available CPU+FPGA embedded systems.

2. Critical Enabling Mechanisms

- Partial Dynamic Reconfiguration (PDR)

PDR is a key enabler that allows hardware components within FPGA-based systems to be dynamically instantiated without requiring system resets. This capability opens the door to rapid and efficient hardware module swapping, providing the flexibility needed to adapt to changing requirements. 

- Programmable Logic In-the-Middle (PLIM)

PLIM represents a fundamental innovation within SOSH. It facilitates the rerouting of memory transactions through programmable logic, thereby enabling unprecedented levels of control over data flow within computing systems. PLIM extends the boundaries of traditional memory management, allowing for resource optimization, performance enhancement, and, crucially, self-awareness in computing systems.

- Coherence-Aided Elective and Seamless Alternative Routing (CAESAR)

CAESAR takes advantage of cache-coherent on-chip FPGAs to optimize memory traffic management. By leveraging cache-coherence and FPGAs, CAESAR enhances memory throughput and offers greater operational flexibility. This mechanism complements PLIM, further expanding the capabilities of SOSH.

Practical Applications of SOSH

SOSH has already been put into action through the development of concrete data flow operation blocks. These modules serve as proof of concept and demonstrate key data-flow manipulation primitives.

1. Scheduler in-the-Middle (SchIM)

SchIM is a configurable module that interposes itself between the last-level cache (LLC) of a CPU cluster and the memory controller, effectively managing memory transaction scheduling. Memory scheduling policies can be tailored at runtime, offering flexibility in memory management. We demonstrated the use of Time Division Multiple Access (TDMA), Fixed Priority (FP), and Traffic Shaping (TS). SchIM demonstrates how SOSH provides fine-grained control over data flow and allows for the definition of logic governing memory transactions from various upstream components to downstream components.

2. Relational Memory Engine (RME)

RME showcases the power of data flow reordering and filtering. Positioned between main memory and LLC, this configurable module transforms data on-the-fly from a row-major format to arbitrary column groups by leveraging the PLIM paradigm. Traditional data management systems often cater to either transactional or analytical workloads, necessitating data format conversions. RME breaks free from this limitation by creating reorganized aliases of data, allowing the CPU to access relational data with optimal spatial locality. This not only improves access efficiency but also reduces cache footprint. 

3. Silent Application Profiler

Coherence backstabbing and the CAESAR approach have paved the way for non-intrusive profiling and logging within SOSH. The Silent Application Profiler was introduced as a means to collect fine-grained metadata about main memory traffic generated by CPUs. By monitoring the coherence fabric, the profiler captures physical addresses and timestamps of cache line accesses that result in LLC cache misses. This passive monitoring approach incurs minimal overhead and offers valuable insights into application behavior, access patterns, and progress tracking.

Envisioned Capabilities of SOSH

 SOSH's journey is far from over, with envisioned capabilities pointing toward an even more intelligent and adaptable future for computing systems.

1. Progress Tracking and Behavior Prediction

Envisioned capabilities include the integration of progress tracking modules within SOSH platforms, allowing for proactive resource allocation and application behavior prediction.

2. Advanced Memory Models

SOSH platforms are set to redefine memory semantics with advanced models like historical memory and self-destructing memory. These memory models will introduce new levels of control and security to computing systems.

3. Security Threat Mitigation

SOSH platforms have great potential for allowing in-hardware behavior-based detection of malware activity. 
 

Conclusion

In conclusion, the grant's pioneering research efforts have not only established the SOSH paradigm but have also unlocked its immense potential across a spectrum of practical applications and envisioned capabilities. SOSH stands poised to usher in a new era of safety-critical systems characterized by intelligence, adaptability, and enhanced security, fundamentally reshaping the landscape of computing systems.

 


Last Modified: 11/19/2023
Modified by: Renato Mancuso

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page