jueves, mayo 31, 2018

POWER9: El nuevo microprocesador de IBM que quiere romper la hegemonía Intel/AMD y de paso reparar los errores de diseño y seguridad.

Todos sabemos que Intel y AMD abarcan prácticamente todo el mercado de microprocesadores para ordenadores (tanto servidores como personales) pero la gama POWERX de IBM es menos conocida y cada vez les pisa más los talones. Tanto que ya hay empresas que se dedican a vender ordenadores con este microprocesador y arquitectura de la CPU a un precio razonable.

Figura 1: POWER9, el nuevo microprocesador de IBM que quiere romper
la hegemonía Intel/AMD y de paso reparar los errores de diseño y seguridad.

Al parecer esta nueva gama de chips fabricados por IBM tienen muchas características, tanto en el campo de la IA como en la seguridad en general, que mejora a los ya conocidos de la plataforma x86 y ARM.

Una revisión a Power9

POWER9 es la evolución de la conocida arquitectura PowerPC (aunque ya existieron previamente un Power1 y un Power2 antes de PowerPC), gracias sobre todo a Apple que la utilizó hasta el año 2006 cuando la sustituyó por x86. PowerPC ha sido el corazón de muchos dispositivos aparte de los Macs, como por ejemplo la consola Wii o incluso la PS3. De hecho, IBM siempre ha estado desarrollando por su cuenta, independientemente de su viabilidad en el mercado, esta gama de microprocesadores.

Figura 2: IBM PowerPC 601

Estos microprocesadores fueron utilizados todo en sus clásicos AS/400 o RS/6000. POWER es el acrónimo de “Performance Optimization With Enhanced RISC”, una lástima, nos hubiera gustado más la lógica Homer Simpson para darle el nombre a este chip ;). El POWER7 (2010) fue el primero de esta serie en convertirse en una opción a Intel y AMD. Pero fue la fundación de OpenPOWER en 2013 lo que finalmente abrió las puertas a esta nueva arquitectura, apoyada totalmente por IBM.

Por lo tanto, gracias a esta iniciativa se ha creado todo un ecosistema abierto donde se ofrecen todas las especificaciones (sin secretos como luego veremos) de los microprocesadores y su firmware a todos sus socios y fabricantes. Algunos de los socios de OpenPOWER son por ejemplo Google o NVidia. Además, prácticamente todas las distribuciones GNU/Linux ofrecen esta arquitectura en sus distribuciones.

Figura 3: Manual de Power9

Vamos a hacer un pequeño resumen (aquí tenéis un completo manual con toda la información técnica de la mano de IBM) de lo que ofrece el último de sus microprocesadores que ya está en el mercado, el POWER9.  Según sus especificaciones, puede tener desde 18 hasta 44 cores y es capaz de ejecutar el doble de hilos (threads) y es varias veces más rápido en operaciones de I/O que uno equivalente de arquitectura x86. Si hablamos de la CPU completo, la integración de la tecnología NVidia.

Por ejemplo, las GPU son Tesla de NVidia (640 Cores Tensor), PCI express 4.0, NVidia NVLink 2.0 lo que permite más de 150Gbit/s entre la CPU y la GPU y además también utilizan la tecnología OpenCAPI que mejora también la gestión de las operaciones I/O entre GPU y CPU. También es capaz de realizar operaciones de 128bits de alta precisión de coma flotante (quad-precission), generación avanzada de números aleatorios, etcétera.

Figura 4: Arquitectura microprocesador Power9

Como se puede deducir de sus características al utilizar GPU, Tensor Cores y una alta velocidad de I/O hacen que esta arquitectura sea perfecta para operaciones de Inteligencia Artificial y Machine Learning. Además, Google está implementando sus nuevos datacenter con POWER9, lo que le dará aún más visibilidad y publicidad a este producto de IBM.

Eso sí, antes de ir corriendo a comprarlo, hay que tener cuenta el coste de esta tecnología. Un POWER8 de 8 cores costaba 1.135$ de media (sólo el microprocesador) y unos 3.700$ por una placa base. Un POWER9 de 18 cores cuesta unos 1.375$ hoy en día y una placa base con dos sockets para CPU cuesta alrededor de unos 2.300$. La memoria es DDR4 y el resto de los componentes son también de uso general como discos duros, controladoras SATA, etcétera. Es caro ¿verdad?, pues depende de como lo mires. Por menos de 6.000$ puedes tener un ordenador POWER9 con dos CPU de 18 cores (eso sí, faltaría gastarse un poco más en los discos y la RAM).

Este precio está al mismo nivel e incluso más barato que otras marcas orientadas a servidores como HP o Dell e incluso se acerca al precio de ordenadores más “domésticos” como el iMac Pro (que cuesta 5.000$ de base). Por lo tanto, aunque aún no esté muy cerca el usuario final, se está acercando poco a poco y es asequible para una PYME. En el siguiente vídeo se explican las características de un modelo concreto, el nuevo IBM S924, que lleva como microprocesador el POWER9:


