Sistemas de Multiprocesamiento
El uso, en un mismo sistema, de varias CPU que comparten
recursos entre sí es lo que denominamos multiprocesamiento. Existen
muchos tipos de sistemas de multiprocesamiento, y cambian en
función de diversos aspectos.
En primer lugar, es importante tener en cuenta elemplazamiento
en el que se ubican las CPU (es decir, si están en el mismo die, en el
mismo chip o en la misma placa). En segundo lugar, el sistema de
multiprocesamiento puede variar dependiendo de si todas las CPU ejecutan el
mismo software o no. Esta es la diferencia entre un sistema de
multiprocesamiento simétrico y uno asimétrico.
También es importante tener en cuenta qué recursos
comparten (¿se trata solo de la memoria principal, de una parte de
ella, o también comparten periféricos de entrada o salida?). El sistema de
multiprocesamiento también puede tener variar en función de si las CPU son
idénticas (sistema multinúcleo homogéneo) o diferentes (sistema
multinúcleo heterogéneo).
Los sistemas de multiprocesamiento
El multiprocesamiento no es algo nuevo. Hace muchos años,
los PC asignaban tareas específicas a procesadores concretos (como las unidades
de procesamiento gráfico, o GPU). En los sistemas embebidos, también era habitual contar con más de
un procesador (por lo general diferentes) y que cada uno se encargase de la
función para la que estaba mejor adaptado.
En la imagen que encontramos más abajo, podemos ver un sistema
multiprocesador heterogéneo embebido de finales de los 90 con un MPC68360 y un
Z80180 compartiendo memoria en la misma placa.
También era frecuente integrar distintas CPU en
un mismo chip. De hecho, el MPC68360 que se muestra en la imagen contaba con
una CPU general y otra dedicada a las labores de comunicación. Ambas estaban en
el mismo chip y compartían una RAM interna.
Sin embargo, a medida que aumentó el nivel de integración y
la frecuencia de reloj, empezaron a aparecer problemas. Como solución, y con el
fin de aumentar la potencia de procesamiento, los fabricantes empezaron a
montar CPU o núcleos idénticos en el mismo chip. Estos sistemas
de multiprocesamiento homogéneos llevan años dominando el mercado y
podemos aprovechar esa potencia de dos maneras.
Multiprocesamiento simétrico
En este tipo de multiprocesamiento, un sistema operativo usa
todas las CPU a la vez y ejecuta diversas tareas al mismo tiempo. Para
optimizar este sistema, se desarrollaron nuevos bloques de hardware y
software por debajo del SO.
Estos sistemas son comunes en dispositivos generales,
como ordenadores personales, móviles, tablets, etc. Sin embargo,
es en los servidores donde se saca el máximo partido a esta
opción y donde podemos encontrar procesadores con hasta 32 núcleos.
Multiprocesamiento asimétrico
Esta otra opción suele emplearse en sistemas embebidos. En
estos casos, hay más de un sistema operativo y cada uno usa sus propias CPU
(por ejemplo, un router con un software de enrutamiento propietario en una CPU
y con un SO general en la otra). Esta opción permite contar, en un solo equipo,
con un router profesional y un servidor que ofrece servicios avanzados.
ARM big.LITTLE: arquitectura multinúcleo heterogénea
Los dispositivos portátiles (como los móviles) cada vez
necesitan más potencia de procesamiento, pero sus baterías no están creciendo
al mismo ritmo. Una posible solución al problema es integrar, en el mismo chip,
CPU potentes y de alto consumo con algunas más lentas en las que se ahorre
energía. Al alternar entre ambos modelos, podemos mantener la capacidad de
procesamiento y ahorrar batería cuando los procesos a realizar no sean tan exigentes.
La solución ARM big.LITTLE es un ejemplo de esta
arquitectura multinúcleo heterogénea.
En Teldat, siempre le hemos sacado el máximo partido a
los sistemas de multiprocesamiento, desde los primeros routers de los años 90
(con sistemas como el que se muestra en la imagen) hasta los sistemas
multinúcleo homogéneos más modernos, con multiprocesamiento asimétrico (como
los del Atlas-i60). Además, seguiremos adaptando el concepto de
multiprocesamiento en los nuevos desarrollos que lancemos en el futuro.
No hay comentarios:
Publicar un comentario