Analysing Real-Time Behaviour of Collective Communication Patterns in MPI Alexander Stegmeier, Martin Frieb, J¨ org Mische, Theo Ungerer University of Augsburg, Germany 26th International Conference on Real-Time Networks and Systems 11 October 2018 2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 1
28
Embed
Analysing Real-Time Behaviour of Collective Communication ...€¦ · Analysing Real-Time Behaviour of Collective Communication Patterns in MPI Alexander Stegmeier, Martin Frieb,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Analysing Real-Time Behaviour ofCollective Communication Patterns in MPI
Alexander Stegmeier, Martin Frieb,Jorg Mische, Theo Ungerer
University of Augsburg, Germany
26th International Conference onReal-Time Networks and Systems
11 October 2018
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 1
Motivation
I increase in performance needs for real-time applicationsI multicore analysis with shared memory difficult
I apply manycores withI Network-on-Chip (NoC)I local memory per nodeI explicit message passing
I message passing interface (MPI)I standarad programming model
I special focus on collective communicationI programming similar to Bulk Synchronous Parallel
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 2
Outline
Motivation
Basic Knowledge
Analysis
Evaluation
Conclusion
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 3
MPI Collectives
Communication Structure
I based on a central node (MPI Bcast, MPI Gather, . . . )I communication along tree structuresI investigated structures:
I pipeline, chains, binary tree, binomial tree
I uniform data exchange (MPI Allgather, MPI Barrier, . . . )I based on point-to-point communicationI investigated structures:
I ring, recursive doubling,neighbour exchange, bruck
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 4
I time-division multiplexing (TDM) for message schedulingI fixed time slots for sendingI prevents conflicts between delivered flitsI enables upper bounds for releasing and transporting flits
I WCTT for TDM:
WCTT = ta + ttta: admission timett : transportation time
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 5
Timing Analysis
Analysis flow
1. investigation of internal structureI separation of code execution and data transferI send/receive operations as boundaries
2. analysis of components (WCET, WCTT)
3. combination regarding to communication pattern
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 6
Analysis issues
Boundary between WCET and WCTT
n0 ss0
WCETs ta
(a) send driven by ta
n0 ss0
WCETsta
(b) send driven by WCETs
(f − 1) ·max(WCETs , ta) + WCETs + ta
I similar for receive
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 7
Analysis issues
Dispatch along multiple nodes
I multiple options to accumulate timesI identify longest path in terms of time
I three candidates for longest path
t
t
t
(a) send operationtakes longest time
t
t
t
(b) receive operationtakes longest time
t
t
t
(c) receive andforward takes longesttime
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 8
Analysis issues
Dispatch along multiple nodes
I multiple options to accumulate timesI identify longest path in terms of time
I three candidates for longest path
t
t
t
(a) send operationtakes longest time
t
t
t
(b) receive operationtakes longest time
t
t
t
(c) receive andforward takes longesttime
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 8
Analysis issues
Dispatch along multiple nodes
I multiple options to accumulate timesI identify longest path in terms of time
I three candidates for longest path
t
t
t
(a) send operationtakes longest time
t
t
t
(b) receive operationtakes longest time
t
t
t
(c) receive andforward takes longesttime
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 8
Analysis issues
Dispatch along multiple nodes
I multiple options to accumulate timesI identify longest path in terms of time
I three candidates for longest path
t
t
t
(a) send operationtakes longest time
t
t
t
(b) receive operationtakes longest time
t
t
t
(c) receive andforward takes longesttime
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 8
Analysis issues
Dispatch along multiple nodes
I multiple options to accumulate timesI identify longest path in terms of time
I three candidates for longest path
t
t
t
(a) send operationtakes longest time
t
t
t
(b) receive operationtakes longest time
t
t
t
(c) receive andforward takes longesttime
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 8
Analysis issues
Consideration of communication pattern
I treatment of tree structuresI occurance of leaf at different tree levels
I sending procedure for nodes with multiple childrenI deepest sub tree first
I options for longest path regarding timeI early forwarding + delivery along long sub treeI late forwarding + delivery along short sub tree
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 9
Applying the procedure
Illustration with example
I broadcast to 5 nodesI message contains f flitsI chain pattern with 2 chains
0
1
3
2
4
5
Communication details0
1234
5 t
2018-10-11 Alexander Stegmeier et al. / Real-Time Analysis of Collective Operations 10