Saltar al contenido

Top 10 del HPC 500, Junio 2017

El HPC es una de las múltiples disciplinas que me interesan, no en vano es uno de los entornos más exigentes a la hora de su diseño. También y con un enfoque menos tecnológico,  es un indicador interesante del nivel de inversión de un país en I+D.

Periódicamente analizaré los cambios más significativos e interesantes en esta lista:

 

ank System Cores Rmax (TFlop/s) Rpeak (TFlop/s) Power (kW)
1 Sunway TaihuLight – Sunway MPP, Sunway SW26010 260C 1.45GHz, Sunway , NRCPC
National Supercomputing Center in Wuxi
China
10,649,600 93,014.6 125,435.9 15,371
2 Tianhe-2 (MilkyWay-2) – TH-IVB-FEP Cluster, Intel Xeon E5-2692 12C 2.200GHz, TH Express-2, Intel Xeon Phi 31S1P , NUDT
National Super Computer Center in Guangzhou
China
3,120,000 33,862.7 54,902.4 17,808
3 Piz Daint – Cray XC50, Xeon E5-2690v3 12C 2.6GHz, Aries interconnect , NVIDIA Tesla P100 , Cray Inc.
Swiss National Supercomputing Centre (CSCS)
Switzerland
361,760 19,590.0 25,326.3 2,272
4 Titan – Cray XK7, Opteron 6274 16C 2.200GHz, Cray Gemini interconnect, NVIDIA K20x , Cray Inc.
DOE/SC/Oak Ridge National Laboratory
United States
560,640 17,590.0 27,112.5 8,209
5 Sequoia – BlueGene/Q, Power BQC 16C 1.60 GHz, Custom , IBM
DOE/NNSA/LLNL
United States
1,572,864 17,173.2 20,132.7 7,890
6 Cori – Cray XC40, Intel Xeon Phi 7250 68C 1.4GHz, Aries interconnect , Cray Inc.
DOE/SC/LBNL/NERSC
United States
622,336 14,014.7 27,880.7 3,939
7 Oakforest-PACS – PRIMERGY CX1640 M1, Intel Xeon Phi 7250 68C 1.4GHz, Intel Omni-Path , Fujitsu
Joint Center for Advanced High Performance Computing
Japan
556,104 13,554.6 24,913.5 2,719
8 K computer, SPARC64 VIIIfx 2.0GHz, Tofu interconnect , Fujitsu
RIKEN Advanced Institute for Computational Science (AICS)
Japan
705,024 10,510.0 11,280.4 12,660
9 Mira – BlueGene/Q, Power BQC 16C 1.60GHz, Custom , IBM
DOE/SC/Argonne National Laboratory
United States
786,432 8,586.6 10,066.3 3,945
10 Trinity – Cray XC40, Xeon E5-2698v3 16C 2.3GHz, Aries interconnect , Cray Inc.
DOE/NNSA/LANL/SNL
United States
301,056 8,100.9 11,078.9 4,233

 

Muy interesante me parece la circunstancia de que el Nº 1 no este basado en Xeon y que sea Chino, ya que esto puede suponer una tendencia para futuras instalaciones del gigante asiático, habrá que estar atentos a este nuevo procesador y a posibles variantes como Phytium.

Estados Unidos ha quedado relegado al 4º puesto, lo que no es nada habitual,  veremos cuanto tardan en sorprendernos con un nuevo gigante.

Se consolidan las instalaciones basadas en Xeon Phi, y  NVIDIA TESLA

 

 

El primer súper computador con ARM ya esta aquí

A mediados de Julio de 2017, recibíamos la nota de prensa de BULL, anunciando su nueva serie de súper computadores, denominada Sequana  y la presentación del X1310, el primer modelo basado en ARM v8.

es interesante ver como aparecen opciones alternativas al XEON de Intel en el teatro del HPC, que por otro lado últimamente esta bastante animado, con anuncios como el de ARM, Phytium, Sunway, etc.

Grafeno, el futuro (o no) de los procesadores

Como muchos sabéis, la ley de Moore formulada en los años 60 sigue vigente y según parece garantizada su validez hasta al menos el 2023.

Ley de Moore

 

Muchos eran los agoreros que decían que los limites del Silicio estaban muy cerca y que la huida hacia adelante de añadir cada vez más cores y confiar en las mejoras en la miniaturización de los chips eran a la larga una vía muerta. La realidad es que conseguir mejoras en la tecnología de miniaturización es muy costoso y las empresas están teniendo dificultades o retrasos para dar el salto a los 10 manómetros para fabricación en masa y los 7 nanómetros no han llegado aún a las plantas piloto.

