Blog de Miguel Llopis

LINQ Paralelo (PLINQ): Ejecución de consultas en procesadores multinúcleo

Ya tenemos el anuncio acerca del proyecto PLINQ, del cual os hablé hace unos meses... 

"Los procesadores multinúcleo ya están aquí. Los procesadores multinúcleo solían encontrarse exclusivamente en servidores y PCs de escritorio. Pero ahora, ya se están usando en teléfonos móviles y PDA, lo cual genera grandes ventajas en relación con el consumo de energía. En respuesta al aumento de disponibilidad de plataformas con procesadores multinúcleo, Parallel Language Integrated Query (PLINQ) ofrece una manera fácil de sacar partido del uso de hardware paralelo, incluidos equipos tradicionales con varios procesadores y la última ola de procesadores multinúcleo.

PLINQ es un motor de ejecución de consultas que acepta cualquier consulta LINQ to Objects o LINQ to XML y usa automáticamente varios procesadores o núcleos para su ejecución cuando estos están disponibles. El cambio en el modelo de programación es minúsculo, lo cual significa que no es necesario ser un gurú de la simultaneidad para poder usarlo. De hecho, los subprocesos y bloqueos ni siquiera se plantearán salvo que desee realmente profundizar para entender cómo funciona todo. PLINQ es un componente clave de Parallel FX, la próxima generación en compatibilidad con la simultaneidad de Microsoft® .NET Framework.

Con tecnologías como PLINQ, cada vez será más importante garantizar la escalabilidad del software en futuras arquitecturas paralelas de microprocesador. Al emplear hoy mismo LINQ en lugares selectos de sus aplicaciones (por ejemplo, en el lugar de almacenamiento de los datos o bien en las operaciones de cálculo intensas que pueden expresarse como consultas), podrá asegurarse de que esos fragmentos de programas funcionen mejor aún cuando PLINQ pase a estar disponible y los equipos que ejecuten su aplicación aumenten de 2 ó 4 y a 32 procesadores, e incluso y más. Incluso si sólo ejecuta ese código en un equipo con un único procesador, la sobrecarga de PLINQ suele ser tan pequeña que no notará ninguna diferencia. Además, la naturaleza de datos paralela de PLINQ garantiza que sus programas seguirán ampliándose a medida que aumente el tamaño de sus conjuntos de datos.

En este artículo, se examinan los objetivos de la tecnología PLINQ, su lugar dentro del ámbito más amplio de .NET Framework y otras ofertas de simultaneidad. También se verá su aspecto, desde la perspectiva de los desarrolladores de LINQ. Se concluirá con algunos escenarios de ejemplo donde PLINQ ya ha demostrado su enorme valor.

Tenga en cuenta que la biblioteca de Parallel FX, que incluye PLINQ, aún está en desarrollo, pero la primera versión preliminar para la comunidad tecnológica (CTP) estará disponible en MSDN® en otoño de 2007. "

Más información en: http://msdn.microsoft.com/msdnmag/issues/07/10/PLINQ/default.aspx?loc=es

Posted: 17/11/2007 18:51 por Miguel LLopis | con 3 comment(s) |
Archivado en:
Comparte este post:

Comentarios

guslianny ha opinado:

que no salio nada de lo que estoy buscando ¿ ejecuciones paralelo? pa la proxima espesifique mejor si pero      sigan asi

ç

# March 18, 2008 10:04 PM

guslianny ha opinado:

que no salio nada de lo que estoy buscando ¿ ejecuciones paralelo? pa la proxima espesifique mejor si pero      sigan asi

ç

# March 18, 2008 10:04 PM

Javier Garmendia ha opinado:

La editorial inglesa Packt Publishing (www.packtpub.com) ha anunciado un nuevo libro que parece muy interesante sobre programación para los microprocesadores multi-core utilizando C#. Y, por lo que ví en la tabla de contenidos, también incluye contenidos de Visual Studio 2010 y .Net Framework 4.0, porque habla de PLINQ y de las extensiones de paralelismo.

El link es www.packtpub.com/.../book  

En cuanto esté disponible el final del libro lo voy a pedir y andaré comentando por allí mis conclusiones.

# January 21, 2009 8:14 PM