Local BMC Arbitration for Shared GPU Allocation in NVMe-oF Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NVMe over fabrics systems, there is a need to efficiently allocate and manage shared GPU resources across non-volatile memory devices, as existing solutions lack effective mechanisms for resource arbitration and task offloading, leading to suboptimal performance in compute-intensive tasks.

Innovation Solution

A system utilizing a local Baseboard Management Controller (BMC) to monitor and arbitrate shared resources, including GPUs, within the NVMe over fabrics system, allowing for task offloading and resource allocation through a local communication interface, enabling efficient execution of tasks by shared processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shared GPU resources are allocated across multiple NVMe devices without a local arbitration mechanism, then device complexity is reduced, but resource allocation efficiency and task processing performance deteriorate

Engineering Contradiction:
Improvetask processing efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The BMC serves as an intermediary component that mediates between multiple NVMe devices and the shared GPU resources. It receives task offload requests from NVMe devices, arbitrates resource allocation, and manages the shared GPUs, thereby improving resource allocation efficiency without requiring complex direct communication protocols between NVMe devices and GPUs.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the resource management function by separating the arbitration logic from the NVMe devices themselves and placing it in the BMC. This allows NVMe devices to focus on storage operations while the BMC handles resource allocation, improving overall system productivity without significantly increasing the complexity of individual components.

Inventive Principle:
Principle #1Segmentation

2Speed

If tasks are processed locally on NVMe devices without offloading to shared GPUs, then device complexity is minimized, but processing speed and performance for compute-intensive tasks deteriorate

Engineering Contradiction:
Improvetask execution speedVSAvoidresource management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The BMC acts as an intermediary that facilitates task offloading from NVMe devices to shared GPUs. It receives compute-intensive tasks from NVMe devices, determines appropriate GPU allocation, and manages the execution workflow, thereby accelerating task execution speed while centralizing the complexity of resource management in the BMC.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system introduces a new dimension of resource sharing by allowing multiple NVMe devices to access shared GPU resources through the BMC. This dimensional change from dedicated to shared resources improves processing speed for compute-intensive tasks while the BMC manages the added complexity of multi-device resource coordination.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If dedicated GPUs are allocated to each NVMe device, then task processing performance is maximized, but resource utilization efficiency and cost-effectiveness deteriorate

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidhardware configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared GPU resources are designed to be universal and multi-functional, capable of serving multiple NVMe devices simultaneously. The BMC manages task scheduling and resource allocation to ensure that the same GPU resources can be dynamically assigned to different NVMe devices based on workload demands, thereby improving resource utilization efficiency while reducing the total number of GPUs required.

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

Solution Approach 2:

The system merges multiple dedicated GPU allocations into a single shared GPU pool that is accessed by multiple NVMe devices through the BMC. This consolidation improves resource utilization efficiency by allowing multiple devices to share the same physical resources, while the BMC manages the complexity of coordinating access and preventing conflicts.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10394604B2Method for using local BMC to allocate shared GPU resources inside NVMe over fabrics system
Publication Date: 2019.08.27 SAMSUNG ELECTRONICS CO LTD
  • US10394604B2 patent drawing
  • US10394604B2 patent drawing
  • US10394604B2 patent drawing

AI summary

According to one general aspect, a system may include a non-volatile memory (NVM), a resource arbitration circuit, and a shared resource. The non-volatile memory may be configured to store data and manage the execution of a task. The non-volatile memory may include a network interface configured to receive data and the task, a NVM processor configured to determine if the processor will execute that task or if the task will be assigned to a shared resource within the system, and a local communication interface configured to communicate with at least one other device within the system. The resource arbitration circuit may be configured to receive a request to assign the task to the shared resource, and manage the execution of the task by the shared resource. The shared resource may be configured to execute the task.