Thread Termination During Shared Memory Deallocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in properly terminating threads that access shared memory segments before deallocating these segments, which can lead to system instability and memory leaks.

Innovation Solution

A system is implemented that causes threads accessing shared memory segments to terminate by executing a thread-terminating instruction after the memory region is marked as closed, ensuring that the threads do not attempt to access the shared memory segments after deallocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If threads are allowed to continue accessing shared memory segments during deallocation, then thread execution continuity is maintained, but system stability deteriorates and memory leaks occur

Engineering Contradiction:
Improvesystem stabilityVSAvoidthread execution continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by marking the memory region as closed and injecting thread-terminating instructions into threads before the actual deallocation of shared memory segments occurs. This ensures threads are terminated in advance, preventing them from accessing deallocated memory, thus maintaining system stability while enabling safe memory reclamation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If thread termination instructions are injected into all threads, then proper thread termination is achieved, but system complexity increases

Engineering Contradiction:
Improvethread termination correctnessVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system applies local quality by differentiating thread handling based on their execution state. Threads suspended during memory access operations receive thread-terminating instructions, while other threads are handled differently. This targeted approach ensures proper termination where needed without unnecessarily complicating the handling of all threads uniformly.

Inventive Principle:
Principle #3Local quality

3Reliability

If the memory region is marked as closed before thread termination, then memory leak prevention is achieved, but thread execution is disrupted

Engineering Contradiction:
Improvememory leak preventionVSAvoidthread execution smoothness
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The memory region is marked as closed in advance before thread termination occurs, establishing a protective state that prevents memory leaks. Thread-terminating instructions are subsequently injected to halt thread execution. This sequence ensures memory safety is established first, then thread execution is controlled to prevent access to the closed memory region.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250165291A1Deallocation Of Shared Memory Segments
Publication Date: 2025.05.22 ORACLE INT CORP
  • US20250165291A1 patent drawing
  • US20250165291A1 patent drawing
  • US20250165291A1 patent drawing

AI summary

A system causes threads that are accessing shared memory segments of a memory region to terminate execution in preparation for deallocating the shared memory segments from the memory region and reclaiming the memory region. The system marks the memory region as closed and then instructs each thread to suspend execution. Responsive to determining that a thread was suspended during execution of a function that includes a memory access operation, the system causes the thread to execute, upon resuming execution, a thread-terminating instruction that terminates the thread. After the threads are terminated, the system deallocates the shared memory segments from the memory region and reclaims the memory region.