Coprocessor State Virtualization for Dynamic Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current coprocessor systems are static and lack the ability to migrate operations from one coprocessor to another, even if located on different servers, which limits dynamic management, replication, throttling, and security of computations.

Innovation Solution

The introduction of a State Virtualization Layer (SVL) that enables suspension, resumption, and migration of coprocessor computations, allowing for dynamic management and secure computation across different coprocessors, including those on different servers, by intercepting and managing API calls and coprocessor state objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If coprocessors execute tasks in a static manner without migration capability, then system simplicity is maintained, but adaptability and resource utilization are limited

Engineering Contradiction:
Improvemigration capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a state virtualization layer as an intermediary component between the coprocessor and the operating system. This layer enables migration capability by capturing, serializing, and transferring coprocessor state between different coprocessors without requiring modifications to the underlying OS or hypervisor, thus adding adaptability while managing complexity through a dedicated intermediary component

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the coprocessor functionality into distinct state components (registers, memory buffers, execution context) that can be independently captured, serialized, and migrated. This segmentation allows the migration mechanism to transfer only the necessary state information rather than the entire coprocessor system, reducing the complexity overhead of enabling migration capability

Inventive Principle:
Principle #1Segmentation

2Productivity

If coprocessor operations are migrated between different servers, then resource utilization and load balancing improve, but network transmission overhead and latency increase

Engineering Contradiction:
Improveresource utilizationVSAvoidmigration latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the coprocessor execution state from its hardware context and represents it as serialized data structures that can be efficiently transmitted over the network. By extracting only the essential state information (registers, buffers, context) rather than migrating the entire coprocessor or using complex virtual machine migration protocols, the system reduces network transmission overhead and latency while enabling cross-server migration for improved resource utilization

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If a state virtualization layer is introduced to enable migration, then adaptability and migration capability are improved, but system complexity and overhead increase

Engineering Contradiction:
Improvemigration capabilityVSAvoidsoftware layer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The state virtualization layer is designed with universal interfaces and data structures that work across different coprocessor types and server configurations. By implementing a unified state capture, serialization, and migration mechanism that can handle various coprocessor architectures through standardized protocols, the system achieves high adaptability while managing software complexity through multi-functional design patterns

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

Data Source

PatentUS11347543B2Intelligent coprocessor state virtualization
Publication Date: 2022.05.31 VMWARE INC
  • US11347543B2 patent drawing
  • US11347543B2 patent drawing
  • US11347543B2 patent drawing

AI summary

Instructions of at least one application are executed via system software, on a hardware computing system that includes at least one processor and a plurality of coprocessors. At least one application program interface (API) is associated with each coprocessor. A state virtualization layer is installed logically between the application and the system software. The state virtualization layer examines an execution stream directed by the at least one application to a first one of the plurality of coprocessors; extracts the state of the first coprocessor; pauses execution of the first coprocessor; and at runtime, dynamically resumes execution of the execution stream, with the extracted state of the first coprocessor, on a second one of the plurality of coprocessors.