SlideShare a Scribd company logo
DRMAA: Distributed Resource
Management Application API
              Hrabri Rajic, Intel
    Daniel Templeton, Sun Microsystems
    Peter Tröger, University of Potsdam




            GGF 12 Tutorial
         Brussels, Sept 21, 2004
Agenda

• A few details about available DRMAA
  implementations
• Detailed example: Povray wrapper application for
  distributed rendering of raytracing pictures
• Brief example: GT3 job manager for DRMAA-
  enabled DRM systems

• Note: All code will be available at
  http://www.drmaa.org


  DRMAA tutorial      Brussels, Sept 21, 2004   2
DRMAA-enabled cluster software

 • Sun Grid Engine 6.0
   http://gridengine.sunsource.net
 • Condor 6.7 series (Red Hat RPM, TGZ)
   http://www.cs.wisc.edu/condor
 • Condor 6.7 series (Debian Package)
 • http://www.dcl.hpi.uni-potsdam.de/debian
 • Announcements for DRMAA implementation
        – GridWay project
          http://asds.dacya.ucm.es/GridWay
        – Rocks Cluster Distribution
          http://www.rocksclusters.org/Rocks/



 DRMAA tutorial               Brussels, Sept 21, 2004   3
Availability Matrix (18.9.2004)


                      C library               Java library     Perl wrapper

Sun Grid
Engine               Complete                 Complete            Works
6.0.0

                                                               Not working,
Condor                  Partial
                                             Not available    but needs only
6.7.1              implementation
                                                              SWIG adoption


               start with SGE now, things will become better
                         during the next months ...
  DRMAA tutorial                    Brussels, Sept 21, 2004                    4
Availability Matrix (21.9.2004)

                       C library               Java library   Perl wrapper
 Sun Grid
 Engine              Complete                   Complete        Works
 6.0.0

 Condor                 Partial                               Needs SWIG
                                              Not available
 6.7.1             implementation                              adoption

                                                              Needs SWIG
 GridWay                 ???                  Not available
                                                               adoption


              start with SGE now, things will become better
                        during the next months ...
 DRMAA tutorial                    Brussels, Sept 21, 2004                   5
Condor 6.7.1

 • Missing DRMAA functionality
       –   Job categories
       –   Some mandatory job template attributes
       –   Drmaa_run_bulk_jobs()
       –   Drmaa_wtermsig()
       –   Drmaa_wcoredump()
       –   DRMAA_IDS_SESSION_ALL
       –   DRMAA_IDS_SESSION_ANY
 • A few bugs (we will see them)
 • Condor team is working hardly on these issues,
   should be fixed with the next Condor releases


 DRMAA tutorial                Brussels, Sept 21, 2004   6
Sun Grid Engine 6.0.0

 •    $SGE_ROOT/lib/libdrmaa.so
 •    $SGE_ROOT/include/drmaa.h
 •    $SGE_ROOT/examples/drmaa/
 •    C and Java HowTo documents
 •    Integrated DRMAA test suite
 •    No open bugs for the moment




 DRMAA tutorial      Brussels, Sept 21, 2004   7
Povray Example
• Popular open source raytracer
  http://www.povray.org
• Command line tool, tons of options, renders scene files
• Several patches for MPI and PVM (farmer-worker)
• PVM options
    –    NTnnn = Spawn nnn tasks
    –    NAs    = Spawn only on architecture s
    –    NWnnn = Width of each chunk
    –    NHnnn = Height of each chunk
    –    NSs    = Name of slaves (executable)
    –    NDnnn = Name of the working directory
    –    pvm_hosts = n,n,.. = List of hostnames to use
• Who is starting the executable on the nodes ?
    – Host file, RSH


  DRMAA tutorial                      Brussels, Sept 21, 2004   8
DRMAA Povray Goals

 • Application which takes the Povray command
   line arguments and creates DRMS jobs
   through DRMAA interface
 • Slicing of the picture is done by our
   application, not by patched code inside
   PVM/MPI-Povray
 • Real DRM-independent application
        – SGE: drmaa.h, libdrmaa.so
        – Condor: lib_condor_drmaa.h (Bug),
          lib_condor_drmaa.a (Open issue)


 DRMAA tutorial           Brussels, Sept 21, 2004   9
