SlideShare a Scribd company logo
Mitglied der Helmholtz-Gemeinschaft




                                      The UNICORE Command
                                      Line Client
                                      07.07.2009   Rebecca Breu
UNICORE Clients
     Several clients for different purposes:
       Rich Client: Eclipse-based graphical client for complex tasks
       UCC: Command line client
       GPE Application Client: Easy-to-use graphical client for
       simple tasks
       Portal Clients: Web based client to use with a browser




07.07.2009                                                             Slide 2
UNICORE Clients
     Clients are . . .
        intuitive
        Java based → platform independent
        easy to install

     Prerequisites for users:
        Sun Java 1.5
        A user certificate

     Outline
             This session: Single jobs via ucc
             Next session: Workflow jobs via Eclipse Client

07.07.2009                                                   Slide 3
Basic Client Configuration

             Create a password-protected keystore that holds all keys
             needed
             Add keys to keystore:
               User’s private and public key
               Public keys of trusted CAs (must trust signer of involved
               gateway keys!)
             Add URI of global registry




07.07.2009                                                                 Slide 4
Job excecution and file transfer

             For each job, an own directory is created on the target system
             (uspace)
             Job executes within uspace directory
             File import: File tranfer from somewhere (e.g. user’s local
             computer) into uspace
             File export: File tranfer from uspace to somewhere (e.g.
             user’s local computer)
             Every input file a job needs has to be imported
             Every output file a user wants to see has to be exported
             Applications (GridBeans) import and export some files
             autmatically

07.07.2009                                                                    Slide 5
Basic usage of UCC

     Connect to UNICORE site:
      > ucc connect
      You can access 2 target system ( s ).

     For every ucc command, you can use -v for verbose output:
      > ucc connect -v

     Getting help:
      > ucc help

     Help for each ucc command with -h:
      > ucc connect -h


07.07.2009                                                       Slide 6
Synchronous Job Submission

     Use run command to submit a job:

      > ucc run ucc -1.1/ samples / date . u
      RUNNING
      SUCCESSFUL exit code : 0
      / tmp / c61e1d7c -92 d4 -4 be0 -87 f8 -6 a7dddc4c728 . stdout
      / tmp / c61e1d7c -92 d4 -4 be0 -87 f8 -6 a7dddc4c728 . stderr
      / tmp / c61e1d7c -92 d4 -4 be0 -87 f8 -6 a7dddc4c728 . properties

             UCC waits until job is finished
             Output files are fetched automatically
     Use -a option for asynchronous job submission → UCC returns
     prompt after submit

07.07.2009                                                         Slide 7
UCC job format: simple example


     UCC jobs are given in JSON format.

     Simple example: All-time favourite date application:
      # Simple Date job

      {
             ApplicationName : Date ,
             Version : 1.0 # Optional
      }
     Date takes no input and produces stdout and stderr.



07.07.2009                                                  Slide 8
UCC job format: file imports and export

     Example: Script job that produces additional file output.txt:
      {
             ApplicationName : Bash shell ,
             Environment : [ " SOURCE = input . sh " ] ,
             Imports : [ { File : " / home / rbreu / myscript . sh " ,
                           To : input . sh } ] ,
             # If script produces output ( optional ):
             Exports : [ { File : output . txt ,
                           To : output . txt } ]
      }

             File import from local machine to job’s working directory
             File export from job’s working directory to local machine


07.07.2009                                                               Slide 9
The Bash Application in the IDB

     Recall: This is how the Bash Application has been defined on
     server side:
      < idb:I DB Ap pl ic ation >
         < id b : Ap p l ic a t ionName > Bash shell </ idb:ApplicationName >
         < i d b : A p p l i c a t ion Ve rs ion > 3.1.16 </ i db :Ap pl ic at ion Ve rs ion >
         < js d l : P O S I X A p pli catio n xmlns:jsdl = " http: // schemas . ggf . or
             < jsdl:Executable >/ bin / bash </ jsdl:Executable >
             < jsdl:Argument > -- debugger $ DEBUG ? </ jsdl:Argument >
             < jsdl:Argument > -v $ VERBOSE ? </ jsdl:Argument >
             < jsdl:Argument >$ ARGUMENTS ? </ jsdl:Argument >
             < jsdl:Argument >$ SOURCE ? </ jsdl:Argument >
         </ j s d l : P O S I X A ppli catio n >
      </ idb :I DB Ap pl ic ation >



