Saturday, August 29, 2015

Parallel Computing on any Desktop

Parallel Computing on any Desktop es el artículo que nos tocó leer esta vez. El artículo es muy interesante y toma algunos de los puntos que aparecen en el artículo anterior acerca de cómo ya comenzaron a surgir los procesadores con múltiples cores de procesamiento que soportan multithreading y sirven bien para parallel programming. Empieza diciendo que parallel programming por algún tiempo solo fue disponible para unos pequeños sectores de la sociedad tal como centros de investigaciones científicas o algunas escuelas de alto nivel para mantener y sacar provecho de estos monstruos de procesamiento en paralelo y que de estos sectores, surgieron grandes avances como el Beowulf.
Sin embargo esto no era del todo amigable para usuario normales, requería de mucho entendimiento e investigación que solo algunas escuelas tuvieron los fondos para poder tener gente experta en el tema del uso de máquinas con programación paralela. Además de eso, si pudieras conseguir una forma para programación paralela, no era tan sencillo saber generar problemas así, por lo que empezaron a surgir nuevas tecnología y de nuevos métodos para lograrlo como lo es OpenMP. Yo he trabajado con OpenMP en semestres pasados y debo decir que aunque este articulo lo haga parecer como un ángel caído del cielo para ayudar en programación en paralelo, yo siempre tuve enormes problemas en hacerlo funcionar (ha ha).

En su tiempo OpenMP ayudo a muchas personas a desarrollar programas de una manera más sencilla y eficiente, sin embargo, ahora existen muchas más formas de manejar programación en paralelo y está siempre seguirá creciendo de la mano con los poderosos procesadores que hoy en día se crean y que en un futuro mejoraran mucho más para generar un mayor impacto en la forma en la que todos programamos día a día y quizás algún día necesitemos pensar en formas nuevas de programar. 

Monday, August 24, 2015

The Free Lunch Is Over

The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software es el artículo que nos tocó leer esta vez. Debo decir que yo no me había metido tanto en el mundo del paralelismo hasta el año  pasado, yo siempre creí que era algo difícil de obtener y que posiblemente no habría altos impactos en rendimiento. Me alegra decir que estaba muy equivocado en mi razonamiento, hace dos semestres lleve la materia de programación avanzada donde por primera vez trabaje en C y además manejamos paralelismo. Fue ahí que en realidad vi el potencial de utilizar paralelismo para resolver problemas y como mejoran por mucho el rendimiento.
Así como yo mantuve esa postura errónea acerca de multiprocesamiento, se puede entender que hace ya algunos años se creía que se podía hacer casi cualquier cosa en single threaded programming teniendo en cuenta que los procesadores siempre iban a seguir saliendo y cada vez con muchas más ventajas para el procesamiento y ejecución de instrucciones. Pero en más recientes años, los fabricantes más reconocidos han optado por generar procesadores de múltiples núcleos y con mucho mejor soporte en hyperThreading para mejorar los cpu’s en general al incrementar los núcleos.
Algo más que hay que considerar que es bastante interesante es el crecimiento de la programación para móviles, actualmente en mi trabajo yo creo aplicaciones de naturaleza hibridas. Eso quiere decir que no utilizo código nativo de los dispositivos para desarrollar en ellos. Por el momento no manejo en ningún momento paralelismo en los trabajos que he realizado, pero al recordar varias de las cosas que he generado, se me ocurren ligeros cambios agregando paralelismo que podrían incrementar el rendimiento y los tiempos de carga para múltiples procesos de cálculo.

Quizás todavía podamos tener situaciones en las que generar nuestros programas aun no necesiten estar generados utilizando paralelismo en su totalidad, pero hay que siempre tenerlo en cuenta a la hora de programar y puede que dentro de muy poco tiempo tengamos que adaptarnos y darnos cuenta que en realidad the free lunch is over.

Thursday, August 13, 2015

Hola! :3

Hola, mi nombre es Andrés Peláez Fialdini y como podrán darse cuenta me inscribí tarde a la materia por lo que tengo un poco de miedo del curso pero a la vez me emociona muchísimo. Hay el rumor de que esta será la última vez que den esta materia por lo que fue lo que me hizo querer entrar de última hora haciendo un cambio en mi horario. Soy fan de los videojuegos, actualmente juego mucho Dark Souls II. En cuanto a gustos, vi hace poco las películas de Jump Street y debo decir que se han ganado un lugar en mi corazón haha.