.

Computación

Un nuevo lenguaje para programar en paralelo

1

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.

  • por Duncan Graham-rowe | traducido por Francisco Reyes (Opinno)
  • 28 Julio, 2011

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".

Computación

Las máquinas cada vez más potentes están acelerando los avances científicos, los negocios y la vida.

  1. Humanos y máquinas deben colaborar en lugar de ser rivales, según una experta del MIT

    Mientras muchos se preocupan por la destrucción de empleos que generará la inteligencia artificial, la directora del Laboratorio de Ciencias de la Computación e IA del MIT, Daniela Rus, afirma que combinar las capacidades de humanos y máquinas es lo que genera mejores rendimientos

  2. "Aún no hemos resuelto la inteligencia artificial. Lo que tenemos ahora no es inteligencia"

    El neurocientífico Tomaso Poggio, que fue profesor de algunos de los líderes de la IA actuales, cree que dominar el ajedrez y la conducción no está resolviendo el reto de la inteligencia humana, el cual considera como "el mayor problema de la ciencia", y cree que la solución está en nuestro propio cerebro

  3. Los ordenadores cuánticos podrían acabar con Bitcoin en sólo una década

    La enorme potencia computacional que alcanzarán de aquí a 2027 podría destrozar los protocolos de seguridad que han hecho tan popular a la criptomoneda, además de cualquier otro método de seguridad criptográfica basado en las mismas técnicas. Revisar los protocolos es imperativo y urgente