Articulo de referencia

Dríada (programación)

Dryad fue un proyecto de investigación de Microsoft Research para un entorno de ejecución de propósito general para la ejecución de aplicaciones de procesamiento paralelo de dat...

Dryad fue un proyecto de investigación de Microsoft Research para un entorno de ejecución de propósito general para la ejecución de aplicaciones de procesamiento paralelo de datos . Los prototipos de investigación de los marcos de procesamiento paralelo de datos Dryad y DryadLINQ están disponibles en código fuente en GitHub . [ 1 ]

Descripción general

Microsoft puso a disposición varias versiones preliminares de esta tecnología como complementos para Windows HPC Server 2008 R2 .

Una aplicación escrita para Dryad se modela como un grafo acíclico dirigido (DAG). El DAG define el flujo de datos de la aplicación, y los vértices del grafo definen las operaciones que se realizarán sobre los datos. Los "vértices computacionales" se escriben utilizando construcciones secuenciales, sin semántica de concurrencia ni exclusión mutua . El entorno de ejecución de Dryad paraleliza el grafo de flujo de datos distribuyendo los vértices computacionales entre varios motores de ejecución (que pueden ser múltiples núcleos de procesador en el mismo ordenador o distintos ordenadores físicos conectados por una red, como en un clúster ). La planificación de los vértices computacionales en el hardware disponible la gestiona el entorno de ejecución de Dryad, sin ninguna intervención explícita del desarrollador de la aplicación ni del administrador de la red. El flujo de datos entre un vértice computacional y otro se implementa mediante "canales" de comunicación entre los vértices, que en la implementación física se realizan mediante flujos TCP/IP , memoria compartida o archivos temporales . En tiempo de ejecución, se utiliza un flujo para transportar un número finito de elementos estructurados .

Dryad define un lenguaje específico de dominio , implementado mediante una biblioteca de C++ , que se utiliza para crear y modelar un grafo de ejecución de Dryad. Los vértices computacionales se escriben utilizando construcciones estándar de C++. Para que el entorno de ejecución de Dryad pueda acceder a ellos, deben encapsularse en una clase que herede de la GraphNodeclase base. El grafo se define añadiendo aristas; estas se añaden mediante un operador de composición (definido por Dryad) que conecta dos grafos (o dos nodos de un grafo) con una arista. También se pueden escribir envoltorios de código administrado para la API de Dryad.

Existen varios compiladores de lenguajes de alto nivel que utilizan Dryad como entorno de ejecución; algunos ejemplos son Scope (Structured Computations Optimized for Parallel Execution) y DryadLINQ. [ 2 ]

En octubre de 2011, Microsoft suspendió el desarrollo activo de Dryad, centrando su atención en el marco de trabajo Apache Hadoop . [ 3 ] [ 4 ] [ 5 ]

Referencias

  1. GitHub - MicrosoftResearch/Dryad: Este es un prototipo de investigación de los marcos de procesamiento de datos en paralelo Dryad y DryadLINQ que se ejecutan en Hadoop YARN.
  2. "DryadLINQ: Un sistema para computación paralela de datos distribuidos de propósito general que utiliza un lenguaje de alto nivel" (PDF) . Microsoft Research . Consultado el 21 de enero de 2009 .
  3. Patee, Don. "¡Anuncio de las versiones de Windows Azure HPC Scheduler y HPC Pack 2008 R2 Service Pack 3!" . Microsoft . Consultado el 31 de mayo de 2013 .
  4. Foley, Mary Joe. "Microsoft abandona Dryad; apuesta por Hadoop en el ámbito del big data" . ZDNet. Archivado del original el 17 de noviembre de 2011. Consultado el 31 de mayo de 2013 .
  5. Henschen, Doug. "Microsoft abandona Dryad y se centra en Hadoop" . Information Week . Consultado el 31 de mayo de 2013 .

Lecturas adicionales

  • "Dryad: Programas distribuidos de datos en paralelo a partir de bloques de construcción secuenciales" (PDF) . Microsoft Research . Consultado el 4 de diciembre de 2007 .
  • "SCOPE: Procesamiento paralelo fácil y eficiente de conjuntos de datos masivos" (PDF) . Microsoft Research . Consultado el 21 de enero de 2009 .
  • Dryad: Programación del centro de datos. Archivado el 12 de septiembre de 2007 en Wayback Machine.
  • Hogar de la Dríada
  • Vídeo de Michael Isard explicando Dryad en Google.