Multicore Thread Parallelism Logging via Accumulated Runtime Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems for logging thread parallelism data on multicore processors generate a large amount of memory-intensive switching data, which is inefficient and consumes significant memory resources.

Innovation Solution

A method and system that track the accumulated runtime of thread combinations running in parallel on a multicore processor, generating logging data that indicates the efficiency of parallel processing, thereby reducing memory usage by focusing on accumulated runtimes rather than detailed switch data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If detailed switching data is logged for each thread switch, then measurement precision of thread parallelism is improved, but memory consumption increases significantly

Engineering Contradiction:
Improvethread parallelism measurementVSAvoidmemory consumption
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential information needed for parallelism measurement - specifically accumulated runtime for each thread combination - while discarding detailed switching data such as individual switch timestamps and thread identities. This selective extraction maintains measurement capability while dramatically reducing memory requirements from potentially millions of switch records to a manageable set of combination runtimes.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the measurement approach by changing from tracking individual switch events (high-dimensional, fine-grained data) to tracking accumulated runtimes of thread combinations (lower-dimensional, aggregated data). This parameter transformation preserves the ability to measure parallelism while reducing data volume suitable for available memory resources.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If comprehensive switching data is collected, then thread parallelism analysis accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveparallelism analysis accuracyVSAvoidlogging subsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The logging subsystem extracts only the critical metric - accumulated runtime per thread combination - eliminating the need to store and process complex detailed switching data. This extraction simplifies the logging subsystem architecture while maintaining sufficient accuracy for parallelism analysis.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of collecting detailed switch data and then analyzing parallelism, the patent inverts the approach by directly measuring and accumulating runtime for each thread combination. This inversion simplifies the logging mechanism while providing the necessary parallelism metrics.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11934291B2Measurement of parallelism in multicore processors
Publication Date: 2024.03.19 KYOCERA DOCUMENT SOLUTIONS INC
  • US11934291B2 patent drawing
  • US11934291B2 patent drawing
  • US11934291B2 patent drawing

AI summary

A method of logging thread parallelism data include executing a plurality of threads at a multicore processor associated with an operating system to perform symmetrical multiprocessing. The method also includes tracking, at a logging subsystem of the operating system, an accumulated runtime associated with each thread combination of the plurality of threads during execution of the plurality of threads. The accumulated runtime of a particular thread combination increases while the particular thread combination is running on the multicore processor in parallel. The method also include generating, at the logging subsystem, logging data indicating the accumulated runtime for each thread combination. The method further includes outputting the logging data. The logging data is usable to increase thread parallelism at the multicore processor.