jueves, 21 de febrero de 2019

6to núcleo: Paralelismo como futuro imperfecto


Los artículos anteriores a este punto se han dedicado principalmente a pronosticar cómo el paralelismo va a ser un factor constante al momento de diseñar y desarrollar software, mencionando el alza de las computadoras multinúcleo y de demás aparatos que usan más de un procesador. Un claro ejemplo de esto es la lectura de “Welcome to the Jungle” de Herb Sutter (2011), mencionando los diferentes tipos de paralelismo y manejo de memoria que nosotros como desarrolladores tendremos que trabajar, declarando: “…a single compute-intensive application will need to harness different kinds of cores, in immense numbers, to get its job done”.

Es curioso ver como todos estos análisis se comparan contra la realidad que ofrece el texto de UBM TechWeb. Pareciera que las profecías se cumplieron y ahora todo puede ser hecho de manera, al menos, concurrente. Sin embargo, el mundo de la industria del software y sus habitantes no parecen estar preparados, buscando incluso a ciegas como paralelizar código y aprovechar la enorme ventaja que representa esta clase de arquitecturas. Lo más interesante es como los productores de chips como Intel o AMD aprovecharon o más bien fueron forzados a aprovechar la arquitectura multinúcleo para seguir siendo vigentes en el mercado. Sin embargo, los creadores de IDEs y de demás herramientas en el mercado parecen estar atrasados y no seguir esta tendencia. Esta diferencia en las acciones de mercado muestra la falta de conocimiento sobre que necesitamos como programadores para poder trabajar de manera eficiente bajo estas condiciones.

Algo que menciona el artículo y que concuerdo con ello, es la importancia de tener herramientas para hacer un correcto análisis de memoria y de errores dentro del código paralelo. Los métodos de depuración como revisiones a mano de código o uso de prints se vuelven obsoletos. Creo que si queremos integrar estas técnicas de programación a nuestro desarrollo diario, es necesario que nuestros hábitos y herramientas cambien acordemente.

Referencias:
Sutter, H. (2011) Welcome to the Jungle Or, a Heterogeneous Supercomputer in Every Pocket. Sutter’s Mill. Recuperado el 21 de febrero de 2019 de: https://herbsutter.com/welcome-to-the-jungle/

No hay comentarios.:

Publicar un comentario