Resolving Page Faults in Coherent Accelerators
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Coherent accelerators, which use effective addresses for direct memory access, face challenges in handling page faults as they generate asynchronous interrupts that cannot be resolved by the accelerator itself, as it lacks an operating system page fault handler, leading to inefficiencies in DMA setup and system operations.
Innovation Solution
The solution involves identifying the process causing the page fault using an interrupt source number, recreating the page fault on a CPU, and using the operating system's page fault handler to resolve it, allowing the coherent accelerator to resume operations or abort commands as necessary.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If coherent accelerators use effective addresses for direct memory access, then the number of instructions required for DMA setup is reduced, but the system experiences asynchronous page faults that cannot be resolved by the accelerator itself
Solution Approach 1:
The patent introduces an intermediary mechanism where the processor acts as a mediator between the coherent accelerator and the operating system. When the accelerator generates an asynchronous page fault interrupt, the processor receives the interrupt, identifies the affected process using the interrupt source number, and triggers the OS page fault handler to resolve it. This intermediary approach allows the accelerator to maintain its simple effective address mode while still enabling proper page fault handling through the processor-OS interface.
2Speed
If coherent accelerators generate asynchronous interrupts for page faults, then the accelerator can continue operations without waiting for OS handling, but the processor must identify and recreate the page fault context to resolve it
Solution Approach 1:
The patent employs a copying mechanism where the processor recreates the original page fault condition by executing the process that generated the interrupt. The processor uses the interrupt source number to identify the process and reproduces the memory access that caused the page fault, allowing the OS page fault handler to resolve it in the proper context. This copying approach enables asynchronous interrupt handling while maintaining the simplicity of the accelerator design.
Data Source
AI summary
Systems, methods, and computer program products to perform an operation comprising determining, by a processor, a process identifier of a process associated with a page fault based on an interrupt source number, wherein the page fault was triggered by a coherent accelerator, executing the process on the processor to recreate the page fault on the processor, and resolving the page fault by an operating system executing on the processor.


