• No se han encontrado resultados

Arquitecturas con varios procesadores

In document 1. HISTORIA DE LA COMPUTACIÓN (página 48-51)

D) LOS PERIFÉRICOS USB (Bus universal estandar)

2.5 Otras arquitecturas

2.5.1 Arquitecturas con varios procesadores

Los enfoques antes mencionados (memoria entrelazada, pipeline), y algunos otros, son formas efectivas de aumentar la velocidad y eficiencia de procesadores individuales. No obstante, existen aplicaciones en las cuales el uso de un procesador individual, por muy rápido que sea, es inadecuado. Modelos para solucionar problemas ubicados en campos del conocimiento tales como: el pronóstico del tiempo, simulaciones macroeconométricas y de urbanismo, astronomía, física y química atómica, requieren del manejo de enormes volúmenes de datos, que de procesarse en una computadora de procesador único, aún trabajando a la velocidad de la luz, provocarían tiempos de respuesta inaceptables. Para tales aplicaciones, la solución es conectar varios procesadores en una computadora de procesamiento en paralelo real.

Al diseñar máquinas paralelas se presentan una gran cantidad de opciones de diseño, éstas incluyen la definición del número y naturaleza de los procesadores que deberán conectarse, la forma en que se enlazarán los procesadores entre sí y con la memoria y el nivel de complejidad de cada uno de éstos.

Cuando las computadoras paralelas cuentan con procesadores iguales se dice que se trata de máquinas homogéneas, en tanto que si poseen procesadores especializados diferentes entre sí, se hablará de equipos heterogéneos.

Ya han sido desarrolladas algunas computadoras heterogéneas y otras se encuentran en etapa de diseño. Las máquinas hasta el momento construidas generalmente tienen dos clases de procesadores: un procesador de propósito general y otro especial destinado a realizar operaciones de punto flotante. También se han construido otros sistemas que combinan procesadores especializados con arquitecturas diseñadas especialmente para aplicaciones de inteligencia artificial, graficación, bases de datos y procesamiento numérico, aunque todavía ninguno como grandes sistemas comerciales.

El sistema de interconexión por medio del cual los procesadores pueden compartir información entre éstos y con las unidades de memoria es una de las características más importantes en cualquier sistema paralelo, y también un área donde se observa una gran variedad de diseños en los sistemas paralelos. En un método, conocido como de memoria compartida, todos los procesadores se conectan a un sistema de memoria común ya sea por conexión directa, con una red de conexiones, o por medio de lo que se conoce como un bus de memoria.

En un sistema de memoria compartida cada localidad de datos está disponible directamente por cada procesador. Si el procesador requiere datos para realizar su trabajo, simplemente los lee de la memoria. Puesto que otros procesadores pueden continuamente modificar los datos almacenados, debe tenerse cuidado de que ningún procesador lea de alguna localidad de memoria antes de que el valor apropiado haya sido colocado. La mayor parte de la coordinación necesaria se realiza por medio de software, aunque alguna asistencia del hardware también es útil. Por ejemplo, en algunos sistemas ciertas áreas de memoria están reservadas para elementos que pueden llevar registro de si se ha escrito ya en ciertas localidades, con objeto de prevenir un intento prematuro de tener acceso a los datos que dichas localidades deberán contener.

Un enfoque alterno, que elimina problemas de congestión de bus consiste en agregarle cierta cantidad de memoria a cada procesador y conectar el par procesador-memoria (o nodo, como es conocido frecuentemente en este contexto). Los sistemas construidos sobre estas directrices se dice que poseen memoria local (conocida también como memoria distribuida).

Han sido desarrollados muchos esquemas de conexión de nodos en sistemas de memoria distribuida. El diseño de tales sistemas tiene diferentes metas: la comunicación entre nodos deberá ser rápida, ningún nodo en particular podrá presentar demasiadas conexiones y la topología de las conexiones deberá reflejar de alguna forma la geometría del problema que se pretende resolver.

