PIM Work Scheduler Resource Reservation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Implementing multithreaded applications in processing-in-memory (PIM) environments faces challenges in resource sharing and guaranteeing forward progress, particularly when PIM resources are limited, leading to potential deadlocks and increased power and space overhead.

Innovation Solution

A method and system for supporting PIM execution in multiprocessing environments that involve reserving and managing PIM resources, including architectural registers, command buffers, and scratchpad allocations, to ensure efficient access and sharing among threads, with a work scheduler managing resource availability and dispatching PIM instructions based on granted access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If PIM resources are shared among multiple threads without reservation, then resource utilization improves, but forward progress cannot be guaranteed and deadlocks may occur

Engineering Contradiction:
Improveresource utilizationVSAvoidforward progress guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary resource reservation before thread execution. The work scheduler reserves PIM resources (execution units, memory channels, registers) for each thread before allowing execution to begin, ensuring that resources are guaranteed available when needed and preventing deadlocks while maintaining efficient utilization through centralized management

Inventive Principle:
Principle #10Preliminary action

2Reliability

If PIM resources are reserved for each thread, then forward progress is guaranteed, but power consumption and space overhead increase

Engineering Contradiction:
Improveforward progress guaranteeVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system implements dynamic resource reservation where the work scheduler allocates and releases PIM resources based on actual thread execution needs. Resources are reserved when threads are scheduled and released when threads complete or are preempted, avoiding static over-provisioning and reducing power consumption while maintaining forward progress guarantees through on-demand allocation

Inventive Principle:
Principle #15Dynamics

3Reliability

If PIM resources are reserved for each thread, then forward progress is guaranteed, but space overhead increases

Engineering Contradiction:
Improveforward progress guaranteeVSAvoidspace overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system implements universal resource pools that are shared across all threads through the work scheduler. Instead of dedicating separate PIM resources to each thread, the scheduler manages common pools of execution units, memory channels, and registers, allowing the same physical resources to serve multiple threads sequentially and reducing space overhead while maintaining isolation and forward progress through software-based reservation

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

Data Source

PatentUS20230077933A1Supporting processing-in-memory execution in a multiprocessing environment
Publication Date: 2023.03.16 ADVANCED MICRO DEVICES INC
  • US20230077933A1 patent drawing
  • US20230077933A1 patent drawing
  • US20230077933A1 patent drawing

AI summary

A processor for supporting PIM (Processing-in-Memory) execution in a multiprocessing environment includes logic configured to: receive a request to initiate an offload of a number of PIM instructions to a PIM device. The request is issued by a first thread of a processor. The logic is also configured to reserve, based on information in the request, resources of the PIM device for execution of the plurality of instructions.