Skip to content

ActivationRepartitionerOptions Properties

Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.

AnchoringFilterEnabled

getset
View source
public bool AnchoringFilterEnabled
Gets 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.

AnchoringFilterGenerations

getset
View source
public int AnchoringFilterGenerations

Determines 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 ActivationRepartitionerOptions and ActivationRepartitionerOptions. 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.

MaxEdgeCount

getset
View source
public int MaxEdgeCount

The 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.

MaxUnprocessedEdges

getset
View source
public int MaxUnprocessedEdges
The maximum number of unprocessed edges to buffer. If this number is exceeded, the oldest edges will be discarded.

RecoveryPeriod

getset
View source
public TimeSpan RecoveryPeriod
The 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.