Thread local event based profiling with performance and scaling analysis
AssigneeMaxon Computer GmbH
InventorSven Behne
Life of this patent
Estimating the term…
Abstract
The present embodiments relate to collecting and analyzing event data in a multithreaded system with an increased efficiency in processing resources. A profiling system can be integrated with the threading system to collect event data of a cache line size into a local ring buffer. The ring buffer can be aligned and sized to fit into a cache, such as a CPU L2 cache or a L1 cache. The threading system can store events for various job groups and distribution of items to the worker threads. After collecting event data, the start and end of the events can be synchronized for easier analysis and graphical display of event data. Further, various outputs (e.g., a heatmap) can be generated to illustrate various aspects of events and threads, such as a scope of each event/thread.
Claims20
A computer-implemented method comprising:
- collecting data relating to each event being executed at a specific time instance by a computing system, wherein each event is part of a thread of associated events;
- generating, for each thread, a ring buffer specifying each event being executed at the specific time instance;
- storing data relating to each event of the thread in the ring buffer;
- retrieving stored data from one or more ring buffers;
- generating an output representing the stored data from the ring buffer;
- and
- causing display of the output.
A system comprising:
- one or more processors;
- one or more non-transitory processor readable storage devices comprising instructions which, when executed by the one or more processors, cause the one or more processor to perform operations comprising:
- collecting data relating to each event being executed at a specific time instance, wherein each event is part of a thread of associated events;
- generating, for each thread, a buffer specifying each event being executed at the specific time instance;
- generating an output representing the data from the buffer;
- and
- causing display of the output.
One or more non-transitory computer-readable media comprising instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:
- collecting data relating to each event being executed at a specific time instance by a computing system, wherein each event is part of a thread of associated events;
- generating, for each thread, a ring buffer specifying each event being executed at the specific time instance;
- storing data relating to each event of the thread in the ring buffer;
- retrieving stored data from one or more ring buffers;
- generating an output representing the stored data from the ring buffer;
- and
- causing display of the output.
Dependencies are inferred from the claim text.