You are on page 1of 13

SAP Process Orchestration

Technical information
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

TABLE OF CONTENTS
1 INTRODUCTION ............................................................................................................................... 3
2 PROCESS ORCHESTRATION SOFTWARE COMPONENTS ........................................................ 4
2.1 SAP Process Orchestration components ..................................................................................... 4
2.2 SAP NetWeaver Application Server Java Cluster Architecture .................................................. 4
2.3 Instances .......................................................................................................................................... 5
2.4 Determining relevant hosts ............................................................................................................ 5
2.5 Database Server ............................................................................................................................... 6
3 SAP PROCESS ORCHESTRATION SIZING ................................................................................... 7
4 DETERMINING NUMBER OF CORES ............................................................................................. 8
4.1 Microsoft Windows and Linux ........................................................................................................ 8
4.1.1 Windows and Linux in physical environments ................................................................................... 8
4.1.2 Windows and Linux in virtual environments ...................................................................................... 8
4.1.3 How to check the number of cores on Windows ............................................................................... 8
4.1.4 How to check the number of cores on Linux ..................................................................................... 8
4.2 IBM Power Systems (AIX, IBM i, PowerLinux) .............................................................................. 9
4.2.1 Dedicated LPAR ................................................................................................................................ 9
4.2.2 Shared Processor Pool LPAR ........................................................................................................... 9
4.2.3 AIX Workload Partition (WPAR) ........................................................................................................ 9
4.2.4 How to check the number of cores .................................................................................................... 9
4.3 Solaris ............................................................................................................................................. 10
4.4 HP-UX .............................................................................................................................................. 11
4.4.1 HP-UX Physical Servers (HPPA & IA64) ......................................................................................... 11
4.4.2 HP-UX Virtual Partitions (IA64 only) ................................................................................................ 11
4.4.3 HP-UX Virtual Machines (IA64 only) ............................................................................................... 12

2
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

Note: This guide is only applicable to Java-only deployment options of SAP Process Orchestration.

1 INTRODUCTION
SAP Process Orchestration enables customer to automate, integrate and optimize business processes -
from simple workflows to integrated processes that span applications, geographies, and organizational
boundaries. The software consists of process management, business rules, and integration capabilities to
support every stage of the business process lifecycle including modeling, execution, monitoring and
optimization of business processes.

For general licensing information, please refer to the SAP Software Usage Right document provided by SAP.
This document provides additional technical information regarding the SAP Process Orchestration license
metric, in particular how to count CPU cores on various hardware platforms.

All explanations of licensing rules in the following do not replace nor overrule any specific licensing
definitions in a customers terms & conditions nor his individual contract. Especially where customers have
non-standard agreements or licensing terms, the following explanations do not apply in part or full. For
questions regarding your specific licensing terms as an SAP customer please contact your responsible sales
contact or distributor.

3
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

2 PROCESS ORCHESTRATION SOFTWARE COMPONENTS


2.1 SAP Process Orchestration components

The SAP Process Orchestration software consists of the following components:


SAP Process Integration (PI)
SAP Business Process Management (BPM)
SAP Business Rules Management (BRM)

2.2 SAP NetWeaver Application Server Java Cluster Architecture


An SAP NetWeaver Application Server Java cluster consists of a global dispatcher, a system database, an
instance where central services like the Message Server and the Enqueue Server are located as well as one
or several application server instances. Multiple instances can run on one host, or can be distributed across
multiple hosts.

4
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

2.3 Instances

For the SAP Process Orchestration license, only application server Java instances (as depicted above) with
the following installed usage types are relevant (as described in the Master Guide)
- Advanced Adapter Engine Extended (PI-AEX)
- Advanced Adapter Engine (PI-AAE)
- Process Integration (PI)
- Business Process Management and Business Rules Management (BPM)

If the host contains an application server instance with one or more of the usage types listed above, then the
cores available of this host have to be considered and counted for SAP Process Orchestration licenses.

Hosts which only run central services, web dispatcher or system database are not counted for the SAP
Process Orchestration licenses

Hosts that do not require a SAP Process Orchestration license may still require other licenses, e.g. a SAP
NetWeaver Foundation for Third Party Applications.

2.4 Determining relevant hosts

First, find out all instances which are installed on the host.
Run the sapcontrol command and specify the host name (e.g. localhost) and instance number (e.g. 0):

sapcontrol [-host <hostname] nr <instance number> function GetSystemInstanceList

This will return the list of instances on this system:

31.03.2014 14:56:31
GetSystemInstanceList
OK
hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
vmlocalhostxx, 1, 50113, 0, 1, GATEWAY|MESSAGESERVER|ENQUE, GREEN
vmlocalhostxx, 0, 50013, 50014, 3, J2EE|ICMAN|IGS, GREEN

