Skip to content

Commit 0d1096a

Browse files
ppebaylifflander
authored andcommitted
#2201: created framework to integrate transfer strategy ivar
1 parent b535de5 commit 0d1096a

File tree

2 files changed

+8
-33
lines changed

2 files changed

+8
-33
lines changed

src/vt/vrt/collection/balance/temperedlb/tempered_enums.h

+2-32
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ enum struct TransferTypeEnum : uint8_t {
9292
/**
9393
* \brief Form object clusters and attempt to perform swaps.
9494
*
95-
* Object can be clustered including to arbitrary definition, and swaps
96-
* of entire clusters, including the nullset, between ranks are attempted.
95+
* Object can be clustered according to arbitrary definition, and swaps
96+
* of entire clusters, according the nullset, between ranks are attempted.
9797
* This is especially useful when shared memory constraints are present,
9898
* as breaking shared memory clusters results in higher overall memory
9999
* footprint, in constrast with whole cluster swaps.
@@ -195,36 +195,6 @@ enum struct KnowledgeEnum : uint8_t {
195195
Log = 2
196196
};
197197

198-
/// Enum for the strategy to be used in transfer stage
199-
enum struct TransferStrategyEnum : uint8_t {
200-
/**
201-
* \brief Original strategy
202-
*
203-
* Transfer one object per transfer as in original Grapevine approach.
204-
*/
205-
Original = 0,
206-
/**
207-
* \brief Original strategy improved by recursion
208-
*
209-
* When single object transfer is rejected, attempt to recurse in order to
210-
* pull more objects into the transfer and hereby minimize work added by
211-
* said transfer.
212-
* This is especially useful when communication is taken into account, as
213-
* object transfers typically disrupt local vs. global communication edges.
214-
*/
215-
Recursive = 1,
216-
/**
217-
* \brief Form object clusters and attempt to perform swaps.
218-
*
219-
* Object can be clustered according to arbitrary definition, and swaps
220-
* of entire clusters, according the nullset, between ranks are attempted.
221-
* This is especially useful when shared memory constraints are present,
222-
* as breaking shared memory clusters results in higher overall memory
223-
* footprint, in constrast with whole cluster swaps.
224-
*/
225-
ClusterSwap = 2,
226-
};
227-
228198
}}}} /* end namespace vt::vrt::collection::lb */
229199

230200
#endif /*INCLUDED_VT_VRT_COLLECTION_BALANCE_TEMPEREDLB_TEMPERED_ENUMS_H*/

src/vt/vrt/collection/balance/temperedlb/temperedlb.h

+6-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,12 @@ struct TemperedLB : BaseLB {
172172
LoadType target_max_load_ = 0.0;
173173
CriterionEnum criterion_ = CriterionEnum::ModifiedGrapevine;
174174
InformTypeEnum inform_type_ = InformTypeEnum::AsyncInform;
175-
/// Type of strategy to be used in transfer stage
175+
/**
176+
* \brief Type of strategy to be used in transfer stage
177+
*
178+
* Available strategies include: Original, Recursive, and SwapClusters
179+
* and are adapted to different kinds of problems.
180+
*/
176181
TransferTypeEnum transfer_type_ = TransferTypeEnum::Original;
177182
ObjectOrderEnum obj_ordering_ = ObjectOrderEnum::FewestMigrations;
178183
CMFTypeEnum cmf_type_ = CMFTypeEnum::NormByMax;

0 commit comments

Comments
 (0)