SYNCHRONIZATION OF INDEPENDENT CLOCKS
First Claim
Patent Images
1. A processing system to perform synchronization of independent local clocks comprising:
- a multi-core processor having a plurality of processing cores, said multi-core processor having processes running on said processing cores, wherein each process is executed based on each different core, said processing cores having local clocks;
an event tracing component to record events occurring on said each core, to record timestamps of events according to said local clocks, and to record event data to establish a partial happened-before relationship of said events across said processing cores; and
an off-line clock synchronizer to establish constraints on the start times of said clocks based on the timestamps and the partial happened-before relationship, to execute an all-pairs shortest-path algorithm on said constraints, while repeatedly relaxing said constraints until no negative cycles is found, to calculate transitive closure of said constraints to improve said constraints, to calculate elapsed times between local clocks'"'"' start times based on said transitive closure of said constraints, to assign global timestamps to local clocks'"'"' start times based on said elapsed times, and to assign global timestamps to said events based on said global timestamps of said clocks'"'"' start times and said timestamps of said events,wherein said assigned global timestamps of said clocks'"'"' start times and said assigned global timestamps of said events are used to facilitate one or more of;
program debugging, performance analysis and visualization of said processing system.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method to synchronize independent local clocks in multi-core processing system are disclosed. A shared counter or a shared memory/file is provided to establish a partial happened-before relationship (e1<e2 in the happened-before order if we know that the event e1 happened before the event e2) and a synchronizer device is utilized to generate a global time of events in threads or processes. The synchronizer device estimates each clock'"'"'s start time and approximates elapsed time between events in threads or processes by executing an all-pair shortest-path algorithm
-
Citations
1 Claim
-
1. A processing system to perform synchronization of independent local clocks comprising:
-
a multi-core processor having a plurality of processing cores, said multi-core processor having processes running on said processing cores, wherein each process is executed based on each different core, said processing cores having local clocks; an event tracing component to record events occurring on said each core, to record timestamps of events according to said local clocks, and to record event data to establish a partial happened-before relationship of said events across said processing cores; and an off-line clock synchronizer to establish constraints on the start times of said clocks based on the timestamps and the partial happened-before relationship, to execute an all-pairs shortest-path algorithm on said constraints, while repeatedly relaxing said constraints until no negative cycles is found, to calculate transitive closure of said constraints to improve said constraints, to calculate elapsed times between local clocks'"'"' start times based on said transitive closure of said constraints, to assign global timestamps to local clocks'"'"' start times based on said elapsed times, and to assign global timestamps to said events based on said global timestamps of said clocks'"'"' start times and said timestamps of said events, wherein said assigned global timestamps of said clocks'"'"' start times and said assigned global timestamps of said events are used to facilitate one or more of;
program debugging, performance analysis and visualization of said processing system.
-
Specification