If there is an instance with feature J2EE, check which usage types are installed on this instance via the
following URL (note: the command above lists the http port of the SAP start service. Typically the web
application server runs on port xxx00 so if the port as shown above is 50013, you have to use port 50000
for the web application server):

http://<host>:<port>/utl/UsageTypesInfo

Example (PO installation):

If any of the usage types listed under chapter 2.3 is present, the cores available to this system have to be
counted.

5
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

2.5 Database Server

The database is not covered by the core metric and is priced separately. However, if the database is sharing
cores with the application, then in accordance with the above rules, all available cores must be licensed.

6
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

3 SAP PROCESS ORCHESTRATION SIZING

The following table shows a rough-cut T-shirt sizing for SAP Process Orchestration, which can be used to
determine the approximate number of cores required.

Depending on the scenario, you can pick between different sizing metrics.

For integration-centric scenarios, you can go with message throughput. This sizing assumes that most
messages are stateless and will be handled via AEX only, while a certain percentage of messages requires
stateful processing via a BPM process.

For human-centric scenarios (workflows), you can go either with task throughput or concurrent users.
Both sizing metrics use the same underlying factor of SAPS per task instance, as each user is assumed to
process 20 tasks per hour.

For combined usage, please add the number of cores per scenario.

Sizing Metric XS S M L XL XXL


1
2 Cores 4 Cores 8 Cores 12 Cores 20 Cores 36 Cores

Messages / 85,000 170,000 340,000 520,000 850,000 1,500,000


2
Hour
Human Tasks / 2,000 4,000 8,000 12,000 20,000 36,000
Hour
Concurrent 100 200 400 600 1,000 1,800
3
Users

1
Assumption: 2,000 SAPS per Core
2
80% of messages stateless (AEX only), 20% stateful (AEX+BPM)
3
Each users processes 20 tasks per hour

7
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

4 DETERMINING NUMBER OF CORES

4.1 Microsoft Windows and Linux

4.1.1 Windows and Linux in physical environments


The SAP license is based on the amount of physical processors and their number of cores provided to the
operating system.

4.1.2 Windows and Linux in virtual environments


The number of cores for SAP licensing in virtual environments is reflected by the number of virtual CPUs
which are configured for the virtual machine and which are therefore visible inside the guest operating
system.
Unlike operating SAP applications on the physical CPU cores, a virtual CPU only gets CPU cycles of the
underlying hardware and has no one to one assignment to a physical CPU core. The physical power which
backs a virtual CPU is influenced by the configuration of the virtual machine and by the overall host
utilization. In certain scenarios, it might be lower than the power of an appropriate physical processor core.
To make sure that enough physical CPU processor cores are available to the configured virtual CPUs, you
should avoid over-provisioning of physical CPU resources, or reserve the configured CPU resources of the
relevant virtual machine.
Furthermore, activating Hyper-Threading in BIOS and setting Hyper-Threading-related options on the
virtualization administration tool can reduce the physical power behind a single virtual CPU to a fraction of a
physical CPU core.
In case of any questions how to deal with configuration settings related to Hyper-Threading, to the
reservation of CPU resources, to the configuration of CPU affinity or to a possible CPU limit, please get in
contact with your virtualization or hardware partner.

4.1.3 How to check the number of cores on Windows


To determine the number of cores on your Windows (guest) operating system, open a Command Prompt or
a Windows Powershell and execute the following command:

wmic cpu get NumberOfCores

This command lists the amount of cores per socket. On a multi-socket machine, summarize the amount of
cores per socket. Example on 8-cores machine having 2 sockets with 4 cores per socket:

NumberOfCores
4
4

4.1.4 How to check the number of cores on Linux


To determine the number of cores on your Linux (guest) operating system, open a Command Prompt and
execute the following command:

lscpu | grep -i socket

The number of cores is "Core(s) per socket" multiplied by "Socket(s)". Example on 40-cores machine:

Core(s) per socket: 10


Socket(s): 4

8
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

4.2 IBM Power Systems (AIX, IBM i, PowerLinux)


The following section describes how to determine the number of cores for IBM Power Systems running the
operating systems AIX, IBM i, and PowerLinux in Logical Partitions (LPARs).

4.2.1 Dedicated LPAR

Dedicated LPARs are handled like a non-virtualized system. The number of cores is given by the number of
CPUs assigned to the LPAR.

4.2.2 Shared Processor Pool LPAR


For Shared Processor Pool LPARs the number of virtual CPUs is counted. The configuration of the LPAR
should ensure that enough real CPU cores can be used by the defined virtual CPUs. Please get in contact
with your IBM business partner if you are not sure how to set up LPAR parameters like entitlement, capping,
and processor pool size accordingly.

4.2.3 AIX Workload Partition (WPAR)


The number of cores is determined by the number of cores assigned to the LPAR hosting the AIX global
environment of the WPAR.

4.2.4 How to check the number of cores


