SAS Intelligent Decisioning: Parallel Processing of Decisions
- Article History
- RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
In SAS Intelligent Decisioning (as of stable 2023.12 or LTS 2024.03), you can add a Parallel Process node to a decision. This node processes multiple decisions in parallel within a decision.
Select any image to see a larger version.
Mobile users: To view the images, select the "Full" version at the bottom of the page.
There are several rules that must be followed when using a Parallel Process node in a decision.
- A parallel process node can contain only decisions.
- The same decision cannot be added to the same parallel process node more than once.
- None of the decisions or their sub-decisions that are added to a parallel process node can contain parallel process nodes.
- All the decisions that are added to a parallel process node must return exactly one output variable of type data grid.
- For all decisions that are included in the same parallel process node, input variables that have the same name must have the same data type, and the columns in the output data grids that have the same name must have the same data type.
You can publish decisions that contain parallel process nodes to SAS Micro Analytic Service (MAS), Container destinations, and SAS Cloud Analytic Services (CAS). By default, decisions in a parallel process node are processed in parallel only for MAS and Container destinations. In CAS, the decisions in the parallel process node are processed sequentially.
To successfully execute the decisions in parallel process nodes, you must configure the time-out limit and the maximum number of threads for the destination to which you publish decisions that contain the parallel process nodes. For more information, refer to the Configuring Support for Parallel Process Nodes topic in SAS Intelligent Decisioning: Administrator’s Guide.
Example Decision with Parallel Process Node
Here is an example decision using the Parallel Process node.
The parallel process node executes two sub-decisions at the same time. These two sub-decisions use two slightly different methods to determine if a customer’s mortgage is underwater (i.e., the customer owes more than the property is worth). Note: I could add other nodes before or after the parallel process node in the decision flow, but for the purposes of this post solely focusing on the parallel process node.
Let’s look at both of the sub-decisions from the Parallel Process node.
Both of the sub-decisions only have one Output variable, and it is of type data grid. Also, they both have an Input variable called CLIENTID and in both sub-decisions it has the same data type of Character.
For both sub-decisions where their Output data grids have the same variable names they are also of the same type.
The main decision has the needed Input and Output variables.
The PPN_OUT_1 data grid is the merged data grid of all the sub-decisions in the Parallel Process node. It also includes columns related to the Parallel Process node (PPN_ columns). For example, the PPN_DECISION_NAME column lists which sub-decision produced the row in the data grid.
Now, let’s test the Parallel Process decision. Here you can view in the output data grid which sub-decision produced the row in the output.
Summary
Using a Parallel Process node in a decision is especially useful when you have many sub-decisions that require a significant amount of input and output operations or that have a lot of complex logic, and all these decisions need to be run before a final decision is reached. For more information, refer to the SAS Intelligent Decisioning documentation on Adding Parallel Processing Nodes.
You can also build the example decision using the Parallel Process node from this post by taking the SAS Intelligent Decisioning: Beyond the Essentials course.
Find more articles from SAS Global Enablement and Learning here.