System and Method for Detecting False Sharing
AssigneeFuturewei Technologies, Inc.
InventorsTongping Liu, Chen Tian, Ziang Hu
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method for detecting false sharing includes running code on a plurality of cores, where the code includes instrumentation and tracking cache invalidations in the code while running the code to produce tracked invalidations in accordance with the instrumentation, where tracking the cache invalidations includes tracking cache accesses to a plurality of cache lines by a plurality of tasks. The method also includes reporting false sharing in accordance with the tracked invalidations to produce a false sharing report.
Claims20
A method for detecting false sharing, the method comprising:
- running code on a plurality of cores, wherein the code comprises instrumentation;
- tracking cache invalidations in the code while running the code to produce tracked invalidations in accordance with the instrumentation, wherein tracking the cache invalidations comprises tracking cache accesses to a plurality of cache lines by a plurality of tasks;
- and
- reporting false sharing in accordance with the tracked invalidations to produce a false sharing report.
A method of false sharing detection, the method comprising:
- performing a plurality of optimization passes on source code;
- receiving selection criteria;
- and
- adding instrumentation to the source code after performing the plurality of optimization passes to produce an instrumented code, wherein the instrumentation is configured to track memory access addresses and access types of global variables and heap variables in accordance with the selection criteria.
A computer comprising:
- a first processor;
- a second processor;
- and
- a non-transitory computer readable storage medium storing programming for execution by the first processor and the second processor, wherein the programming comprises instrumentation, the programming including instructions to
- track cache invalidations in the programming while running the programming to produce tracked invalidations in accordance with the instrumentation, wherein the instructions to track the cache invalidations comprises instructions to track cache accesses to a plurality of cache lines by a plurality of tasks, and
- report false sharing in accordance with the tracked invalidations to produce a false sharing report.
Dependencies are inferred from the claim text.