What do we need ?

• C application with Povray-like command line
  arguments („dpovray“)
• One way to specify the number of nodes to be
  used
• An automatic way of splitting up the work into
  smaller pieces
• A way to concatenate the resulting picture slices
• Cross-DRMS compilation  Configure script
• Let‘s go ...


 DRMAA tutorial      Brussels, Sept 21, 2004     10
Command Line Interface

 • Povray arguments:
        – +I<input file>
        – +O<output file> (will always be PPM format)
        – +H<height>, +W<width>
 • dpovray arguments:
        – +SL<number of nodes to be used>
 • Check the number of arguments, read values, ...

 • [dpovray1.c]



 DRMAA tutorial               Brussels, Sept 21, 2004   11
Start the Rendering

 • Get the DRMAA header file
        – #include DRMAA_H
 • Calculate number of slices
 • Initialize the library
        – drmaa_init(), drmaa_allocate_job_template()
 • Fill job template
        – Povray arguments in DRMAA_V_ARGV array
        – Executable name (/usr/bin/env), output path, output files
        – Consider DRM specific options (Condor universe)
 • Run jobs and wait for finishing
        – drmaa_run_job(), drmaa_wait(), drmaa_wif...()

 • [dpovray2.c]
 DRMAA tutorial                Brussels, Sept 21, 2004                12
Combine the Results

 • PPM picture format is suitable
   (no compression, fixed header length)
 • +FP povray switch in the job template
 • Remove the first 3 lines of all output files,
   concatenate the results
 • Save the resulting picture, clean up
   (drmaa_exit)

 • [dpovray3.c]


 DRMAA tutorial       Brussels, Sept 21, 2004      13
Build the Software

• Special configure script that searches for well-known
  DRMAA libraries:
    –    AC_ARG_WITH(sge-drmaa)
    –    AC_ARG_WITH(condor-drmaa)
    –    AC_CHECK_HEADER, AC_CHECK_FILE
    –    AC_DEFINE_UNQUOTED(DRMAA_H)
    –    LIBS=„$LIBS $drmaa_lib“
    –    AC_OUTPUT
• Pluggability issues are in discussion within
  the DRMAA-WG

• [DEMO]


 DRMAA tutorial          Brussels, Sept 21, 2004          14
Conclusion

• Yes, one can write DRMS-independent code
  (if we ignore the Condor bugs for a moment)
• Further development of the tool:
    – Support enough command line arguments so that Povray
      GUI frontends can use it
    – Support more Povray file output formats (for example by
      using gd library for concatenation)
• It is necessary to recompile the application in
  presence of a new DRMS
    – Solution could be a meta library, DRMAA-WG is
      investigating this issue



 DRMAA tutorial             Brussels, Sept 21, 2004             15
Any questions until here ?
Globus Job Manager Example

• Globus 3.2 supports different job schedulers for
  local DRM systems (PBS, Condor, ...)
• Realization as Perl module with specific interfaces
  (see GRAM job manager tutorial)
• DRMAA job manager would allow to integrate DRM
  systems that do not have an explicit scheduler
  module in Globus distribution
• Unsolved question of resource monitoring
  (MDS integration)
• Implementation based on DRMAA perl library by
  Tim Harsch <harsch1@llnl.gov> needs compilation
  for the locally installed DRMS

 DRMAA tutorial        Brussels, Sept 21, 2004          17
Necessary Steps
• Write a module constructor
• Implement submit method
    – Globus writes submission parameters to $self hash
    – Parse Globus parameters, create DRMAA job template, set
      DRMAA parameters (at least executable name)
• Implement poll method
    – drmaa_job_ps()
• Implement cancel method
    – drmaa_control(DRMAA_CONTROL_TERMINATE)
• Install the code in Globus, build a GPT package
  (not part of this tutorial)

• [DRMAA.in]
 DRMAA tutorial            Brussels, Sept 21, 2004              18
GT3 Job Manager Status

• Ongoing work, some issues with SGE
    – Missing status codes
    – Who sets SGE_ROOT ?
• Final GPT package will be available at
  drmaa.org, watch the mailing list
