Distributed Workload Manager

Extend FIS Profile functionality and improve performance at once

The Distributed Workload Manager (also called DEX - Distributed Execution Module) is a FIS Profile extension which allows selected predefined tasks (such as reports, SQL queries, functions or shell scripts) to be performed in asynchronous, batch processing mode in one or more Profile environments, where the tasks can be executed on a different node than the primary Profile host.

 

The main design goals of DEX are:

  • flexible Profile report printing capability from front-end applications including WebCSR 
  • overload protection - each connected environment can define maximum limit of tasks being executed in parallel
  • load balancing - tasks execution can be spread across many environments and hosts
  • user comfort - tasks (such as reports) can be submitted interactively from the front-end application such as WebCSR
  • seamless integration of Profile replicas and other systems to a single processing entity

 

DEX is mature and well proven product, currently used in production system of two banks. In these environments, DEX flawlessly serves several hundreds of thousands reports every month. 95 percent of reports is generated in less than 5 seconds.

Overload protection

On each Profile environment used as DEX endnode, tasks are executed in a strictly controlled environment, preventing the load to exceed a predefined limit. The load limit can be defined separately on each node and can be dynamically altered, allowing to define different level during a day and night processing, for example. Even if there is only one Profile instance in use, is makes sense to use DEX as an overload protection with the ability to grow to the multi-environment task processing when needed.

Front-end report printing integration

Remote Procedure Calls and a Java library is supplied for an easy integration of interactive reports to WebCSR or other Java-based front ends.

Load Balancing and Task Distribution

DEX stores submitted tasks to a single queue on the primary environment. Once queued, tasks are executed in a first-come-first-served mode either on the primary host or on an arbitrary number of connected environments, usually Profile replicas. The goal is to reduce load on the primary environment and utilize the resources allocated to the replicas. After task completion, the result is stored in the task queue. There is no active notification implemented at the time.

Task and Node Capabilities

DEX allows tasks to be executed in different environments than just a simple clones of the primary Profile. For instance, DOME allows integration of a different Profile versions or an archiving node, which holds Profile archives not available on the primary. Tasks are executed only in the environment which matches all the features (so called capabilities) they require for execution.Thus, some reports can require to be run on the primary instance only (as they need a read-write access to the database), another one can be executed only on a replica due to long execution times and / or performance contraints.