Tendencias | Artículos | 11 DIC 1998

Arquitecturas de Altas Prestaciones

Numa, Uma y SMP
Moisés Camarero, Técnico Especialista de Hewlett-Packard Española.

Aunque el rendimiento de los procesadores no cesa de aumentar, muchas aplicaciones siguen necesitando mayores prestaciones . Esta potencia espectacular la proporcionan las máquinas de procesamiento paralelo . El crecimiento de este mercado ha sido considerable en los últimos años . Muchos fabricantes han lanzado productos con arquitecturas y nombres diversos, y hoy en día los consumidores de tecnología se enfrentan a mensajes y definiciones confusas y muchas veces contradictorias .

Con el fin de clarificar este oscuro mundo, vamos a clasificar las arquitecturas paralelas existentes, explicando las fortalezas y debilidades de cada una de ellas . Cabe mencionar que ninguna de las arquitecturas es netamente superior a las demás en todos los campos . La mejor elección dependerá de nuestras necesidades y de las aplicaciones que vayamos a ejecutar .

Fundamentalmente existen dos categorías: las arquitecturas UMA ( Acceso Uniforme a Memoria ) y NUMA ( Acceso No Uniforme a Memoria ) . En las arquitecturas UMA la memoria está consolidadada en un solo bloque y en las tecnologías NUMA la memoria está distribuida en varios puntos del sistema, por lo que el tiempo de acceso a memoria depende del lugar accedido . Cada categoría presenta varias implementaciones, pero antes de pasar a explicarlas haremos una clasificación general:

UMA:

• Sistemas de Multiprocesamiento Simétrico ( SMP )

NUMA:

• Red Distribuida

• SMP Paralelo

• ccNUMA

• Procesamiento Masivamente Paralelo ( MPP )

Arquitecturas UMA ( Acceso Uniforme a Memoria )

Sistemas de Multiprocesamiento Simétrico ( SMP ) :

Los sistemas de Multiprocesamiento Simétrico ( SMP ) son los arquitecturas paralelas más sencillas y más populares . Existen multitud de ejemplos comerciales como los HP 9000 Clase K, T y V, los Sun UE6000 y E10000, DEC 8400 o IMB RS/6000 J50 y R50 .

En estos sistemas un conjunto de procesadores reducido ( como máximo unas pocas decenas ) comparten todos los recursos ( memoria, I/O, discos, etc . ) y ejecutan conjuntamente las tareas . La gran sencillez de este modelo permite que una sola copia del sistema operativo gestione los recursos de forma totalmente transparente al usuario y a la aplicación . Hay algunas excepciones en que conviven complicadamente varios sistemas operativos en la misma máquina, como en el UE10000 .

Las ventajas de los sistemas SMP son la facilidad de programación ( el sistema operativo gestiona todos los recursos de forma transparente ) , la facilidad de crecimiento ( si se necesita más potencia se añaden nuevos procesadores ) y la facilidad de manejo, además de la eficiencia en la ejecución de operaciones colaborativas ( por el hecho de que todos compartan una única memoria ) . Las principales desventajas son su escalabilidad limitada a unas pocas decenas de procesadores y la disponibilidad ( como todos los recursos son únicos y compartidos al fallar cualquiera de éstos falla toda la máquina ) .

Los sistemas SMP son adecuados para la mayoría de las aplicaciones, especialmente aquellas que requieren alta eficiencia en el uso de memoria compartida, como los Sistemas de Soporte a la Decisión ( DSS ) y de Procesamiento de Transacciones On-Line ( OLTP ) . Hoy en día los sistemas SMP son capaces de satisfacer las necesidades de la inmensa mayoría de los usuarios .

Los sistemas SMP pueden llegar a tener una potencia asombrosa . Por ejemplo los nuevos servidores SMP V2500 de HP superan en potencia al mítico DeepBlue que ganó a Kasparov .

Arquitecturas NUMA

Redes Distribuidas:

La red distribuida ha sido introducida recientemente como solución comercial, aunque es una vieja idea que proviene de los tiempos en que nacieron las redes . En la emoción de aquellos años se pensó que sería posible coordinar una red de muchos ordenadores pequeños y baratos para resolver problemas más grandes .

La realidad es que las redes distribuidas sólo funcionan bien con aplicaciones que pueden ser particionadas, de modo que cada ordenador ejecute independientemente una parte . La cuestión es que esos problemas se encuentran básicamente en el ámbito técnico . En los problemas del “mundo real” la necesidad de comunicación entre las ordenadores es tan grande que éstos pasan la mayoría del tiempo parados esperando respuestas . A esta ineficiencia se une la dificultad de administración de estos entornos .

Aunque las redes distribuidas tengan una aplicación muy limitada, el principio en el que se basan sigue teniendo validez: si necesitamos más potencia, conectamos varios sistemas . En los años siguientes se ha avanzado mucho en la capacidad de interconexión, hasta el punto de que en la tecnología ccNUMA se ha conseguido que varios sistemas conectados se comporten como uno sólo mucho más potente .

SMP Paralelo:

La arquitectura SMP Paralela sigue el sencillo principio antes expuesto: interconectar varios sistemas SMP ( nodos ) mediante una red de alta velocidad para que todos trabajen colaborativamente sobre una sola aplicación .

Con los sistemas SMP Paralelos se elimina la limitación en el número de procesadores de los sistemas SMP, consiguiendo tener varios cientos de procesadores en un solo sistema . Además muchas aplicaciones comerciales presentan versiones especiales para este tipo de arquitectura ( por ejemplo Informix XPS, Oracle OPS o Sybase MPP ) . Estas versiones reparten las tareas a realizar entre los nodos de tal modo que se minimice la interacción entre ellos, logrando rendimientos realmente altos . Además los nodos pueden programarse para asumir las tareas de otros en caso de fallo, aumentando de este modo la disponibilidad .

Las ventajas de estos sistemas son la mayor y más fácil escalabilidad ( para conseguir más potencia se añaden más nodos ) y la alta disponibilidad . Entre las desventajas se cuentan la necesidad de una copia del sistemas operativo por nodo y su menor eficiencia en el manejo de operaciones que requieran memoria compartida ( el acceso a la memoria de otro nodo es más lenta porque se hace a través de la red de interconexión ) .

Los sistemas SMP paralelos se han convertido en el estándar para los Sistemas de Soporte a la Decisión ( DSS ) de tamaño pequeño a grande y para Procesamiento de Transacciones ( OLTP ) pequeño a mediano ( hasta 1 Terabyte aproximadamente )

Algunos ejemplos de arquitecturas SMP Paralelas son el sistema de HP Enterprise Parallel Server ( EPS ) , el de IBM RS/6000 SP ( SP2 ) SMP-based o el NCR WorldMark 5100M .

La solución EPS de HP es tan flexible que admite la integración de hasta 16 nodos que pueden ser servidores HP de varios tipos ( incluso ccNUMA ) . De este modo satisface perfectamente tanto las necesidades de un programa de consolidación de servidores como de un incremento de la potencia disponible ( con 16 nodos ccNUMA tendríamos hasta 2048 CPUs ) .

ccNUMA:

El modelo SMP Paralelo ofrece muchas ventajas: fácil aumento de la potencia disponible, alta disponibilidad y gran flexibilidad . Su principal desventaja es la separación de la memoria en varios nodos, lo que reduce su eficiencia en aplicaciones que hagan un uso intensivo de memoria compartida .

Este problema se elimina con la tecnología ccNUMA . En ella también se tienen varios nodos SMP, pero se interconectan de tal modo que se comportan como si fueran uno solo . El sistema operativo gestiona complejas redes de interconexión que permiten que la memoria y demás recursos, físicamente separados, aparezcan como si no lo estuvieran . Con este esquema se simplifica la programación y se aumenta la eficiencia de las ap

Comentar
Para comentar, es necesario iniciar sesión
Se muestran 0 comentarios