• GT4 adoption is planned
• For specific questions please contact
  Alexander Saar <
  alexander.saar@hpi.uni-potsdam.de>


 DRMAA tutorial      Brussels, Sept 21, 2004   19
Are there any questions ?
Your Homework

• Let your application use DRMS resources
  through DRMAA interfaces
• Send bug reports to SGE and Condor authors
• Write a DRMAA library for your favorite
  DRMS (PBS, LLF, XGrid, fork, ...)
• Design the ultimate DRMAA GUI application
• Please, let us know about your experiences



 DRMAA tutorial   Brussels, Sept 21, 2004   21
Our Homework

• Continuous inspection of available DRMAA
  libraries (subscribe to
  drmaa-wg@gridforum.org for latest news)
• More bindings (WSDL, WSRF,Python, ...)
• More implementations (Mono, XGrid, Rocks,
  GridWay, GT frontend, ...)
• Collection of DRMAA 1.0 issues as tracker
  items in GridForge


 DRMAA tutorial   Brussels, Sept 21, 2004     22
Thank you for your attention!

 drmaa-wg@gridforum.org

More Related Content

What's hot

Struts,Jsp,Servlet
Struts,Jsp,ServletStruts,Jsp,Servlet
Struts,Jsp,Servlet
dasguptahirak
 
Java modularity: life after Java 9
Java modularity: life after Java 9Java modularity: life after Java 9
Java modularity: life after Java 9
Sander Mak (@Sander_Mak)
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
Ryan Cuprak
 
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
Ryan Cuprak
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
Ryan Cuprak
 
Java EE 8
Java EE 8Java EE 8
Java EE 8
Ryan Cuprak
 
JavaScript Interview Questions and Answers | Full Stack Web Development Train...
JavaScript Interview Questions and Answers | Full Stack Web Development Train...JavaScript Interview Questions and Answers | Full Stack Web Development Train...
JavaScript Interview Questions and Answers | Full Stack Web Development Train...
Edureka!
 
Scala and Play with Gradle
Scala and Play with GradleScala and Play with Gradle
Scala and Play with Gradle
Wei Chen
 
NetBeans Plugin Development Workshop
NetBeans Plugin Development WorkshopNetBeans Plugin Development Workshop
NetBeans Plugin Development Workshop
elliando dias
 
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Martin Toshev
 
Spring 4 Web App
Spring 4 Web AppSpring 4 Web App
Spring 4 Web App
Rossen Stoyanchev
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Red Hat Developers
 
Open Social Summit Korea
Open Social Summit KoreaOpen Social Summit Korea
Open Social Summit Korea
Arne Roomann-Kurrik
 
In the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: GradleIn the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: Gradle
Skills Matter
 
Type script
Type scriptType script
Type script
Mallikarjuna G D
 
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Vadym Kazulkin
 
Java presentation
Java presentationJava presentation
Java presentation
Karan Sareen
 
Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1
rajivmordani
 
Java 9 Features
Java 9 FeaturesJava 9 Features
Java 9 Features
NexThoughts Technologies
 
Core java
Core javaCore java
Core java
Mallikarjuna G D
 

What's hot (20)

Struts,Jsp,Servlet
Struts,Jsp,ServletStruts,Jsp,Servlet
Struts,Jsp,Servlet
 
Java modularity: life after Java 9
Java modularity: life after Java 9Java modularity: life after Java 9
Java modularity: life after Java 9
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
 
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
 
Java EE 8
Java EE 8Java EE 8
Java EE 8
 
JavaScript Interview Questions and Answers | Full Stack Web Development Train...
JavaScript Interview Questions and Answers | Full Stack Web Development Train...JavaScript Interview Questions and Answers | Full Stack Web Development Train...
JavaScript Interview Questions and Answers | Full Stack Web Development Train...
 
Scala and Play with Gradle
Scala and Play with GradleScala and Play with Gradle
Scala and Play with Gradle
 
NetBeans Plugin Development Workshop
NetBeans Plugin Development WorkshopNetBeans Plugin Development Workshop
NetBeans Plugin Development Workshop
 
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
 
Spring 4 Web App
Spring 4 Web AppSpring 4 Web App
Spring 4 Web App
 
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
Boost Development With Java EE7 On EAP7 (Demitris Andreadis)
 
