Shared Memory Arenas for Selective Process Crash Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Crashes in one process or task in shared memory data processing systems force all processes or tasks to be restarted, leading to computational expense and limiting scalability as systems grow larger.

Innovation Solution

Implementing a processing application with processing groups that allocate memory from a global shared memory to a group-private shared memory arena, allowing detection of abnormal execution conditions, and performing recovery of the processing group while continuing execution of other groups, including restoring the group-private memory arena to global shared memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all processes are restarted when one process crashes in shared memory systems, then system reliability is maintained, but computational overhead increases and scalability is limited

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent divides the shared memory system into isolated memory arenas, where each processing group has its own dedicated arena. When a crash occurs in one processing group, only that group's arena is affected and needs to be restarted, while other groups continue operating. This segmentation isolates failures and prevents system-wide restarts, reducing computational overhead while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

2Reliability

If all processes are restarted when one process crashes, then consistent shared state is restored, but system productivity decreases

Engineering Contradiction:
Improveshared state consistencyVSAvoidsystem productivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

By segmenting shared memory into isolated arenas per processing group, the patent enables selective restart of only the affected group rather than the entire system. This maintains shared state consistency within the crashed group's arena while preserving productivity of other groups that continue operating without interruption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

When a processing group crashes, its memory arena is discarded (reset to initial state) and can be recovered independently. Other processing groups retain their arenas and continue operating, allowing the system to recover from crashes with minimal productivity loss by only discarding and recovering the affected segment.

Inventive Principle:
Principle #34Discarding and recovering

3Device complexity

If shared memory is fully shared across all processes, then system complexity is reduced, but crash propagation increases

Engineering Contradiction:
Improvememory management complexityVSAvoidcrash resilience
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments shared memory into separate arenas for different processing groups, reducing crash propagation while maintaining manageable system complexity through a standardized arena interface. Each arena is isolated but managed through uniform allocation and reset operations, balancing complexity and reliability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12386654B1Crash resilience in shared memory processing systems
Publication Date: 2025.08.12 AMAZON TECH INC
  • US12386654B1 patent drawing
  • US12386654B1 patent drawing
  • US12386654B1 patent drawing

AI summary

Improved crash resilience is implemented in shared memory processing systems. A processing application including a plurality processing groups may be configured, and a processing group including a plurality of processes may allocate memory from a global shared memory to a group-private shared memory arena. Then, an abnormal execution condition for a failing process of the processing group may be detected during execution of a processing job. Responsive to the detection, a recovery of execution of the processing group may be performed while continuing execution of processing groups of the application. The recovery may include restoring the processing group to a normal execution state and returning the allocated memory of the group-private memory arena to the global shared memory.