La API de aplicación de administración de recursos distribuidos ( DRMAA ) es una especificación de API de Open Grid Forum (OGF) de alto nivel para el envío y control de trabajos a un sistema de administración de recursos distribuidos (DRM), como una infraestructura de computación en red o en clúster . El alcance de la API cubre toda la funcionalidad de alto nivel requerida para que las aplicaciones envíen, controlen y supervisen trabajos en los recursos de ejecución en el sistema DRM.
En 2007, DRMAA fue una de las dos primeras especificaciones (la otra fue GridRPC ) que alcanzó el estado de recomendación completa en el OGF. [1]
En 2012 se publicó la segunda versión del estándar DRMAA ( DRMAA2 ) en un lenguaje de definición de interfaz abstracta (IDL) que define la semántica de las funciones en GFD 194. [2] DRMAA2 especifica más del doble de llamadas que DRMAA. Cubre la supervisión de clústeres, tiene una noción de colas y máquinas e introduce un concepto de sesiones de trabajo múltiples para aplicaciones individuales para una mejor gestión del flujo de trabajo. Más tarde, en 2012, la API de C se especificó como primer enlace de lenguaje en GF 198. [3]
Modelo de desarrollo
El desarrollo de esta API se realizó a través del Global Grid Forum , en el modelo de desarrollo estándar IETF, y originalmente fue coautor de:
- Roger Brobst de Cadence Design Systems
- Waiman Chan de IBM
- Fritz Ferstl de Sun Microsystems , ahora Univa
- Jeff Gardiner del Instituto de Investigación John P. Robarts
- Andreas Haas de Sun Microsystems (Copresidente)
- Bill Nitzberg de Altair Engineering
- Hrabri Rajic de Intel ( mantenedor y copresidente)
- John Tollefsrud de la fundación de Sun Microsystems (presidente)
Esta especificación se propuso por primera vez en el Global Grid Forum 3 (GGF3) [4] en Frascati , Italia , pero ganó la mayor parte de su impulso en el Global Grid Forum 4 en Toronto , Ontario . El desarrollo de la especificación se propuso por primera vez con el objetivo de facilitar la interfaz directa de las aplicaciones a los sistemas DRM existentes por parte de los constructores de aplicaciones, los constructores de portales y los proveedores de software independientes (ISV). Debido a que la API fue escrita en coautoría por participantes de una amplia selección de empresas e incluyó participantes de industrias y educación, su desarrollo resultó en un estándar abierto que recibió una recepción relativamente buena de una amplia audiencia rápidamente.
Significado
Sin DRMAA, no existía un modelo estándar para enviar trabajos a las regiones componentes de un Grid, asumiendo que cada región ejecutaba DRMS locales. La primera versión de la API DRMAA se implementó en Grid Engine de Sun y también en el programa Condor de la Universidad de Wisconsin-Madison . Además, se han puesto a disposición documentos vinculantes de C, Java e IDL.
Implementaciones
- Motor de cuadrícula [5]
- Motor de cuadrícula Univa [6]
- HTCondor [7]
- Par / PBS [8]
- GridWay [9]
- Xgrid [10]
- EGEE (LCG2 / gLite)
- UNICORE [11]
- Marco de clúster Kerrighed [12]
- IBM Tivoli Workload Scheduler LoadLeveler [13]
- SLURM [14]
- Implementación de referencia de Python DRMAA2 [15]
Enlaces de idioma
- C
- C ++
- Ir [16]
- Java
- JavaScript [17]
- Perl [18]
- Python [19]
- Enlace de Python DRMAA2 [15]
- Rubí [20]
- Tcl [21]
Se pueden generar fácilmente enlaces de otros idiomas desde SWIG , que fue utilizado por primera vez por el enlace de Perl.
Aplicaciones DRMAA
Varias soluciones de software utilizan DRMAA para interactuar con diferentes sistemas de gestión de recursos: [22]
- Oleoducto LONI [23]
- tigr-workflow [24]
- eXludus RepliCator [25]
- GridwiseTech Grid Engine- Adaptador del kit de herramientas Globus [26]
Referencias
- ^ "Los documentos DRMAA y GridRPC logran el estado de" Recomendación de cuadrícula " . Foro de cuadrícula abierta. 2008-01-07.
- ^ "API de la aplicación de gestión de recursos distribuidos versión 2" (PDF) . Foro de cuadrícula abierta. 2012-02-01.
- ^ "API de la aplicación de gestión de recursos distribuidos versión 2 - Enlace de lenguaje C" (PDF) . Foro de cuadrícula abierta. 2012-12-01.
- ^ GGF3 - El tercer foro de red global del 7 al 11 de octubre de 2001
- ^ "Implementación de N1 Grid Engine DRMAA 1.0 - Informe de experiencia" (PDF) . Foro de cuadrícula abierta. 2008-01-04. Archivado desde el original (PDF) el 16 de julio de 2011.
- ^ "Univa Grid Engine - Hoja de datos" (PDF) . Corporación Univa.
- ^ "Implementación de Condor DRMAA 1.0 - Informe de experiencia" (PDF) . Foro de cuadrícula abierta. 2008-01-04.[ enlace muerto permanente ]
- ^ "Implementación de PBS / Torque DRMAA 1.0 - Informe de experiencia" (PDF) . Foro de cuadrícula abierta. 2008-01-04.
- ^ "Implementación de GridWay DRMAA 1.0 - Informe de experiencia" (PDF) . Foro de cuadrícula abierta. 2008-01-04. Archivado desde el original (PDF) el 16 de julio de 2011.
- ^ "XgridDRMAA" . SourceForge. 2008-01-04.
- ^ Riedel, M .; Menday, R .; Streit, A .; Bala, P. (12 de julio de 2006). "Un marco de interfaz de sistema de destino basado en DRMAA para UNICORE". XII Congreso Internacional de Sistemas Distribuidos y Paralelos - (ICPADS'06) . IEEE. págs. 6 págs. doi : 10.1109 / ICPADS.2006.13 . ISBN 0-7695-2612-8.
- ^ "1 de febrero de 2008" (PDF) . 2008-02-01. Archivado desde el original (PDF) el 24 de julio de 2011.
- ^ "PSNC DRMAA para IBM LoadLeveler" . 2010-12-20.
- ^ "PSNC DRMAA para SLURM" . 2010-12-20.
- ^ a b "Python DRMAA2" . 2018-07-27.
- ^ Ir DRMAA
- ^ "Enlace de Java DRMAA con JavaScript" . Oracle Corporation . 2008-05-25. Archivado desde el original el 14 de diciembre de 2013 . Consultado el 23 de octubre de 2012 .
- ^ "Horario :: DRMAAc" .
- ^ "Enlaces DRMAA para Python" . Enero de 2020.
- ^ drmaa4ruby en github.com
- ^ Enlaces de idioma Tcl para DRMAAv1
- ^ "Historias de éxito de DRMAA" .
- ^ "Página de inicio de LONI Pipeline" .
- ^ "Página de inicio del proyecto de flujo de trabajo" . Sourceforge .
- ^ "EXLUDUS - Optimización MultiCore" .
- ^ "Adaptador GE-GT" . Archivado desde el original el 19 de mayo de 2009.
- Especificación 1 de la API de la aplicación de administración de recursos distribuidos
- Lista de eventos de GGF3
- Lista de eventos GGF4
enlaces externos
- Página del proyecto de DRMAA
- Foro de cuadrícula abierta
- Página de inicio de Condor
- Enlace DRMAA para Platform LSF
- Proyecto Ampliaciones Cóndor
- Enlace DRMAA para Ruby
- CÓMO y tutoriales de DRMAA