Patent ID: 7453910
Filing Date: 2008-11-18
Classification: G06F,H04J

Abstract:
1. A method to perform synchronization of independent local clocks governing processes executed by independent processing cores in multi-processing system for program debugging, performance analysis, and visualization comprising: (a) detecting events generated at local processing cores; (b) recording local timestamps of events based on clocks upon detecting said events; (c) optionally establishing happened-before relationship by utilizing a shared resource; (d) deriving a set of constraints on said clocks' relative start time by using said local timestamps and said happened-before relationship; (e) processing to improve said set of constraints; (f) if no solution of said set of constraints is found while said processing, relaxing the set of constraints; (g) repeating step (f) until a solution which satisfies said set of constraints is found; (h) based on resulting constraints, calculating elapsed times between said clocks' start times; (i) assigning global timestamps to said clocks' start times based on said elapsed times; and (j) assigning global timestamps to said events based on said local timestamps and said global timestamps of said clocks' start times.