domingo, 3 de febrero de 2019

Parallel Computing on any Desktop


Como hemos visto desde que empezó el semestre, el paralelismo en el cómputo se ha vuelto algo más que útil, necesario. Esto debido al incremento de potencia que se necesita en las computadoras para resolver los problemas que se presentan hoy en día, y más en específico a la cantidad de información que se tiene que procesar para generar resultados. Hemos visto en los últimos años que las computadoras se han optimizado en cuanto al hardware, vemos procesadores que salen con mayores núcleos físicos y lógicos, con mayor velocidad del reloj, incrementando el caché, etc. Sin embargo, es poco el uso que realmente se le da a esta capacidad de los procesadores debido a que la mayoría de los programas y aplicaciones están escritas en código secuencial y no aprovechan los multinúcleos.

  Creo que las directivas del modelo de programación OpenMP serían bastante útiles para tratar de convertir programas secuenciales en programas que usen multithreading; sin embargo, al menos con la explicación del artículo, no me parece especialmente útil para generar programas muy complejos y que requieran, además del multithreading, utilizar distintos dispositivos para procesamiento. Pues la sincronización de los dispositivos y la memoria a la que se accede corre por cuenta del programador, por lo que el modelo OpenMP no sería de mucha ayuda en estos casos.

  Ahora bien, si bien es cierto que pensar en un paradigma de programación concurrente es bastante más complejo que pensar en uno secuencial, se está volviendo una necesidad para los desarrolladores hoy en día. Por tanto, me parece de suma importancia que desarrollemos esta habilidad haciendo uso de las herramientas que tenemos hoy en día, pero sobre todo tomando en cuenta que en el futuro el multithreading será obligatorio y por tanto deberemos saber aprovecharlo al máximo. Este será un diferenciador en la calidad y rendimiento de las aplicaciones que se desarrollen después, y será un pilar en el desarrollo de los nuevos desarrolladores.

No hay comentarios:

Publicar un comentario