Follow us on Facebook
Follow us on Twitter
Signalogic on LinkedIn

Home > Products > Software > Host Software > EdgeStream™ Software
EdgeStream™ data flow diagram
EdgeStream™ data flow diagram

EdgeStream™ Edge Computing Platform and Edge Streaming Platform


Overview

The EdgeStream™ edge computing and streaming platform processes and delivers data plane packets with highest QoS to/from edge nodes. Architected for high performance, reliability, and media quality, EdgeStream enables a wide range of edge computing applications: telecom, transcoding, lawful interception / intelligence, speech recognition and speaker ID, and RTP malware detection. EdgeStream includes optimized modules for packet processing, signal processing, and media quality enhancement.

Applications and Use Cases

EdgeStream™ is designed to enable or enhance edge computing applications and use cases that require high performance packet and media streaming and processing. Examples include: EdgeStream is designed from the ground up for real-time operation, with careful control of resources, lock-free shared and distributed memory structures, thread control and pre-emption monitoring, and profiling necessary for high capacity applications.

Optimized, Cost-Efficient, and Secure vs Public Cloud

EdgeStream™ enables edge computing applications with massive data plane requirements that need high per box / per server density and precise control over power consumption. Unlike cloud-native applications that scale horizontally by adding servers, each running excessive resource footprints, edge computing applications must be per box efficient, with granular control over footprint configuration and resource usage. Also unlike cloud-native applications, achieving secure computing in on-premise or hybrid cloud implementations is less complex, with less risk. EdgeStream provides:

Comparison with Nvidia DeepStream

Below are workflow pipeline diagrams for EdgeStream™ and Nvidia DeepStream.

EdgeStream™ workflow diagram      DeepStream workflow diagram
EdgeStream™ workflow diagram      DeepStream workflow diagram (Nvidia webpage link). Nvidia is a registered trademark and DeepStream is a trademark of Nvidia Corporation.
Key similarities between the workflows include:
  1. Packet buffering (or caching) before decoding and frame buffering (or frame pooling) after decoding
  2. Multithreaded decoders to handle concurrent channels
  3. User-managed I/O
Key differences between the workflows include:
  1. DeepStream is GPU based and EdgeStream is CPU based. Depending on application needs, one or the other may be essential or ruled out due to power consumption, performance, or platform dependency requirements
  2. Given the fundamental qualifications in 1), EdgeStream offers flexibility including: (i) bidirectional I/O, (ii) per-channel frame buffers without batch processing limitations, and (iii) user-defined C/C++ processing
  3. EdgeStream transitions from per stream external I/O to per channel internal processing. This is because media RTP streams may contain RFC8108 or other instances of dynamic channels within each stream
  4. Due to its telecom roots, EdgeStream handles packet processing, including filtering, packet loss repair (both media and DTX), out-of-order repair (up to 500+ packet depth), RFC8108 dynamic channels, timestamp repair, and packet logging / tracing
A functional mapping between workflows is shown below, with DeepStream data flow and modules overlaid in green and blue.

EdgeStream™ DeepStream functional mapping
EdgeStream™ DeepStream functional mapping

The mapping diagram highlights similarity in packet and frame data flow and differences in signal processing and user-defined processing implementation.

Comparison with GStreamer

Below are workflow pipeline diagrams for EdgeStream™ and GStreamer.

EdgeStream™ workflow diagram      GStreamer workflow diagram
EdgeStream™ workflow diagram      GStreamer workflow diagram (GStreamer webpage link)

Key similarities between the workflows include:
  1. Packet buffering (or queuing) before decoding and frame buffering (or frame queuing) after decoding
  2. Multithreaded decoders to handle concurrent channels
  3. User-managed I/O
  4. Emphasis on user-defined C/C++ signal processing and other processing
  5. Emphasis on bi-directional I/O, including media encoders
Key differences between the workflows include:
  1. The most significant difference is thread organization. GStreamer uses a "thread slicing" data flow architecture, assigning slices of different pipelines within a thread, and EdgeStream uses a "unified thread" architecture, assigning one thread per pipeline. GStreamer's architecture is more suitable to handling unbalanced / uneven workloads, for example multiple data sources and a few decoders. EdgeStream's data flow architecture is more suitable to per pipeline real-time performance. In general, thread slicing approaches aim for efficient use of processing resources, but increase the need for thread synchronization (spinlocks etc) thus decreasing real-time performance. This also tends to make thread slicing less effective on embedded systems or energy constrained systems with fewer (or specialized) cores
  2. EdgeStream transitions from per stream external I/O to per channel internal processing. This is because media RTP streams may contain RFC8108 or other instances of dynamic channels within each stream
  3. Due to its telecom roots, EdgeStream handles packet processing, including filtering, packet loss repair (both media and DTX), out-of-order repair (up to 500+ packet depth), RFC8108 dynamic channels, timestamp repair, and packet logging / tracing

Software Architecture

The EdgeStream™ software architecture is designed for high-performance real-time processing, reliability, and security. The architecture emphasizes:

DirectCore® Hardware Accelerator Option

Because of its underlying compatibility with DirectCore®, which includes a virtualization compatible PCIe card driver, EdgeStream™ can be modified to support a wide range of hardware accelerators. Currently DirectCore supports supports Texas Inst multicore accelerator PCIe cards. The DirectCore library + driver combination supports:

SDK and Demo

The EdgeStream™ SDK (software development kit) and demo download is located on the SigSRF Github page.

Ready-to-run Docker containers, with the EdgeStream SDK and Demo pre-installed on Ubuntu and CentOS distros, are located in the Signalogic Docker Hub repository