You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>For this exercise, continue by building upon your work for the previous exercise. Add colour to emphasise the skew and watch the balancer work.</p>
26
+
27
+
<ol>
28
+
<li>
29
+
Extend each chare to contain particles of three different colors. Each color should move at different speeds - green should move at the default speed, red should move twice as fast and green should move half as fast.
30
+
</li>
31
+
32
+
<li>
33
+
Distribute colours to reproduce the imbalance as shown in the figure: reds bunched in the centre, greens in the upper-left, blues in the lower-right.
34
+
</li>
35
+
36
+
<li>
37
+
Compile with <ahref="https://github.com/UIUC-PPL/ccs_tools">LiveViz</a> using the <code>-module liveViz</code> flag.
38
+
</li>
39
+
40
+
<li>
41
+
Run your C++ code using <code>++server</code> and <code>++server-port 1234</code>, and then run the liveViz client using <code>liveVize localhost 1234</code>, and observe how the particles behave.
<p>The very first task is to create measurable imbalance so that load balancers have something meaningful to fix.</p>
16
+
<p>For this exercise, continue by building upon your work for the previous exercise. You will now work to create measurable imbalance so that load balancers have something meaningful to fix.</p>
<h2>Part 2 – Adding Migration Support & Load-Balancing</h2>
46
-
47
-
<p>Now enable dynamic migration so Charm++ balancers can actually move work around.</p>
48
-
49
-
<ol>
50
-
<li>
51
-
Implement <code>PUP</code> serialization for your chare array as <ahref="https://charm.readthedocs.io/en/latest/charm++/manual.html#arraymigratable">documented</a>.
52
-
</li>
53
-
<li>
54
-
At appropriate intervals, call <code><ahref="https://charm.readthedocs.io/en/latest/charm++/manual.html#load-balancing-chare-arrays">AtSync()</a></code> so the runtime knows the chare is ready for potential migration.
55
-
</li>
56
-
<li>
57
-
Select a load-balancing strategy. For this exercise we will use
Re-run the application as in Part 1 and compare how the program behaves differently.
63
-
</li>
64
-
</ol>
65
-
66
-
<h2>Part 3 – Visualising with LiveViz</h2>
67
-
68
-
<p>Add colour to emphasise the skew and watch the balancer work.</p>
69
-
70
-
<ol>
71
-
<li>
72
-
Extend each chare to contain particles of three different colors. Each color should move at different speeds - green should move at the default speed, red should move twice as fast and green should move half as fast.
73
-
</li>
74
-
75
-
<li>
76
-
Distribute colours to reproduce the imbalance as shown in the figure: reds bunched in the centre, greens in the upper-left, blues in the lower-right.
77
-
</li>
78
-
79
-
<li>
80
-
Compile with <ahref="https://github.com/UIUC-PPL/ccs_tools">LiveViz</a> using the <code>-module liveViz</code> flag.
81
-
</li>
82
-
83
-
<li>
84
-
Run your C++ code using <code>++server</code> and <code>++server-port 1234</code>, and then run the liveViz client using <code>liveVize localhost 1234</code>, and observe how the particles behave.
85
-
</li>
86
-
</ol>
32
+
<p><u>Variants</u>: Instructors may choose to use a different formula for introducing imbalance</p>
<p>For this exercise, continue by building upon your work for the previous exercise. You will now work to enable dynamic migration so Charm++ balancers can actually move work around.</p>
17
+
18
+
<ol>
19
+
<li>
20
+
Implement <code>PUP</code> serialization for your chare array as <ahref="https://charm.readthedocs.io/en/latest/charm++/manual.html#arraymigratable">documented</a>.
21
+
</li>
22
+
<li>
23
+
At appropriate intervals, call <code><ahref="https://charm.readthedocs.io/en/latest/charm++/manual.html#load-balancing-chare-arrays">AtSync()</a></code> so the runtime knows the chare is ready for potential migration.
24
+
</li>
25
+
<li>
26
+
Select a load-balancing strategy. For this exercise we will use
0 commit comments