PhotonA GPU Accelerated Digital Signal Processing Framework & Microservice Architecture
Researchers at The MITRE Corporation have developed a new software platform for processing extreme wideband spectrum applications: MITRE’s Photon is a GPU-accelerated computing digital signal processing (DSP) platform for developing Python, Java, and C/C++ microservices. Photon offers high-performance shared memory access to realtime RF sample data in cases where RF data processing can be constrained and fragmented by typical CPU limitations and CPU-GPU memory transfer latencies. Where CPU capacity restricts the ability to exploit advanced applications, Photon brings graphics processing units (GPU) technology to the table, leveraging established investments in software defined radios, high performance computing (HPC), artificial intelligence (AI) and machine learning (ML), for rapid development of efficient digital signal processing applications.
On-demand data access to wideband I/Q samples
High-speed and parallel access enables concurrent DSP applications to process massive volumes (100s to 1000s of MHz) of data without duplication, through a zero-copy, shared-memory data plane.
Enhanced capabilities through use of GPU technology
Including wideband channelization and detection, real-time multi-mega point DFT processing, and AI/ML-enabled survey and detection processing.
Bridge between established and emerging platforms
Photon leverages the powerful performance of both legacy and GPU-based platforms to free up CPU resources for other platform capabilities, and provide integrations with existing CPU-based DSP frameworks (e.g. GNU Radio Photon source and sink blocks, REDHAWK Photon FEI, and other military and intelligence tools.)
High-performance, parallel ingress to big data
Access multiple segregated services running concurrently on a single common platform with industry-standard containerization techniques, microservice design patterns, Open-API and Google protocol buffer interfaces. Modular integration allows introduction and/or replacement of DSP component sub-systems for rapid deployment.
How Photon Works
The Photon software stack allows users to develop their own accelerated DSP blocks and microservices (uServices). Users can also leverage the blocks and microservices that are included in the Photon package. The software is designed to work on a CentOS Linux distribution. Detailed environment setup instructions are provided with the software in a containerized development environment that is OS independent.
Photon consists of:
- A direct memory address controller microservice that utilizes commercially available RDMA technology combined with commercial low-level networking libraries to transfer RF samples from a connected receiver into GPU Device Memory
- A DSPTap API that leverages shared memory data structure and cross-process boundary zero-copy sharing technology to enable time-aligned channels to be non-destructively accessed by third party applications in parallel
- A software pattern to develop and deploy GPU accelerated DSP Photon processing blocks that can be incorporated into a microservices architecture
- A set of Photon blocks and microservices for accelerated channelization, blind detection, AM/FM demodulation, VITA49 de-coding/encoding and much more
- Templates, tutorials, example code, and videos on how to use the DSPTap API to develop new blocks and microservices
- Integrations with software defined radios, and some U.S. Government and Defense Innovation Board (DIB) software is available to system developers through access to DI2E