Open Social Summit Korea
Open Social Summit KoreaOpen Social Summit Korea
Open Social Summit Korea
 
In the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: GradleIn the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: Gradle
 
Type script
Type scriptType script
Type script
 
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
Highlights from Java 10, 11 and 12 and Future of Java at Javaland 2019 By Vad...
 
Java presentation
Java presentationJava presentation
Java presentation
 
Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1Java Fx Ajaxworld Rags V1
Java Fx Ajaxworld Rags V1
 
Java 9 Features
Java 9 FeaturesJava 9 Features
Java 9 Features
 
Core java
Core javaCore java
Core java
 

Viewers also liked

fms9_cwp_php_en
fms9_cwp_php_enfms9_cwp_php_en
fms9_cwp_php_en
tutorialsruby
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsboro
tutorialsruby
 
Perl%20SYLLABUS%20PB
Perl%20SYLLABUS%20PBPerl%20SYLLABUS%20PB
Perl%20SYLLABUS%20PB
tutorialsruby
 
tutorial21
tutorial21tutorial21
tutorial21
tutorialsruby
 
IJTC%202009%20JRuby
IJTC%202009%20JRubyIJTC%202009%20JRuby
IJTC%202009%20JRuby
tutorialsruby
 
User_Manual
User_ManualUser_Manual
User_Manual
tutorialsruby
 
netbeans
netbeansnetbeans
netbeans
tutorialsruby
 

Viewers also liked (8)

fms9_cwp_php_en
fms9_cwp_php_enfms9_cwp_php_en
fms9_cwp_php_en
 
Fall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_TyngsboroFall_2008_CS601_W1_Tyngsboro
Fall_2008_CS601_W1_Tyngsboro
 
Perl%20SYLLABUS%20PB
Perl%20SYLLABUS%20PBPerl%20SYLLABUS%20PB
Perl%20SYLLABUS%20PB
 
tutorial21
tutorial21tutorial21
tutorial21
 
IJTC%202009%20JRuby
IJTC%202009%20JRubyIJTC%202009%20JRuby
IJTC%202009%20JRuby
 
080620-16461915
080620-16461915080620-16461915
080620-16461915
 
User_Manual
User_ManualUser_Manual
User_Manual
 
netbeans
netbeansnetbeans
netbeans
 

Similar to drmaatutggf12

How to lock a Python in a cage? Managing Python environment inside an R project
How to lock a Python in a cage?  Managing Python environment inside an R projectHow to lock a Python in a cage?  Managing Python environment inside an R project
How to lock a Python in a cage? Managing Python environment inside an R project
WLOG Solutions
 
Groovy In the Cloud
Groovy In the CloudGroovy In the Cloud
Groovy In the Cloud
Jim Driscoll
 
Advanced Node.JS Meetup
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS Meetup
LINAGORA
 
Commit to excellence - Java in containers
Commit to excellence - Java in containersCommit to excellence - Java in containers
Commit to excellence - Java in containers
Red Hat Developers
 
Drools, jBPM OptaPlanner presentation
Drools, jBPM OptaPlanner presentationDrools, jBPM OptaPlanner presentation
Drools, jBPM OptaPlanner presentation
Mark Proctor
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
Laura Frank Tacho
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless Containers
Akihiro Suda
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
RightScale
 
Fast and Reproducible Deep Learning
Fast and Reproducible Deep LearningFast and Reproducible Deep Learning
Fast and Reproducible Deep Learning
Greg Gandenberger
 
Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...
Ari Jolma
 
TIMES cloud Service TIMES/MIRO App
TIMES cloud Service  TIMES/MIRO AppTIMES cloud Service  TIMES/MIRO App
TIMES cloud Service TIMES/MIRO App
IEA-ETSAP
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
Chip Childers
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Sridhar Kumar N
 
How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014
Puppet
 
CFD on Power
CFD on Power CFD on Power
CFD on Power
Ganesan Narayanasamy
 
Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2
Peter Tröger
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023
Igalia
 
Directive-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous ComputingDirective-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous Computing
Ruymán Reyes
 
Decrease build time and application size
Decrease build time and application sizeDecrease build time and application size
Decrease build time and application size
Keval Patel
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
GlobalLogic Ukraine
 

