Re: About barriers

From: Paul H. Hargrove (PHHargrove_at_lbl_dot_gov)
Date: Thu Apr 16 2009 - 12:32:18 PDT

  • Next message: Paul H. Hargrove: "Re: Some general questions"
      See some answers below.
    Nikita Andreev wrote:
    > Hello.
    > I have two question related to barriers.
    > 1. upc_fence ensures that all shared references issued before the 
    > fence are completed before any following are issued. How is it 
    > actually implemented? Does it work like a barrier or application can 
    > continue to execute statements which are not related to shared references?
    A upc_fence() will stall execution of statements in the calling thread 
    until completion of all shared references made by the calling thread.  A 
    upc_fence() does not have any specified affect on execution of 
    statements in other threads, nor does it connect local execution to the 
    state of shared references made by other threads.  So, a fence is quite 
    different from a barrier which stalls all threads at the wait until all 
    threads have executed the notify.
    > 2. In GASP split-phase barrier consists of two events: GASP_UPC_NOTIFY 
    > and GASP_UPC_WAIT. How does upc_fence and ordinary barrier appears in 
    > trace? There are GASP_UPC_BARRIER and GASP_UPC_FENCE but it turns out 
    > that same GASP_UPC_NOTIFY and GASP_UPC_WAIT are being used.
    This I am not sure about.  I would expect that the fence should NOT be 
    generating the NOTIFY and WAIT GASP events.  If you have a simple 
    example that you are sure is not seeing the GASP events implicit final 
    barrier, please share it and we can take a look at it.
    > Regards,
    > Nikita Andreev.
    Paul H. Hargrove                          PHHargrove_at_lbl_dot_gov
    Future Technologies Group
    HPC Research Department                   Tel: +1-510-495-2352
    Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

  • Next message: Paul H. Hargrove: "Re: Some general questions"