<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Feb 5, 2014, at 3:02 AM, Björn Brandenburg <<a href="mailto:bbb@mpi-sws.org">bbb@mpi-sws.org</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>On 14 Jan 2014, at 10:56, Björn Brandenburg <<a href="mailto:bbb@mpi-sws.org">bbb@mpi-sws.org</a>> wrote:<br><br><blockquote type="cite">Hi everyone,<br><br>here's another set of patches extracted from our RTAS'14 branch. When tracing LITMUS^RT on a 64-core platform, we ran into two issues:<br><br><span class="Apple-tab-span" style="white-space: pre;"> </span>1) Feather-Trace's global timestamp buffer became a major scalability bottleneck, and<br><br><span class="Apple-tab-span" style="white-space: pre;"> </span>2) non-synchronized TSCs with a constant offset.<br><br>(1) is a serious problem because it distorts the measurements (i.e, the overhead Feather-Trace itself becomes much larger than the overhead that it is supposed to measure). (2) is not a problem for most measurements (CPU-local measurements are not affected by cross-CPU skew), but measuring IPI latencies becomes difficult if TSCs do not share a common time zero.<br><br>The following patches address (1) by changing Feather-Trace to record all timestamps into processor-local trace buffers, and provide a workaround for (2) by adding some benchmarking code that determines the offset between any two cores, which can then be used to patch up measurements to refer to a common time base.<br><br><span class="Apple-tab-span" style="white-space: pre;"> </span><a href="https://github.com/LITMUS-RT/litmus-rt/commits/wip-ft-pcpu">https://github.com/LITMUS-RT/litmus-rt/commits/wip-ft-pcpu</a><br><br>The corresponding userspace patches can be found here:<br><br><span class="Apple-tab-span" style="white-space: pre;"> </span>https://github.com/LITMUS-RT/feather-trace-tools/commits/wip-ft-pcpu<br><br>This of course breaks userspace scripts in all sorts of ways because /litmus/dev/ft_trace0 goes away, new devices appear, etc. Nonetheless, the pain is worth it I believe because otherwise we won't be able to derive meaningful measurements on large multicore platforms. I'd appreciate help with testing and feedback.<br></blockquote><br>Now that we are all out of ECRTS mode, are there any objections to or comments on merging this?<br><br>Thanks,<br>Björn<br></div></blockquote></div><br><div>I have no objections. We’ll have to update Jonathan’s experiment-scripts code though. UNC can take care of this. (The patch might lag by a week or two though.)</div><div><br></div><div>-Glenn</div></body></html>