Conecta con nosotros

Noticias

Intel quiere pensar en paralelo

Hace tiempo que en Intel han detectado que la inmesa mayoría de desarrollos software no aprovechan las virtudes de las nuevas arquitecturas paralelas, y uno de sus responsables habló hace poco sobre el cambio de mentalidad necesario para lograr comenzar a pensar en desarrollos paralelos. Intel dispone de herramientas y compiladores orientados a proporcionar ayudas para este tipo de soluciones, pero su uso es muy limitado.

Publicado

el

Hace tiempo que en Intel han detectado que la inmesa mayoría de desarrollos software no aprovechan las virtudes de las nuevas arquitecturas paralelas, y uno de sus responsables habló hace poco sobre el cambio de mentalidad necesario para lograr comenzar a pensar en desarrollos paralelos. Intel dispone de herramientas y compiladores orientados a proporcionar ayudas para este tipo de soluciones, pero su uso es muy limitado.

Los procesadores multi-núcleo llevan años ya con nosotros, y desde su lanzamiento se ha demostrado que la evolución de las arquitecturas hardware no ha ido paralela -y nunca mejor dicho- con la ingeniería software. Mientras que estos nuevos procesadores disponen de un alto grado de paralelismo, los desarrollos actuales siguen estando pensados para procesadores con un único núcleo y con un paralelismo nulo o muy escaso.

El compilador Intel C++ es una de las herramientas más conocidas en este ámbito.

Eso es precisamente lo que Intel está tratando de evitar desde hace tiempo con el lanzamiento de herramientas e iniciativas para impulsar el desarrollo de software que aproveche el paralelismo de los nuevos procesadores. James Reinders, director de y jefe del área de evangelización para productos de desarrollo software dio una charla sobre el tema en la conferencia SD West. En ella señaló que "es el momento en el que nosotros, como desarrolladores software, debemos tratar de descubrir cómo pensar en paralelo".

Reinders les dio a los asistentes a la charla varias reglas para poder lograr el objetivo, como "programar tareas, no hilos", o "diseñar con la opción de desactivar la concurrencia" y "evitar los cerrojos en la medida de lo posible". Estos principios son complicados de aplicar, pero según Reinders "es muy importante asegurarnos, si es posible, de que nuestros programas puedan ejecutarse como un único hilo de ejecución sin concurrencia. No deberíais diseñar los programas de modo que tengan que tener paralelismo: eso los hace mucho más difíciles de analizar".

Lo más leído