Color-based task mapping for Dragonfly systems
By Allen Treichel and Mohammad Kamran
What is Task Mapping in Dragonfly?● Assigning job tasks to computing elements
● Goals:○ Maximize locality, and reduce number of network hops as a way to reduce bandwidth
consumption
What’s wrong with traditional Task mapping?A. Nothing!B. Traffic concentrated on only a few global linksC. Maximizes localityD. Causes bottleneckE. None of the above (one or more)
What’s wrong with traditional Task mapping?A. Nothing!B. Traffic concentrated on only a few global linksC. Maximizes localityD. Causes bottleneckE. Not exactly one of the above
What is Color-Based Task Mapping-Also known as “Balanced Adjacency Coloring”
-Done via the assignment of colors to cells of a matrix
Goals:
-The number of times each color is used should be equal or within one of each other
-The number of times each pair of colors is adjacent should be equal or within one of each other
What is Color-Based Task Mapping-There are no requirements on the number of times a color is adjacent to itself
Example of a 6 x 6 balanced adjacency coloring with 6 colors (n):
1 2 3 4 5 6
3 1 5 2 6 4
2 4 1 6 3 5
5 3 6 1 4 2
4 6 2 5 1 3
6 5 4 3 2 1
Paper Goals● Demonstrate how traditional task mapping is counterproductive since it
creates hot spots
● Introduce balanced adjacency coloring (BAC) that can evenly spread network traffic in order to reduce hot spots
n x n with n colors● Every grid cell is on exactly one line
● Each color appears exactly n times
● Each color pair is adjacent four times
1 2 3 4 5 6
3 1 5 2 6 4
2 4 1 6 3 5
5 3 6 1 4 2
4 6 2 5 1 3
6 5 4 3 2 1
3D Algorithm ● Use 2D algorithm to color cube’s front face (coloring cubes not squares)
● Color each horizontal part of the cube using 2D algorithm
● Each color used an equal amount of times
● Each slice has an equal number of adjacencies between each pair
Which of the following is true about a balanced adjacency coloring for an n x n grid using 2n colors?
A. Each color appears exactly n/2 timesB. When n is even, each color is non-adjacent to one color exactly onceC. Each color is adjacent to all others exactly onceD. When n is odd, some pairs have multiple adjacenciesE. Not exactly one of the above
Which of the following is true about a balanced adjacency coloring for an n x n grid using 2n colors?
A. Each color appears exactly n/2 timesB. When n is even, each color is non-adjacent to one color exactly onceC. Each color is adjacent to all others exactly onceD. When n is odd, some pairs have multiple adjacenciesE. Not exactly one of the above (B and D)
n x n with 2n colors-Uses 2 reference rows instead of one
-Lines are formed the same as in n x n with n colors, except now each is associated with 2 colors which alternate down the line
-When n is even each color appears n/2 times, each color is non-adjacent to one color and adjacent to all others exactly once
-When n is odd half the colors appear ⌊n/2⌋, half appear ⌈n/2⌉
-Only balanced when n is even
Example of a 6 x 6 coloring with 12 colors (2n):
1 2 3 4 5 6
7 8 9 10 11 12
2 4 1 6 3 5
9 7 11 8 12 10
4 6 2 5 1 3
11 9 12 7 10 8
Why does B-BAC Perform better than P-BAC A. It uses 2n coloring algorithmB. It uses less global linksC. Better utilizes local linksD. What’s B-BAC and P-BAC?E. Not exactly one of the above
Why does B-BAC Perform better than P-BAC A. It uses 2n coloring algorithmB. It uses less global linksC. Better utilizes local linksD. What’s B-BAC and P-BAC?E. Not exactly one of the above
P-BAC Mapping● Uses n x n algorithm
● Cells are arbitrarily assigned to the group nodes
● Global links used in all shortest paths
● Ignores local links which causes congestion in global links
B-BAC Mapping-Compromise between blocking and and coloring-based strategy
-Uses blocking to keep some traffic within a switch/group
-Reduces amount of traffic on global links by ~half while keeping global link traffic mostly balanced
-Divides job into 2 x 2 subgrids to form a grid size of (n/2) x (n/2) of task units, each containing 4 cells of the grid
-All mesh sizes are multiples of 4, so n is always even
P-BAC vs. B-BAC with Minimal Routing-B-BAC superior to P-BAC
Comparing Blocking-based with B-BAC