Nuevos materiales y su problemática:

Con el descubrimiento de nuevos materiales como el grafeno o el fluoreno, se ha abierto una vía nueva de desarrollo que según los expertos, permitirá sobrepasar las limitaciones de los actuales chips, consiguiendo rendimientos 1.000 veces superiores a los actuales chips de Silicio.

El principal problema del Grafeno frente al Silicio, es que este último es un semi-conductor, es decir podemos cambiar sus propiedades conducción eléctrica, mientras que el grafeno es un conductor por defecto, lo cual dificulta la implementación de transistores. En este sentido el fluoreno (que si es semi conductor), se anuncia como una alternativa al grafeno, antes de que este haya salido de la fase experimental.

Es importante indicar que hoy por hoy no existe ningún chip de grafeno, unicamente laminas con impresión de transistores funcionales, lo que indicaría que podría tratarse de un proyecto viable técnicamente.

En cualquier caso, sea el grafeno , el fluoreno o cualquier otro, lo importante es que estos nuevos materiales permitirían importantes mejoras en la miniaturización de los chips, logrando así aumentar espectacularmente su rendimiento, a la vez que reduciendo los consumos.

 

 

 

 

Web Scale conceptos de arquitectura

Web-Scale es uno de esos conceptos que utilizamos habitualmente en Arquitectura de Sistemas y que de un tiempo a esta parte escuchamos con más asiduidad, pero ¿qué es exactamente?.

Web Scale nube de palabras

Definición de Web Scale:

 

Utilizamos este termino para indicar que un determinado servicio o arquitectura debe poder escalar con facilidad y rapidez para atender a un gran número de usuarios.

El termino “web” se usa ya que es en está tecnología o ámbito donde con más frecuencia los sistemas deben ser Web-Scale, pensemos por ejemplo en servicios como Facebook, Gmail, etc. que no paran de crecer o en páginas web que deben poder aumentar su capacidad para atender picos de usuarios.

 

Se trata por tanto de una nueva forma de diseñar nuestros sistemas, teniendo en cuenta no solo los aspectos tradicionales como:

  • Diseño modular
  • Seguridad
  • Interoperatividad
  • etc.

a partir de ahora nuestros sistemas deben estar preparados para afrontar el reto de convertirse en un Facebook, Twitter o similar sin morir de éxito 🙂

 

Los problemas de escalado:

En realidad no es nada fácil diseñar sistemas que soporten el reto del Web-Scale, implica conocimientos avanzados de múltiples tecnologías y engloba no solo a la arquitectura de sistemas, también al propio diseño de las aplicaciones (fase de desarrollo). Diseñar una aplicación determinada que soporte 10 usuarios concurrentes es muy sencillo, si subimos a 100 empezaremos a encontrar algún problemilla, si pasamos 1000, 10.000……… solventar esa problemática es el origen del Web Scale.

 

 

Big Switch’s llega a un acuerdo con HPE

Big Switch’s comercializa tecnología de software-defined networking (SDN) y recientemente a llegado a un acuerdo con HPE para equipar algunos de los switches SDN con su tecnología, en un acuerdo similar al que ya tiene con DELL.

Switch HPE Altoline

<Switch HPE Altoline cortesía de HPE>

 

Es un movimiento muy interesante, porque poco a poco están ganando cuota de mercado.

Python on Windows (multi versión)

Tener un entorno de Python funcional, es una de esas cosas indispensables si trabajamos habitualmente con sistemas y queremos automatizar algún tipo de tarea.

Logo Python

En un equipo Linux o Unix es relativamente normal contar de base con una instalación del mismo (o es sumamente sencillo instalarlo), en Windows aunque no lo encontraremos instalado de base no es mucho más complicado tenerlo.

 

Lo primero es ir a la página de descarga del proyecto Python (aquí) y elegir la versión a instalar.

 

Versiones de Python

 

como podemos ver, tenemos dos opciones la 2.7.x y la 3.6.x

¿Que versión instalar?

La mayoría de los scripts antiguos estarán desarrollados para la 2.7, si el script es moderno o queremos desarrollar uno nuevo, quizás nos interese más la 3.6. En este post os enseñare a instalar y tener disponibles ambas versiones, así que debéis descargar las dos.

 

Descarga_Python

 

 

Instalando la 2.7

Lanzamos el ejecutable

 

