Resettable Software Actor Stream Analytics Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing stream analytics solutions face inefficiencies in compute resources and scalability, often relying on multiple hosts for distributed processing, which can lead to host-level inefficiencies and limited capabilities in handling complex analyses, especially in large-scale data centers.

Innovation Solution

The implementation of resettable software actors within embedded virtual machines, such as Lua VMs, that maintain a backlog queue and reload an execution snapshot to process data streams efficiently, enabling horizontal scaling and concurrency through pipeline parallelism and load balancing without central coordination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed compute engines like Apache Spark are used to perform stream analytics, then the system can handle large-scale data processing across multiple hosts, but host-level inefficiencies arise and computational resources are underutilized due to ignoring host-level optimization in favor of horizontal scale

Engineering Contradiction:
Improvedata processing throughputVSAvoidcompute resource efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system segments the distributed data processing workload into host-specific processing units that operate independently on each host. Each host runs its own stream processing engine that handles local data streams, eliminating the need to distribute every operation across all hosts. This segmentation allows each host to fully utilize its computational resources while maintaining overall system throughput for large-scale data processing.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If stream processing engines in time-series systems are used, then simple time-series calculations can be performed, but the system is limited in scope and capabilities for handling complex analyses and state management

Engineering Contradiction:
Improveanalysis capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The stream processing engine is designed as a universal platform that can handle multiple types of analyses including simple time-series calculations, complex log parsing, machine learning operations, and stateful computations. The engine uses a unified data structure and execution model that accommodates diverse analysis types without requiring separate specialized systems, thereby achieving versatility while maintaining manageable complexity through a single multi-functional architecture.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If ad hoc solutions relying on operating system resource management are used, then implementation flexibility is achieved, but the system does not benefit from knowledge about entire system workload and data streams leading to suboptimal resource allocation

Engineering Contradiction:
Improveimplementation flexibilityVSAvoidresource utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system implements feedback mechanisms where the stream processing engine continuously monitors system-wide workload characteristics, data stream patterns, and resource utilization metrics. Based on this feedback, the engine dynamically adjusts resource allocation, query optimization strategies, and processing priorities across the distributed system. This feedback loop enables the system to maintain implementation flexibility while achieving optimal resource utilization by making informed decisions based on actual system state rather than static OS-level management.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10768982B2Engine for reactive execution of massively concurrent heterogeneous accelerated scripted streaming analyses
Publication Date: 2020.09.08 ORACLE INT CORP
  • US10768982B2 patent drawing
  • US10768982B2 patent drawing
  • US10768982B2 patent drawing

AI summary

Herein are techniques for analysis of data streams. In an embodiment, a computer associates each software actor with data streams. Each software actor has its own backlog queue of data to analyze. In response to receiving some stream content and based on the received stream content, data is distributed to some software actors. In response to determining that the data satisfies completeness criteria of a particular software actor, an indication of the data is appended onto the backlog queue of the particular software actor. The particular software actor is reset to an initial state by loading an execution snapshot of a previous initial execution of an embedded virtual machine. Based on the particular software actor, execution of the execution snapshot of the previous initial execution is resumed to dequeue and process the indication of the data from the backlog queue of the particular software actor to generate a result.