Sébastien Boisvert PhD student, Laval University CIHR doctoral scholar Length: 1 hour
Granularities and messages: from design to abstraction to implementation to virtualization
Élénie Godzaridis Strategic Technology Projects Bentley Systems, Inc.
Granularities and messages: from design to abstraction to - - PowerPoint PPT Presentation
Granularities and messages: from design to abstraction to implementation to virtualization Length: 1 hour lnie Godzaridis Strategic Technology Projects Sbastien Boisvert Bentley Systems, Inc. PhD student, Laval University CIHR doctoral
Sébastien Boisvert PhD student, Laval University CIHR doctoral scholar Length: 1 hour
Élénie Godzaridis Strategic Technology Projects Bentley Systems, Inc.
License: AttributionNoncommercialShare Alike Some rights reserved by e acharya
License: AttributionNoncommercialNo Derivative Works Some rights reserved by jugbo
9
10
Professor E. Lander (Photo: Wikipedia) Professor M. Waterman (Photo: Wikipedia)
12
– 159 min when average latency is 65 us (Colosse) – 342 min when average latency is 260 us
13
14
Olga the crab (Uca pugilator) Photo: Sébastien Boisvert, License: Attribution 2.0 Generic (CC BY 2.0)
17
18
Figure 1: The MPI programming model. +--------------------+ | MPI_COMM_WORLD | MPI communicator +---------+----------+ | +------+------+---+--+------+------+ | | | | | | +---+ +---+ +---+ +---+ +---+ +---+ | 0 | | 1 | | 2 | | 3 | | 4 | | 5 | MPI ranks +---+ +---+ +---+ +---+ +---+ +---+
19
21
22
23
24
25
26
– not lock-free – prone to programming errors – Half of the cores busy wait (unless they sleep)
27
– Needs granular code everywhere !
– Efficient – Lock-free (less bugs)
28
– Data store processes do nothing when nobody
– Possibly unbalanced
29
– Balanced – All the cores work equally
30
– Pointer dereference can generate a payload on the
– Message passing – DHTs (distributed hash tables) – DHTs are nice because the distribution is uniform
31
32
– Message tag handles – Slave mode handles – Master mode handles
33
34
35
36
37
38
39
40
41
– each process has many user space threads
42
43
Image by: Alain Matthes — al.ma@mac.com Complete graph for MPI communication is a bad idea !
44
45
46
47
48
Image: Wikipedia
49
50
51
L i c e n s e : A t t r i b u t i
N
c
m e r c i a l S
e r i g h t s r e s e r v e d b y C a y u s a ( f l i c k r . c
)
52
Figure 2: The MPI programming model, with mini ranks. +--------------------+ | MPI_COMM_WORLD | MPI communicator +---------+----------+ | +------+------+---+--+------+------+ | | | | | | +---+ +---+ +---+ +---+ +---+ +---+ | 0 | | 1 | | 2 | | 3 | | 4 | | 5 | MPI ranks (1 RankProcess.cpp instance per rank) +---+ +---+ +---+ +---+ +---+ +---+ with the thread from main() for MPI calls | | | | | | | | | | | | | 0 | | 4 | | 8 | |12 | |16 | |20 | | | 1 | | 5 | | 9 | |13 | |17 | |21 | | => mini-ranks, in pthreads | 2 | | 6 | |10 | |14 | |18 | |22 | | | 3 | | 7 | |11 | |15 | |19 | |23 | | (1 MiniRank.cpp instance per minirank, | | | | | | | | | | | | | 1 Application running with its RayPlatform ComputeCore.cpp)
This hybrid model was devised by Sébastien Boisvert, Fangfang Xia and Rick Stevens. It is implemented in RayPlatform and a manuscript is in preparation
53
54
55
56
57
58
59
60
61
62
https://plus.google.com/u/0/+LinusTorvalds/posts
63
64
65
66
67
68