Multicore Thread Parallelism Logging via Accumulated Runtime Tracking
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Measurement precision
If comprehensive switching data is collected, then thread parallelism analysis accuracy is improved, but device complexity increases
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.
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.
Data Source
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.


