Reconfigurable SoC Resources for Dynamic Workload Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems with fixed resources face inefficiencies due to varying workload demands, leading to underutilization of resources in some subsystems and limited performance in others, as resources are not dynamically allocated to match changing demands.

Innovation Solution

Implementing a system-on-chip (SoC) with reconfigurable resources that can be dynamically partitioned among multiple compute subsystems, allowing for fine-grained allocation of processing, memory, and I/O resources between network and server compute subsystems, enabling efficient use of resources based on workload demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If fixed computing resources are assigned to each subsystem, then resource allocation is simple and stable, but resource utilization efficiency deteriorates due to varying workload demands

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidresource management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation by allowing computing resources to be reassigned between subsystems based on workload demands. The resource manager dynamically adjusts the allocation of processing cores, memory, and I/O resources from static fixed assignments to flexible dynamic assignments, enabling the system to adapt to changing conditions while maintaining manageable complexity through automated management.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal resource pool that can serve multiple subsystems for different functions. Instead of dedicating specific resources to single subsystems, the same computing resources can be allocated to different subsystems based on need, making the resource infrastructure multi-functional and adaptable to various workload scenarios.

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

2Productivity

If dedicated resources are allocated to each subsystem, then performance isolation is maintained, but overall system throughput deteriorates due to underutilization of resources

Engineering Contradiction:
Improvesystem throughputVSAvoidperformance isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges previously separate dedicated resources into a shared resource pool that can be dynamically allocated. By combining processing cores, memory, and I/O resources into a unified pool managed by a resource manager, the system achieves higher overall throughput while maintaining performance isolation through controlled allocation policies that ensure each subsystem receives adequate resources when needed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements feedback mechanisms where the resource manager continuously monitors workload demands and resource utilization, then adjusts allocations accordingly. This feedback loop ensures that performance isolation is maintained by detecting when a subsystem needs additional resources and reallocating from the pool, while simultaneously maximizing system throughput by preventing resource idle time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10394731B2System on a chip comprising reconfigurable resources for multiple compute sub-systems
Publication Date: 2019.08.27 AMAZON TECH INC
  • US10394731B2 patent drawing
  • US10394731B2 patent drawing
  • US10394731B2 patent drawing

AI summary

Embodiments of the technology can provide the flexibility of fine-grained dynamic partitioning of various compute resources among different compute subsystems on an SoC. A plurality of processing cores, cache hierarchies, memory controllers and I/O resources can be dynamically partitioned between a network compute subsystem and a server compute subsystem on the SoC.