Thread Management System Shared Memory Logging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In systems using multiple types of memory, errors can be difficult to diagnose because only loggable memory can be reviewed, which may only show part of the problem, as other types of memory like heap memory are not easily loggable.

Innovation Solution

A thread management system (TMS) that allocates both scheduler threads and native threads from shared memory, allowing for the generation of detailed logs and call stacks that include all executed processes, even those using heap memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple types of memory are used in the system, then the system can execute diverse computations and processes, but only loggable memory can be reviewed when an error occurs, which may only show part of the problem

Engineering Contradiction:
Improvememory type diversityVSAvoiderror diagnosis information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent introduces thread IDs as an intermediary mechanism that links processes across different memory types. When an error occurs, the thread ID serves as a key to retrieve and correlate execution information from both loggable and non-loggable memory types, enabling complete error diagnosis without losing information from any memory type.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If only loggable memory is reviewed for error analysis, then the logging process is simple, but the error analysis is incomplete as it misses processes from non-loggable memory

Engineering Contradiction:
Improvelogging simplicityVSAvoiderror analysis completeness
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent implements preliminary action by assigning unique thread IDs to processes before they execute on different memory types. This pre-identification allows the system to later retrieve and correlate execution information from all memory types using the thread ID as a key, ensuring complete error analysis without complicating the logging process.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If detailed logs of all processes are generated, then error analysis becomes more accurate, but the system complexity increases due to managing multiple memory types

Engineering Contradiction:
Improveerror analysis accuracyVSAvoidmemory management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent changes the parameter of process identification from memory-type-specific to thread ID-based. This parameter change allows the system to uniformly track and log processes across different memory types using a single identification mechanism, reducing memory management complexity while maintaining high error analysis accuracy.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12271754B2Thread management system
Publication Date: 2025.04.08 SAP SE
  • US12271754B2 patent drawing
  • US12271754B2 patent drawing
  • US12271754B2 patent drawing

AI summary

Various embodiments for a thread management system are described herein. An embodiment operates by determining that one or more scheduler threads of a server are allocated from a shared memory. A request to spawn a native thread at the server is received. The request is intercepted and an override for the request in which the resources for spawning the native thread are requested from the shared memory is executed. An allocation of resources for spawning and executing the native thread is received from the shared memory. An error on the server is detected. The shared memory is dumped into a dump file responsive to determining the error. The dump file includes an indication of what threads were allocated from the shared memory. The one or more scheduler threads and the native thread are restarted after the dumping.