Accelerator Management via Virtual Function Table Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer systems face inefficiencies in performance due to traditional system architectures, which are not optimized for high-bandwidth, low-latency data processing, leading to bottlenecks and suboptimal execution of compute-intensive tasks.

Innovation Solution

The Open Coherent Accelerator Processor Interface (OpenCAPI) enables processors to attach coherently to accelerators and I/O devices, allowing for the dynamic generation and deployment of hardware accelerators based on specific code portions, managed by an accelerator manager that monitors usage and updates virtual function tables to replace software library calls with accelerator calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional system architecture is used, then system complexity is low, but system performance and bandwidth are limited

Engineering Contradiction:
Improvesystem performanceVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system is segmented into distinct components: processors, accelerators, and I/O devices, each with specialized functions. The accelerator manager further segments the management of accelerators, separating monitoring, logging, and cast-out decision functions. This segmentation allows high-performance accelerators to be integrated without overwhelming system complexity, as each component operates independently under coordinated management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The accelerator manager acts as an intermediary between processors and accelerators, managing accelerator deployment, monitoring usage, and making cast-out decisions. This intermediary layer abstracts the complexity of accelerator management from individual processors, enabling high-performance computing while maintaining manageable system architecture through centralized coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If accelerators are deployed for specific tasks, then run-time performance is improved, but resource management complexity increases

Engineering Contradiction:
Improverun-time performanceVSAvoidresource management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The accelerator manager implements feedback mechanisms by monitoring accelerator usage and generating historical logs. Based on this feedback, the system automatically makes cast-out decisions when accelerators are no longer needed. This feedback loop enables dynamic resource optimization without manual intervention, improving run-time performance while keeping resource management complexity manageable through automated decision-making.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically deploys and casts out accelerators based on real-time usage conditions. Accelerators are deployed when specific tasks are identified and cast out when their usage conditions are no longer satisfied. This dynamic approach allows the system to optimize run-time performance by having accelerators available when needed while automatically reducing resource management complexity by removing unnecessary accelerators.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If accelerators are cast out based on usage conditions, then resource utilization is optimized, but system overhead increases

Engineering Contradiction:
Improveresource utilizationVSAvoidmanagement overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The accelerator management system operates autonomously by automatically monitoring accelerator usage, evaluating cast-out policies, and making deployment decisions without continuous human intervention. The accelerator manager self-manages the entire lifecycle of accelerators, from deployment to cast-out, reducing management overhead while optimizing resource utilization through automated, condition-based decision-making.

Inventive Principle:
Principle #25Self-service

4Speed

If virtual addresses are shared with accelerators, then data access efficiency is improved, but memory management complexity increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The virtual address space is designed to be universally accessible by both processors and accelerators. The same virtual addresses that processors use to access memory can also be used by accelerators, eliminating the need for separate address spaces or complex address translation mechanisms. This universal address space improves data access speed for accelerators while the accelerator manager handles memory management complexity centrally, maintaining simplicity for individual components.

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

Data Source

PatentUS10496586B2Accelerator management
Publication Date: 2019.12.03 BEIJING ZITIAO NETWORK TECH CO LTD
  • US10496586B2 patent drawing
  • US10496586B2 patent drawing
  • US10496586B2 patent drawing

AI summary

An accelerator manager manages multiple accelerators in multiple programmable devices. An accelerator cast out policy specifies criteria for casting out accelerators in the programmable devices. The accelerator manager monitors usage of the accelerators by one or more computer programs, and generates a historical log from the monitored usage. When the conditions in the historical log satisfy criteria in the accelerator cast out policy for casting out an accelerator, the accelerator manager casts out the accelerator, and updates a virtual function table to replace calls to the accelerator that was cast out with calls to the software library.