Dríada (programación)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

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 datos en paralelo. Los prototipos de investigación de los marcos de procesamiento de datos en paralelo Dryad y DryadLINQ están disponibles en formato fuente en GitHub.

Sinopsis

Microsoft ha puesto 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 mediante construcciones secuenciales, sin concurrencia ni semántica de 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 diferentes ordenadores físicos conectados por una red, como en un clúster). La programación de los vértices computacionales en el hardware disponible la gestiona el entorno de ejecución de Dryad, sin intervención explícita del desarrollador de la aplicación ni del administrador de la red. El flujo de datos entre vértices computacionales 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. Un flujo se utiliza en tiempo de ejecución 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 sean accesibles al entorno de ejecución de Dryad, deben encapsularse en una clase que herede de la clase base GraphNode. 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 administrados 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 (Cálculos Estructurados Optimizados para Ejecución Paralela) y DryadLINQ.En octubre de 2011, Microsoft interrumpió el desarrollo activo de Dryad y centró su atención en el marco Apache Hadoop.

Referencias

  1. ^ GitHub - MicrosoftResearch/Dryad: Este es un prototipo de investigación de los marcos de procesamiento de datos Dryad y DryadLINQ que se ejecutan en Hadoop YARN.
  2. ^ "DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language" (PDF). Microsoft Research. Retrieved 2009-01-21.
  3. ^ Patee, Don. "¡Anunciando las versiones de Windows Azure HPC Scheduler y HPC Pack 2008 R2 Service Pack 3!". Microsoft. Retrieved 2013-05-31.
  4. ^ Foley, Mary Joe. "Microsoft lanza Dryad; pone sus apuestas de big-data en Hadoop". ZDNet. Archivado desde el original el 17 de noviembre de 2011. Retrieved 2013-05-31.
  5. ^ Henschen, Doug. "Microsoft Ditches Dryad, Focuses On Hadoop". Semana de la Información. Retrieved 2013-05-31.

Más lectura

  • "Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks" (PDF). Microsoft Research. Retrieved 2007-12-04.
  • "SCOPE: Procesamiento fácil y eficiente del paralelo de conjuntos de datos masivos" (PDF). Microsoft Research. Retrieved 2009-01-21.
  • Dryad: Programación del centro de datos Archivado 2007-09-12 en la máquina Wayback
  • Dryad Home
  • Video de Michael Isard explicando Dryad en Google
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save