Investigación

¿Qué son los sistemas de cómputo paralelo?

El doctor Esteban Mocskos, investigador del CSC, explica qué son los sistemas de cómputo paralelo.


Los sistemas de cómputo paralelo son una combinación de componentes de hardware y software que utilizan recursos masivos de cómputos en conjunto para resolver una tarea computacional. Su uso se extiende desde la investigación científica hasta la industria, a la vez que tienen un papel cada vez más importante a medida que aumenta la demanda de procesamiento de datos en distintas áreas de la economía.

Se trata de una de las áreas en las que se especializa Esteban Mocskos, doctor en Ciencias de la Computación y científico de uno de los grupos de investigación del Centro de Simulación Computacional (CSC). “Lo que tengo que hacer es que esas máquinas funcionen eficientemente y que puedan prestar servicios a los usuarios de la comunidad científico-tecnológica del país”, explica el académico.

Mocskos sostiene que es muy importante tener en cuenta qué tipo de problema se quiere resolver a la hora de emplear un sistema de cómputo paralelo. Por ejemplo, si alguien “quiere estudiar un problema chiquito utilizando muchas máquinas, esto termina siendo algo muy ineficiente”. "Pintar una pared es un ejemplo de una tarea de la vida diaria que podría procesarse en paralelo: en lugar de que un pintor haga todo el trabajo, se podría contratar otro más para que lo haga en la mitad de tiempo, uno podría contratar pintores adicionales para continuar disminuyendo el tiempo que se requiere para pintar toda la pared, pero llegado cierto punto, los pintores tendrán una superficie muy pequeña que pintar cada uno y empezarán a interferir en el trabajo de otros pintores, haciendo que al fin de cuentas, el tiempo total de pintado no disminuya como uno esperaría", ejemplifica. “Algo similar ocurre con las aplicaciones que usan varios procesadores simultáneamente. El hecho de utilizar recursos en paralelo implica una sincronización, algo similar a lo que un pintor tiene que hacer para no interferir con el trabajo del pintor que tiene al lado. A veces ocurre que agregar más máquinas o recursos de cómputo y, en lugar de disminuir el tiempo, tardás lo mismo o más. Esto es porque el programa o aplicación que tenés no está bien programado o, simplemente, llegó al límite en cuanto al aprovechamiento de recursos paralelos de cómputo”, explica. 

Apoyado por un equipo de profesionales integrado por Gervasio Pérez y Sebastián Santisi, Mocskos tiene que lograr que las mencionadas máquinas “estén operativas”. Se trata de equipos destinados a la realización de cómputos muy complejos y que son utilizados por comunidades de usuarios de diversas áreas (química, biología, física, etc.) “Lograr que las máquinas anden bien, que sean eficientes y que se puedan usar las aplicaciones que se necesitan en esos ambientes es un trabajo complejo”, advierte el investigador. El equipo, también conocido como Tupac, “es una máquina abierta que se suele usar más por gente externa que por investigadores del propio instituto”.

Mocskos hace especial énfasis en la importancia de que los profesionales aprendan a programar mejor sus aplicaciones para que éstas funcionen de manera más eficiente. También explicó que, en los últimos años, este tipo de sistemas pueden contar con placas de video que aumentan la capacidad de cómputo. “Si querés usar las placas de video tenés que aprender a programar para usarlas bien y sacarles rédito. En muchos casos, se requiere diseñar una aplicación existente desde cero para poder acceder al poder de cómputo de estos dispositivos”, enfatizó.