CPU Licenses

The CPU license option ensures that a sufficient pool of licenses is available for an unspecified number of users connecting to a server to run your applications.

This licensing option provides for an infinite pool of available connections. The total number of user that can connect at any given time is ultimately constrained by the central processing unit (CPU) capacity to handle the connections. The CPU license is so called because it takes into account the number of cores/threads of the CPU to be licensed.

The number of physical or virtual CPUs (cores/threads) in the server where the product is installed must match the number encrypted in the license when verified by the license controller.

Determine the number of CPUs for licensing

Before ordering CPU licenses, you need to run the license controller command, for example, fglWrt -a cpu on the application server where the Genero runtime is installed, to determine the exact number of CPUs (cores/threads) for licensing. If you are using the Four Js License Manager, run the license manager command flmprg -a cpu. The command returns the number of cores/threads on the processor on your server.
Note: Cores and hyper-threading
  • Cores describe the number of independent CPUs in a single physical multi-core processor.
  • Some CPUs use hyper-threading to boost multi-tasking performance using threads. When a core uses hyper-threading, the operating system will treat the core as if it were two entirely separate CPUs. These are known as virtual CPUs.
For example, if your server has an 8-core processor, the command output will show 16 virtual CPUs if the cores use hyper-threading. Your CPU license order must be for the number of CPUs output by the command.

Degraded Mode

CPU licenses operate in degraded mode if the physical or virtual CPUs on the server do not match the CPUs purchased on the license. The license controller will limit the size of the license pool to the number of CPUs purchased multiplied by 25. So, for example, if a server has 32 CPUs and the license is only for 16, then the available pool will be 400 connections. If you see the following message, it means that your CPU license is operating in degraded mode. To resolve this, you will need to contact your local Four Js sales office.
-6180 CPU limit exceeded. The users control is reactivated.

When to use CPU licensing

CPU licensing is recommended for the following:
Large sites
Large sites may potentially have many active users. CPU licenses are better suited than User licenses because they provide for an infinite pool of connections.
Genero Browser Client (GBC) applications
For GBC applications, detecting when the user has left the application or simply closed the browser (as opposed to stopping the application by explicitly exiting it taking the appropriate action) has implications for licensing. If the user closes the browser without exiting the application, the DVM stays running and continues to consume a license. While the DVM will eventually timeout, timeout configuration is not as critical to license management when CPU licenses are used.
Tip: We recommend that you read the examples given in the Licensing examples section of the Genero Application Server User Guide that show you how you can take advantage of ways of running applications and implementing GAS configurations so as to help you use licenses as efficiently as possible.
Web services applications
A Web Service consumes a license in the same way that a user does, with one notable difference. On reaching the available limit in the connections pool, Web services are queued rather than blocked as with users. However, the greater the number of connections you can allocate for the Web service pool, the greater the Web service throughput. This is why it is generally recommended to opt for CPU licenses for Web services.
Logical Partition (LPAR) and Virtualization
Where Genero is installed on LPAR or Workload Partitions (WPARs) using virtualization technology, such as that used on IBM® Advanced Interactive eXecutive (AIX®) systems, CPU licenses are recommended. In this case, you will need to provide the number of virtual CPUs allocated, not the number of physical CPUs in the server, to determine the exact number of CPUs for licensing.