Similar to drmaatutggf12 (20)

How to lock a Python in a cage? Managing Python environment inside an R project
How to lock a Python in a cage?  Managing Python environment inside an R projectHow to lock a Python in a cage?  Managing Python environment inside an R project
How to lock a Python in a cage? Managing Python environment inside an R project
 
Groovy In the Cloud
Groovy In the CloudGroovy In the Cloud
Groovy In the Cloud
 
Advanced Node.JS Meetup
Advanced Node.JS MeetupAdvanced Node.JS Meetup
Advanced Node.JS Meetup
 
Commit to excellence - Java in containers
Commit to excellence - Java in containersCommit to excellence - Java in containers
Commit to excellence - Java in containers
 
Drools, jBPM OptaPlanner presentation
Drools, jBPM OptaPlanner presentationDrools, jBPM OptaPlanner presentation
Drools, jBPM OptaPlanner presentation
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
The State of Rootless Containers
The State of Rootless ContainersThe State of Rootless Containers
The State of Rootless Containers
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
Fast and Reproducible Deep Learning
Fast and Reproducible Deep LearningFast and Reproducible Deep Learning
Fast and Reproducible Deep Learning
 
Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...
 
TIMES cloud Service TIMES/MIRO App
TIMES cloud Service  TIMES/MIRO AppTIMES cloud Service  TIMES/MIRO App
TIMES cloud Service TIMES/MIRO App
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
 
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,GrafanaPrometheus - Intro, CNCF, TSDB,PromQL,Grafana
Prometheus - Intro, CNCF, TSDB,PromQL,Grafana
 
How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014How to Puppetize Google Cloud Platform - PuppetConf 2014
How to Puppetize Google Cloud Platform - PuppetConf 2014
 
CFD on Power
CFD on Power CFD on Power
CFD on Power
 
Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2Distributed Resource Management Application API (DRMAA) Version 2
Distributed Resource Management Application API (DRMAA) Version 2
 
Freedreno on Android – XDC 2023
Freedreno on Android          – XDC 2023Freedreno on Android          – XDC 2023
Freedreno on Android – XDC 2023
 
Directive-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous ComputingDirective-based approach to Heterogeneous Computing
Directive-based approach to Heterogeneous Computing
 
Decrease build time and application size
Decrease build time and application sizeDecrease build time and application size
Decrease build time and application size
 
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
Embedded Webinar #12 “GloDroid or Boosting True Open Source Android Stack Dev...
 

More from tutorialsruby

&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
tutorialsruby
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
tutorialsruby
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
tutorialsruby
 
CSS
CSSCSS
CSS
CSSCSS
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
tutorialsruby
 

More from tutorialsruby (20)

&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
TopStyle Help &amp; &lt;b>Tutorial&lt;/b>
 
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
The Art Institute of Atlanta IMD 210 Fundamentals of Scripting &lt;b>...&lt;/b>
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />&lt;img src="../i/r_14.png" />
&lt;img src="../i/r_14.png" />
 
Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0Standardization and Knowledge Transfer – INS0
Standardization and Knowledge Transfer – INS0
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml_basics
xhtml_basicsxhtml_basics
xhtml_basics
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
xhtml-documentation
xhtml-documentationxhtml-documentation
xhtml-documentation
 
CSS
CSSCSS
CSS
 
CSS
CSSCSS
CSS
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa0602690047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
0047ecaa6ea3e9ac0a13a2fe96f4de3bfd515c88f5d90c1fae79b956363d7f02c7fa060269
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
HowTo_CSS
HowTo_CSSHowTo_CSS
HowTo_CSS
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
BloggingWithStyle_2008
BloggingWithStyle_2008BloggingWithStyle_2008
BloggingWithStyle_2008
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 
cascadingstylesheets
cascadingstylesheetscascadingstylesheets
cascadingstylesheets
 

Recently uploaded

June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
saastr
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 

Recently uploaded (20)

June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
9 CEO's who hit $100m ARR Share Their Top Growth Tactics Nathan Latka, Founde...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 

