Chapter 21 Configuring Inference Agents (Cache OM) : Configuring Inference Agents—Engine Properties

Configuring Inference Agents—Engine Properties
The table in this section explains what engine properties you need to set to configure various aspects of an inference agent.
This section builds on cluster-level configuration settings and assumes they are in place. See the following chapters for those settings:
An inference agent is equivalent to one BAR in an EAR.
See also Configuring Inference Agents—TIBCO Designer.
Defining an Agent Group
The agent group name is defined in the Agent Group Name field of the Object Management tab of the BusinessEvents Archive (BAR) resource (when Cache is selected as the object management type).
Thus the agent group name applies to the BAR (rule session) and not to the engine as a whole. One deployed engine can have multiple agent groups within it, each BAR having a different agent group name.
Note that the term AgentGroupName in tables references this name.
Defining a Unique Key for Each Agent
Scorecard information is instance-specific and is not shared across agents. The Agent.AgentGroupName.key property ensures that on recovery, correct scorecard values are returned to the correct agents. (This is different from the internal ID generated for an agent.)
Local Storage Generally Not Enabled on Inference Agents
For performance reasons, it is recommended that you disable local storage of cache data on inference agents and query agents. Instead use dedicated cache nodes for storage of cache data. By default the following property is set to true:
java.property.tangosol.coherence.distributed.localstorage=true
You must explicitly set it to false to disable local storage.
Configuring Fault Tolerance and Load Balancing for an Inference Agent Group
With multi-engine mode, you can configure a group of inference agents to have some active and some inactive members. However note that, as explained in the section Load Balancing and Fault Tolerance Between Inference Agents, even if all agents are configured to be active, they perform fault tolerance implicitly: when one active agent fails, the other active agents rebalance the workload as needed.
To define the number of active agents in a group, set the property Agent.AgentGroupName.maxActive.
To configure some agents to remain inactive until needed (that is, until an active node fails) do the following:
Set the maxActive value to a number lower than the number of deployed instances.
Set each agent’s Agent.AgentGroupName.priority property as needed to define which of the deployed agents become active, and which act as fault tolerant secondary agents.
With single-engine mode, you only need to use the priority property. Only one agent is active at a time, so the maxActive property is not required. Its default value is 1.
Tuning Agent Performance
As well as load balancing features, you can use the following properties to tune performance:
Agent.AgentGroupName.l1CacheSize
Agent.AgentGroupName.threadcount
Agent.AgentGroupName.recoveryPageSize
See Table 29, Inference Agent Engine Properties (Sheet 1 of 3) for details.