Re[2]: Clock synchronization among threads in BUPC

From: Andreev Nikita (
Date: Mon Dec 21 2009 - 20:01:56 PST

  • Next message: Paul H. Hargrove: "Re: Clock synchronization among threads in BUPC"
    BUPC supports simple performance tracking (upcc -trace option that
    enables communication tracing & statistics for use with upc_trace). It
    makes sense that you needed to include some mechanism to do clock
    synchronization. Dan even had a discussion with Adam from PPW team
    about this (see the discussion at
    Where am I wrong?
    > 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

  • Next message: Paul H. Hargrove: "Re: Clock synchronization among threads in BUPC"