Friday, January 20, 2017

ODA -- quick tip for CPU & VCPU counts + Named User Plus Licensing

In this blog post, I will give you 2 tips. 1) explanation of CPU and VCPU s in an OD Aenvironment 2) Named user Licensing.

Let's start with the first one...

I have seen that this virtual cpu thing in ODA Virtualized environments can be a little bit confusing sometimes.

It is an important subject though, because it is crucial for licensing. (especially the ODA BASE side)

Yes, it may be confusing on paper, but it is very easy to understand when we do the following analysis.

Note: the system that I used for the analysis in this note is an ODA X4.

We go to dom0 and check if hyper threading is enabled;

[root@odavm1 ~]# dmidecode -t processor | grep HTT
HTT (Hyper-threading technology)
HTT (Hyper-threading technology)

-- It is enabled. why 2 lines? Because there are 2 cpus. (you'll see in the next paragraph)

Anyways, we use the following command to check cpu core and socket counts. 

--on dom0 ->

[root@odavm1 ~]#  dmidecode -t 4 | egrep -i "Designation|Intel|core|thread"
        Socket Designation: P0 -- this is the 1 st cpu
        Manufacturer: Intel
                HTT (Hyper-threading technology)
        Version: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
        Core Count: 12
        Core Enabled: 12
        Thread Count: 24 --as a result of hyper threading

        Socket Designation: P1 -- this is the 2 nd cpu
        Manufacturer: Intel
                HTT (Hyper-threading technology)
        Version: Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz
        Core Count: 12
        Core Enabled: 12
        Thread Count: 24   --as a result of Hyper Threading

So, we see a single ODA node has 2 CPUs, each of these CPUs has 12 cores and 24 threads (because of the HTT)

In summary;

1 CPU = 12 core
2 CPU = 24 core
(1 core = 2 VCPU (hyperthreading))

Total VCPU per  ODA node is 24x2 VCPU = "48 VCPU"

Total VCPU of an ODA X4 HA machine is = "96 VCPU "

Well.. We have 96 VCPUs to distribute along our virtual machines. 

We can assign these VCPUs to our ODA Base and all other VM Machines running on our VM user domains.

The licensing, however; is based on the physical cores.

1 VCPU equals to  1/2 physical core and that's why, when we assign 8 cpu cores for our ODA Base nodes, we see 16 Virtual cpus assigned to each of our ODA Base nodes.

[root@odavm1 ~]# oakcli configure oda_base

Core Licensing Options:
1. 2 CPU Cores
2. 4 CPU Cores
3. 6 CPU Cores
4. 8 CPU Cores
5. 10 CPU Cores
6. 12 CPU Cores
7. 14 CPU Cores
8. 16 CPU Cores
9. 24 CPU Cores
Current CPU Cores :8

[root@odabasenode1 oak]# cat /proc/cpuinfo |grep processor

processor : 0
processor : 1
processor : 2
processor : 3
processor : 4
processor : 5
processor : 6
processor : 7
processor : 8
processor : 9
processor : 10
processor : 11
processor : 12
processor : 13
processor : 14
processor : 15

In other words, we license our database running on our ODA Base according to the value that we see/set using  "oakcli configure oda_base" command.

Another confusing thing about licensing is the Named User licensing (Named User Plus).

We may think that, we can enable all of the CPU cores if we have a Named User Plus License .
(i.e if we have 25 named user license and we can run our database on any server ( 24 core, 48 core etc..) -> "This is actually wrong!!!"

Here is the reference for this. (It is from Oracle) :
(note that this is for Enterprise Edition)

The Enterprise Edition requires a minimum of 25 Named User Plus per Processor licenses or the total number of actual users, whichever is greater. Example: A customer who wants to license the Database Enterprise Edition on a 4-way box will be required to license a minimum of 4 processors * 25 Named User Plus, which is equal to 100 Named User Plus. 

So, there is a relation between User Named Plus and Cpu based licensing.
When licensing our database by a User Named Plus license, we also need to take our CPU cores into account.
For instance; if we have 200 Named user license, we can use up to 8 Processors.
Likewise,  if we have 100 Named User License, our database server can have a maximum of 4 Processors.
In the case of Intel CPUs, we divide this processor count to 2 for deriving the cpu licenses... In the examples above, having 8 processor requires 4 cpu licenses (in case of Intel). Likewise, having 4 processor requires 2 cpu licenses (in case of Intel)

No comments :

Post a Comment