SHC Tracker for Remote Usage Monitoring in Heterogeneous Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Heterogeneous computing environments face inefficiencies due to the lack of effective tracking and monitoring of specialized hardware components, particularly in complex systems where physical access is restricted, making it difficult to determine which components are used during software application operation.

Innovation Solution

A system that includes a central processing component connected via a coherent memory bus and a PCIe bus, with a specialized hardware tracker that allocates a counting register to track events related to the specialized hardware component, allowing for remote monitoring and reporting of its usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If physical access is required to track specialized hardware component usage, then measurement precision can be achieved, but device complexity and operational difficulty increase due to restricted access in large-scale computing environments

Engineering Contradiction:
Improvetracking precisionVSAvoidoperational ease
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent introduces a tracking component as an intermediary between the specialized hardware component and the monitoring system. This tracker allocates counting registers and manages event counting automatically, eliminating the need for physical access while maintaining accurate usage tracking through software-based mediation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If specialized hardware components are added to improve computing performance, then productivity increases, but device complexity increases due to heterogeneous system architecture

Engineering Contradiction:
Improvecomputing performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The tracking component serves multiple functions: it monitors usage events, allocates counting registers, interfaces with the performance monitoring unit, and manages communication between heterogeneous components. This multi-functional approach simplifies the overall system by consolidating tracking responsibilities into a single universal component

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

3Ease of operation

If remote monitoring capability is implemented, then ease of operation improves, but measurement precision may deteriorate due to indirect observation

Engineering Contradiction:
Improveremote accessibilityVSAvoidusage tracking accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The tracking component operates autonomously within the heterogeneous computing system, self-managing event detection and counting register allocation. This self-service mechanism ensures accurate local measurement while enabling remote access through standardized interfaces, eliminating the trade-off between remote monitoring and measurement accuracy

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10185692B2Monitoring use of specialized hardware components (SHC) of processors in heterogeneous environments by storing event counts during execution
Publication Date: 2019.01.22 CAPROCK INTEGRATED TECHNOLOGIES LLC
  • US10185692B2 patent drawing
  • US10185692B2 patent drawing
  • US10185692B2 patent drawing

AI summary

An apparatus and a method are disclosed for tracking use of a specialized hardware component in symmetric multiprocessing computing device. A device includes a memory and one or more multi-core processors attached to a coherent memory bus. A proxy for a specialized hardware component (SHC) such as an accelerator, FPGA, or ASIC is placed in communication with the coherent memory bus. The proxy may be attached to another bus such as a peripheral component interconnect express (PCIe) bus. A tracker updates an allocated counting register with counts of events related to use of the SHC. When requested, information from the counting register is provided such as to an external device or client communicating with the multiprocessing computing device. The tracker may follow calls or messages to the SHC. The tracker may accumulate a count of message size or mode of use or use of certain functions of the SHC.