Temporary Effective Address for Coherent Accelerator Page Fault Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

FPGA-based coherent accelerators face challenges in resolving page faults out of context for shared contexts, as they generate asynchronous interrupts that cannot be directly handled by the processor, leading to difficulties in identifying the process causing the fault and resolving it.

Innovation Solution

The system creates a temporary effective address associated with a virtual segment identifier (VSID) in the processor's address space when an asynchronous interrupt occurs, allowing the processor to recreate the page fault and enabling the operating system to resolve it by invoking the page fault handler.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If shared contexts are used to allow multiple processes to access the coherent accelerator, then resource utilization is improved, but page fault resolution becomes complex because the processor cannot directly identify which process caused the fault

Engineering Contradiction:
Improvecontext sharing capabilityVSAvoidpage fault resolution complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a temporary effective address as an intermediary mechanism. When a page fault occurs in a shared context, the system creates a temporary effective address that maps to the faulting virtual address in the current process's address space. This temporary address acts as a mediator that allows the processor to recreate the page fault in the context of the current process, enabling proper fault resolution without needing to track which process caused the fault.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary action by creating the temporary effective address before attempting to resolve the page fault. This temporary address is set up in advance to facilitate the recreation of the page fault in the appropriate process context, ensuring that the fault can be resolved correctly even though the interrupt arrived out of context.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If asynchronous interrupts are generated by the coherent accelerator, then processing flexibility is improved, but the processor cannot directly handle the interrupt in the context of the faulting process

Engineering Contradiction:
Improveinterrupt handling flexibilityVSAvoidinterrupt processing difficulty
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The temporary effective address serves as an intermediary that bridges the gap between the asynchronous interrupt arrival and the faulting process context. By creating this temporary address mapping, the system enables the processor to recreate the page fault in the context of the current process, making the asynchronous interrupt handling as straightforward as synchronous interrupt handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If the coherent accelerator allows direct memory access with effective addresses, then data transfer efficiency is improved, but the operating system cannot perform conventional address translation and memory protection

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidmemory protection capability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The temporary effective address acts as an intermediary that restores the operating system's ability to perform memory protection and address translation. When a page fault occurs, the temporary address allows the OS to recreate the fault in the appropriate process context, enabling conventional memory protection mechanisms to function correctly while maintaining the efficiency benefits of coherent acceleration.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9996357B2Resolving page faults out of context for shared contexts
Publication Date: 2018.06.12 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9996357B2 patent drawing
  • US9996357B2 patent drawing
  • US9996357B2 patent drawing

AI summary

Systems, methods, and computer program products to perform an operation comprising creating, by a kernel, a temporary effective address associated with a virtual segment identifier (VSID), wherein the VSID is received by a processor in an asynchronous interrupt generated by a coherent accelerator in response to a page fault generated by the coherent accelerator in executing an instruction, accessing the temporary effective address by the processor to recreate the page fault on the processor, and resolving the page fault by an operating system executing on the processor.