What is Azure Azure vCore?
Central Processing Unit (CPU), CPU Core, Logical cores, vCore…
No… in this short post I am not going to explain about the Azure new vCore-based purchasing model. For more information about this you can read to official documentation. Unfortunately, the documentation does not cover explanation about the meaning of phrase vCore.
In this short post I will try to explain what the hell Microsoft means by vCore and what do we actually get.
Before I start, I must clarify that vCore is not equivalent to physical CPUs or to CPU’s Cores, and since this is not clearly documented, I can only present the way I understand it. Any use of the information (like always) is on your responsibility.
The Central Processing Unit (CPU) is a physical electrical component unit which performs most of the processing inside a computer. Modern CPUs can include multiple cores and offer hyper-threading technology.
A CPU Core is a physical central processing unit inside the physical electrical component CPU chip. The advantage is that we can use single CPU socket, which include multiple cores.
* Each CPU Core has a n Arithmetic Logic Unit (performs arithmetic and bitwise operations on integer binary numbers), Control Unit (directs the operation of the processor), General-Purpose Registers (store both data and addresses), etc
The image below illustrates the physical structure of 2 Sockets of CPUs in the Motherboard. In each Socket we have a single CPU which includes 4 physical Cores.
In addition to the physical elements, modern CPUs offer hyper-threading technology.
Hardware Virtualization Technology
Hyper-threading technology enables a core to execute two independent instruction streams simultaneously. It helps in managing multiple tasks, which can be intelligently scheduled and pushed to specific CPU Core, so there's no idle time on your processor. Each physical CPU Core with hyper-threading appears as two separate logical CPU to an operating system.
Logical processors (also named Logical cores or Virtual Cores) are (Hardware) Virtualization Technology of a CPU Core to manage multiple tasks simultaneously.
Note! SQL Server license per-core is based on physical cores, and the number of logical cores is irrelevant.
The image below shows a machine with one socket in the motherboard for CPUs, two cores in the CPU and four logical processors managed by the cores
vCore or system Virtual Core is a programming abstraction entity managed by Virtualization applications like hypervisors, VMWare, and vSphere. The Virtualization apps can manage Virtual Sockets (vSocket) and Virtual Cores (vCore) per vSocket.
The vCore provided to us are not necessarily being 1 to 1 with a physical core but being a virtual CPU that is created or managed by the Hypervisor and is utilizing Hyperthreading under the hood.
Clearing the Confusion – vSphere Virtual Cores, Virtual Sockets, and Virtual CPU (vCPU)
vCore-based purchasing model for Azure SQL Database (preview)
Azure SQL Database vCore-based purchasing model limits (preview)
A flexible new way to purchase Azure SQL Database
In the bellow link you can get more information about vCore related to VM