DRMA
DRMAADRMA(Distributed Resource Management Application API)는 클러스터 또는 그리드 컴퓨팅 인프라와 같은 분산 리소스 관리(DRM) 시스템에 대한 작업 제출 및 제어를 위한 고수준 OGF(Open Grid Forum) API 규격이다.API의 범위는 응용 프로그램이 DRM 시스템의 실행 리소스에 대한 작업을 제출, 제어 및 모니터링하는 데 필요한 모든 고급 기능을 포함한다.
2007년에 DRMAA는 OGF에서 전체 권고 상태에 도달한 최초 2개(다른 하나는 그리드RPC) 규격 중 하나였다.[1]
2012년에 DRMAA 표준의 두 번째 버전(DRMA2)은 GFD 194에서 함수의 의미성을 정의하는 추상 인터페이스 정의 언어(IDL)로 출판되었다.[2]DRMAA2는 DRMA보다 2배 이상 많은 통화를 지정한다.클러스터 모니터링을 다루고, 대기열과 기계에 대한 개념을 가지며, 더 나은 작업 워크플로우 관리를 위해 단일 애플리케이션에 대한 다중 작업 세션 개념을 도입한다.이후 2012년에 C API는 GF 198에서 제1언어 바인딩으로 지정되었다.[3]
개발 모델
이 API의 개발은 IETF 표준 개발 모델인 Global Grid Forum을 통해 이루어졌으며, 원래는 다음이 공동으로 작성하였다.
- 캐든스 디자인 시스템의 로저 브로스트
- IBM의 Waiman Chan
- Sun Microsystems의 프리츠 퍼스틀, 이제 Univa
- 존 P. 로바츠 연구소의 제프 가디너
- Sun Microsystems의 안드레아스 하스(공동대표
- 알테어 엔지니어링의 빌 니츠버그
- 인텔의 Hrabri Rajic(Maintener & Co-Chief)
- Sun Microsystems Foundation의 John Tollefsrud(의장)
이 규격은 이탈리아 프라스카티의 GGF3([4]Global Grid Forum 3)에서 처음 제안되었으나 온타리오 주 토론토에서 Global Grid Forum 4에서 대부분의 모멘텀을 얻었다.규격의 개발은 먼저 애플리케이션의 빌더, 포털 빌더 및 독립 소프트웨어 벤더(ISV)에 의한 기존 DRM 시스템에 대한 응용 프로그램의 직접 접속을 용이하게 하기 위한 목적으로 제안되었다.API는 폭넓은 기업선정 참여자들이 공동저술하고 산업계 및 교육계 참여자도 포함했기 때문에 개발로 인해 많은 청중들로부터 비교적 좋은 반응을 빠르게 얻을 수 있는 개방형 표준이 형성되었다.
의의
DRMAA를 사용하지 않으면 각 지역이 로컬 DRMS를 실행하고 있다고 가정할 때 그리드의 구성요소 영역에 작업을 제출할 표준 모델이 존재하지 않았다.DRMA API의 첫 번째 버전은 Sun's Grid Engine과 University of Wisconsin-Madison의 프로그램 Condor에서도 구현되었다.또한, C, 자바, IDL 바인딩 문서를 이용할 수 있게 되었다.
구현
- 그리드 엔진[5]
- 유니바 그리드 엔진[6]
- HTCondor[7]
- 토크/PBS[8]
- 그리드웨이[9]
- 엑스그리드[10]
- EGE(LCG2 / gLite)
- 유니코어[11]
- 커어드 클러스터 프레임워크[12]
- IBM Tivoli Workload Scheduler LoadLeveler[13]
- 슬럼[14]
- Python DRMAA2 참조 구현[15]
언어 바인딩
펄 바인딩이 처음 사용한 SWIG에서 다른 언어 바인딩을 쉽게 생성할 수 있다.
DRMAA 애플리케이션
많은 소프트웨어 솔루션이 DRMAA를 사용하여 서로 다른 리소스 관리 시스템과 인터페이스:[22]
참조
- ^ "DRMAA and GridRPC Documents Achieve "Grid Recommendation" Status". Open Grid Forum. 2008-01-07.
- ^ "Distributed Resource Management Application API Version 2" (PDF). Open Grid Forum. 2012-02-01.
- ^ "Distributed Resource Management Application API Version 2 - C Language Binding" (PDF). Open Grid Forum. 2012-12-01.
- ^ GGF3 - 2001년 10월 7일 - 11일 제3차 글로벌 그리드 포럼
- ^ "N1 Grid Engine DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04. Archived from the original (PDF) on 2011-07-16.
- ^ "Univa Grid Engine - Data Sheet" (PDF). Univa Corporation.
- ^ "Condor DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04.[영구적 데드링크]
- ^ "PBS/Torque DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04.
- ^ "GridWay DRMAA 1.0 Implementation – Experience Report" (PDF). Open Grid Forum. 2008-01-04. Archived from the original (PDF) on 2011-07-16.
- ^ "XgridDRMAA". SourceForge. 2008-01-04.
- ^ Riedel, M.; Menday, R.; Streit, A.; Bala, P. (2006-07-12). "A DRMAA-based target system interface framework for UNICORE". 12th International Conference on Parallel and Distributed Systems - (ICPADS'06). IEEE. pp. 6 pp. doi:10.1109/ICPADS.2006.13. ISBN 0-7695-2612-8.
- ^ "February 1, 2008" (PDF). 2008-02-01. Archived from the original (PDF) on 2011-07-24.
- ^ "PSNC DRMAA for IBM LoadLeveler". 2010-12-20.
- ^ "PSNC DRMAA for SLURM". 2010-12-20.
- ^ a b "Python DRMAA2". 2018-07-27.
- ^ Go DRMA
- ^ "Java DRMAA binding with JavaScript". Oracle Corporation. 2008-05-25. Archived from the original on 2013-12-14. Retrieved 2012-10-23.
- ^ "Schedule::DRMAAc".
- ^ "DRMAA bindings for Python". January 2020.
- ^ drmaa4ruby github.com
- ^ DRMAAv1에 대한 Tcl 언어 바인딩
- ^ "DRMAA Success Stories".
- ^ "LONI Pipeline Home Page".
- ^ "Work Flow Project Home Page". SourceForge.
- ^ "EXLUDUS - MultiCore Optimization".
- ^ "GE-GT Adapter". Archived from the original on 2009-05-19.