Nuevo lenguaje para programar en paralelo

Se ha diseñado un nuevo lenguaje de programación para aprovechar al máximo los últimos procesadores informáticos multinúcleo. Si encuentra el favor de los codificadores, podría proporcionar un software más potente para muchas computadoras.

En los últimos años, al enfrentarse a los límites físicos de la miniaturización, los fabricantes de microchips han pasado de aumentar la potencia de los núcleos del procesador, la parte de un chip que maneja datos e instrucciones, a agregar más núcleos a un solo chip. . Por ejemplo, los procesadores i3 e i7 de Intel tienen dos y cuatro núcleos, respectivamente.

Esto presenta un desafío para los programadores. Dado que la mayoría de los lenguajes de programación se diseñaron para chips de un solo núcleo, puede resultar complicado dividir las tareas y enviarlas a cada núcleo en paralelo. Si un codificador no tiene cuidado, esto puede causar errores en la forma en que cada núcleo del chip accede a las secciones compartidas de la memoria.



Tucker Taft , director de tecnología y presidente de la empresa de software con sede en Boston SofCheck , diseñó el nuevo lenguaje, llamado Lenguaje paralelo de implementación y especificación (ParaSail): específicamente para escribir software para procesadores multinúcleo. El lenguaje está destinado a evitar las trampas que suelen ocurrir cuando se trabaja con chips multinúcleo.

Para un programador, ParaSail parece una forma modificada de Java o C #, dos lenguajes principales. La diferencia es que divide automáticamente un programa en miles de tareas más pequeñas que luego se pueden distribuir entre núcleos, un truco llamado pico-threading, que maximiza el número de tareas que se llevan a cabo en paralelo, independientemente del número de núcleos. ParaSail también realiza la depuración automáticamente, lo que hace que el código sea más seguro. Todo se hace en paralelo de forma predeterminada, a menos que le indique lo contrario, dice Taft.

Durante la próxima década, se espera que la cantidad de núcleos en chips de computadora aumente aún más. Hay algunas máquinas con docenas o cientos de núcleos ahora, dice Taft.

ParaSail utiliza una serie de otros trucos, algunos de los cuales se basan en lenguajes desarrollados a fines de la década de 1980 y principios de la de 1990 para supercomputadoras: máquinas que ejecutan muchos chips de computadora individuales conectados en red. El diseño del lenguaje en sí está esencialmente completo, dice Taft, quien presentó detalles del lenguaje el miércoles en el Convención de código abierto de O'Reilly . La primera versión del compilador se lanzará aproximadamente el próximo mes. El idioma funcionará en computadoras con Windows, Mac y Linux.

Microsoft e Intel están invirtiendo $ 20 millones en la adaptación de los lenguajes existentes para procesadores multinúcleo, por lo que es difícil decir si ParaSail será ampliamente adoptado. Hay mucha gente que resuelve el problema, toma los lenguajes existentes y trata de mejorarlos en el manejo del procesamiento paralelo, dice Taft.

Taft ya tiene un historial probado en el mundo del desarrollo del lenguaje informático, dice Denis nicole del Grupo de Ingeniería de Software y Sistemas Dependientes de la Universidad de Southampton. Pero agrega que, por lo general, se necesitan empresas del tamaño de Sun para impulsar nuevos lenguajes en la comunidad.

esconder