Instalación Python

 

seleccionamos el path de instalación

 

Instalación Python

 

 

seleccionamos las personalizaciones que queramos

 

Instalación Python

 

en nuestro caso añadiremos el path

 

Instalación Python

 

 

y finalizamos la instalación

 

 

Instalación Python

 

en este punto podemos abrir una linea de comando y verificar la instalación

 

Verificamos instalación

 

ya tenemos la versión 2.7.x de Python operativa.

 

Instalando la 3.6

Instalamos la 3.6.x (proceso de instalación muy parecido), unicamente deberemos quitar el “path length limit”, por si tenemos un path relativamente largo

 

Instalación Python

 

hacemos una copia del ejecutable de python y lo llamamos python3

 

instalando Python

 

aquí podemos ver el nombre de fichero modificado

 

Instalacion Python

 

el siguiente paso sería incluir el path a python3 en nuestras variables de entorno

 

Instalación Python

 

lo que nos interesa es la variable path

 

Instalación python3

 

donde añadiremos nuevas las rutas de python3

 

Instalación Python3

 

y con esto ya tendríamos operativos los 2 entornos de Python

 

verificando instalación python

 

 

 

 

 

 

 

Virtualizar Oracle, mini guía de licenciamiento (2/2)

Continuando con el artículo anterior  “Virtualizar Oracle, mini guía de licenciamiento (1/2)“, que la verdad ha despertado bastante interés (o al menos generado feedback por vuestra parte), voy a intentar aclarar algunos aspectos alrededor del licenciamiento de este popular motor de RDBM.

Logo Oracle

Antes que nada recordar que este post no pretende ser una guía de licenciamiento o Best Practices de Oracle (para ello podéis dirigiros a www.oracle.com o a vuestro AM/Partner de confianza, que os podrá ayudar), pero sí aclarar desde mi experiencia, alguna de las preguntas que siempre se plantean.

Entornos de Desarrollo, Test, Pre-Producción…. ¿tengo que licenciarlos?

 

Toda instalación de Oracle debe estar licenciada adecuadamente, ahora bien, existen diversos modelos de licenciamiento (OTN, OMA, OSA, ULA,…). Cuando descargamos software de la OTN ( Oracle Technology Network (OTN) ), aceptamos el modelo de licenciamiento OTN que dice algo así como :

..this limited license allows the user to develop applications using the licensed products as long as such applications have not been used for any data processing, business, commercial, or production purposes….

es decir, podremos usar esta licencia “gratuita” para desarrollar, siempre y cuando no hagamos un uso comercial de la misma, o ejecutemos sobre ella ningún tipo de acción ajeno al desarrollo.

Cualquier entorno de Pre, validación, test, etc., necesitaría por tanto ser licenciado, salvo que lo tratemos como un entorno de desarrollo y ojo!!, no hagamos sobre ellos ninguna labor distinta a los tests propios asociados al desarrollo.

 

Procesadores y factor de corrección

Oracle puede desplegarse sobre distintas arquitecturas (X86, Power, UltraSparc, etc.) y el licenciamiento cambia de un procesador a otro en un factor multiplicador o de corrección. Esto significa que una vez tengamos nuestro número de procesadores, deberemos multiplicarlo por el factor de corrección asociado a esa CPU y tendremos el nº final de licencias necesarias.

 

Podéis consultar la tabla (Oracle la actualiza periódicamente), aquí.

 

VMWare certificado / Soportado para Oracle

Este es otro de los temas que genera bastante confusión.  VMWare NO esta certificado oficialmente para Oracle, pero si soportado, lo que significa que si tenemos un problema podremos acudir al soporte de Oracle y ellos nos ayudaran, pero al no ser un entorno certificado, pueden pedirnos que movamos nuestra BBDD a un entorno certificado para continuar dándonos soporte.

VMWare DRS, afinidad de Hosts  y Oracle

Desde la versión 5.1, Oracle considera necesaria licenciar todos los hosts pertenecientes a un vCenter que vaya a ejecutar una RDBM Oracle, independientemente de que establezcamos DRS con afinidad de Hosts.

Podéis encontrar más información al respecto aquí.

 

Disclaimer: este artículo se basa en mi experiencia y conocimiento del modelo de licenciamiento de Oracle a Agosto de 2017. Es importante remarcar que el modelo de licenciamiento puede cambiar o lo aquí indicado puede contener alguna errata involuntaria, es por ello que el lector se hace responsable del uso que haga de la misma.

 

