Workload Management

OIPA provides a subsystem for batch processing for insurance transactions called Cycle. Cycle is a high performance distributed subsystem designed to process as many pending transactions as possible in the shortest amount of time. The cycle subsystem drives processing of transactions through a cycle group, which is comprised of a set of cycle agents. Refer to the "OIPA Cycle" document in the 10.2.2.0 documentation library on OTN for a detailed explanation of how cycle works.

Each cycle agent exists in its own JVM process. Cycle agents may be spread across multiple machines. Besides batch processing pending transactions, OIPA also leverages cycle agents to facilitate long running background processes. This allows OIPA to offload processing to cycle agents, freeing up the OIPA application to service user requests. All of the cycle agents together form a processing grid.

OIPA cycle uses the Coherence Incubator Processing Pattern for workload management of processing across the grid. Using the Processing Pattern and Coherence provides OIPA with the following benefits:

  1. No single point of failure - Coherence manages the failover of data for failed nodes in the cluster. Work that is queued or processing in a node when it fails will automatically be reassigned to other nodes in the cluster for processing. This ensures that no work is lost (barring catastrophic failure of the entire cluster).
  2. No single bottleneck - Since processing is distributed evenly across the entire cluster, no single node represents a bottleneck for processing.
  3. State Management - The Processing Pattern leverages Coherence caching for maintaining the state of the work that is processing in the grid. There is no need to track the work that is happening in the grid.
  4. JMX Support - the Processing Pattern provides JMX MBeans that provide visibility into how processing is performing in the grid.

Tasks

Processing is executed on the grid using tasks. A task represents some kind of processing that needs to take place. Conceptually, there are two different kinds of tasks:

All task processing is accomplished via the Coherence Processing Pattern. A task is submitted by a grid client in different ways, including:

When tasks are submitted for processing, they arrive on a queue at one of the cycle agents connected to the grid. Task scheduling is by default achieved using a Round Robin algorithm. When tasks arrive in the partitioned cache of an agent, they are put into a queue and scheduled for processing in a thread pool. The thread pool size is controlled via the cycle-coherence-cache-config file of the cycle agent.

Processing tasks have short life cycles, where they execute and are then completed. Monitoring tasks have an extended life cycle, and can potentially have an intermediate state. When a monitoring task is executed, it processes and has the ability to yield processing. When it yields, it will be re-dispatched to the cycle grid for processing.

 

 

 

 

 

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. About Oracle Insurance | Contact Us