1. A method of synchronizing compute node time bases in a parallel computer, the compute nodes organized for data communications in a tree network, one compute node in the tree network designated as a root node, each compute node executing a plurality of threads, the method comprising: for each compute node: calculating data transmission latency from the root node to the compute node, including: configuring the compute node to operate as a delayed node; entering, by each compute node other than the delayed node, a global barrier operation; entering, after a predetermined delay by the delayed node, the global barrier operation including retrieving an entrance time and signaling the root node; receiving an exit signal from the root node, including retrieving an exit time and calculating the data transmission latency between the root node and the compute node as half of the difference in the exit time and the entrance time; configuring a thread of the compute node as a pulse waiter; initializing a wakeup unit, the wakeup unit configured to wake the pulse waiter responsive to receiving a pulse signal from the root node; and performing a local barrier operation, including for each compute node, performing a barrier with each thread in the plurality of threads; upon each node completing the local barrier operation, entering, by all compute nodes, a global barrier operation; upon all the compute nodes entering the global barrier operation, sending, by the root node to all the compute nodes, a pulse signal; and for each compute node upon receiving the pulse signal: waking, by the wakeup unit, the pulse waiter; setting a time base for the compute node equal to the data transmission latency between the root node and the compute node using the pulse signal, thereby synchronizing each compute node and the plurality of threads of each compute node; and exiting the global barrier operation.