Información adicional:

http://www.oracle.com/us/corporate/pricing/sig-070616.pdf

http://www.oracle.com/us/corporate/pricing/databaselicensing-070584.pdf

http://www.oracle.com/us/corporate/pricing/partitioning-070609.pdf

http://www.oracle.com/us/products/database/enterprise-edition/comparisons/index.html

https://blog.dbi-services.com/all-you-need-to-know-about-oracle-database-licensing-with-vmware/

Virtualizar Oracle, mini guía de licenciamiento (1/2)

En lo muchos proyectos de diseño de arquitecturas y virtualización de CPDs que he podido realizar a lo largo de mi carrera profesional (y seguramente en muchos de los que vendrán), hay siempre un tema recurrente, virtualizar o no virtualizar las BBDD Oracle. Bien, este post no pretende ser una guía de licenciamiento o Best Practices de Oracle (para ello podéis dirigiros a www.oracle.com o a vuestro AM/Partner de confianza, que os podrá ayudar), pero sí aclarar desde mi experiencia, alguna de las preguntas que siempre se plantean.

 

Logo Oracle

¿Cual es el modelo de licenciamiento?

Oracle BBDD se licencia por procesador, lo que quiere decir que en una máquina física que vaya a correr una BBDD Oracle se debe licenciar todos los procesadores que esa máquina tenga.

 

¿Qué pasa con los entornos virtuales?

Esta es la madre del cordero. La respuesta es que deberemos licenciar todos los procesadores físicos susceptibles de ejecutar la BBDD, ¿qué significa esto?, que si tenemos por ejemplo 3 hosts con 2 sockets de 10 cores cada host, integrantes de un cluster por ejemplo de vSphere, deberemos adquirir 6 licencias, independientemente del nº de cores virtuales que tenga la máquina virtual creada para alojar la BBDD Oracle.

La explicación a la situación anterior es que Oracle interpreta que la máquina virtual que corre la BBDD puede ejecutarse sobre todos los procesadores disponibles en el cluster (por ejemplo al hacer vMotion, estaríamos moviendo la máquina a otro host, que por tanto debe ser licenciado).

¿Que ocurre si establezco reglas de afinidad a procesador o alguna técnica similar?

Oracle no considera que reglas de afinidad a procesador o tecnologías similares, sean garantía de que se va a limitar de manera real lo cores involucrados, por lo tanto deberemos licenciar todos nuestros cores.

El fabricante X (diferente de Oracle) tiene una formula mágica para consumir menos licencias, ¿lo creo?

Cantos de sirena al margen, el único fabricante que establece el modelo de licenciamiento de Oracle es Oracle, por lo que todo lo que sea apartarnos de ese modelo podrá acarrearnos problemas a futuro con el soporte o con el licenciamiento.

 

¿De verdad Oracle me obliga a licenciar todos los cores de mi infraestructura?

No, Oracle contempla dos tipos de particionamiento de una máquina:

  • Físico o Hard Partitioning: lo que hacen las máquinas particionables tipo M6, M7, P-series, etc.
  • Lógica o Soft: VMWare y el resto de Hypervisores caen en esta categoría

pues bien si establecemos particiones fisicas solo tendremos que licenciar los cores en las particiones que corran Oracle, es decir si establecemos una partición de 10 procesadores, solo adquiriremos 10 licencias, aunque nuestra máquina tenga 200 procesadores.

 

¿Hay diferencia entre Hypervisores?,

La respuesta es que todos los Hypervisores se tratan de igual manera, salvo el propio de Oracle que en este caso tiene un trato que resulta claramente ventajoso frente a otras opciones como VMWare, AHV, KVM, etc.

 

El motivo de que OVM salga beneficiado es que pueden ser configurados como Oracle Trusted Partition, lo que les permite licenciarse como si de una partición física se tratase.

 

Disclaimer: este artículo se basa en mi experiencia y conocimiento del modelo de licenciamiento de Oracle a Agosto de 2017. Es importante remarcar que el modelo de licenciamiento puede cambiar o lo aquí indicado puede contener alguna errata involuntaria, es por ello que el lector se hace responsable del uso que haga de la misma.

 

Información adicional:

http://www.oracle.com/us/corporate/pricing/sig-070616.pdf

http://www.oracle.com/us/corporate/pricing/databaselicensing-070584.pdf

http://www.oracle.com/us/corporate/pricing/partitioning-070609.pdf

http://www.oracle.com/us/products/database/enterprise-edition/comparisons/index.html