Avanti pins its single emulated Alpha CPU thread to one Windows logical processor selected from the host-wide Avanti CPU pool. Concurrent instances receive distinct logical-processor affinity claims. Affinity restricts where a thread may run; it does not grant exclusive ownership against Windows or other applications. A logical processor may be a hardware thread on a physical core, so affinity alone does not isolate shared physical-core resources.
When Windows supplies complete processor-topology and efficiency-class information, Avanti prefers unused physical cores, spreads claims across processor topology domains, and applies the per-emulator cpu_core_preference setting within the existing process/job affinity and forbidden_cpus boundaries. Automatic and performance prefer the highest available Windows efficiency class; efficiency prefers the lowest. If a preferred class is unavailable or exhausted, selection falls back through other eligible classes. On supported Windows families that do not report efficiency classes, all three settings retain physical-core and topology ranking without a class preference.
The preference is a placement hint. It does not reserve a physical core and does not guarantee performance, host power use, or energy savings. Windows and other applications can still use the selected hardware, and host firmware, the Windows scheduler, workload, thermal limits, and virtualization can affect results.
Avanti respects the process affinity allowed by Windows, including job-object restrictions, and never expands it to the full system mask. Its I/O threads use the remaining CPUs allowed to that instance. Admission must leave at least one eligible I/O CPU for every registered instance; these I/O CPUs may be shared. A request is rejected if it would take another instance's last eligible I/O CPU, even if other CPUs remain free outside that instance's allowance. Existing forbidden_cpus exclusions continue to apply to the host-wide pool.
Version 5.1.0 requires one active Windows processor group. Hosts with multiple active groups, failed CPU discovery, empty allowances or insufficient eligible CPUs are rejected with a diagnostic. Configure CPU restrictions before starting Avanti. If Windows subsequently removes an instance's claimed logical processor or all of its eligible I/O CPUs, stop and restart that instance with sufficient allowed CPUs. A thread-affinity operation that cannot be completed is reported as an error instead of being ignored.
Failed affinity updates restore earlier thread masks and leave database claims uncommitted. If Windows prevents restoration, the shared database is invalidated and all Avanti instances must be stopped before restarting. The updated database protocol requires stopping every instance, including services, before installing this version. These CPU-scheduling checks do not change license-unit prices, key validity or the startup-only license policy.