Cycle Client Attribute

Following are the "Cycle Client" attributes (used for grid Replenishment) defined inside Cycle client's configuration files (Cycle.properties).

Cycle.batchSize

Keep batch size larger in the range of 5K-10K or even more, if heap is not being compromised. Remember heap should be at least 30% free.

Cycle.groupSize

Keep groupSize lower, usually under 10. The groupSize will group activities for a single thread submission.

Cycle.period

Keep this property lower, usually set to 5 seconds. This will let Cycle sleep for 5 seconds and retry replenishing grid every 5 seconds.

Cycle Agent Attributes

Following are the "Cycle Agent" attributes defined inside Cycle agent's configuration files (Cycle.properties).

grid.taskSubmissionThreadPoolSize

Submission threads for submitting cycle.groupSize of activities to the grid.

Set this property considering how much load, the total number of processing threads can take in the grid, don’t set this by individual JVM, set this by total number of threads in a cluster. This property is to set the throttling of activities to the grid.

Example:

If total number of processing threads in a coherence cluster is 100, then each processing thread can process, a single activity in a given instance of time, if hyper threaded core, it can take 2 activities per thread per instance of time. Assuming core is hyper threaded, each processing thread in parallel can process 2 activities in an instance of time.

Hyper threaded Cores

Set submission thread = total number of processing thread in a cluster/ Cycle.groupSize * 2

Non-Hyper threaded Cores

Set submission thread = total number of processing thread in a cluster / Cycle.groupSize

Note: When running Scheduled Valuation activities, ensure to set
- scheduledValuation.groupSize
- scheduledValuation.period
- scheduledValuation.batchSize
Appropriately based on the desired workload. Scheduled Valuation activities are compute intensive and can usually take more compute power per thread execution, ensure not to overload threads with higher scheduledValuation.groupSize. Ideal recommended setting is less than 5. Consider increasing if threads are idling.