Fuente: Kenneth Celli

Informática

Un nuevo lenguaje para programar en paralelo

La escritura de código para los últimos chips multinúcleo es notoriamente compleja, aunque un nuevo lenguaje podría simplificarla y hacer más eficientes a los ordenadores.

  • Jueves, 28 de julio de 2011
  • Por Duncan Graham-Rowe
  • Traducido por Francisco Reyes (Opinno)

Un nuevo lenguaje de programación ha sido diseñado para sacar el máximo partido de los últimos procesadores multinúcleo para ordenadores. Si acaba siendo adoptado entre los programadores, podría proporcionar un tipo de software más potente para muchos ordenadores.

En los últimos años, a medida que se han ido topando con los límites físicos de la miniaturización, los fabricantes de microchips han pasado de aumentar la potencia del núcleo del procesador -la parte de un chip que gestiona los datos y las instrucciones -a añadir más núcleos en un único chip. Por ejemplo, los procesadores i3 e i7 de Intel cuentan con dos y cuatro núcleos, respectivamente.

Esto presenta un desafío para los programadores. Puesto que la mayoría de los lenguajes de programación fueron diseñados para chips de un solo núcleo, puede ser difícil dividir las tareas y enviarlas a cada núcleo en paralelo. Si el programador no tiene cuidado, esto puede causar errores en la forma en que cada núcleo del chip accede a las secciones de la memoria compartida.

Tucker Taft, el director de tecnología y presidente de la empresa de software SofCheck, con sede en Boston (Estados Unidos), ha diseñado un nuevo lenguaje, llamado Parallel Specification and Implementation Language (ParaSail), específicamente para la escritura de software para procesadores multinúcleo. El lenguaje tiene como objetivo evitar los problemas que suelen ocurrir cuando se trabaja con chips de varios núcleos.

Para un programador, ParaSail tiene un aspecto similar a C o C++, dos de los lenguajes más usados. La diferencia es que divide automáticamente un programa en miles de tareas más pequeñas que después se pueden propagar a través de núcleos: un truco conocido como 'pico-threading', que maximiza el número de tareas que se llevan a cabo en paralelo, sin importar el número de núcleos. ParaSail también realiza la depuración de forma automática, haciendo que el código sea más seguro. "Todo se hace en paralelo por defecto, a menos que se indique lo contrario", explica Taft.

Durante la próxima década, se espera que aumente aún más el número de núcleos en los chips de ordenador. "Actualmente existen algunas máquinas por ahí con docenas o cientos de núcleos", afirmó Taft.

ParaSail utiliza una serie de trucos distintos, algunos basados en lenguajes desarrollados en la década de los 80 y principios de los 90 para los superordenadores (máquinas que funcionan con un gran número chips individuales conectados en red). "El diseño del lenguaje en sí está prácticamente completo", explicó Taft, que presentó los detalles del lenguaje el miércoles en la O'Reilly Open Source Convention. "La primera versión del compilador se dará a conocer el mes que viene". El lenguaje funcionará en ordenadores Windows, Mac y Linux.

Microsoft e Intel están invirtiendo 20 millones de dólares (casi 14 millones de euros) en la adaptación de los lenguajes existentes para procesadores multinúcleo, así que es difícil decir si ParaSail será ampliamente adoptado. "Hay mucha gente tratando de solucionar el problema, tomando los lenguajes existentes y tratando de mejorarlos para el manejo del procesamiento en paralelo", señaló Taft.

Taft ya tiene un historial probado en el mundo del desarrollo de lenguajes informáticos, afirma Denis Nicole desde el Dependable Systems and Software Engineering Group en la Universidad de Southampton (Reino Unido). Aunque apunta que "por lo general, son las empresas del tamaño de Sun las que logran dar impulso a nuevos lenguajes dentro de la comunidad".

Para comentar, por favor accede a tu cuenta o regístrate

¿Olvidaste tu contraseña?

Informes Especiales

El futuro de la medicina: un tratamiento para cada paciente

Una ola de avances científicos e inversiones financieras puede estar a punto de marcar el nacimiento de una nueva era de atención sanitaria marcada por la personalización y la precisión. Bienvenidos al futuro de la medicina.

Otros Informes Especiales

Advertisement
Advertisement
Publicidad