Skip to content

Commit 646feb9

Browse files
author
Vlade Lekic
committed
Improve clarity.
1 parent 97ea3f7 commit 646feb9

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

articles/service-fabric/service-fabric-cluster-resource-manager-inbuild-throttling.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: InBuild Throttling
3-
description: Configure, understand and apply InBuild Throttling constraint.
3+
description: Configure, understand, and apply InBuild Throttling constraint.
44
ms.topic: conceptual
55
ms.author: vladelekic
66
author: vladelekic
@@ -11,15 +11,15 @@ ms.date: 02/28/2024
1111

1212
# Throttling InBuild Replicas per Node
1313

14-
Replicas of stateful services transition through several phases during their lifecycle: InBuild, Ready, Closing, and Dropped states. Only replicas in Ready and Closing states can declare either default or dynamic load. Replicas in the Dropped state are irrelevant in terms of resource utilization. The resource utilization of InBuild (IB) replicas is specific, so the Cluster Resource Manager provides additional support for handling that utilization. Since IB replicas can't report dynamic load, and their resource utilization might be higher than resource utilization of less utilized replicas in Ready state, especially for I/O and memory-related metrics, the CRM allows limiting the number of concurrent builds per node.
14+
Replicas of stateful services transition through several phases during their lifecycle: InBuild, Ready, Closing, and Dropped states. Only replicas in Ready and Closing states can declare either default or dynamic load. Replicas in the Dropped state are irrelevant in terms of resource utilization. The resource utilization of InBuild (IB) replicas is specific, so the Cluster Resource Manager provides more support for handling that utilization. Since IB replicas can't report dynamic load, and their resource utilization might be higher than resource utilization of less utilized replicas in Ready state, especially for I/O and memory-related metrics, the CRM allows limiting the number of concurrent builds per node.
1515

1616
The CRM provides support for limiting the number of IB replicas per node. Limits can be defined in two ways:
1717
* Per node type
1818
* For all nodes that satisfy placement constraint
1919

20-
Depending on the constraint priority, according to general rules about constraint prioritization, the CRM will halt movements and creations of replicas on a node if the actions violate the defined IB limit for that node. The constraint blocks only operations that could cause high I/O and memory consumption during the InBuild phase, especially when extensively replicating context from other active replicas.
20+
Depending on the constraint priority, according to general rules about constraint prioritization, the CRM halts movements and creations of replicas on a node if the actions violate the defined IB limit for that node. The constraint blocks only operations that could cause high I/O and memory consumption during the InBuild phase, especially when extensively replicating context from other active replicas.
2121

22-
Movements of any kind and promotion of StandBy replicas are restricted operations that cause state replication and extensive resource utilization during the InBuild phase. On the other hand, the promotion of an active Secondary replica to Primary replica isn't a problematic operation, so the constraint will not block such operations. During the promotion of a Secondary replica, the state of the replica is up-to-date with the Primary replica, eliminating the need for additional replication.
22+
Movements of any kind and promotion of StandBy replicas are restricted operations that cause state replication and extensive resource utilization during the InBuild phase. On the other hand, the promotion of an active Secondary replica to Primary replica isn't a problematic operation, so the constraint blocks such operations. During the promotion of a Secondary replica, the state of the replica is up-to-date with the Primary replica, eliminating the need for extra replication.
2323

2424
> [!NOTE]
2525
> The promotion of StandBy replicas could be blocked due to InBuild replicas per node throttling. The transition from StandBy to Ready replicas could cause extensive I/O and memory utilization, depending on the amount of context that needs to be replicated from active replicas. Thus, ignoring promotions of StandBy replicas could cause issues that the InBuild replicas per node throttling constraint aims to resolve.
@@ -31,11 +31,11 @@ Movements of any kind and promotion of StandBy replicas are restricted operation
3131

3232
There are three different categories of actions that the Cluster Resource Manager performs:
3333

