Segmented VM Latency Reduction via Eager Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Segmented virtual machines experience significant latency due to the need for remote procedure calls (RPCs) when passing interactions, such as reading or writing data streams, between the shell and core virtual machines, which can be exacerbated by large data transfers.

Innovation Solution

Implementing a transport mechanism that uses 'eager reading' and 'lazy writing' through buffers in both the shell and core virtual machines, where data is locally available and transferred only when buffers are full or periodic, reducing the reliance on RPCs and minimizing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If remote procedure calls are used to pass interactions between shell VM and core VM, then the segmented virtual machine can forward interactions correctly, but latency increases significantly

Engineering Contradiction:
Improveinteraction forwardingVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-establishing communication channels and buffers between the shell VM and core VM before interactions occur. The shell VM maintains a buffer that can store interaction data, and communication pathways are set up in advance, allowing data to be transferred without repeated RPC overhead during actual data-intensive operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a buffer located in the shell VM that mediates data transfer between the core VM and external applications. This buffer acts as a intermediary storage layer that reduces the frequency of RPC calls by allowing batched or asynchronous data transfers, thereby reducing latency while maintaining correct interaction forwarding.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If data is read incrementally one byte at a time through RPC, then data can be processed sequentially, but latency accumulates significantly

Engineering Contradiction:
Improvesequential processingVSAvoidcumulative latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent enables continuity of useful action by implementing a buffer-based system that allows data to be read and processed continuously without interruption for RPC overhead. The shell VM buffer can store multiple bytes or blocks of data, allowing the core VM to read data in larger, more efficient chunks rather than incrementally, maintaining continuous data flow while reducing per-operation latency.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The buffer is pre-configured in the shell VM to hold data before it is read by the core VM, allowing data to be staged in advance. This preliminary buffering action enables the core VM to read data in bulk rather than byte-by-byte through multiple RPC calls, reducing cumulative latency while maintaining ease of sequential processing through the buffer interface.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If frequent RPC calls are made for data transfer, then data can be transferred reliably, but performance deteriorates in data-intensive operations

Engineering Contradiction:
Improvedata transferVSAvoiddata-intensive operation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The shell VM buffer serves as an intermediary that consolidates multiple small data transfer requests into fewer, larger transfer operations. By storing data in the buffer before transfer to the core VM, the system reduces the frequency of RPC calls while maintaining reliable data transfer, thereby improving productivity in data-intensive operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Data is preliminarily buffered in the shell VM before being transferred to the core VM, allowing batched transfers that reduce RPC call frequency. This preliminary buffering action maintains transfer reliability by ensuring data is properly staged and validated, while significantly improving performance by reducing the overhead of frequent RPC calls in data-intensive operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8336048B2Reducing latency in a segmented virtual machine
Publication Date: 2012.12.18 AZUL SYSTEMS INC
  • US8336048B2 patent drawing
  • US8336048B2 patent drawing
  • US8336048B2 patent drawing

AI summary

Providing data to an application running on a segmented virtual machine (VM) is disclosed. Providing data includes opening an interface between the segmented VM and an external data source, transferring data from the external data source to an interface buffer, transferring a first selected amount of data from the interface buffer to a shell VM buffer, transferring a second selected amount of data from the shell VM buffer to a core VM buffer, and providing portions of the data from the core VM buffer to the application in response to read requests from the application.