Hardware Especializado para HPC, Grid Computing y Operaciòn en la Nube

Introducción del Editor Invitado • Art Sedighi, Freelance Consultant • Agosto 2013

International readers, read this article
in English • in Chinese
Traducido por Osvaldo Perez

networked linesLa tendencia en la década de 1990 y en gran parte de la década del 2000 fue el hardware como un comodity; es decir componentes que estaban ampliamente disponibles a bajo costo; en particular con la arquitectura x86 que dominaba el Mercado. A partir de allí, la tendencia se ha tornado hacia el hardware especializado en donde la plataforma de hardware se desarrolla y construye para un propósito específico, como es el caso de las supercomputadoras BlueGene. Y ahora la tendencia está cambiando nuevamente donde vemos un movimiento hacia el hardware como comòdity reemplazando al especializado por diversas razones:

  • Ahorro de Costo. ¿Por qué debo pagar por extras innecesarios, como un Puente PCI, en un ambiente de computación de alto desempeño, (HPC) (High Performance Computing), por ejemplo?
  • Ahorro de Energía. La expansión de la infraestructura ya no es eléctricamente confiable en la medida en que los Datacenters se están quedando sin potencia y sin espacio.
  • Hambre por la Información. La avaricia es la maldad en todas las cosas. Mientras más veloces se transforman los procesadores y los servidores, mas es lo que deseamos y exigimos sobre la información como resultado de los análisis de los datos.

En síntesis, queremos más velocidad, mas barato y mejor que lo que teníamos ayer. Esto a su vez está causando un desplazamiento en el mercado especializado de procesadores, (con ARM, FPGA y GPU) que son más pequeños, con menor demanda de energía y ampliamente aplicables a un conjunto más pequeño de problemas especializados, tales como aquellos que son usuales en los ambientes de grid computing, HPC y computación en la Nube.

Sin necesidad por el Hardware exótico.

Con la amplia disponibilidad de componentes a nivel de comòdities, prácticamente cualquiera puede construir una solución de hardware especializada para alcanzar un desempeño de aplicación determinado según las restricciones que se impongan en el costo y en el consumo de energía. Los tres artículos principales del tópico de este mes de Computing Now demuestran que esta tendencia esta en alza.

En "Análisis de la Eficiencia Energética y de Costos de Clusters basados en ARM" Zhonghong Ou y sus colegas comparan las sobrecargas de trabajo al correr en procesadores x86 y ARM. En forma particular el peso de la eficiencia de costo para un ARM A9 con 4x2 núcleos versus un Core2-Q9400 con 1x4 núcleos. Desde la perspectiva del desempeño podemos esperar que el Core2 supere al procesador ARM, pero desde la perspectiva del costo y de la eficiencia energética el ARM lo supera con creces. Un procesador ARM típico consume entre 1 y 5 watts de potencia en comparación con un procesador x86 , que consume entre 40 a 60 watts, (o más de 100 watts si se agregan todos los periféricos restantes como los dirvers de disco, etc).

Los autores calculan que la eficiencia energética como la relación de la energía consumida, (desempeño de potencia) y la que se aplica;, utilizando una comparación directa entre las dos plataformas. Pueden verla en tres casos diferentes de uso:

  • Una aplicación de base de datos en memoria, utilizando SQLite
  • Una aplicación Web, utilizando Nginx y httpd
  • Transcodificaciòn de video utilizando HD-VideoBench

