Arvancloud servers offer a CPU Share Ratio feature to provide maximum stability and efficiency. With this feature, the instance with more vCPUs can utilize the physical server processor longer than the instance with fewer vCPUs. This leads to the fair distribution of CPU usage and the user is less likely to face CPU Steal issues at the operating system level.
The process of CPU Share helps allocate the processor in the right way, however, it does not offer a solution for the users who utilize the CPU less than the purchased amount. For this reason, in the new generation of Arvancloud servers, we have developed a CPU Fair Usage Policy or the usage depending on a baseline. Therefore, you will pay only according to the baseline of the processor, and if your CPU utilization amount is below the baseline, the credit will be automatically saved for you. Similarly, all servers with this pattern of CPU usage (which is below the baseline level) will continuously earn credits and use them in the future and at the time of CPU Burst. The credit values depend on the pattern of CPU utilization.
For example, when CPU utilization is below the baseline, earned credits are more than spent credits. But when CPU utilization is the same as the baseline level, earned credits and spent credits are equal. And finally, when CPU utilization is above the baseline, the spent credits are more than the earned credits.
Therefore, with these credits, not only can you utilize the CPU as much as it is available in your purchased package, but you can also burst CPU utilization without any additional cost.
CPU Utilization: This metric calculates the percentage of CPU cycles allocated to a server in specific compute units. Currently, this unit is 5 seconds and is used for calculating CPU Utilization and measuring the number of credits earned and spent.
CPU Share: This metric tells us how much different packages of instances have utilized the CPU on the physical server. The calculation of CPU Share is completely variable and is based on the number and the size of instances on a server. This concept will be explained more in the CPU Share table.
CPU Credit:
CPU Credit is the measurement unit of vCPU-time.
For example,
1CPU credit = 1 vCPU * 100% utilization * 1 minute
1CPU credit = 1 vCPU * 100% utilization * 1 minute
1CPU credit = 1 vCPU * 50% utilization * 2 minutes
1CPU credit = 2 vCPU * 25% utilization * 2 minutes
Baseline Utilization: The Baseline Utilization is a level at which we can use a CPU with zero credit. That is when the credits earned are the same amount as the credits spent. Baseline utilization is expressed as a percentage of vCPU usage and is calculated as follows: Baseline utilization % = (number of credits earned/number of vCPUs)/60 minutes
Earned Credit:
This metric is the credit that is automatically earned within a 60-minute period.
Credit earned per hour = % baseline * number of vCPUs * 60 minutes
For example, if you build an instance with the g1-small2 package (2 vCPUs), the number of credits you earn in 1 hour will be as follows:
2vCPU * 8.33% baseline * 60 min = 9.996
Spent Credit: It is the credit that is being consumed by an instance and it is calculated as follows: CPU credits spent per minute = Number of vCPUs * CPU utilization * 1 minute
Accrued Credit: This metric is the amount of credit saved when the CPU utilization is below the Baseline level. Therefore: Accrued Credits = Credits Earned – Credits Spent In the example above if you use 2% of a g1-small2 server that has a Baseline of 8.33%, the Accrued Credits will be calculated as follows: Accrued CPU credits = (Earned credits per hour – Used credits per hour) = (2 * 8.33% * 60) – (2 * 2% * 60) = 9.996 – 2.4 = 7.596
Credit Accrual Limit: It is the maximum number of credits earned in 24 hours. So, all the credits accrued will be valid and consumable for 24 hours.
Launch Credit: Some Arvancloud packages include a given number of excess credits at the beginning for the user to be able to burst CPU utilization above the baseline level.
Surplus Credit: This credit is used for the servers with an unlimited mode to ensure that the CPU Burst feature will still be available if the user’s accrued credit runs out.
Standard Mode: Currently all servers are in this mode and depending on their accrued credit, they can utilize the CPU above the baseline level.
Unlimited Mode: In this mode, users can utilize the CPU above the baseline as much as they require and they can calculate the additional cost in any period of time.
Arvancloud Processor Models: Ourprocessor models are constantly updated to ensure that the best hardware will always be available to users. Currently, the following models are either being used or prepared for installation in the Arvancloud infrastructure.
Processor Model | Threads | Frequency |
Intel 2697v4 | 36 | 2.30 GHz |
Platinum 8358 | 64 | 2.60 GHz |
AMD 75F3 | 64 | 2.95 GHz |
The metric of CPU Share tells us how much different CPU packages can utilize a physical server processor. The calculation of this amount is completely changeable and is based on the number and size of instances on a server.
For example, suppose we have a server with 4 instances, each including the following packages: Server #1 = ‘G1-Small1’ = 1 vCPU Server #2 = ‘G1-Medium1’ = 4 vCPU Server #3 = ‘G1-Large1’ = 8 vCPU Server #4 = ‘G1-Xlarge1’ = 16 vCPU
In order to prevent CPU Steal from happening in servers and to provide a fair allocation of CPUs to every user, the CPU Share metric allocates the CPU Cycles to the 4 servers as mentioned below. (This is based on the assumption that each CPU Cycle takes 1 minute or 60306 ms)
This model is calculated variably and based on the number of instances on every server. The amount of CPU Share for every package is determined based on the values in the table below.
* The values of this table are the same for all generations of Arvancloud Servers, including G1, G2, G3, etc.
Package Name | Package Details | vCPUs | vCPU Share |
Small1 | 1-1-25 | 1 | (1/4) 256 |
Small2 | 2-1-50 | 1 | (1/4) 256 |
Small3 | 3-1-60 | 1 | (1/4) 256 |
Small4 | 2-2-60 | 2 | (1/4) 512 |
Small5 | 4-2-80 | 2 | (1/4) 512 |
Medium1 | 8-4-160 | 4 | (1/3) 1366 |
Medium2 | 12-4-240 | 4 | (1/3) 1366 |
Medium3 | 16-6-320 | 6 | (1/3) 2048 |
Medium4 | 24-6-460 | 6 | (1/3) 2048 |
Large1 | 32-8-640 | 8 | (1/2) 2096 |
Large2 | 48-12-960 | 12 | (1/2) 6144 |
XLarge1 | 64-16-1280 | 16 | (1) 16384 |
XLarge2 | 96-20-1920 | 20 | (1) 20480 |
XLarge3 | 128-24-2560 | 24 | (1) 24576 |
Each instance continuously earns a number of credits per hour (on the millisecond scale) depending on the sample size (currently 5000 ms). The calculation of accrued or spent credit also is carried out on the millisecond scale. Therefore, there is no need to worry about spending too much CPU credit. A short CPU Burst uses only a small portion of CPU credits.
If an instance utilizes less CPU credit than the baseline level (such as when it is idle), the unspent credits will be accrued in the credit balance. On the other hand, if at some point the instance requires to utilize more credits than the baseline level, it can spend the accrued credits.
The table below lists the instance types, the hourly rate of CPU credits earned, the maximum number of CPU credits an instance can accrue, the number of vCPUs per package, and the Baseline as a percentage of an instance.
* The values mentioned in this table are applicable to all Arvancloud Server generations including G1, G2, G3, etc.
Package | Credits Earned (per hour) | Maximum Accruable Credits | vCPUs | Baseline Utilization (per vCPU) |
Small1 | 4.998 | 119.952 | 1 | 8.33% |
Small2 | 4.998 | 119.952 | 1 | 8.33% |
Small3 | 4.998 | 119.952 | 1 | 8.33% |
Small4 | 20.004 | 480.096 | 2 | 16.67% |
Small5 | 20.004 | 480.096 | 2 | 16.67% |
Medium1 | 31.680 | 760.320 | 4 | 13.20% |
Medium2 | 31.680 | 760.320 | 4 | 13.20% |
Medium3 | 71.280 | 1710.720 | 6 | 19.80% |
Medium4 | 71.280 | 1710.720 | 6 | 19.80% |
Large1 | 61.056 | 1456.344 | 8 | 12.72% |
Large2 | 268.416 | 6441.984 | 12 | 37.28% |
XLarge1 | 256.032 | 6144.768 | 16 | 26.67% |
XLarge2 | 399.96 | 9599.040 | 20 | 33.33% |
XLarge3 | 576.000 | 13824.000 | 24 | 40.00% |
Notice that an instance can maintain its accrued credits only up to 24 hours.
The amount of credit earned per hour is determined based on the instance package size. For example, a g1-small5 instance earns approximately 20 units per hour, while an instance of a g1-medium3 package earns around 71 units of credit per hour.
Each package can accrue only a specified number of credits. Therefore, it is not possible to accrue more credits than the values mentioned in the table above. Notice that the maximum number of accruable credits refers to the credits that can be accrued within a period of 24 hours.