From 745b774eaef23bb2ec6f52834061d5b50f3955a5 Mon Sep 17 00:00:00 2001 From: Naveen Ravichandrasekaran Date: Thu, 2 Apr 2020 16:46:15 -0500 Subject: [PATCH 1/2] RM barrier MO image and add team_sync We have removed the figrues fpr barrier from the MO section, as barrier routiens are deprecated. And, added the team_sync image instead. --- content/synchronization_model.tex | 43 +- figures/barrier.svg | 431 ++++--- figures/sync.pdf | Bin 0 -> 21013 bytes figures/sync.svg | 1747 +++++++++++++++++++++++++++++ 4 files changed, 2056 insertions(+), 165 deletions(-) create mode 100644 figures/sync.pdf create mode 100644 figures/sync.svg diff --git a/content/synchronization_model.tex b/content/synchronization_model.tex index f8f40d9a9..9f8a73992 100644 --- a/content/synchronization_model.tex +++ b/content/synchronization_model.tex @@ -64,27 +64,6 @@ \hline \end{tabular} - -\begin{tabular}{p{0.2\textwidth} | p{0.7\textwidth}} -Collective synchronization over an active set \\ -\FUNC{shmem\_barrier} -& -\raisebox{-\totalheight}{\includegraphics[width=\textwidth]{figures/barrier}} -\end{tabular} - -\begin{tabular}{p{0.2\textwidth} | p{0.7\textwidth}} -{} -& -{All local and remote memory operations issued by all \acp{PE} within the -active set are guaranteed to be completed before any \ac{PE} in the -active set returns from the call. Additionally, no \ac{PE} shall return from the -barrier until all \acp{PE} in the active set have entered the same barrier -call. This routine should be used when synchronization as well as completion of -all stores and remote memory updates via \openshmem is required over a sub set -of the executing \acp{PE}.} \tabularnewline -\hline -\end{tabular} - \begin{tabular}{p{0.2\textwidth} | p{0.7\textwidth}} \hline \textbf{\openshmem \ac{API}} & \centering \textbf{Working of \openshmem \ac{API}} \tabularnewline @@ -108,3 +87,25 @@ \hline \end{tabular} \clearpage + +\begin{tabular}{p{0.2\textwidth} | p{0.7\textwidth}} +Collective synchronization over \\ +\FUNC{shmem\_team\_sync} +& +\raisebox{-\totalheight}{\includegraphics[width=0.8\textwidth]{figures/sync}} +\end{tabular} + +\begin{tabular}{p{0.2\textwidth} | p{0.7\textwidth}} +{} +& +{\FUNC{shmem\_team\_sync} guarantees that no \ac{PE} shall return from the +synchronization routine until all \acp{PE} in the team have entered the same +\FUNC{shmem\_team\_sync} call. But, it does not guarantee completion of all +local and remote memory operations issues by all \acp{PE} within the team. +Additionally, a \FUNC{shmem\_quiet} routine is required to be used by all +\acp{PE} within the team before the \FUNC{shmem\_team\_sync} call to +guarantee the completion of stores and remote memory updates via \openshmem.} +\tabularnewline +\hline +\end{tabular} +\clearpage diff --git a/figures/barrier.svg b/figures/barrier.svg index 80e9c041b..277aceb40 100644 --- a/figures/barrier.svg +++ b/figures/barrier.svg @@ -8,12 +8,12 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" - viewBox="0 0 1152 733" - width="1152" - height="733" + viewBox="0 0 728.42676 525.46161" + width="728.42676" + height="525.46161" id="svg4651" sodipodi:docname="barrier.svg" - inkscape:version="0.92.4 (5da689c313, 2019-01-14)"> + inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"> + inkscape:current-layer="Canvas_1" + inkscape:document-rotation="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + id="font-face4193" + stemv="0" + stemh="0" + accent-height="0" + ideographic="0" + alphabetic="0" + mathematical="0" + hanging="0" + v-ideographic="0" + v-alphabetic="0" + v-mathematical="0" + v-hanging="0" + strikethrough-position="0" + strikethrough-thickness="0" + overline-position="0" + overline-thickness="0"> @@ -93,7 +113,22 @@ ascent="770.0195" descent="-229.98047" font-weight="400" - id="font-face4195"> + id="font-face4195" + stemv="0" + stemh="0" + accent-height="0" + ideographic="0" + alphabetic="0" + mathematical="0" + hanging="0" + v-ideographic="0" + v-alphabetic="0" + v-mathematical="0" + v-hanging="0" + strikethrough-position="0" + strikethrough-thickness="0" + overline-position="0" + overline-thickness="0"> @@ -109,12 +144,13 @@ image/svg+xml + Canvas 1 @@ -745,16 +781,14 @@ - Active Set - + font-size="18">All PEs in a Team - PE 0 - + font-size="16">PE 0 - PE 1 - + font-size="16">PE 1 + transform="matrix(1.0535159,0,0,0.26203684,-43.598013,145.1646)"> - shmem_int_p (...) - + font-size="16">shmem_p (...) - shmem_barrier(...) - + font-size="16">shmem_team_sync (...) - shmem_long_put(…) - + font-size="16">shmem_put(…) - shmem_int_add (...) - + font-size="16">shmem_atomic_add (...) - shmem_int_p (...) - + font-size="16">shmem_p (...) - shmem_long_p (...) - + font-size="16">shmem_p (...) - PE 2 - + font-size="16">PE 2 - All local and remote memory operations issued by PEs are guaranteed to be completed - All local and remote memory operations issued by PEs are guaranteed to be completedbefore any PE returns from the call. - + font-size="16">before any PE returns from the call. - shmem_barrier(...) - + font-size="16">shmem_team_sync (...) - shmem_barrier(...) - + font-size="16">shmem_team_sync (...) + transform="translate(-11.851362,-22.828252)"> - shmem_int_p (...) - + font-size="16">shmem_p (...) - shmem_long_atomic_fetch_add(...) - + font-size="16">shmem_atomic_fetch_add(...) - shmem_int_get (...) - + font-size="16">shmem_get (...) - shmem_int_p (...) - + font-size="16">shmem_p (...) + transform="matrix(1.0295134,0,0,0.53598564,-23.399032,65.476409)"> + transform="matrix(1.0240081,0,0,0.34669117,-19.018195,123.52143)"> + transform="matrix(1.0364031,0,0,0.44473311,-42.817116,97.24422)"> - PE K - + font-size="16">PE K - shmem_int_get (...) - + font-size="16">shmem_get (...) - shmem_long_put(…) - + font-size="16">shmem_put(…) + + + + shmem_quiet (…) + + + + + + + + + shmem_quiet (…) + + + + + + + + + shmem_quiet (…) + + + + + diff --git a/figures/sync.pdf b/figures/sync.pdf new file mode 100644 index 0000000000000000000000000000000000000000..cdee7fe57fc64a9806679eb0074e863b8a1f454d GIT binary patch literal 21013 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 R*b$&V0zpz$)s$)``5!vROVI!T literal 0 HcmV?d00001 diff --git a/figures/sync.svg b/figures/sync.svg new file mode 100644 index 000000000..1e2021ac0 --- /dev/null +++ b/figures/sync.svg @@ -0,0 +1,1747 @@ + + + + + + + + + + + + + + + + + + + + + + Produced by OmniGraffle 7.11.5 + 2014-02-21 22:19:56 +0000 + + + image/svg+xml + + + + + + + Canvas 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + All PEs in a Team + + + + + + + + + PE 0 + + + + + PE 1 + + + + + + + + + + + + + shmem_p (...) + + + + + shmem_team_sync (...) + + + + + shmem_put(…) + + + + + shmem_atomic_add (...) + + + + + + + + + shmem_p (...) + + + + + shmem_p (...) + + + + + + + + + + + + + + + + + + + + PE 2 + + + + + + + + + + + + A shmem_quiet is required to be used by all PEs within a Team before the shmem_team_sync + call to guarantee completion of all local and remote memory operations issued by all PEs + within the team before any PE returns from the shmem_team_sync call + + + + + shmem_team_sync (...) + + + + + shmem_team_sync (...) + + + + + shmem_p (...) + + + + shmem_atomic_fetch_add(...) + + + + + shmem_get (...) + + + + + shmem_p (...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PE K + + + + + shmem_get (...) + + + + + + + + + shmem_put(…) + + + + + + + + + shmem_quiet (…) + + + + + + + + + shmem_quiet (…) + + + + + + + + + shmem_quiet (…) + + + + + + + From 0a5dc5a01a5d7b745cc1b94ec5b273b2fafec09a Mon Sep 17 00:00:00 2001 From: Naveen Namashivayam Ravichandrasekaran Date: Fri, 3 Apr 2020 08:40:47 -0500 Subject: [PATCH 2/2] Update content/synchronization_model.tex Co-Authored-By: Nick Park --- content/synchronization_model.tex | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/synchronization_model.tex b/content/synchronization_model.tex index 9f8a73992..2d952a4ad 100644 --- a/content/synchronization_model.tex +++ b/content/synchronization_model.tex @@ -100,11 +100,11 @@ & {\FUNC{shmem\_team\_sync} guarantees that no \ac{PE} shall return from the synchronization routine until all \acp{PE} in the team have entered the same -\FUNC{shmem\_team\_sync} call. But, it does not guarantee completion of all -local and remote memory operations issues by all \acp{PE} within the team. -Additionally, a \FUNC{shmem\_quiet} routine is required to be used by all +\FUNC{shmem\_team\_sync} call. It does not guarantee completion of +local and remote memory operations issued by \acp{PE} within the team. +To do so, \FUNC{shmem\_quiet} should be called on the desired context(s) by all \acp{PE} within the team before the \FUNC{shmem\_team\_sync} call to -guarantee the completion of stores and remote memory updates via \openshmem.} +guarantee the completion of the associated stores and remote memory updates via \openshmem.} \tabularnewline \hline \end{tabular}