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

Using Qt under LGPLv3
Using Qt under LGPLv3Using Qt under LGPLv3
Using Qt under LGPLv3
Burkhard Stubert
 
Java and Containers - Make it Awesome !
Java and Containers - Make it Awesome !Java and Containers - Make it Awesome !
Java and Containers - Make it Awesome !
Dinakar Guniguntala
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
Edge AI and Vision Alliance
 
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ..."Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
Edge AI and Vision Alliance
 
Applying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBBApplying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBB
Monica Beckwith
 
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
Edge AI and Vision Alliance
 
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
AMD Developer Central
 
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
AMD Developer Central
 
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Anthony Dahanne
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
Kohei Tokunaga
 
Elastic JVM for Scalable Java EE Applications Running in Containers #Jakart...
Elastic JVM  for Scalable Java EE Applications  Running in Containers #Jakart...Elastic JVM  for Scalable Java EE Applications  Running in Containers #Jakart...
Elastic JVM for Scalable Java EE Applications Running in Containers #Jakart...
Jelastic Multi-Cloud PaaS
 
Debugging of (C)Python applications
Debugging of (C)Python applicationsDebugging of (C)Python applications
Debugging of (C)Python applications
Roman Podoliaka
 
Rally--OpenStack Benchmarking at Scale
Rally--OpenStack Benchmarking at ScaleRally--OpenStack Benchmarking at Scale
Rally--OpenStack Benchmarking at Scale
Mirantis
 
Daneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver Meetup
Daneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver MeetupDaneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver Meetup
Daneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver Meetup
Shannon McFarland
 
MySQL-and-virtualization
MySQL-and-virtualizationMySQL-and-virtualization
MySQL-and-virtualization
Raghavendra Prabhu
 
HPC on OpenStack
HPC on OpenStackHPC on OpenStack
HPC on OpenStack
Erich Birngruber
 
Embedding Qt
Embedding QtEmbedding Qt
Embedding Qt
FSCONS
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
Tulipp. Eu
 
OpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel ProgrammingOpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel Programming
Andreas Schreiber
 

What's hot (19)

Using Qt under LGPLv3
Using Qt under LGPLv3Using Qt under LGPLv3
Using Qt under LGPLv3
 
Java and Containers - Make it Awesome !
Java and Containers - Make it Awesome !Java and Containers - Make it Awesome !
Java and Containers - Make it Awesome !
 
"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel"Making OpenCV Code Run Fast," a Presentation from Intel
"Making OpenCV Code Run Fast," a Presentation from Intel
 
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ..."Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
"Portable Performance via the OpenVX Computer Vision Library: Case Studies," ...
 
Applying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBBApplying Concurrency Cookbook Recipes to SPEC JBB
Applying Concurrency Cookbook Recipes to SPEC JBB
 
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
"OpenCV for Embedded: Lessons Learned," a Presentation from itseez
 
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
MM-4092, Optimizing FFMPEG and Handbrake Using OpenCL and Other AMD HW Capabi...
 
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
PT-4055, Optimizing Raytracing on GCN with AMD Development Tools, by Tzachi C...
 
Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018Kubernetes for java developers - Tutorial at Oracle Code One 2018
Kubernetes for java developers - Tutorial at Oracle Code One 2018
 
DockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐるDockerとKubernetesをかけめぐる
DockerとKubernetesをかけめぐる
 
Elastic JVM for Scalable Java EE Applications Running in Containers #Jakart...
Elastic JVM  for Scalable Java EE Applications  Running in Containers #Jakart...Elastic JVM  for Scalable Java EE Applications  Running in Containers #Jakart...
Elastic JVM for Scalable Java EE Applications Running in Containers #Jakart...
 
Debugging of (C)Python applications
Debugging of (C)Python applicationsDebugging of (C)Python applications
Debugging of (C)Python applications
 
Rally--OpenStack Benchmarking at Scale
Rally--OpenStack Benchmarking at ScaleRally--OpenStack Benchmarking at Scale
Rally--OpenStack Benchmarking at Scale
 
Daneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver Meetup
Daneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver MeetupDaneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver Meetup
Daneyon Hansen - Intro to OpenStack - Feb13 OpenStack Denver Meetup
 
MySQL-and-virtualization
MySQL-and-virtualizationMySQL-and-virtualization
MySQL-and-virtualization
 
HPC on OpenStack
HPC on OpenStackHPC on OpenStack
HPC on OpenStack
 
Embedding Qt
Embedding QtEmbedding Qt
Embedding Qt
 
HiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOSHiPEAC 2019 Tutorial - Maestro RTOS
HiPEAC 2019 Tutorial - Maestro RTOS
 
OpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel ProgrammingOpenCL - The Open Standard for Heterogeneous Parallel Programming
OpenCL - The Open Standard for Heterogeneous Parallel Programming
 

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

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

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