What is core allocation in logical domains?
In the world of Oracle VM Server for SPARC (Logical Domains/LDoms), Core Allocation is the practice of assigning physical CPU resources to a virtual machine. Unlike x86 virtualization, which often "oversubscribes" CPUs (sharing one core among many VMs), SPARC virtualization is built for deterministic performance through granular hardware assignments.
To understand core allocation, you have to look at the anatomy of a SPARC processor.
A single physical SPARC chip (Socket) is divided into multiple Cores, and each core is divided into multiple Hardware Threads (also called Virtual CPUs or vCPUs).
vCPU: The smallest unit of processing.
Core: A group of threads (usually 8 threads per core in T-Series/M-Series).
Core Allocation: Assigning an entire physical core (all 8 threads) to a single Logical Domain.
While you can assign individual threads to a domain, Core Allocation (using the whole-core constraint) is the best practice for production databases for two main reasons:
If two different VMs share threads on the same physical core, they compete for the core's L1/L2 cache and floating-point units. By allocating a whole core, you ensure that the LDom has exclusive access to that core's hardware resources, resulting in consistent, predictable latency.
This is the "killer feature" for Oracle Database administrators. Oracle allows Hard Partitioning for licensing purposes on SPARC.
If you assign 2 whole cores to a domain, you only pay for the licenses for those 2 cores, even if the physical server has 32 cores.
Crucial Note: To qualify for this, you must set the whole-core constraint so the system cannot dynamically move those threads to other cores.
In the Control Domain (Primary), you use the Logical Domain Manager (ldm) to enforce core boundaries.
# Force the domain 'db_ldom' to only use whole physical cores
ldm set-core constraint=whole-core db_ldom
# Assign 2 physical cores (which equals 16 threads on most T-series)
ldm set-vcpu 2 db_ldom
When the whole-core constraint is enabled, the set-vcpu command switches from counting individual threads to counting physical cores.
Even with core allocation, SPARC virtualization remains flexible. You can add or remove cores from a running LDom without rebooting the OS.
If your "Peak Hour" begins at 9:00 AM, you can script the ldm to move a core from a "Development" LDom to a "Production" LDom instantly. Because the hypervisor lives in the firmware, the guest OS (Solaris) sees the CPUs appear or disappear in real-time.
| Feature | Thread Allocation (vCPUs) | Core Allocation (Whole-Core) |
| Granularity | Very High (1 thread at a time). | Coarse (8 threads at a time). |
| Cache Efficiency | Lower (Shared with other VMs). | Maximum (Dedicated Cache). |
| Oracle Licensing | Usually requires Full-Rack licensing. | Supports Hard Partitioning. |
| Best For | Web servers, microservices. | Databases, ERP, High-load apps. |
Core allocation is about guaranteeing throughput. By aligning your virtual architecture with the physical boundaries of the SPARC silicon, you eliminate the "virtualization tax" and satisfy the strict requirements of Oracle software licensing.