07.07.2009                                                                          Slide 10
Specify Resources

      {
             ApplicationName : Date ,

             Resources : {
               Memory : 268435456 , # per CPU in bytes
               Runtime : 86400 , # per CPU in seconds
               Nodes : 3 ,
               CPUs : 64 , # per node

                 # Custom resources ( site - dependent !):
                 S t ac k L im i t Pe r T hr e a d : 262144
             }
      }
     Please be sparing if you try that here at ISSGC ;-)

07.07.2009                                                    Slide 11
Data management


     List a remote directory:
      > ucc ls u6 :// GILDA - CATANIA / home
      . ssh
      . bash_history
      mydata

     Copy files between local and remote machine:
      > ucc get - file -s u6 :// GILDA - CATANIA / home / mydata 
            -t mydata
      > ucc put - file -s mydata2 
            -t u6 :// GILDA - CATANIA / home / mydata2



07.07.2009                                                    Slide 12
Batch Processing


     Use batch command to submit all files within a directory:
      > ucc batch -i / my / dir /

             UCC returns when all jobs are finished
             Output files are fetched automatically
     With -f option, ucc waits for more files to be copied in that
     directory:
      > ucc batch -f -i / my / dir /




07.07.2009                                                          Slide 13
UCC from within Emacs




                            UCC commands in
                            Emacs
                            Output highlighting
                            Clickable links in
                            output

                          See ucc-1.1.1/extras/




07.07.2009                                        Slide 14
Advanced usage: Groovy scripting
     Use groovy scripting to automatetasks, implement custom
     commands, . . .

     Simple example: Delete all your jobs
      import de . fzj . unicore . uas . client .*;

      def lister =
        new de . fzj . unicore . ucc . helpers . T a r g e t S y s t e m L i s t e r ( registry )

      lister . each {
          it . jobs . each {
                 messageWriter . message " Job at " + it . address . stringValue
                 new JobClient ( it . address . stringValue , it ,
                                 s e c u r i t y P r o p e r t i e s ). destroy ()
          }
      }

     Run with ucc run-groovy -f delete.groovy
07.07.2009                                                                                  Slide 15
More information


             Information for the practical sessions:
             www.fz-juelich.de/jsc/unicore/ISSGC09/
             UNICORE Website: www.unicore.eu/
             UCC Documentation:
             www.unicore.eu/documentation/manuals/unicore6/ucc/
             UCC Scripting with Groovy:
             http://www.unicore.eu/documentation/files/ucc groovy.pdf
             Mailing list: unicore-support@lists.sf.net
     More job examples and Groovy examples can be found in the ucc
     package.


07.07.2009                                                             Slide 16

More Related Content

PPT
Session 42 - GridSAM
PDF
Setup & Operate Tungsten Replicator
PDF
EWD 3 Training Course Part 17: Introduction to Global Storage Databases
PDF
From a cluster to the Cloud
PDF
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
PDF
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
PDF
Qemu gluster fs
Session 42 - GridSAM
Setup & Operate Tungsten Replicator
EWD 3 Training Course Part 17: Introduction to Global Storage Databases
From a cluster to the Cloud
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
EWD 3 Training Course Part 33: Configuring QEWD to use CORS
Qemu gluster fs

What's hot (20)

ODP
oVirt 3.6 Deep Dive: Refresh LUN size
PDF
Optimization_of_Virtual_Machines_for_High_Performance
PDF
Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...
PDF
Overview of kubernetes network functions
PDF
Writing the Container Network Interface(CNI) plugin in golang
ODP
Gdeploy 2.0
PDF
Rails Conf Europe 2007 - Utilizing Amazon S3 and EC2 in Rails
ODP
Leases and-caching final
ODP
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
PDF
Running Legacy Applications with Containers
PDF
OSBConf 2015 | Scale out backups with bareos and gluster by niels de vos
PDF
Web Performance Optimization with HTTP/3
PDF
Improving Development and Deployment with Docker
PPTX
Mm sys 2013-demo
PDF
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...
ODP
Developing apps and_integrating_with_gluster_fs_-_libgfapi
PPT
re7jweiss
PDF
Streaming of SVG animations on the Web
ODP
Gluster intro-tdose
PDF
OpenNebulaConf 2016 - Network automation with VR by Karsten Nielsen, Unity Te...
oVirt 3.6 Deep Dive: Refresh LUN size
Optimization_of_Virtual_Machines_for_High_Performance
Tungsten University: MySQL Multi-Master Operations Made Simple With Tungsten ...
Overview of kubernetes network functions
Writing the Container Network Interface(CNI) plugin in golang
Gdeploy 2.0
Rails Conf Europe 2007 - Utilizing Amazon S3 and EC2 in Rails
Leases and-caching final
Integrating gluster fs,_qemu_and_ovirt-vijay_bellur-linuxcon_eu_2013
Running Legacy Applications with Containers
OSBConf 2015 | Scale out backups with bareos and gluster by niels de vos
Web Performance Optimization with HTTP/3
Improving Development and Deployment with Docker
Mm sys 2013-demo
Meetup RomaJS - introduzione interattiva a Node.js - Luca Lanziani - Codemoti...
Developing apps and_integrating_with_gluster_fs_-_libgfapi
re7jweiss
Streaming of SVG animations on the Web
Gluster intro-tdose
OpenNebulaConf 2016 - Network automation with VR by Karsten Nielsen, Unity Te...
Ad

Similar to Session11 Ucc Intro (20)

PDF
Kubernetes laravel and kubernetes
PPTX
Scaling Docker Containers using Kubernetes and Azure Container Service
PDF
From development environments to production deployments with Docker, Compose,...
PDF
How to create your own hack environment
PDF
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
PDF
Learning Docker with Thomas
PPTX
PPTX
Network Automation Tools
ODP
Android crash debugging
DOCX
15LLP108_Demo4_LedBlinking.pdf1. Introduction In D.docx
PDF
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
PDF
(Declarative) Jenkins Pipelines
PDF
Getting started docker notes
PPTX
k8s practice 2023.pptx
PPTX
A complete guide to Node.js
PDF
NFD9 - Matt Peterson, Data Center Operations
PPTX
MattsonTutorialSC14.pptx
PDF
LoCloud - D3.1: Operational SaaS Test lab
PDF
Open stack nova reverse engineer
Kubernetes laravel and kubernetes
Scaling Docker Containers using Kubernetes and Azure Container Service
From development environments to production deployments with Docker, Compose,...
How to create your own hack environment
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
Learning Docker with Thomas
Network Automation Tools
Android crash debugging
15LLP108_Demo4_LedBlinking.pdf1. Introduction In D.docx
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
(Declarative) Jenkins Pipelines
Getting started docker notes
k8s practice 2023.pptx
A complete guide to Node.js
NFD9 - Matt Peterson, Data Center Operations
MattsonTutorialSC14.pptx
LoCloud - D3.1: Operational SaaS Test lab
Open stack nova reverse engineer
Ad

More from ISSGC Summer School (20)

PDF
Session 58 - Cloud computing, virtualisation and the future
PDF
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake Edlund
PPTX
Session 50 - High Performance Computing Ecosystem in Europe
PPT
Integrating Practical2009
PPT
Session 49 Practical Semantic Sticky Note
PDF
PPT
Session 48 - Principles of Semantic metadata management
PPT
Session 49 - Semantic metadata management practical
PPT
Session 46 - Principles of workflow management and execution
PPT
Session 37 - Intro to Workflows, API's and semantics
PPT
Session 43 :: Accessing data using a common interface: OGSA-DAI as an example
PDF
Session 40 : SAGA Overview and Introduction
PPT
Session 36 - Engage Results
PDF
Session 23 - Intro to EGEE-III
PPTX
Session 33 - Production Grids
PDF
Social Program
PPT
Session29 Arc
PDF
Session 24 - Distribute Data and Metadata Management with gLite
PDF
Session 23 - gLite Overview
PPTX
General Introduction to technologies that will be seen in the school
Session 58 - Cloud computing, virtualisation and the future
Session 58 :: Cloud computing, virtualisation and the future Speaker: Ake Edlund
Session 50 - High Performance Computing Ecosystem in Europe
Integrating Practical2009
Session 49 Practical Semantic Sticky Note
Session 48 - Principles of Semantic metadata management
Session 49 - Semantic metadata management practical
Session 46 - Principles of workflow management and execution
Session 37 - Intro to Workflows, API's and semantics
Session 43 :: Accessing data using a common interface: OGSA-DAI as an example
Session 40 : SAGA Overview and Introduction
Session 36 - Engage Results
Session 23 - Intro to EGEE-III
Session 33 - Production Grids
Social Program
Session29 Arc
Session 24 - Distribute Data and Metadata Management with gLite
Session 23 - gLite Overview
General Introduction to technologies that will be seen in the school

Recently uploaded (20)

PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PPTX
Cell Types and Its function , kingdom of life
PPTX
Introduction to Building Materials
PDF
Empowerment Technology for Senior High School Guide
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
Indian roads congress 037 - 2012 Flexible pavement
PDF
What if we spent less time fighting change, and more time building what’s rig...
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PPTX
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
PDF
IGGE1 Understanding the Self1234567891011
PPTX
Lesson notes of climatology university.
PPTX
Digestion and Absorption of Carbohydrates, Proteina and Fats
PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PPTX
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
PDF
Computing-Curriculum for Schools in Ghana
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
1_English_Language_Set_2.pdf probationary
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PPTX
History, Philosophy and sociology of education (1).pptx
Practical Manual AGRO-233 Principles and Practices of Natural Farming
Cell Types and Its function , kingdom of life
Introduction to Building Materials
Empowerment Technology for Senior High School Guide
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Indian roads congress 037 - 2012 Flexible pavement
What if we spent less time fighting change, and more time building what’s rig...
A powerpoint presentation on the Revised K-10 Science Shaping Paper
UV-Visible spectroscopy..pptx UV-Visible Spectroscopy – Electronic Transition...
IGGE1 Understanding the Self1234567891011
Lesson notes of climatology university.
Digestion and Absorption of Carbohydrates, Proteina and Fats
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
Onco Emergencies - Spinal cord compression Superior vena cava syndrome Febr...
Computing-Curriculum for Schools in Ghana
202450812 BayCHI UCSC-SV 20250812 v17.pptx
1_English_Language_Set_2.pdf probationary
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
History, Philosophy and sociology of education (1).pptx

Session11 Ucc Intro

  • 1. Mitglied der Helmholtz-Gemeinschaft The UNICORE Command Line Client 07.07.2009 Rebecca Breu
  • 2. UNICORE Clients Several clients for different purposes: Rich Client: Eclipse-based graphical client for complex tasks UCC: Command line client GPE Application Client: Easy-to-use graphical client for simple tasks Portal Clients: Web based client to use with a browser 07.07.2009 Slide 2
  • 3. UNICORE Clients Clients are . . . intuitive Java based → platform independent easy to install Prerequisites for users: Sun Java 1.5 A user certificate Outline This session: Single jobs via ucc Next session: Workflow jobs via Eclipse Client 07.07.2009 Slide 3
  • 4. Basic Client Configuration Create a password-protected keystore that holds all keys needed Add keys to keystore: User’s private and public key Public keys of trusted CAs (must trust signer of involved gateway keys!) Add URI of global registry 07.07.2009 Slide 4
  • 5. Job excecution and file transfer For each job, an own directory is created on the target system (uspace) Job executes within uspace directory File import: File tranfer from somewhere (e.g. user’s local computer) into uspace File export: File tranfer from uspace to somewhere (e.g. user’s local computer) Every input file a job needs has to be imported Every output file a user wants to see has to be exported Applications (GridBeans) import and export some files autmatically 07.07.2009 Slide 5
  • 6. Basic usage of UCC Connect to UNICORE site: > ucc connect You can access 2 target system ( s ). For every ucc command, you can use -v for verbose output: > ucc connect -v Getting help: > ucc help Help for each ucc command with -h: > ucc connect -h 07.07.2009 Slide 6
  • 7. Synchronous Job Submission Use run command to submit a job: > ucc run ucc -1.1/ samples / date . u RUNNING SUCCESSFUL exit code : 0 / tmp / c61e1d7c -92 d4 -4 be0 -87 f8 -6 a7dddc4c728 . stdout / tmp / c61e1d7c -92 d4 -4 be0 -87 f8 -6 a7dddc4c728 . stderr / tmp / c61e1d7c -92 d4 -4 be0 -87 f8 -6 a7dddc4c728 . properties UCC waits until job is finished Output files are fetched automatically Use -a option for asynchronous job submission → UCC returns prompt after submit 07.07.2009 Slide 7
  • 8. UCC job format: simple example UCC jobs are given in JSON format. Simple example: All-time favourite date application: # Simple Date job { ApplicationName : Date , Version : 1.0 # Optional } Date takes no input and produces stdout and stderr. 07.07.2009 Slide 8
  • 9. UCC job format: file imports and export Example: Script job that produces additional file output.txt: { ApplicationName : Bash shell , Environment : [ " SOURCE = input . sh " ] , Imports : [ { File : " / home / rbreu / myscript . sh " , To : input . sh } ] , # If script produces output ( optional ): Exports : [ { File : output . txt , To : output . txt } ] } File import from local machine to job’s working directory File export from job’s working directory to local machine 07.07.2009 Slide 9
  • 10. The Bash Application in the IDB Recall: This is how the Bash Application has been defined on server side: < idb:I DB Ap pl ic ation > < id b : Ap p l ic a t ionName > Bash shell </ idb:ApplicationName > < i d b : A p p l i c a t ion Ve rs ion > 3.1.16 </ i db :Ap pl ic at ion Ve rs ion > < js d l : P O S I X A p pli catio n xmlns:jsdl = " http: // schemas . ggf . or < jsdl:Executable >/ bin / bash </ jsdl:Executable > < jsdl:Argument > -- debugger $ DEBUG ? </ jsdl:Argument > < jsdl:Argument > -v $ VERBOSE ? </ jsdl:Argument > < jsdl:Argument >$ ARGUMENTS ? </ jsdl:Argument > < jsdl:Argument >$ SOURCE ? </ jsdl:Argument > </ j s d l : P O S I X A ppli catio n > </ idb :I DB Ap pl ic ation > 07.07.2009 Slide 10
  • 11. Specify Resources { ApplicationName : Date , Resources : { Memory : 268435456 , # per CPU in bytes Runtime : 86400 , # per CPU in seconds Nodes : 3 , CPUs : 64 , # per node # Custom resources ( site - dependent !): S t ac k L im i t Pe r T hr e a d : 262144 } } Please be sparing if you try that here at ISSGC ;-) 07.07.2009 Slide 11
  • 12. Data management List a remote directory: > ucc ls u6 :// GILDA - CATANIA / home . ssh . bash_history mydata Copy files between local and remote machine: > ucc get - file -s u6 :// GILDA - CATANIA / home / mydata -t mydata > ucc put - file -s mydata2 -t u6 :// GILDA - CATANIA / home / mydata2 07.07.2009 Slide 12
  • 13. Batch Processing Use batch command to submit all files within a directory: > ucc batch -i / my / dir / UCC returns when all jobs are finished Output files are fetched automatically With -f option, ucc waits for more files to be copied in that directory: > ucc batch -f -i / my / dir / 07.07.2009 Slide 13
  • 14. UCC from within Emacs UCC commands in Emacs Output highlighting Clickable links in output See ucc-1.1.1/extras/ 07.07.2009 Slide 14
  • 15. Advanced usage: Groovy scripting Use groovy scripting to automatetasks, implement custom commands, . . . Simple example: Delete all your jobs import de . fzj . unicore . uas . client .*; def lister = new de . fzj . unicore . ucc . helpers . T a r g e t S y s t e m L i s t e r ( registry ) lister . each { it . jobs . each { messageWriter . message " Job at " + it . address . stringValue new JobClient ( it . address . stringValue , it , s e c u r i t y P r o p e r t i e s ). destroy () } } Run with ucc run-groovy -f delete.groovy 07.07.2009 Slide 15
  • 16. More information Information for the practical sessions: www.fz-juelich.de/jsc/unicore/ISSGC09/ UNICORE Website: www.unicore.eu/ UCC Documentation: www.unicore.eu/documentation/manuals/unicore6/ucc/ UCC Scripting with Groovy: http://www.unicore.eu/documentation/files/ucc groovy.pdf Mailing list: unicore-support@lists.sf.net More job examples and Groovy examples can be found in the ucc package. 07.07.2009 Slide 16