Figura 5: IBM Power9 Model S924

Entonces si son tan caros y existen otras opciones en el mercado, aunque sean a un precio similar ¿por qué POWER9? Aparte de su mejor rendimiento, velocidad y arquitectura abierta, uno de los temas que más publicitan es la seguridad.

Seguridad en IBM Power9

Todos sabemos que los fabricantes x86 introducen código en su firmware, en bloques llamados blobs, que son a veces incluso diseño de terceros. Estos blobs están cifrados y firmados por el fabricante por lo que no hay forma de acceder a ellos o incluso modificarlos o quitarlos (aún rediseñando la placa base sería imposible).

Centrándonos en el microprocesador, ya hemos tenido casos como los famosos Spectre y Meltdown imposibles de solucionar sin un rediseño del chip o incluso la forma de incluir puertas traseras durante la fabricación del mismo y no tener forma luego de detectarlas debido a esa tecnología hermética de fabricación. Esto no ocurre con POWER9 porque como ya hemos comentado, su tecnología es abierta y además está en constante desarrollo y actualizaciones por parte de la comunidad OpenPOWER.

Figura 6: Comunidad OpenPower

Pero vamos a centrarnos un momento en OpenPOWER porque aquí es donde realmente está el potencial de esta arquitectura. Desde que en 2013 IBM decidió liberar diseño, OpenPOWER ha ido creciendo hasta el día de hoy. OpenPOWER se traduce también en una especie Open Hardware ya que es posible incluso rediseñar cualquier componente de la CPU en función de las necesidades. Además, se utiliza un Open Firmware que está desarrollado por toda la comunidad OpenPOWER la cual valida y publica el código una vez comprobado su fiabilidad.

Otro de los aspectos donde POWER9 ha puesto énfasis en la seguridad es el arranque (boot). Todos recordamos como la CIA era capaz de acceder a la información de cualquier ordenador utilizando la EFI (Extensible Firmware Interface) insertando código directamente utilizando agentes con acceso físico a los ordenadores. Desde este incidente, los casos de malware orientado a la BIOS/UEFI se multiplicaron, en la BlackHat ASIA de 2017 tenéis esta charla la cual explica muy bien el estado actual de este tipo de ataques.


Figura 7: The UEFI Firmware Rootkits "myths & reality"

Para asegurar los equipos con POWER9 y evitar este tipo de ataques, se utiliza un Secure Boot avanzado el cual cada componente del firmware está encapsulado en un contenedor con una estructura especial de tres capas y además la información se encuentra firmada utilizando una llave ECDSA de 512bits la cual es generada por el fabricante del código del firmware.

Figura 8: Proceso de firma del firmware durante el arranque

Para firmar dichas llaves se utilizan a su vez llaves de diferentes componentes de hardware las cuales están almacenadas en una SEEPROM (Serial Electrically Erasable Programmable Read Only Memory), lo que hace casi imposible sustituirlas a no ser que se tenga acceso físico al equipo, se desmonte la carcasa, se cambie un jumper, se modifique y luego se deje como estaba. Luego durante el proceso de verificación del firmware es cuando se producen todos los pasos de verificación, incluido también la verificación por firma del kernel del sistema operativo utilizando Skiboot.

Figura 9: OpenPower boot flow

Como podemos observar, la seguridad ya no es sólo algo relacionado únicamente con el software, también se tiene que aplicar cada vez más al hardware en general. IBM está haciendo los deberes correctamente y es por eso por lo que veremos como poco a poco esta arquitectura se posicionará por delante de ARM y x86 en un breve periodo de tiempo. Pero, además, las especificaciones de seguridad de POWER9 hacen que sea un componente esencial para las tecnologías cloud, cada vez más emergentes para evitar sustos como los de Meltdown y Spectre.

Autor: Fran Ramírez, (@cyberhadesblog) miembro del equipo de Crazy Ideas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

3 comentarios:

mitcoes dijo...

Enhorabuena, de lo mejorcito que he leído sobre el tema, y además en castellano
A pesar de eso no encuentro benchmarks sintéticos para comparar potencias.

Varaskkar dijo...

Desconocía todo el entorno relacionado con Power, y en este artículo lo habéis reunido de forma muy concisa. Gran artículo.

Jimmy_Olano dijo...

¡Hola, aquí de nuevo! El 20 de agosto de 2019 la empresa IBM® anunció dos importantes decisiones [1]Su hardware abierto pasa a ser, de facto, hardware libre pues no cobrarán absolutamente nada por patente alguna (ver caso parecido de MySQL) y, para garantizarlo y coordinarlo: [2]la "OpenPOWER Foundation" queda a las órdenes de la "Linux Foundation". Los detalles en Youtube: id vídeo v95CNTCCim0 o en la propia web "OpenPOWER Foundation", ¡el futuro serácontado en un nuevo artículo, lo único constante es el cambio!

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares