Text mode clock synchronization
authorBenjamin Poirier <benjamin.poirier@polymtl.ca>
Fri, 10 Jul 2009 15:31:47 +0000 (11:31 -0400)
committerBenjamin Poirier <benjamin.poirier@polymtl.ca>
Fri, 18 Dec 2009 19:03:24 +0000 (14:03 -0500)
commit800dfee05db51677ab91103c993d14753184c4bd
tree4ecfa3e0e3b85ddd2e137aca9da944388d05c476
parent9c9bf2d4c123db7e0d53714410d642388c8ae8e9
Text mode clock synchronization

Adds linear regression based clock correction of a group of traces. This is
mostly a reimplementation of the work presented in
[1] Clément, E.: Synchronisation de traces dans un réseau distribué, École
Polytechnique de montréal, 2006

This implementation does not use a synchronization "window" and timeouts as
described in figure 3.3 of [1]. Not using that algorithm, we don't have to
rely on the system time to be loosely synchronized; events can be processed
regardless of the order the traces are merge-sorted. The downside is that
there is no limit to the number of events that could be queued up, waiting for
their matching event from another trace. The solution to this would be to
insert extra logic (like a plugable module) that controls the merge-sort;
upstream of event delivery to the syncrhonization code. Many possibilities
come to mind:
1) reimplement something like what is found in [1] that relies on system time
for a weak pre-synchronization
2) use a heuristic based on the size of the current queue for each trace in
the synchronization code. If a trace's queue is growing and growing, deliver
events to other traces.

This implementation also does not need to keep track of the IP adresses
assigned to local interfaces. If a packet is processed by the network
subsystem it can be used for synchronization. There is no need to know if the
node really the packet's final destination.

Signed-off-by: Benjamin Poirier <benjamin.poirier@polymtl.ca>
configure.ac
lttv/lttv/Makefile.am
lttv/lttv/lookup3.h [new file with mode: 0644]
lttv/lttv/sync.c [new file with mode: 0644]
lttv/lttv/sync.h [new file with mode: 0644]
lttv/lttv/tracecontext.c
lttv/lttv/tracecontext.h
lttv/modules/text/batchAnalysis.c
This page took 0.024475 seconds and 4 git commands to generate.