Para comparar, los autores calculan las relaciones de la Eficiencia de Energía, (EE) como la cantidad de procesadores ARM requeridos para realizar la misma cantidad de trabajo que la cantidad de procesadores x86. La relación EE para la aplicación de base de datos en memoria (# ARM / # Intel), fue de 2,6 – 9,5 lo cual arroja un costo de 2/3 del costo de una infraestructura basada en Intel. Las otras aplicaciones muestran también relaciones de EE mayores a 1, pero la aplicación de base de datos en memoria resulta significativa para las infraestructuras basadas en grid y en la nube, tales como son utilizadas en la gestión de datos.

En "Evaluando el desempeño y Energía en los Clusters basados en ARM para Computación de Alto Desempeño" Edson L Padoin y sus colegas llevan este enfoque un paso adelante al utilizar placas basadas en ARM para construir ambientes HPC de gran envergadura. Para su trabajo los autores utilizan placas disponibles comercialmente de PandaBoard,org (ARM A9 de 2 núcleos) y BeagleBoard.org (ARM A8). Ambas corriendo Linux Ubuntu con la versión 4.5 del compilador GNU Compiler Collection (GCC) que soporta la versión 7 de los atributos juego de instrucciones (ISA) de ARM.

A ambas placas se le aplicaron dos sobrecargas de trabajo con matrices enteras y matrices en punto flotante de 1000 x 1000. La PandaBoard con el chip A9 y los dos núcleos se comportó significativamente mejor en ambos casos 755 MFlops vs 24 MFlops. Aun con una velocidad de reloj mayor y un desempeño mucho mayor la eficiencia de energía del procesador A9 fue de 92 MFlops/Max por Watt versus el A8 con 20 MFlops/Max por Watt. El A9 ha mostrado que un aumento de la potencia computacional no necesariamente equilibra el incremento de potencia consumida.

En el último artículo, "Sobre el logro de Altas Tasas de Mensajes" Holger Fronning y sus colegas discuten su trabajo en el proyecto Extoll, en el cual ellos han creado hardware especializado para permitir muy altas tasas de mensajes comparados con las placas de los controladores de interfaces de red convencionales (NIC). Los ambientes de Grid y de Clusters se desempeñan solo tan bien como la infraestructura de comunicaciones y mensajería que les subyace. Los sistemas grandes de HPC, tales como el Procesador Masivo Paralelo (MPP) Massively Parallel Procesor y otros similares que se ubican en la lista de los 500 principales, poseen capas de redes muy acopladas e integradas para ayudar con la comunicación intraprocesador. Como resultado tienden a desempeñarse mejor que los clusters y grids, los cuales son usualmente construidos a partir de hardware de comodity disponible comercialmente, los MPP son también muy costosos en comparación con los clusters construidos con el hardware de comodity.

La placa NIC Extol es una placa especializada de 6 puertos que utiliza un Disposición de Compuertas Programables (FPGA) Field Programmable Gate Array, para permitir una configuración y reconfiguración dinámica de una red toroidal. Las características principales de Extoll son el soporte para ambientes multinucleo por medio de la virtualizaciòn de los niveles de hardware de los motores de comunicación para una sobrecarga muy pequeña y un consumo de memoria minimizado. La virtualizaciòn de la disposición de los protocolos de red subyacente hace que la integración en las aplicaciones resulte simple. El equipo ha integrado las librerías Extoll en OpenMPI.

Fronning y sus colegas han reportado que Extoll en forma consistente supera a la tasa de datos de Infiniband Quad con 40 Gbit Ethernet y a una red con Ethernet de 10 Gbit. Dicho esto, los autores están tratando de reconstruir el motor Extoll dentro de un circuito integrado especifico para aplicación (ASIC) (Application Specific Integrated Ciruit) para lograr mejorar entre 5 y 10 veces el desempeño que se ha logrado con la versión FPGA.

Conclusion

El tópico de este mes se enfoca en los procesadores ARM y los FPGA cuando se utilizan en ambientes Grid y de aplicaciones en la Nube. Estos artículos muestran la realidad de que el hardware de computación especializado ya no es solamente lo existente para construir proyectos de gran presupuesto. Los procesadores ARM, los FPGA y las GPU de propósito general se están haciendo más abundantes y efectivas económicamente ya que los bajos costos de fabricación de ellas y la creciente disponibilidad de herramientas de software que soportaban al hardware especializado. En la medida en que el ecosistema de los ARMs, los FPGAs y los GPU madure, así también lo hará su presencia en los ambientes de aplicaciones de misión crítica y de producción.

Art SedighiArt Sedighi es un consultor freelance que se especializa en el diseño e implementación de grandes infraestructuras y es miembro de cuerpo editorial de Computing Now. Posee una Maestría en Ciencias de la Computaciòn del Rensselaer Polytechnic Institute. Sus intereses profesionales incluyen la planificación y la teoría de juegos. Se lo puede contactar en: sediga@alum.rpi.edu or http://phd.artsedighi.com.

Average (0 Votes)