drmaatutggf12

  • 1. DRMAA: Distributed Resource Management Application API Hrabri Rajic, Intel Daniel Templeton, Sun Microsystems Peter Tröger, University of Potsdam GGF 12 Tutorial Brussels, Sept 21, 2004
  • 2. Agenda • A few details about available DRMAA implementations • Detailed example: Povray wrapper application for distributed rendering of raytracing pictures • Brief example: GT3 job manager for DRMAA- enabled DRM systems • Note: All code will be available at http://www.drmaa.org DRMAA tutorial Brussels, Sept 21, 2004 2
  • 3. DRMAA-enabled cluster software • Sun Grid Engine 6.0 http://gridengine.sunsource.net • Condor 6.7 series (Red Hat RPM, TGZ) http://www.cs.wisc.edu/condor • Condor 6.7 series (Debian Package) • http://www.dcl.hpi.uni-potsdam.de/debian • Announcements for DRMAA implementation – GridWay project http://asds.dacya.ucm.es/GridWay – Rocks Cluster Distribution http://www.rocksclusters.org/Rocks/ DRMAA tutorial Brussels, Sept 21, 2004 3
  • 4. Availability Matrix (18.9.2004) C library Java library Perl wrapper Sun Grid Engine Complete Complete Works 6.0.0 Not working, Condor Partial Not available but needs only 6.7.1 implementation SWIG adoption start with SGE now, things will become better during the next months ... DRMAA tutorial Brussels, Sept 21, 2004 4
  • 5. Availability Matrix (21.9.2004) C library Java library Perl wrapper Sun Grid Engine Complete Complete Works 6.0.0 Condor Partial Needs SWIG Not available 6.7.1 implementation adoption Needs SWIG GridWay ??? Not available adoption start with SGE now, things will become better during the next months ... DRMAA tutorial Brussels, Sept 21, 2004 5
  • 6. Condor 6.7.1 • Missing DRMAA functionality – Job categories – Some mandatory job template attributes – Drmaa_run_bulk_jobs() – Drmaa_wtermsig() – Drmaa_wcoredump() – DRMAA_IDS_SESSION_ALL – DRMAA_IDS_SESSION_ANY • A few bugs (we will see them) • Condor team is working hardly on these issues, should be fixed with the next Condor releases DRMAA tutorial Brussels, Sept 21, 2004 6
  • 7. Sun Grid Engine 6.0.0 • $SGE_ROOT/lib/libdrmaa.so • $SGE_ROOT/include/drmaa.h • $SGE_ROOT/examples/drmaa/ • C and Java HowTo documents • Integrated DRMAA test suite • No open bugs for the moment DRMAA tutorial Brussels, Sept 21, 2004 7
  • 8. Povray Example • Popular open source raytracer http://www.povray.org • Command line tool, tons of options, renders scene files • Several patches for MPI and PVM (farmer-worker) • PVM options – NTnnn = Spawn nnn tasks – NAs = Spawn only on architecture s – NWnnn = Width of each chunk – NHnnn = Height of each chunk – NSs = Name of slaves (executable) – NDnnn = Name of the working directory – pvm_hosts = n,n,.. = List of hostnames to use • Who is starting the executable on the nodes ? – Host file, RSH DRMAA tutorial Brussels, Sept 21, 2004 8
  • 9. DRMAA Povray Goals • Application which takes the Povray command line arguments and creates DRMS jobs through DRMAA interface • Slicing of the picture is done by our application, not by patched code inside PVM/MPI-Povray • Real DRM-independent application – SGE: drmaa.h, libdrmaa.so – Condor: lib_condor_drmaa.h (Bug), lib_condor_drmaa.a (Open issue) DRMAA tutorial Brussels, Sept 21, 2004 9
  • 10. What do we need ? • C application with Povray-like command line arguments („dpovray“) • One way to specify the number of nodes to be used • An automatic way of splitting up the work into smaller pieces • A way to concatenate the resulting picture slices • Cross-DRMS compilation  Configure script • Let‘s go ... DRMAA tutorial Brussels, Sept 21, 2004 10
  • 11. Command Line Interface • Povray arguments: – +I<input file> – +O<output file> (will always be PPM format) – +H<height>, +W<width> • dpovray arguments: – +SL<number of nodes to be used> • Check the number of arguments, read values, ... • [dpovray1.c] DRMAA tutorial Brussels, Sept 21, 2004 11
  • 12. Start the Rendering • Get the DRMAA header file – #include DRMAA_H • Calculate number of slices • Initialize the library – drmaa_init(), drmaa_allocate_job_template() • Fill job template – Povray arguments in DRMAA_V_ARGV array – Executable name (/usr/bin/env), output path, output files – Consider DRM specific options (Condor universe) • Run jobs and wait for finishing – drmaa_run_job(), drmaa_wait(), drmaa_wif...() • [dpovray2.c] DRMAA tutorial Brussels, Sept 21, 2004 12
  • 13. Combine the Results • PPM picture format is suitable (no compression, fixed header length) • +FP povray switch in the job template • Remove the first 3 lines of all output files, concatenate the results • Save the resulting picture, clean up (drmaa_exit) • [dpovray3.c] DRMAA tutorial Brussels, Sept 21, 2004 13
  • 14. Build the Software • Special configure script that searches for well-known DRMAA libraries: – AC_ARG_WITH(sge-drmaa) – AC_ARG_WITH(condor-drmaa) – AC_CHECK_HEADER, AC_CHECK_FILE – AC_DEFINE_UNQUOTED(DRMAA_H) – LIBS=„$LIBS $drmaa_lib“ – AC_OUTPUT • Pluggability issues are in discussion within the DRMAA-WG • [DEMO] DRMAA tutorial Brussels, Sept 21, 2004 14
  • 15. Conclusion • Yes, one can write DRMS-independent code (if we ignore the Condor bugs for a moment) • Further development of the tool: – Support enough command line arguments so that Povray GUI frontends can use it – Support more Povray file output formats (for example by using gd library for concatenation) • It is necessary to recompile the application in presence of a new DRMS – Solution could be a meta library, DRMAA-WG is investigating this issue DRMAA tutorial Brussels, Sept 21, 2004 15
  • 17. Globus Job Manager Example • Globus 3.2 supports different job schedulers for local DRM systems (PBS, Condor, ...) • Realization as Perl module with specific interfaces (see GRAM job manager tutorial) • DRMAA job manager would allow to integrate DRM systems that do not have an explicit scheduler module in Globus distribution • Unsolved question of resource monitoring (MDS integration) • Implementation based on DRMAA perl library by Tim Harsch <harsch1@llnl.gov> needs compilation for the locally installed DRMS DRMAA tutorial Brussels, Sept 21, 2004 17
  • 18. Necessary Steps • Write a module constructor • Implement submit method – Globus writes submission parameters to $self hash – Parse Globus parameters, create DRMAA job template, set DRMAA parameters (at least executable name) • Implement poll method – drmaa_job_ps() • Implement cancel method – drmaa_control(DRMAA_CONTROL_TERMINATE) • Install the code in Globus, build a GPT package (not part of this tutorial) • [DRMAA.in] DRMAA tutorial Brussels, Sept 21, 2004 18
  • 19. GT3 Job Manager Status • Ongoing work, some issues with SGE – Missing status codes – Who sets SGE_ROOT ? • Final GPT package will be available at drmaa.org, watch the mailing list • GT4 adoption is planned • For specific questions please contact Alexander Saar < alexander.saar@hpi.uni-potsdam.de> DRMAA tutorial Brussels, Sept 21, 2004 19
  • 20. Are there any questions ?
  • 21. Your Homework • Let your application use DRMS resources through DRMAA interfaces • Send bug reports to SGE and Condor authors • Write a DRMAA library for your favorite DRMS (PBS, LLF, XGrid, fork, ...) • Design the ultimate DRMAA GUI application • Please, let us know about your experiences DRMAA tutorial Brussels, Sept 21, 2004 21
  • 22. Our Homework • Continuous inspection of available DRMAA libraries (subscribe to drmaa-wg@gridforum.org for latest news) • More bindings (WSDL, WSRF,Python, ...) • More implementations (Mono, XGrid, Rocks, GridWay, GT frontend, ...) • Collection of DRMAA 1.0 issues as tracker items in GridForge DRMAA tutorial Brussels, Sept 21, 2004 22
  • 23. Thank you for your attention! drmaa-wg@gridforum.org