ActivationRepartitionerOptions
Namespace: Orleans.Configuration
public sealed class ActivationRepartitionerOptionsConstructors
Properties
AnchoringFilterEnabledGets or sets a value indicating whether to enable the local vertex filter. This filter tracks which vertices are well-partitioned (moving them from the local host would be detrimental) and collapses them into a single per-silo vertex to reduce the space required to track edges involving that vertex. The result is a reduction in accuracy but a potentially significant increase in effectiveness of the repartitioner, since well-partitioned edges will not dominate the top-K data structure, leaving sufficient room to track non-well-partitioned vertices. This is enabled by default.AnchoringFilterGenerationsDetermines how long anchoring history is retained. A lower generation count keeps the filter fresher, but might forget anchored grains too quickly. A higher generation count retains history longer, but increases the memory usage and the risk of saturation.
Because the filter decays exactly once per repartitioning round, the actual time a "cold" grain remains anchored is directly tied to
ActivationRepartitionerOptionsandActivationRepartitionerOptions. For example with the default of 3 generations and round periods randomly firing between 1-2 mins, a grain that goes completely "cold" will be retained in the filter for 4.5 mins (on average) before being dropped.MaxEdgeCountThe maximum number of edges to retain in-memory during a repartitioning round. An edge represents how many calls were made from one grain to another.
If this number is N, it does not mean that N activations will be migrated after a repartitioning round. It also does not mean that if any activation ranked very high, that it will rank high at the next cycle. At the most extreme case, the number of activations that will be migrated, will equal this number, so this should give you some idea as to setting a reasonable value for this.
MaxRoundPeriodThe maximum time between initiating a repartitioning round.MaxUnprocessedEdgesThe maximum number of unprocessed edges to buffer. If this number is exceeded, the oldest edges will be discarded.MinRoundPeriodThe minimum time between initiating a repartitioning round.ProbabilisticFilteringMaxAllowedErrorRateThe maximum allowed error rate whenActivationRepartitionerOptionsis set totrue, otherwise this does not apply.RecoveryPeriodThe minimum time needed for a silo to recover from a previous repartitioning round. Until this time has elapsed, this silo will not take part in any repartitioning attempt from another silo.
Fields
DEFAULT_ANCHORING_FILTER_ENABLEDThe default value ofActivationRepartitionerOptions.DEFAULT_ANCHORING_FILTER_GENERATIONSThe default value ofActivationRepartitionerOptions.DEFAULT_MAXIMUM_ROUND_PERIODThe default value ofActivationRepartitionerOptions.DEFAULT_MAX_EDGE_COUNTThe default value ofActivationRepartitionerOptions.DEFAULT_MAX_UNPROCESSED_EDGESThe default value ofActivationRepartitionerOptions.DEFAULT_MINUMUM_ROUND_PERIODThe default value ofActivationRepartitionerOptions.DEFAULT_PROBABILISTIC_FILTERING_MAX_ALLOWED_ERRORThe default value ofActivationRepartitionerOptions.DEFAULT_RECOVERY_PERIODThe default value ofActivationRepartitionerOptions.
