mgijsberti / synoptic

Automatically exported from code.google.com/p/synoptic
0 stars 0 forks source link

Report progress for refinement and merging #368

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
When running Synoptic on large logs, there's no way of gauging how long model 
inference might take (30 seconds? 5 hours?). It would be very useful for large 
experiments to have some (even very approximate) progress notification.

For refinement, adding an approximate progress indicator could simply involve 
recording the number of invariant violations when refinement first starts 
(initialViolations) and occasionally reporting:
"Refinement approximately (currentNumViolations / initialViolations * 100)% 
complete"

For coarsening, we could start by computing or approximating the number of 
merges that will be attempted (mergesToAttempt). We could compute it exactly by 
counting the number of nodes of each event type in the partition graph and 
calculating the number of permutations for each, or we could approximate it by 
calculating the permutations of something like (numTotalNodes / numEventTypes), 
which simplifies the problem by assuming nodes are equally distributed among 
event types. Either way, we could then occasionally report (attemptedMerges / 
mergesToAttempt).

Original issue reported on code.google.com by tonyohm...@gmail.com on 12 Mar 2014 at 4:26