34-
* _Placement_: Controls placement of missing replicas, orchestrates swaps during upgrades, and removal of additional replicas.
34+
* _Placement_: Controls placement of missing replicas, orchestrates swaps during upgrades, and removal of extra replicas.
3535
* _Constraint Check_: Enforces rules.
3636
* _Balancing_: Performs actions that reduce the imbalance of total node utilization in a cluster.
3737

38-
The Cluster Resource Manager allows enabling/disabling throttling of IB replicas per node for each category. Configurations that control whether throttling is active for specific actions are *ThrottlePlacementPhase*, *ThrottleConstraintCheckPhase*, and *ThrottleBalancingPhase*, respectively. The value specified for these configurations is boolean. The cluster manifest section that explicitly defines these configurations is provided below:
38+
The Cluster Resource Manager allows enabling/disabling throttling of IB replicas per node for each category. Configurations that control whether throttling is active for specific actions are *ThrottlePlacementPhase*, *ThrottleConstraintCheckPhase*, and *ThrottleBalancingPhase*, respectively. The value specified for these configurations is boolean. The cluster manifest section that explicitly defines these configurations is provided:
3939

4040
```xml
4141
<Section Name="PlacementAndLoadBalancing">
@@ -73,19 +73,19 @@ Here's an example of configurations that enable IB replicas throttling per node,
7373

7474
The Cluster Resource Manager allows defining IB limits globally and for each category of actions:
7575

76-
* MaximumInBuildReplicasPerNode: Defines IB limits globally. These limits will be used to evaluate the final IB limit for each category.
77-
* MaximumInBuildReplicasPerNodePlacementThrottle: Defines IB limits for the placement category. These limits will be used to evaluate the final IB limit only for the placement category.
78-
* MaximumInBuildReplicasPerNodeConstraintCheckThrottle: Defines IB limits for the constraint check category. These limits will be used to evaluate the final IB limit only for the constraint check category.
79-
* MaximumInBuildReplicasPerNodeBalancingThrottle: Defines IB limits for the balancing category. These limits will be used to evaluate the final IB limit only for the balancing category.
76+
* MaximumInBuildReplicasPerNode: Defines IB limits globally. These limits are used to evaluate the final IB limit for each category.
77+
* MaximumInBuildReplicasPerNodePlacementThrottle: Defines IB limits for the placement category. These limits are used to evaluate the final IB limit only for the placement category.
78+
* MaximumInBuildReplicasPerNodeConstraintCheckThrottle: Defines IB limits for the constraint check category. These limits are used to evaluate the final IB limit only for the constraint check category.
79+
* MaximumInBuildReplicasPerNodeBalancingThrottle: Defines IB limits for the balancing category. These limits are used to evaluate the final IB limit only for the balancing category.
8080

81-
For each option above, the Cluster Resource Manager provides an additional two options for defining the limit of IB replicas:
81+
For each option, the Cluster Resource Manager provides two options for defining the limit of IB replicas:
8282

8383
* Define IB limit for all nodes in a single node type.
8484
* Define IB limit for all nodes with a matching placement constraint.
8585

86-
These rules allow you to define multiple values for a single category, and the CRM will always respect the most strict limit that you provided. The limit for each node in a specific phase is the lowest value according to node type or any placement property that corresponds to that node, for both global limits and category limits. If the limit for an action category for a specific node isn't defined, the CRM will assume that there is no upper IB replica count for a node.
86+
These rules allow you to define multiple values for a single category, and the CRM always respects the most strict limit that you provided. The limit for each node in a specific phase is the lowest value according to node type or any placement property that corresponds to that node, for both global limits and category limits. If the limit for an action category for a specific node isn't defined, the CRM assumes that there's no upper IB replica count for a node.
8787

88-
The cluster manifest sections that explicitly define limits for each phase are provided below:
88+
The cluster manifest sections that explicitly define limits for each phase are provided:
8989

9090
```xml
9191
<Section Name="MaximumInBuildReplicasPerNode">

0 commit comments

Comments
 (0)