Básicamente hay dos formas de incrementar el rendimiento del hardware, la primera es incrementando la velocidad del procesador, lo cual con lleva a la disminución del tamaño de los componentes, pero esta solución se ve limitada por las leyes de la física, ya que al hacer los componentes mas pequeños con la finalidad de incrementar su velocidad, comienzan a aparecer corrientes de fuga, corrientes que deberían detenerse en una compuerta lógica determinada, pero que debido a la proximidad saltan de una compuerta a otra, produciendo errores inesperados. La otra forma es tomar los componentes, replicarlos y duplicar sus estructuras para hacer un efecto de «la unión hace la fuerza».
Como podemos ver los avances tecnológicos en los microprocesadores actuales nos han llevado a esta ultima opción, en la cual podemos ver que los procesadores multinucleo actuales son fruto de esta estrategia, esta solución no es realmente nueva pues se ha implementado desde hace mucho tiempo atrás en los sistemas multiprocesadores, en los cuales se operan varios procesadores de alta velocidad en paralelo.
La idea principal de los sistemas de multiprocesadores es lograr la unión de los procesadores de forma tal que trabajen como si se tratase de una única computadora, en la cual se encuentran reunidas las capacidades de procesamiento de todos los procesadores y claro esta del resto de los recursos asociados a estos, como lo es la RAM, la memoria secundaria y los dispositivos de entrada y salida.
Uno de los ejemplos mas básicos que podemos encontrar de un sistema multiprocesador, son los cluster. Los cluster se forman de un conjunto de computadoras que se unen via red y que mediante un sistema operativo y software especial funcionan como si fuera una sola, un ejemplo de esto , es el cluster Olintlali de la Universidad Nacional Autónoma de México o el cluster Aitzaloa de la Universidad Autonoma Metropolitan, el cual vemos en la imagen siguiente.
Los equipos de multiprocesadores son empleados generalmente para la realización de cálculos complejos en investigación científica o para simular modelos de diferentes ciencias y que serian imposibles de procesador por un equipo convencional debido a la gran cantidad de variables a analizar.
El multiprocesamiento ofrece un aumento en la productividad al permitir la ejecución de diferentes procesos sobre diferentes procesadores, al mismo tiempo que ofrece un aumento en la velocidad con la que se ejecutan los procesos al poder ejecutar diferentes parte de un proceso sobre procesadores diferentes, pero estas mejoras no están libres de ciertas complicaciones, al realizar una ejecución paralela de un programa, las diferentes partes del programa deben de sincronizarse e intercambiar datos para poder completar los cálculos, lo cual necesita hacerse con protección, detección y corrección de errores.
Los motivos para usar un sistema multiprocesador son variados, pero podemos mencionar:
- Rendimiento y potencia de calculo. Al ejecutar los programas de forma paralela
- Tolerancia a fallos. La redundancia natural de un sistema multiprocesador permite transferir un proceso a otros procesadores en caso de fallo.
- Flexibilidad. Los sistemas multiprocesador pueden reconfigurarse dinámicamente para adaptarse a las cargas de trabajo.
- Escalabilidad. Se pueden añadir nuevos módulos para incrementar la potencia de calculo.
- Especialización funcional. Se pueden agregar procesadores de diseño especifico para dedicarse a una determinada tarea
Los multiprocesadores se clasifican de acuerdo a la clasificación de arquitecturas paralelas propuesto por Flynn, en el cual se toman como componentes el flujo de instrucciones y la cantidad de datos, creando los siguientes elementos:
- SI.- Flujo de instrucciones simple
- MI.- Flujo de instrucciones multiple
- SD.- Un dato simple
- MD.- Datos multiples
Con lo cual se produce la siguiente clasificación:
- SISD: Sistemas monoprocesador.
- SIMD: Sistemas vectoriales en los que una instrucción puede operar sobre diferentes datos en diferentes procesadores.
- MISD.- En este esquema multiples instrucciones operan sobre un mismo dato.
- MIMD.- Estos incluyen a la mayoría de los multiprocesadores
Los multiprocesadores del modelo MIMD pueden ser clasificados a su vez en:
- Fuertemente acoplados.- Cuando existe memoria global
- Débilmente acoplados.- Cuando en lugar de memoria global se usa memoria privada
Una memoria global indica que todos los procesadores acceden a una misma memoria común, mientras que la memoria privada indica que cada procesador posee su propia memoria y que ninguno de los procesadores tiene acceso a la memoria de otro procesador.
1 Comment