- Back to Home »
- ¿Paralelismo? ¿Quieres saber qué significa?
Posted by : Unknown
martes, febrero 04, 2014
¡Hola! En esta ocasión, discutiré un poco sobre el artículo "Parallel Computing on any desktop", escrito por Ami Marowka, el cual fue publicado en el Communications of the ACM.
El tema de paralelismo en computadoras que pueden ser
adquiridas por personas “comunes” es algo que implícitamente nos hace ver a los
programadores que tenemos que explotar todo el procesamiento disponible que
existe. Es importante saber que cuando se habla de “explotar”, no se refiere a
solamente hacer que el procesador trabaje al máximo de su capacidad, sino que todo
lo que el procesador trabaje sea efectivo dentro del programa.
En el artículo se propone como una solución a OpenMP. Hay
que recordar a OpenMP como una herramienta poderosa que permite configurar
código y permitir la ejecución de ciertas tareas de manera paralela. Si bien
existen herramientas tan buenas como OpenMP, hay que recordar que solo es eso:
una herramienta. El programador es quien se tiene que hacer cargo de comprender
la naturaleza del problema y posteriormente escribir código que sea thread-safe. La parte de comprender el
problema es sumamente importante, ya que mientras más se conozca el problema,
menor es la probabilidad de sufrir de alguna falla referente a datos que son
accesados por varios threads.
Finalmente, hay que remarcar la parte de equipos de cómputo
en ámbitos empresariales. Es cierto que a un buen equipo empresarial podría
sacar provecho de herramientas como OpenMP. Sin embargo, cuando hablamos de
empresas que empiezan a crecer en grandes dimensiones, es necesario explorar
otras alternativas, como el cómputo distribuido. Esta solución puede ser vista
como “factible”, debido a que el sistema puede estar construido con distintos
equipos caseros y que, usando cómputo distribuido, puede ser capaz de procesar
grandes volúmenes de información en un periodo de tiempo aceptable.
Eso es todo por ahora, espero haya sido de su agrado :)