Clock synchronization among threads in BUPC

From: Andreev Nikita (nik_at_kemsu.ru)
Date: Mon Dec 14 2009 - 21:26:16 PST

  • Next message: Paul H. Hargrove: "Re: Clock synchronization among threads in BUPC"
    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"