30 de junio de 2003, Vol 4, no. 2
ISSN: 1607-6079

 

 

En esta sección se presenta una descripción de los términos utilizados en el mundo de los clusters. El concepto clustering se refiere a una técnica que permite combinar múltiples sistemas para que trabajen en paralelo y se comporten como un recurso informático unificado para: servir a un grupo de tareas, proporcionar tolerancia a fallos y tener disponibilidad continua. Por ejemplo, en el caso de usuarios de Internet, el clustering proporciona bases de datos, correo electrónico, ficheros u otros servicios de sistema sin interrupciones. Si se presentara una falla dentro de una red de servidores de un cluster, ésta se corregiría inmediatamente sin que los usuarios lo notaran. Dentro de esta técnica existen una serie de conceptos fundamentales que se describen a continuación. Comencemos por explicar el concepto de paralelismo, que consiste en el procesamiento de una serie de instrucciones de un programa, que son ejecutadas por múltiples procesadores que trabajan de manera independiente. El paralelismo puede manejarse en dos niveles: paralelismo del hardware y el software. El primero depende básicamente de la tecnología de cómputo disponible, mientras el segundo se refiere a la habilidad del usuario para encontrar áreas bien definidas del problema por resolver, de tal forma que éste pueda ser dividido en partes autónomas que serán distribuidas entre los nodos del cluster, obteniendo un sistema de alto rendimiento computacional.

Por otro lado está el concepto de multiprocesamiento, una característica del sistema operativo que controla el hardware. El software asegura la interacción entre los procesadores a nivel de carga y descarga de datos, además de realizar el despacho de trabajos en forma múltiple, independiente y simultánea. Otro concepto fundamental es la programación de hebras (programming threads). Una hebra (thread) es una secuencia de instrucciones ejecutables que pueden correr independientemente, compartiendo recursos computacionales con otras hebras. En un programa hay la posibilidad de ejecutar varias hebras simultáneamente. Cuando esto ocurre todas las hebras activas pueden competir y compartir los recursos del sistema. Por lo tanto, el usuario ha recurrido a la programación multi-hebras (multithread) que trae como consecuencia la concurrencia entre procesos y tiene una gran importancia en el cómputo paralelo (para obtener una descripción más detallada, ver E. Cuadros 2001).


CLUSTERS-BEOWULF
QUE ES UN CLUSTER?
CLUSTER EN LA UNAM
PRUEBAS
CLASIFICACIÓN DE CLUSTERS
CONCEPTOS BÁSICOS
APLICACIONES DE CLUSTERS
CODIGO ZEUS-MP