Uno de los esquemas de interconexión más simples es el anillo, en éste cada nodo está conectado a otros dos y la línea de conexión forma una circunferencia. Otro esquema relativamente simple es la mafia, donde cada nodo se conecta con sus cuatro vecinos más cercanos. Aunque cualquier cantidad de nodos puede conectarse en anillo o en malla, la cantidad de conexiones que cada nodo debe presentar es pequeña (dos o cuatro, respectivamente). El procesador en memoria puede tener acceso a su propia memoria a una velocidad adecuada, en tanto que los canales de comunicación se emplearán para manejar el tráfico sólo entre algunos nodos.

Estas topologías simples presentan algunas desventajas. La cantidad de nodos necesarios para transmitir un mensaje entre dos nodos puede ser muy grande (por ejemplo, en un anillo, puede involucrar a la mitad de los nodos), lo que trae por resultado largos retrasos. Si un nodo no encuentra una tarea que lo mantenga ocupado mientras espera la llegada de los datos, sus recursos estarán ociosos, mientra que si se requieren datos de otros nodos con frecuencia, se desperdiciará mucho poder computacional.

Una forma de aminorar el problema se presenta empleando una topología ligeramente más elaborada conocida como esquema de n-cubo o hipercubo. En este esquema los nodos se conectan como si estuvieran colocados en las esquinas de un cubo multidimensional. Por ejemplo, ocho nodos se conectan en un 3-cubo (cubo de tres dimensiones), mientras que 16 nodos se distribuirían en una topología que modela un cubo de cuatro dimensiones.

En vista de las diferencias entre las topologías disponibles para sistemas de memoria compartida y de memoria local, es natural intentar combinar ambas. Por ejemplo, es posible imaginar un sistema híbrido donde cada nodo conste de un número reducido de procesadores que compartan una unidad de memoria. Los nodos (denominados clusters en este contexto), podrían conectarse mediante una topología de malla o hipercubo.

Servidores

Pueden ser una computadora o un dispositivo en una red encargado de administrar los recursos de

ésta; por ejemplo, un servidor de archivos es un dispositivo destinado a almacenar y guardar archivos; por ello, cualquier usuario en la red puede tener archivos en éste. Por su parte, un servidor de impresión es una computadora que controla una o más impresoras, mientras que un servidor de red es una computadora que administra el tráfico de la red; finalmente, un servidor de base de datos es un sistema informático que procesa consultas a la base de datos.

Los servidores son a menudo dedicados, esto significa que no realizan ninguna otra tarea más que la funcionar como servidor. En sistemas operativos de multiproceso, una sola computadora puede ejecutar varios programas al mismo tiempo; así un servidor se relaciona más con el programa que administra los recursos que con la computadora entera.

Estaciones de Trabajo

Corresponden a un tipo de computadora utilizada para aplicaciones de ingeniería (CAD/CAM), publicaciones de escritorio, software de desarrollo y otro tipo de usos donde se requiere una cantidad moderada de potencia de cómputo, además de capacidad de alta calidad en gráficos.

Las estaciones de trabajo vienen con una pantalla de alta resolución para los gráficos, por lo menos 64 MB (megabytes) de RAM, soporte de red incorporada y una interfaz gráfica para el usuario. Además la mayoría de éstas poseen un dispositivo de almacenamiento masivo, como un manejador de disco; otras, de tipo especial no lo integran. Los sistemas operativos más comunes para las estaciones de trabajo son UNIX y Windows NT.

En términos de potencia de cómputo, las estaciones de trabajo se encuentran entre las computadoras personales y las minicomputadoras, aunque esta diferencia es cada vez menor.

Como las computadoras personales, la mayoría de las estaciones de trabajo son de un simple usuario. De esta forma, se conectan juntas para formar una red de área local, aunque pueden ser utilizadas como sistemas independientes.

Los principales fabricantes de estaciones de trabajo son Sun Microsystems, Hewlett-Packard Company, Silicon Graphics y Compaq.

En el área de redes, las estaciones de trabajo se refieren a cualquier computadora conectada a una red de área-local. En ese sentido, puede ser una estación de trabajo o una computadora personal.

In document 1. HISTORIA DE LA COMPUTACIÓN (página 48-51)

Documento similar