Commit 3577106 1 parent 65e7ebc commit 3577106 Copy full SHA for 3577106
File tree 1 file changed +30
-0
lines changed
src/vt/vrt/collection/balance/temperedlb
1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -165,6 +165,36 @@ enum struct KnowledgeEnum : uint8_t {
165
165
Log = 2
166
166
};
167
167
168
+ // / Enum for the strategy to be used in transfer stage
169
+ enum struct TransferStrategyEnum : uint8_t {
170
+ /* *
171
+ * \brief Original strategy
172
+ *
173
+ * Transfer one object per transfer as in original Grapevine approach.
174
+ */
175
+ Original = 0 ,
176
+ /* *
177
+ * \brief Original strategy improved by recursion
178
+ *
179
+ * When single object transfer is rejected, attempt to recurse in order to
180
+ * pull more objects into the transfer and hereby minimize work added by
181
+ * said transfer.
182
+ * This is especially useful when communication is taken into account, as
183
+ * object transfers typically disrupt local vs. global communication edges.
184
+ */
185
+ Recursive = 1 ,
186
+ /* *
187
+ * \brief Form object clusters and attempt to perform swaps.
188
+ *
189
+ * Object can be clustered according to arbitrary definition, and swaps
190
+ * of entire clusters, according the nullset, between ranks are attempted.
191
+ * This is especially useful when shared memory constraints are present,
192
+ * as breaking shared memory clusters results in higher overall memory
193
+ * footprint, in constrast with whole cluster swaps.
194
+ */
195
+ ClusterSwap = 2 ,
196
+ };
197
+
168
198
}}}} /* end namespace vt::vrt::collection::lb */
169
199
170
200
#endif /* INCLUDED_VT_VRT_COLLECTION_BALANCE_TEMPEREDLB_TEMPERED_ENUMS_H*/
You can’t perform that action at this time.
0 commit comments