From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Mon Dec 14 2009 - 21:37:59 PST
Nikita, Hopefully somebody will correct me if I am wrong, but as I understand the text you quote the synchronization algorithm is implemented in Parallel Performance Wizard v2.2. We have discussed global clock synchronization within the Berkeley UPC runtime, but have never implemented it there. Happy Holidays, -Paul Andreev Nikita wrote: > Hello guys, > > I am working on tracing UPC applications through GASP interface. To > order resulting events from all threads I need to somehow synhronize > time among them. > > One way is to use NTP and gettimeofday (global timer). Then I can > simply substract timestamp of the earliest event from all other > timestamps to obtain relative time. But NTP itself is most likely not > enough accurate for that task. (Can somebody confirm or deny that?) > > There is high-precision wall-clock timer support in Berkeley UPC. But > as I understand bupc_ticks_now(), bupc_ticks_to_us() and > bupc_ticks_to_ns() give me relative thread times. And I can't find any > way to synchronize them. > > Parallel Performance Wizard v2.2 Developer's Guide says: > "The UPC and SHMEM language-depending implementations also include a > simple clock synchronization that is based on F. Cristian's paper > entitled �A Probabilistic Approach to Distributed Clock > Synchronization� which has been modified to use one-sided > communications. The global clock synchronization algorithm is > essentially remote clock reading and is very simple, but effective, > and is used to adjust timestamps on trace records during the merge > phase." > > How is it implemented in Berkeley UPC and how can I utilize it? > > Happy Christmas and New Year! > > Nikita > > > > -- Paul H. Hargrove PHHargrove_at_lbl_dot_gov Future Technologies Group Tel: +1-510-495-2352 HPC Research Department Fax: +1-510-486-6900 Lawrence Berkeley National Laboratory