About Managing CPU Pools for Resource Allocation

Use CPU pools to cage and manage resource allocations to workloads for virtual machines on Oracle Database Appliance Virtualized Platforms.

Workloads are isolated by creating CPU pools and assigning (pinning) virtual machines to a specific CPU pool. When you pin a virtual machine to a CPU pool, you ensure that the virtual machine uses CPUs in only that CPU pool.

When you initially configure Oracle Database Appliance Virtualized Platform, a default-unpinned-pool is created on each node. The size of this pool depends on the hardware model:

  • On Oracle Database Appliance X5-2 Virtualized Platform, the default-unpinned-pool contains 72 CPUs.

  • On Oracle Database Appliance X4-2 Virtualized Platform, the default-unpinned-pool contains 48 CPUs.

  • On Oracle Database Appliance X3-2 Virtualized Platform, the default-unpinned-pool contains 32 CPUs.

  • On Oracle Database Appliance Version 1 Virtualized Platform, the default-unpinned-pool contains 24 CPUs.

When you create the ODA_BASE domain, a new CPU pool is created on both nodes. The pool is named odaBaseCpuPool. The CPUs requierd for this pool are removed from the default-unpinned-pool. ODA_BASE is the only domain allowed to use the CPUs in the odaBaseCpuPool. When you start other virtual machines, the virtual machines run on CPUs that are left in the default-unpinned-pool, effectively removing ODA_BASE from the work being done by other virtual machines.

You can also cage groups of virtual machines by creating additional CPU pools. These additional pools enable you to pin a virtual machine, or a set of virtual machines, to its own CPU pool. Virtual machines running in a specific CPU pool do not share CPU cycles with virtual machines running in other CPU pools. Define as many CPU pools as you want, up to the number of available CPUs on your system.

If your application requirements change over time, then Oracle recommends that you resize, add, or drop CPU pools as needed to make the best use of your resources. You may also want to resize ODA_BASE. However, if you want to resize ODA_BASE, then you must use a special command that also updates your Oracle Database Appliance Virtualized Platform license.

Example 3-20 Example of Showing CPUPools on a Node

A CPU pool can have a different size on each node (except for the odaBaseCpuPool), as shown by the following oakcli show cpupool commands, one for each node:

oakcli show cpupool -node 0
                 Pool                         Cpu List
default-unpinned-pool   [14, 15, 16, 17, 18, 19, 20, 2
                                            1, 22, 23]
               twocpu                         [12, 13]
       odaBaseCpuPool   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                                               10, 11]
oakcli show cpupool -node 1
                 Pool                         Cpu List
default-unpinned-pool   [12, 13, 14, 15, 16, 17, 18, 1
                                    9, 20, 21, 22, 23]
       odaBaseCpuPool   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
                                                10,11]