Paralelismo como “concern” en Java y su materialización en una herramienta de software - Hirsch, Matías (2010)
La computación está experimentando una revolución de hardware dada por la creciente disponibilidad de máquinas multinúcleo y ambientes distribuidos como clusters y Grids. Como consecuencia, el poder computacional está al alcance de la mano, pero muchos programadores de hoy en día no están completamente preparados para explotar paralelismo en sus aplicaciones de forma tal de sacar el máximo provecho a este nuevo hardware. En particular, el lenguaje Java ha ayudado a mitigar la heterogeneidad de software inherente a la programación de aplicaciones secuenciales sobre estos ambientes. De todas maneras, persiste aún la necesidad de herramientas para paralelizar aplicaciones de forma fácil y versátil, para que un programador con poca experiencia en programación paralela pueda rápidamente ejecutar una aplicación en paralelo en varios de estos ambientes. Recientemente, una alternativa que se ha propuesto para lograr esto la constituye el concepto de Paralelismo como “Concern” (PcC), el cual se basa en ideas de la programación orientada a aspectos. En este artículo se listan y analizan las herramientas para la programación paralela existentes, acotando a aquellas implementadas en Java, y se presenta una alternativa basada en PcC que apunta a resolver los problemas de las herramientas analizadas.