The Battle for the Core: Sharing CPU in Multi-Instance Environments

Avatar photo

Sathish Devendran

Oct 23, 2025

When multiple instances of the same application run concurrently on a single system, they must share limited CPU resources. This phenomenon is known as CPU sharing. It becomes particularly critical when CPU capacity is saturated, leading to performance degradation & increased latency 

Scenario: Multiple instances of the same application 

Test infra  

System: 1 Core 2 Logical Processor. 

OS Type: Windows 

Application Type: Single threaded. 

Data: Independent data sets 

Operation Type: Read operations (likely I/O + CPU mixed)  

Test-1 (Single instance - Standalone) 

Instance-1 performed a read operation, taking 42 seconds and utilizing 100% of a single logical processor. This indicates that the application is single-threaded, as it fully consumed one CPU to process the data. 

In the below image, blue line indicates instance-1 CPU and red line indicates overall system CPU.  

Test-2 (Two instances - Parallel) 

Instance-1 was initiated first, followed by Instance-2, both performing read operations. Although Instance-1 started earlier, it completed last, taking 92 seconds, while Instance-2, which was initiated later, completed first in 72 seconds. 

During this activity, system CPU core is fully occupied. 

In the below image, blue line indicates instance-1 CPU, green line indicates instance-2 CPU and red line indicates overall system CPU.  

Reason for performance degrade between Test-1 & Test-2: 

Standalone Instance-1: 42 seconds 

Parallel Execution Instance-1 & Instance-2: 92 seconds & 57 seconds 

Even though Windows shows 2 CPUs in Task Manager, both are logical siblings on the same core. They share execution units, caches, and queues, so true parallelism is not possible. Windows scheduler tries to balance them, but: 

  • Instance 1 loses priority when instance 2 starts 
  • Context switching and cache thrashing increase 
  • Thermal or power throttling may occur under load 

Hence, sufficient core should be available to perform equivalent to standalone performance. 

Test-3 (Three instances - Parallel) 

Instance-1 was initiated first, followed by Instance-2 and Instance-3 to perform read operations. During this test, CPU sharing occurred due to insufficient CPU resources, which led to performance degradation. 

In the below image, blue line indicates instance-1 CPU, green line indicates instance-2 CPU, purple line indicates instance-3 CPU and red line indicates overall system CPU 

Instance-1 was initiated first (blue line) and consumed 100% of one logical processor, while one logical processor remained available. When Instance-2 was initiated (green line), it fully utilized the second logical processor, leaving no additional logical processors available. At this point, only CPU sharing is possible. When Instance-3 was initiated (purple line), it had to share CPU resources with Instance-1. This resource sharing significantly degraded performance. 

Instance-1 took 121 seconds 

Instance-2 took 60 seconds 

Instance-3 took 94 seconds 

Reason for performance degrade 

1. CPU overcommitment 

a. Only 2 logical processors available. 

b. single-threaded processes running concurrently. 

c. The OS must context switch frequently to keep all 3 moving. 

d. High CPU queue length leads to waiting time → longer execution. 

2. Shared physical core 

All three instances compete for: 

a. Execution units (ALUs, FPUs) 

b. CPU caches 

c. Memory bus access 

This causes: 

  • Inter-process interference 
  • Increased latency per operation 

 3. Unfair scheduling effects 

  • Instance-1 gets penalized more heavily as it started first and ran the longest. 
  • Instance-2 may have benefited from temporarily better access to CPU resources. 
  • Instance-3 likely overlapped more with Instance-1’s tail, causing moderate slowdown. 

Summary

Test 

Ins-1 

Ins-2 

Ins-3 

Performance 

Test-1 

42 

X 

X 

Best Performance 

Test-2 

92 

72 

X 

Both logical processors in use, moderate degradation 

Test-3 

121 

60 

94 

CPU sharing occurs as third instance compete for limited logical CPU 

For real-world usage, the number of concurrent single-threaded processes should not exceed the number of physical or logical CPUs available, depending on the workload sensitivity. 

left-icon
1

of

4
right-icon

India’s choice for business brilliance

Work faster, manage better, and stay on top of your business with TallyPrime, your complete business management solution.

Get 7-days FREE Trial!

I have read and accepted the T&C
Submit