Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

System Settings SLA

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

SLA System Settings

PegaRULES Process Commander v 5.1


© Copyright 2006
Pegasystems Inc., Cambridge, MA
All rights reserved.

This document describes products and services of Pegasystems Inc. It may


contain trade secrets and proprietary information. The document and product are
protected by copyright and distributed under licenses restricting their use,
copying distribution, or transmittal in any form without prior written
authorization of Pegasystems Inc.

This document is current as of the date of publication only. Changes in the


document may be made from time to time at the discretion of Pegasystems. This
document remains the property of Pegasystems and must be returned to it upon
request. This document does not imply any commitment to offer or deliver the
products or services described.

This document may include references to Pegasystems product features that have
not been licensed by your company. If you have questions about whether a
particular capability is included in your installation, please consult your
Pegasystems service consultant.

For Pegasystems trademarks and registered trademarks, all rights reserved. Other
brand or product names are trademarks of their respective holders.

Although Pegasystems Inc. strives for accuracy in its publications, any


publication may contain inaccuracies or typographical errors. This document
could contain technical inaccuracies or typographical errors. Changes are
periodically added to the information herein. Pegasystems Inc. may make
improvements and/or changes in the information described herein at any time.

This document is the property of:


Pegasystems Inc.
101 Main Street
Cambridge, MA 02142-1590

Phone: (617) 374-9600


Fax: (617) 374-9620
www.pega.com

PegaRULES Process Commander


Document: SLA System Settings
Software Version 5.1
Updated: December 14, 2006
Overview – System Settings

Overview – System Settings


Beginning in Version 5.1, new functionality has been added to Process Commander to
allow application developers to add settings. The System Settings feature was designed
to provide a place where system constants may be stored and manipulated.

There are two System Setting classes:

• System Settings – instances of Rule-Admin-System-Settings


• Dynamic System Settings – instances of Data-Admin-System-Settings

For more details on the System Settings, please reference the following tech notes:

• System Settings Functionality


• The System Settings Reference Guide

System Settings
System Settings (instances of Rule-Admin-System-Settings) are constants stored in rule
instances.

As with other rules, the System Settings which are shipped in the standard ProCom
RuleSets are locked and cannot be changed. However, as they are rules, Rule
Resolution will apply; if they need to change a value for the System Settings, application
developers can save the System Setting rule to a higher-level RuleSet in the application
and change its value. When the application is run, the rule in the higher-level RuleSet will
override the one in the locked PegaRULES RuleSet (as always).

Dynamic System Settings


Dynamic System Settings (instances of Data-Admin-System-Settings) are not rules, so
they do not use Rule Resolution. They are instances of the Data- class, so it is not
possible to have more than one with the same name. Dynamic System Settings are
meant to be created and then set programmatically through activities.

Due to the fact that they are not shipped as rules, the Dynamic System Settings do not
have the five-level structure that is available in the System Settings rules. Instead, there is
only one value.

CONFIDENTIAL 3
SLA settings

SLA settings
The SLA settings have a different structure than some of the other settings, as they are
present both as System Settings (Rule-Admin-System-Settings - the rules shipped with
the system which cannot be changed by the customer), and as Dynamic System Settings
(Data-Admin-System-Settings - which the customer may tune). The application
developer should determine how the SLA agent should process assignments, and adjust
the Dynamic System Settings accordingly.

If present, the SLA Dynamic System Settings will override the System Settings values. If
the Dynamic System Settings are not present, the system will read the SLA System
Settings instances, and then create SLA Dynamic System Settings with those default
values.

There are three SLA System Settings:

System Setting Description

SLARefreshListEachIteration If this setting is true, then each time an SLA agent


successfully processes an assignment, it refreshes the
retrieved item list (retrieves a new list of assignments).

SLAUnitsToProcess This setting controls the number of Assigments to


process in during the SLA agent interval.

SLAUnitsToRetrieve This setting shows the number of assignments to


retrieve for SLA processing.

NOTE: This number should be greater than or equal to


the value of SLAUnitsToProcess.

By default, the SLA activity runs every 30 seconds to process assignments. The
application developer should tune the SLA processing to be most efficient, by determining:

• how many assignments should be processed in one interval


• how many assignments should be retrieved for one interval’s processing

Depending upon whether a Process Commander system is running on a single node or


on multiple nodes, these settings will vary.

Single Node Processing


If Process Commander is installed on a single node, then there will only be one set of
agents running, and there will be no agent contention. The number of assignments to
retrieve and to process can be quite large, as there will be no agent collisions; the number
of assignments in the queue which are not selected for processing will simply be picked up
in the next interval.

CONFIDENTIAL 4
SLA settings

Multi-Node Processing
If Process Commander is running in a multi-node environment, a large number of
assignments to process can cause contention between different agents trying to process
the same assignments. If the SLA agent on Node A retrieves 100 assignments to
process, it may successfully process the first one or two. However, at that point, the Node
B SLA agent wakes up and also retrieves 100 assignments, including many of the ones
which the Node A agent is trying to process. Now when Node A tries to process the next
assignment, it may discover that the assignment is locked by Node B for processing. If
there are a number of different nodes, each with their own SLA agent, the contention
between agents for assignments can waste a lot of resources.

Therefore, for multi-node systems, it is recommended that the number of assignments to


process and the number of assignments retrieved be much smaller, so that contention is
reduced. If the Node A agent retrieves five assignments, and processes three without
contention, that is much more efficient than retrieving 100 and having other agents block
the attempt to process most of them.

An additional setting, SLARefreshEachInteration, can be used to prevent more inter-


agent contention. For multi-node systems, this setting should be set to true (and for
single-node systems, false). If this setting is true, then each time an SLA agent
successfully processes an assignment, it refreshes the retrieved item list. So for example,
if the SLAUnitsToProcess is set to 10, and the SLAUnitsToRetrieve is set to 3, the
system will retrieve 3 assignments and try to process one of them. (The quantity of 3 to
retrieve is chosen to give a good chance that at least one of the assignments will be able
to be processed and won’t be locked. If only one assignment is retrieved, there could be
some problem with it that prevents it from being processed, and the retrieval process
would have to be done again, wasting resources.)

After the agent has successfully processed one of the three assignments, it “refreshes” its
list by going back to the full queue of assignments to retrieve another three. (NOTE: It is
possible that if the very first assignment was processed, and no other agents have
processed any assignments in the meantime, that the 2nd and 3rd assignments picked up
in the first retrieve will be picked up again; however, it is much more likely that other
agents from the other nodes in the system have run, so it will actually pick up completely
new assignments.) It processes one of these new three assignments successfully, and
then refreshes again, following this procedure until it has successfully processed 10
assignments. At this point, it stops, and waits for the next agent interval.

The refreshing procedure means that the agent has more up-to-date information on the
assignments to process. For example, the Node A agent may pick up assignments 1, 2,
and 3. It successfully processes #1, and then refreshes. In the meantime, the Node B
agent has also picked up assignments 1, 2, and 3. It can’t process #1 (as it is locked for
processing by Node A), so it processes #2, and then refreshes. When Node A refreshes,
it now picks up #3, #4, and #5, because Node B processed #2. This means that Node A
doesn’t waste time trying to process #2, which was locked and then completed by Node B.

CONFIDENTIAL 5

You might also like