You can determine the number of cores on your system with the following commands from inside the LPAR.
This is valid for Dedicated LPARs as well as for Shared Processor Pool LPARs. As an alternative you can
also get this information from the Hardware Management Console (HMC).
AIX: execute the system command lparstat -i and get the value of the metric Online Virtual
CPUs.
IBM i: execute the system command WRKSYSACT and get the value of the metric Virtual Processors.
The system command WRKSYSACT is only available if the software product "IBM Performance Tools
for i" is installed.
PowerLinux: execute the system command cat /proc/ppc64/lparcfg and get the value of the
metric partition_active_processors.

To get the number of assigned cores from the HMC perform the following steps:
1. Logon to the HMC
2. Navigate to the respective LPAR
3. Open the Properties sheet of the LPAR and switch to the Hardware tab
4. For a Dedicated LPAR get the value of Processing Units Assigned
5. For a Shared Processor Pool LPAR get the value of Virtual Processors Assigned

9
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

4.3 Solaris

Running SAP on Solaris we support zones and LDOM and both are handled like a non-virtualized system.
The number of cores is given by the number of CPUs assigned to the zones or LDOM.

Solaris 9,10,11 (run as root):

kstat -p cpu_info:*:*:core_id | awk '{ a[$2]++ } END { for (b in a) { print b } }' | wc -l

Result is the number of cores used by the zone, LDOM or native OS

10
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

4.4 HP-UX

The following section describes how to determine the number of CPU cores on HP-UX 11iv3 servers running
on PA-RISC and Itanium. Virtualized servers are included for Itanium-based platforms covering vPars &
HPVM starting with version 6.2 and ongoing.

4.4.1 HP-UX Physical Servers (HPPA & IA64)

There are multiple ways to get the number of available CPU cores on an HP-UX system. The easiest and
most verbose one is machinfo(1) which is located at /usr/contrib/bin in case the PATH variable is not set
accordingly. The output format has changed over the years, but the most recent HP-UX 11iv3 updates (e.g.
1303, 1403) use this format:

# machinfo
Intel(R) Itanium 2 9100 series processor (1.42 GHz, 12 MB)
2 cores, 4 logical processors per socket general CPU
532 MT/s bus, CPU version A1
information
Active processor count:
2 sockets
physical currently active CPU
4 cores (2 per socket)
cores configuration
4 logical processors (2 per socket)
LCPU attribute is disabled

The number of logical CPU cores/processors (e.g. 4 in the example above) depends on the Hyper-Threading
configuration of the server. The Hyper-Threading configuration could be reviewed by checking if Hyper-
Threading is enabled on the firmware-level (setboot(1M)) and in the operating system (kernel parameter
lcpu_attr is set to 1 via kctune(1M)).

In case older HP-UX 11iv3 updates are used (e.g. 1103), the following format might be used:

# machinfo
8 Intel(R) Itanium 2 9000 series processors (1.6 GHz, 24 MB)
physical 533 MT/s bus, CPU version C2
processors 16 logical processors (2 per socket)

Again, the number of logical processors/CPU cores depends on the Hyper-Threading configuration.

Command to determine the number of cores manually

The following command might be used to determine the number of (logical) processors/cores on a low-level
basis:

# ioscan -Cprocessor | grep -i processor | wc l

In case Hyper-Threading is enabled, the returned number has to be divided by 2 to get the number of
physical CPU cores.

4.4.2 HP-UX Virtual Partitions (IA64 only)

HP-UX Virtual Partitions (vPars) starting with version 6.2 on HP-UX Itanium use dedicated CPU resources,
so that the same commands as for physical servers above might be used to determine the number of
assigned physical/logical CPU cores. To find out if the server is running as a virtual partition, please use the
model(1) command:

# model
ia64 hp Integrity Virtual Partition

11
SAP PROCESS ORCHESTRATION TECHNICAL INFORMATION

4.4.3 HP-UX Virtual Machines (IA64 only)

HP-UX Integrity Virtual Machines (HPVM) provide virtualized, isolated containers for HP-UX Integrity servers.
CPU resources are assigned on a sub-CPU level by configuring (a) the number of (virtual) CPU cores and
(b) the minimal/maximal entitlement (in percent) of each assigned CPU core available for computing. To find
out if the server is running as an Integrity virtual machine, please use the model(1) command:

# model
ia64 hp server Integrity Virtual Machine

The machinfo(1) command only shows the number of assigned (virtual) CPU cores to the virtual machine.
The entitlement information is not displayed since this information is hidden by the virtual machine
abstraction layer (Hypervisor).

# machinfo
CPU info:
Intel(R) Itanium(R) Processor 9520 (1.73 GHz, 20 MB)
1 core, 1 logical processor per socket
6.38 GT/s QPI, CPU version D0
Active processor count:
1 socket
1 core virtual CPU cores

12
www.sap.com