Procesadores, nucleos e hilos

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.880
Sockets, cores y threads.

Quiero compartir con ustedes un proyecto, una revisión que voy a hacer en la pega y que tiene relación con threads, cores, sockets y un cambio de licenciamiento que hizo Oracle en su última versión de la base de datos Standard Edition One.

Hasta la versión 12.1.0.1, alguien podía tener una solución de Alta Disponibilidad de la base de datos (RAC, Real Application Cluster) en su sabor Standard Edition y la única limitante era que sólo podía tener dos procesadores (sockets) por servidor. Esto significa que podemos tener dos servidores gemelos con dos procesadores cada uno y la mansa cachadita de núcleos por procesador. Supongamos que son 16 cores por procesador. Entonces, nuestro servidor de alta disponibilidad tendría:

Servidor 1
Dos procesadores
16 núcleos por procesador.

Servidor 2
Dos procesadores
16 núcleos por procesador.

Total procesos (threads): 64.
Nota: No estoy considerando el Hyperthreading. Si lo consideramos tendríamos 128 procesos (threads).


Ahora, en la última versión, Oracle elimina Standard Edition y la reemplaza por Standard Edition Two. Peeeeero esta tiene una limitante: si vamos a instalar la solución RAC de Alta Disponibilidad sólo podemos tener UN PROCESADOR (socket) por servidor y 8 procesos (threads) por servidor. Eso nos permite sólo esta configuración:



Servidor 1
Un procesador
8 núcleos por procesador.

Servidor 2
Un procesador
8 núcleos por procesador.

Total procesos (threads): 16.
Nota: No estoy considerando el Hyperthreading. Debemos desactivarlo.


Duda: ¿Cómo obtenemos en el año 2018 un servidor con UN PROCESADOR? Tenemos que instalarle el hypervisor de Oracle (OVM) y mediante hard partitioning dejarle únicamente un procesador y 8 núcleos.


Para un entorno muy demandante, pasar de 64 procesos a 16 procesos es pésimo. ¿Pero qué tanto se degrada el rendimiento? No es correcto decir que va a bajar al 25% de rendimiento pues el cuello de botella de las bases de datos casi siempre es el acceso a disco. Es como decir que pasar de una velocidad máxima de 60Kmph a 50Kmph en ciudad hará que nos demoremos un 20% más en llegar a nuestro destino, siendo que entre medio hay semáforos y múltiples detenciones.


Voy a hacer una comparativa entre un RAC 11.2.0.3 con 32 threads y un RAC 12.2.0.1 con 16 threads para ver como resulta la diferencia. Compartiré por acá las tablas de diferencia de rendimiento.
 
Última modificación:

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.433
Chocastes con el mismo problema que choque yo en windows 2016 vs windows 2012..... Cambio de licenciamiento rajando a los multinucleos.
Oracle y Microsoft son expertos en "EXPRIMIR" dinero por que se les antojo
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.880
Chocastes con el mismo problema que choque yo en windows 2016 vs windows 2012..... Cambio de licenciamiento rajando a los multinucleos.
Oracle y Microsoft son expertos en "EXPRIMIR" dinero por que se les antojo

¿También Microsoft hizo lo mismo?
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.880
Se avivó oracle y rajó a todo el mundo.

Claro. Cuando los fabricantes de procesadores comenzaron a aumentar la cantidad de núcleos se les detuvo el ingreso de plata a los vendedores de licencias.

Leí por ahí que VMware evaluó una vez licenciar por RAM.
 
Upvote 0

Soujiro

Fanático
Se incorporó
14 Enero 2008
Mensajes
1.433
Si desde el punto de vista de "cobrar" mas, no por que no te limitan "a 1 socket"
Código:
Windows Server 2016 Standard and Datacenter: Core-based licensing
Core-based licensing requires all physical cores in the server to be licensed.
Servers are licensed based on the number of processor cores in the physical server.
•     A minimum of 8 core licenses is required for each physical processor and a
minimum of 16 core licenses is required for each server.
•     Core licenses are sold in packs of two. *
Basicamente si tienes mas de 16 cores te aforran mas....

Aca esta el como era en 2012
Código:
Commercial Licensing reference guide for Windows Server 2012 R2
Here are some examples:
* Two-processor server: 2 physical processors / 2 (number of processors covered by a license) equals 1. You will need one
license to cover a two-processor server.
* Four-processor server: 4 physical processors / 2 (number of processors covered by a license) equals 2. You will need two
licenses to cover a four-processor server.
* Eight-processor server: 8 physical processors / 2 (number of processors covered by a license) equals 4. You will need
four licenses to cover an eight-processor server.
 
Upvote 0

NIN

Opteron Fanboy
Se incorporó
5 Septiembre 2005
Mensajes
1.447
solo se ajustan a la evolución tecnológica...

mientras tanto en oracle
Nota-18675-tom-cruise.jpg


probablemente incluirán un tipo de licenciamiento para los medios de almacenamiento, por dispositivo o GB, cuando los costos de estos se reduzcan mas y solo se usen unidades de estado solido
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.880
Ya, terminé la comparativa.

Tiré una batería de transacciones con el estándat TPC-E (OLPT) y TPC-H (Datawarehousing) en una plataforma Oracle RAC 11.2.0.4 de 16 núcleos por servidor contra una plataforma Oracle RAC 12.2.0.1 de 8 núcleos por servidor y los resultados me salieron iguales.

Hice pruebas con grupos de 10 en 10 usuarios hasta los 100 usuarios simultáneos. Los resultados indicaron una leve ventaja de la plataforma 12.2.0.1 en comparación con la 11.2.0.4, aún considerando que la plataforma 12.2.0.1 tenía la mitad de núcleos que la 11.2.0.4.

El acceso a disco puede que haya sido cuello de botella, lamentablemente no tengo mejor disco para apuntarle. Lo otro es que las mejoras de la versión 12.2.0.1 efectivamente sean pro.
 
Upvote 0

AlCapone

IBMer
Se incorporó
15 Octubre 2005
Mensajes
3.160
Interesante reflexión del licensing... voy a vender Power9 para consolidar en menos CPUs :sconf

Nosotros en general estamos licenciando últimamente por vCPU (eso es vCPU presentada al host virtualizado y que es igual al numero de cores en el caso de una CPU Física si vamos con fierro baremetal, cosa cada vez mas rara) o por unidad de consumo (Teras, APICalls, etc.). El modelo de licenciamiento q los clientes demandan es cada vez más OPEX y variable. Hay miles de contraejemplos en donde nuestro licensing no ha evolucionado, pero les cuento para donde va la mano... Y es en la industria... aunque algunos no se quieran dan cuenta

A menos que creas en los ULAs todavía
 
Upvote 0

Zuljin

Fundador
Miembro del Equipo
Fundador
ADMIN
Se incorporó
15 Enero 2004
Mensajes
11.880
Y no puedes quedarte con la versión que soporta más nucleos?
En algún momento tendremos que cambiar de versión.

Hay instituciones que todavía están con la versión 8 de Oracle y puta, es un cacho porque pierdes el soporte de fábrica hasta del sistema operativo.

Enviado desde mi Redmi Note 5A Prime mediante Tapatalk
 
Upvote 0
Subir