Home
GRMS User Guide - Introduction
Contents
1. Example 4 12 Environment variables If a program requires some environment variables to be setup first it can be done by using lt environment gt and variable tags Let s assume that we want to set GRMS environment variable to the GRMS Example and then display it using a script containing the bin echo scrms Additionally the lt stdout gt should be redirected to the specified file In this case an example of GRMS Job Description might look as follow 20 GRMS Job Description GJD lt grmsJob appid examplel2 gt lt task taskid echo gt executable type single count 1 gt lt execfile name exec file gt url gsiftp fury man poznan pl examples echo sh url execfile stdout url gsiftp fury man poznan pl examples echo out url lt stdout gt lt environment gt lt variable name GRMS gt GRMS Example lt variable gt lt environment gt lt executable gt lt task gt lt grmsJob gt Example 4 13 GRMS variables This example presents the usage o GRMS environment variables Output of the date command will be stored in file that name contains job and task identifiers grmsJob appid examplel3 task taskid date resource hostname fury man poznan pl hostname resource executable type single count 1 gt lt execfile name date gt lt url gt file bin date lt url gt lt execfile gt lt stdout gt lt url gt gsiftp fury man pozn
2. lt resource gt executable type single count 1 gt lt execfile name ps gt lt url gt file bin ps lt url gt lt execfile gt lt arguments gt lt value gt ef lt value gt lt arguments gt lt stdout gt lt reference gt rage2_ps_output lt reference gt lt stdout gt lt executable gt lt task gt lt task taskid fury_tar persistent true gt lt resource gt lt hostname gt fury man poznan pl lt hostname gt lt resource gt lt executable type single count l gt lt execfile name tar gt lt url gt file bin tar lt url gt lt execfile gt lt arguments gt lt file name ragel_ps out type in gt lt reference gt ragel_ps_output lt reference gt lt file gt lt file name rage2_ps out type in gt lt reference gt rage2_ps_output lt reference gt lt file gt lt value gt cfz lt value gt value examplel5 tgz value lt value gt ragel_ps out lt value gt lt value gt rage2_ps out lt value gt file name examplel5 tgz type out gt url gsiftp fury man poznan pl examples examplel5 JOB ID tgz url file lt arguments gt lt stdout gt url gsiftp fury man poznan pl examples stdout JOB ID url lt stdout gt lt stderr gt lt url gt gsiftp fury man poznan pl examples stderr JOB_ID lt url gt lt stderr gt lt executable gt lt workflow parentStates AND gt parent triggerState FINISHED gt ragel_ps lt parent gt p
3. For the given task returns list of files and directories Optionally it is possible to specify list of logical types and origins piontekGdruid bis grms client get file dirs 1153392145921 examplel4 3397 tar Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms List of files directories got successfully FileDir 0 LogicalType ARGUMENT OUT Name ps out tgz Path gsiftp fury man poznan pl examples ps JOB ID tgz Append false Permissions NOT SET Required true StoreType PHYSICAL PhysicalType FILE OriginType DESCRIPTION FileDir 1 LogicalType ARGUMENT IN Name ps in Path gsiftp fury man poznan pl ps JOB_ID tgz Append true Permissions rw rw rw Required false StoreType PHYSICAL PhysicalType FILE OriginType DESCRIPTION FileDir 2 LogicalType ARGUMENT IN Name file name Path 12345 User GRMS Append false Permissions rw r r Required true StoreType LOGICAL PhysicalType FILE 44 GRMS java client OriginType ADDED piontek druid bis grms client get file dirs 1153392145921 examplel4 3397 tar argument in A description added Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms List of files directories got successfully FileDir 0 LogicalType ARGUMENT IN Name ps in Path gsiftp
4. taskId get access lt jobId gt lt taskId gt ct ct ct grms clien grms clien job info jobId task info lt jobId gt lt taskId gt lt history_limit gt grms client resources taskId jobDescriptionFile grms client test lt jobDescriptionFile gt grms clien grms clien add job notif add job notif lt jobid gt SOAP destination JOB STATUS JOB STATUS jobid GASS destination TRUE FALSE N format JOB STATUS JOB STATUS lt jobid gt lt notificationId gt lt jobid gt lt jobid gt lt notificationId gt ct ct 1 grms clien grms clien grms clien del job notif get job notif get job notif ct ct ct grms client add task notif jobid taskId STATUS SOAP destination N lt TASK_STATUS gt lt TASK_STATUS gt grms client add task notif jobid taskId STATUS GASS destination TRUE FALSE N lt format gt TASK STATUS TASK STATUS 29 GRMS java client grms client add_task_notif lt jobid gt lt taskId gt REQUEST SOAP lt destination gt N lt TASK_REQUEST_STATUS gt lt TASK_REQUEST_STATUS gt grms client add task notif lt jobid gt taskId REQUEST GASS destination TRUE FALSE Y lt format gt TASK REQUEST STATUS TASK REQUEST STATUS grms client add tasks notif lt jobid gt STATUS SOAP destination lt TASK_STATUS gt lt TASK_STATUS gt grms client add ta
5. pointing the task To be checkpointable the task has to register itself in GRMS passing to the system its GRMS JOB ID and GRMS TASK ID both can be taken from the environment variables set up by GRMS during the submission process and the address of the Web Service implementing the checkpoint APT Us ing this interface GRMS is able to send the checkpoint request to the application and triggers off the check pointing This is example of application level checkpointing which requires the application developer to im plement mechanisms for storing all data to a checkpoint file In other words checkpointing is hard coded in the application This kind of checkpointing is obviously much more portable and more applicable in Grids Note that the application developer has to implement all internal mechanisms to write a checkpoint file to the local disk when the application receives the checkpoint call from GRMS If the task has no registered in formation about location of checkpoint web service interface GRMS performing the migrate request tries to checkpoint the application using periodical checkpoint if such one exists unregisterTaskApplicationAccess this functionality gives the possibility to unregister the job for checkpointing e getTaskApplicationAccess returns information about settings related to the checkpoint functionality e addTaskFileDirs this functionality allows to register dynamically additional output checkpoint files
6. task gt No ApplicationAccess Coallocation 0 HostName fury man poznan pl Count 0 Indexes piontekGdruid bis grms client task info 1152877900969 examplel3 3744 migration 0 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8342 axis services grms TaskInformation 1152877900969 examplel13 3744 migration Type SINGLE Status FINISHED SubmissionTime Fri Jul 14 13 51 41 CEST 2006 FinishTime Fri Jul 14 14 02 34 CEST 2006 ProxyLifetime POYOMODOHOMOS RequestStatus TASK_DONE ErrorDescription waitForCommit false historyLength 1 History resources grms client resources taskId jobDescription file Returns list of resources that meet requirements specified for given task in job description Piontekedruid bis grms client resources task 1 examples examplel xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of resources got successfully List of resources eltoro pcz pl 2119 jobmanager fork C PL O GRID O Technical University of Czestochowa CN host eltoro pcz pl packcs e0 scai fraunhofer de 2119 jobmanager fork C DE O Fraunhofer OU SCAI OU Services CN packcs e0 scai fraunhofer de bouscat cs cf ac uk 2119 jobmanager fork onyx3 zib de 2119 jobmanager O Grid O GridLab CN onyx3 zib de sr8000 1rz muenchen de 2119 jobmanager fork helix bcvc lsu e
7. FAILED MIGRATE QUEUED MIGRATE EXEC SUSPEND IGRATE EXEC SUSPEND DONE MIGRATE RESOURCE MIGRATE RESOURCE DONE MIGRATE STAGE IN MIGRATE STAGE IN DONE MIGRATE SUBMIT MIGRATE DONE MIGRATE FAILED MIGRATE STAGE OUT MIGRATE STAGE OUT DONE REQUEST FAILED FILE DIR LOGICAL TYPE ARGUMENT IN ARGUMENT OUT CHECKPOINT IN CHECKPOINT OUT FILE DIR ORIGIN TYPE DESCRIPTION ADDED grms clien grms clien grms clien grms clien grms clien grms clien grms clien submit job jobDescriptionFile commit job lt jobID gt recover job lt jobID gt suspend job lt jobId gt resume job jobId cancel job jobId refresh job lt jobId gt lt jobDescriptionFile gt lt jobDescriptionFile gt Ct ct ct ct ct ct ct grms clien grms clien grms clien migrate task lt jobId gt lt taskId gt suspend task lt jobId gt lt taskId gt resume task jobId taskId lt jobDescriptionFile gt lt jobDescriptionFile gt grms clien grms clien cancel task lt jobId gt taskId commit task jobId taskId cto ck ey grms client list_all lt JOB_STATUS gt grms client list_jobs lt JOB_STATUS gt lt limit gt grms client list_tasks lt jobId gt lt TASK_STATUS gt grms client list_project lt project gt lt JOB_STATUS gt lt limit gt grms clien grms clien grms clien register access lt jobId gt taskId service location pid unregister access jobid
8. append 8646 1153291809189 GRMS URL https fury man poznan pl 8342 axis services grms GRMS DN C PL O GRID O PSNC CN grms fury man poznan pl GRMS DELEG TYPE FULL GRMS TIMEOUT 5 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms NotificationInformation NotificationId 1153129223646 append 8646 1153291809189 Protocol SOAP Destination http fury man poznan pl 12345 HasMask true Mask FINISHED ACTIVE If the wrong NotificationId was used the proper error message is displayed pPiontekedruid bis grms client get_job_notif 1107243045980_ps_ext_3879 wrong_notif_id Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Getting Notification info failed GRMS response was errorCode 165 errorMessage Failed to get notification no such notification del job notif grms client del job notif jobId notificationId Unregisters notification with given identifier piontek druid bis grms client del job notif 1107243045980 ps ext 3879 1107243045980 ps ext 3879 1107246248349 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Notification unregistered successfully add task notif grms client add task notif jobId taskId STATUS SOAP destination TASK SATUS TASK STATUS For the given task
9. fury man poznan pl ps JOB_ID tgz Append true Permissions rw rw rw Required false StoreType PHYSICAL PhysicalType FILE OriginType DESCRIPTION FileDir 1 LogicalType ARGUMENT_IN Name file_name Path 12345 User GRMS Append false Permissions rw r r Required true StoreType LOGICAL PhysicalType FILE OriginType ADDED ORO GR bis grms client get file dirs 1153392145921 examplel4 3397 tar argument in added Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms List of files directories got successfully FileDir 0 LogicalType ARGUMENT IN Name file name Path 12345 User GRMS Append false Permissions rw r r Required true StoreType LOGICAL PhysicalType FILE OriginType ADDED del file dir grms client del file dir jobId taskrd FILE DIR LOGICAL TYPE name PHYSICAL LOGICAL path user FILE DIRECTORY Unregisters file or directory piontek druid bis grms client del file dir 1153392145921 examplel4 3397 tar argument in N file name logical 12345 GRMS file Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8342 axis services grms Operation finished successfully If the file or directory to be unregistered doesn t exist the proper error message is displayed piontek druid bis grms client del output 1088499660886 appid 1622 task
10. gt lt value gt cfv lt value gt lt value gt file tar lt value gt lt value gt report lt value gt lt file name report type in gt lt url gt gsiftp ragel man poznan pl examples report lt url gt lt file gt lt file name report tar type out gt lt url gt gsiftp ragel man poznan pl examples report tar lt url gt lt file gt lt arguments gt lt executable gt lt task gt lt grmsJob gt Example 4 9 Directories staging in If an application for its execution needs a directory to be staged in the location logical or physical can be ex pressed using lt directory gt section lt grmsJob appid example9 gt lt task taskid dir persistent true gt executable type single count 1 gt lt execfile name exec file gt lt url gt file bin 1s lt url gt lt execfile gt arguments lt value gt la lt value gt lt value gt examples lt value gt lt directory name examples type in gt lt url gt gsiftp fury man poznan pl examples lt url gt 19 GRMS Job Description GJD lt directory gt lt arguments gt lt stdout gt lt url gt TASK_DIR DIR txt lt url gt lt stdout gt lt executable gt lt task gt lt grmsJob gt Example 4 10 Standard input If a program needs to read some data from a file to stdin it can be specified by the lt stdin gt tag Let s assume that we want to execute the bin cat reading stdin from the logical file wi
11. in stances that must be started in order to execute the main job A default value is 1 defines a minimal amount of free memory in MB defines a minimal amount of disk space in MB defines a minimal amount of free disk space in MB specifies a name of a queue to which a job has to be submitted defines a minimal number of free CPUs Please note that if the application is not installed on all remote hosts resource requirements have to contain information at least about an operating system which the executable was compiled for or a name of machine where the application should be executed hardConstraintszallows defining advanced constraints It can be used if user s requirements are too complex to be expressed in the resource element It contains a list of constraint elements constraint defines a single constraint concerning computational resources nodes clus ters etc that must be met e g number of CPUs in range lt 4 32 gt The op tional indiffThreshold attribute defines the maximal difference between a required value and an actual value of a parameter such that a given resource satisfies a constraint e g for the constraint Memory 50MB and in diffThreshold 5MB a resource providing Memory 45MB satisfies this constraint while a resource providing Memory 44MB does not parameter defines a constraint imposed on a certain parameter The required name attribute specifies a parameter on which the
12. of the task single multiple mpi mpichg status status of the task e waitForCommit indicates if the task waits for commit e submissionTime submission time e finishTime finish time or null if the time is unknown e proxyLifetime lifetime of the proxy associated with this task e requestStatus status of GRMS request e errorDescription message describing the cause of last error e historyLength length of the history of the task e history list of items describing history of the task s life Every item of this history contains the follow ing information e startTime time when GRMS started processing th task e localSubmissionTime time when the task was submitted on the local resource e localStartTime time when the task was started on the local resource e localFinishTime time when the task was finished on the local resource e taskDescription description of the task part of job description concerning the given task e applicationAccess location of the service that can be used to checkpoint the application and the process identifier of application e coallocation list of coallocation items Every item contains information about one host hostName name of the host count number of processes running on this host e indexes mpichg indexes of processes running on this host Finding resources GRMS is able to find a list of resources that meet user requirements expressed in
13. own instance of client but you prefer to use a common one with your own configuration you can do this using profiles Every GRMS user can do define set of profiles different client configurations storing them in grms_profiles file Every profile has to be in separate line with pa rameters separated by tabulators Every line has to follow the format profile_name GRMS_URL GRMS_DN GRMS_DELEG_TYPE GRMS_TIMEOUT e g druid https druid bis man poznan pl 8343 axis services grms C PL O GRID O PSNC CN grms druid bis man poznan pl FULL 5 GRMS command line client Executing GRMS Client 1 source the lt grms client path gt grms env sh file to setup needed environment variables 2 make sure that the user s proxy exists If it doesn t please create or download it using one of following methods e run GLOBUS_LOCATION bin grid proxy init command to create user s proxy e run GLOBUS_LOCATION bin myproxy get delegation command to download user s proxy from myproxy server 3 run the client grms client S profile name operation argument If the optional profile is not specified the global client configuration will be used e g grms client s myprofile submit job examples examplel xml grms client submit job examples examplel xml Operations 27 GRMS java client The GRMS client supports following list of operations e submit job submits new job to the system commit job commits job submitted with t
14. registers SOAP notification concerning changes of task s status It is possible to specify sub set of statuses piontek druid bis grms client add task notif 1153129223646 append 8646 date status soap https fury man poznan pl 3333 running finished canceled Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notification registered successfully NotificationId 1153129223646 append 8646 1153296496709 add task notif grms client add task notif jobId taskrd STATUS GASS destination TRUE FALSE format TASK STATUS TASK STATUS For the given task registers GASS notification concerning changes of task s status It is possible to specify sub set of statuses 40 GRMS java client piontek druid bis grms client add task notif 1153129223646 append 8646 date status gass https fury man poznan pl1 3333 true Task j t changed status to s running finished canceled GRMS URL https fury man poznan pl 8342 axis services grms GRMS DN C PL O GRID O PSNC CN grms fury man poznan pl GRMS DELEG TYPE FULL GRMS TIMEOUT 5 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notification registered successfully NotificationId 1153129223646 append 8646 1153296965301 add task notif grms client add task notif jobId taskId REQUEST SOAP destination TASK REQUEST SATUS TASK
15. square brackets are optional and can be omitted Examples of execution General issues Important To simplify the syntax of some commands following definitions are used JOB STATUS UNCOMMITED SUBMITTED ACTIVE FINISHED SUSPENDED FAILED CANCELED BROKEN TASK STATUS UNSUBMITTED UNCOMMITTED QUEUED PREPROCESSING PENDING RUNNING STOPPED POSTPROCESSING FINISHED SUSPENDED FAILED CANCELED TASK REQUEST STATUS TASK UNSUBMITTED TASK UNCOMMITED TASK QUEUED TASK RESOURCE TASK RESOURCE DONE TASK STAGE IN TASK STAGE IN DONE TASK SUBMIT TASK SUBMIT DONE TASK EXEC TASK EXEC PENDING TASK EXEC ACTIVE TASK EXEC DONE TASK STAGE OUT TASK STAGE OUT DONE TASK DONE TASK FAILED TASK CANCEL TASK CANCEL DONE TASK CANCEL FAILED MIGRATE QUEUED MIGRATE EXEC SUSPEND MIGRATE EXEC SUSPEND DONE MIGRATE RESOURCE MIGRATE RESOURCE DONE MIGRATE STAGE IN MIGRATE STAGE IN DONE MIGRATE SUBMIT MIGRATE DONE MIGRATE FAILED MIGRATE STAGE OUT MIGRATE STAGE OUT DONE REQUEST FAILED FILE DIR LOGICAL TYPE ARGUMENT IN ARGUMENT OUT CHECKPOINT IN CHECKPOINT OUT 30 GRMS java client FILE_DIR_ORIGIN_TYPE DESCRIPTION ADDED If the client is invoked with wrong parameters the information about the usage is displayed If the user is not authorized to perform the requested operation the proper message is displayed and the re quest is not performed ponte ROPA b
16. the job description in the resources sections for example parameters connected with operating system name version release name of host local resource management system minimal amount of memory in MB minimal number of processors GRMS API minimal speed of cpu s etc e findResources returns a list of resources in the form of resource manager contact strings that meet re source requirements from the job description Because job can consist of many tasks user has to specify task which the system should find resources for Notifications GRMS also provides support for events notifications A notification mechanism is very general and designed to allow clients to receive information in asynchronous way User can register for notifications concerning the whole job or single task The difference except the obvious one is that in case of tasks GRMS is able to send to the registered clients two kinds of notifications the status notification connected with changes concerning a life cycle of the task and the request notification related to the performed GRMS request Jobs have only sta tus notifications Currently GRMS is able to send notifications in two ways using SOAP protocol and writing to a remote file Registered notifications can be queried according to some criteria and unregistered For every registered notification GRMS is able to return detailed information describing it The following set of functionali
17. the user s HOME directory on the remote host the job identifier GRMS Job Description GJD TASK_ID the task identifier TASK_DIR the task s working directory JAVA_HOME the location of the Java on the remote host HOSTNAME name of the host which the job is was executed on JobDescription examples Example 4 1 The simplest case The simplest example of a job that can be executed by GRMS is the job consisting of one task which describes an application that does not need any arguments has no resource requirements and its user is not interested in catching stdout and or stderr Let s assume it is the bin date program which should be available on each unix linux platform Please take a note of the number of slashes in the file url The amount of slashes is caused by in consistency between RFC 1738 which defines the file url and the GlobusURL class which implements this norm In RFC the root directory is accessible by typing 3 slashes but the GlobusURL needs four ones grmsJob appid examplel gt task taskid date executable type single count l gt lt execfile name exec file gt lt url gt file bin date lt url gt lt execfile gt lt executable gt lt task gt lt grmsJob gt Example 4 2 Host name specification If the bin date should be executed on a specific machine the GRMS Job Description has to be extended by adding lt resource gt and lt hostname gt tags lt grmsJob appid
18. user in job description To be migrateable task has to be checkpointable When application is checkpointable on demand implements relatively simple checkpoint web service interface which location is registered in GRMS In this case the whole process of task migration is relatively simple The task to be migrated is checkpointed on the resource which it is currently running on and then restarted on a new one pointed by the user or chosen by GRMS GRMS is able to migrate also applications not implementing the aforementioned interface In this case application pe riodically has to perform checkpoint procedure saving files to any storage and during the migration process it is just killed by GRMS and then the execution is resumed from the state saved in the last checkpoint file Both described above cases are typical examples of application user level checkpointing requiring from the application developer to implement mechanisms for storing application data to checkpoint files and assumes that checkpointing procedure is hard coded in the application The migration process can be performed by GRMS according to a new job description passed as the parameter If the new job description was not de fined GRMS tries to perform the request basing on the job description passed during the submission or the previous migration request The migration is done only when a better resource was found e commitTask this functionality allows to approve task submitted as de
19. 045980 ps extension 3879 soap http ragel man poznan pl 1222 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Notification registered successfully NotificationId 1107243045980 ps extension 3879 1107246112047 piontek druid bis grms client add job notif 1107243045980 ps extension 3879 soap N http ragel man poznan pl 1222 active finished Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Notification registered successfully NotificationId 1107243045980 ps extension 3879 1107246123423 add job notif grms client add job notif jobId GASS destination TRUE FALSE format JOB STATUS JOB STATUS Registers GASS notification concerning changes of job s status It is obligatory to specify jobId location of re mote file and choose if each notification should be appended to the file or should overwrite it Optionally it is possible to specify format of message and list of statuses piontek druid bis grms client add job notif 1107243045980 ps extension 3879 gass N http fury man poznan pl 55616 home piontek examples notif txt false Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Notification listener was registered successfully notificationId 1107243045980 ps extension 3879 1107246124547 piontek druid bis g
20. 1152877900969 examplel3 3744 migration Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms TaskInformation 1152877900969 examplel3 3744 migration Type SINGLE Status FINISHED SubmissionTime Fri Jul 14 13 51 41 CEST 2006 FinishTime Fri Jul 14 14 02 34 CEST 2006 ProxyLifetime POYOMODOHOMOS RequestStatus TASK_DONE ErrorDescription waitForCommit false historyLength 1 History History 0 StartTime Fri Jul 14 13 51 41 CEST 2006 37 GRMS java client LocalSubmissionTime Fri Jul 14 13 51 45 CEST 2006 LocalStartTime Fri Jul 14 13 51 46 CEST 2006 LocalFinishTime Fri Jul 14 14 02 34 CEST 2006 TaskDescription lt xml version 1 0 encoding UTF 8 lt task taskid migration gt lt resource gt lt hostname gt fury man poznan pl lt hostname gt lt resource gt executable type single count 1 checkpointable true gt lt execfile name chkpt_test gt lt url gt gsiftp fury man poznan pl examples chkpt_test lt url gt lt execfile gt lt arguments gt lt value gt 6000 lt value gt lt arguments gt lt checkpoint gt lt file name checkpoint type out gt url gsiftp fury man poznan pl examples checkpoint JOB ID url file file name checkpoint type in url gsiftp fury man poznan pl examples checkpoint JOB ID url file lt checkpoint gt lt executable gt lt
21. 6 examples example2b xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job recovery in progress New job identifier is 1085556984375 appid 1210 suspend job grms client suspend job jobId Suspends whole job suspending all running tasks Important This functionality is not implemented yet Tpisntekedru ra bis grms client suspend job 1085141911671 appid 3916 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms GRMS response was Job suspending failed errorCode 156 errorMessage Not implemented yet 32 GRMS java client resume_job grms client resume_job jobId jobDescription file Resumes execution of previously suspended job Important This functionality is not implemented yet cdas One bis grms client resume_job 1085141911671_appid_3916 exampleas resume xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job resuming failed errorCode 156 errorMessage Not implemented yet refresh job grms client refresh job jobId Refreshes user proxy used to starts new tasks and also proxies for all running tasks piontek druid bis grms client refresh job 1085141911671 appid 3916 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man pozna
22. 6 taskid 1 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Task has been cancelled successfully If the current state of the task doesn t allow to cancel it the proper error message is displayed piontekddrurd bis grms client cancel_job 1085141911671_appid_3916 taskid_1 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Canceling of job failed GRMS response was errorCode 314 errorMessage Task can not be canceled in current state commit_task grms client commit job jobId taskId Commits task submitted with two phase commit option commitWait attribute piontek druid bis grms client commit task 1084456104272 appid 0728 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms job committed successfully If the job doesn t wait for commit the proper error message is displayed p o tekedruid bis grms client commit job 1085141911671_appid_3916 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job committing failed GRMS response was errorCode 176 errorMessage Job already committed 34 GRMS java client list all grms client list all UNCOMMITED SUBMITTED ACTIVE FINISHED SUSPENDED FAILED CANCELED BR
23. 9 4 10 Standard input iei eed sega Ee rise A EEA EAS 20 4 1 Standard Output ree ESSENT WA ee F A 20 4 12 Environment variables 4 ooo decd oo rte AO vb dosed aise OC URE Caves 20 4 13 GRMS variabless i dre I t Hed pepper EEA ep EEE R mee d Re sheet end 21 4 14 Suspend Res me 2 sos e Ehe Prep a TD RIT EPA Tere uU PRO ast EOD EXEC Ue Fes P KA 21 4 15 Persistent Extension so 20 iine etie ceti tee e e maple a cuss eucdests ade elas Ounces 22 4 16 Datareferenees 55r ri Wee er vote tpa Rr REX AP oan ER CREER ETE FIR RA ERR EFIE SERRE TERR 22 AAT NOLES ERE PER 23 4 18 Files Directories properties t re eter tte Ee EO TH Pa E eara be Daher tie ged Puede dre eR repe 24 4 19 Cr cialtasks n tei RE due eic EE eee celi ece di berd 24 4 20 TIME CONOS MAS aeni nen OAI secede ee Ete ne AA Re rr erede e ener JA de 24 42 T Advanced constraints oie ile ener ee tia coco O eee E X dew Ces e tase ce Tone Pose e eaves 25 Chapter 1 Introduction The Gridge Resource Management System GRMS is an open source meta scheduling system which allows developers to build and deploy resource management systems for large scale distributed computing infrastruc tures GRMS based on dynamic resource selection mapping and advanced scheduling methodology combined with feedback control architecture deals with dynamic Grid environment and resource management challenges e g load balancing among clusters remote job control or file stagi
24. Destination https fury man poznan pl 3333 HasMask true AppendMode true Format Task j t changed status to Event REQUEST notification 1 NotificationId 1153129223646 append 8646 1153307794500 Protocol GASS Destination https fury man poznan pl 3333 HasMask true AppendMode true Format Task j t changed status to Event STATUS notification 2 NotificationId 1153129223646 append 8646 1153296965301 Protocol GASS Destination https fury man poznan pl 3333 HasMask true AppendMode true Format Task j t changed status to Event STATUS notification 3 NotificationId 1153129223646_append_8646 1153296496709 Protocol SOAP Destination https fury man poznan pl 3333 HasMask true Event STATUS oe u oe u oe u piontek druid bis grms client get task notif 1153129223646 append 8646 date request GRMS URL https fury man poznan pl 8342 axis services grms Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms List of notifications got successfully 42 GRMS java client notification 0 NotificationId 1153129223646 append 8646 1153309627232 Protocol GASS Destination https fury man poznan pl 3333 HasMask true AppendMode true Format Task j t changed status to s Event REQUEST get task notif grms client get task notif jobId taskId notific
25. GRMS User Guide Gridge 1 0 Piotr Kopta lt pkoptafman poznan pl gt Krzysztof Kurowski lt krzysztof kurowskifman poznan pl gt Bogdan Ludwiczak bogdanl man poznan pl Ariel Oleksiak lt arielfman poznan pl gt Tomasz Piontek lt piontektman poznan pl gt Juliusz Pukacki lt pukackieman poznan pl gt GRMS User Guide Gridge 1 0 by Piotr Kopta Krzysztof Kurowski Bogdan Ludwiczak Ariel Oleksiak Tomasz Piontek and Juliusz Pukacki Copyright Poznan Supercomputing and Networking Center This guide is part of GRIDGE documentation Table of Contents AULA SCO ETEN 1 2 GRMS Functionality 3s e i orte terri eren PR Pete rere er tee po ee eek 2 3 GRMSAPTe Er 3 St AAA p er rere EE PORE 3 Task submission and control sssssessesssessseseee ee men he m en hen emen hene erem ee rennes 4 Listing jobs according to specified criteria csse emen nennen 4 Listing tasks according to specified criteria esessessse emere 5 Managing tasks oos ode ve SO Dee Ee OR GZ a TE d o NE 6 Getting information about the job sessies senes en epa eme emen He nhe mese en nennen 6 Getting information about the task uu eee eee aaa aaa aaa a ceca cena aaa em eme mee mener nenne 7 EmMdINETESOUECESN wiek eet est oet ene i vette dO OE owi eet ie E Ree a PEEL ONE MEE dee ed ore da 7 Notifications ocacion ji wyda Pei taste 8 Auxiliary functionality ret Perro Ripe e re re Perse rb tee ier eer
26. OKEN Displays list of all jobs regardless of the owner in given state p o tekedruid bis grms client list_all canceled Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of jobs got successfully jobsList 0 21084282948921 appid 8937 jobsList 1 21084360041571 appid 1513 jobsList 2 21085051139315 appid 7937 jobsList 3 1085054010026_appid_4949 jobsList 4 1085142249476_appid_2322 jobsList 5 1085167896526_appid_3682 jobsList 6 1086472467834_appid_4461 list_jobs grms client list jobs UNCOMMITED SUBMITTED ACTIVE FINISHED SUSPENDED FAILED CANCELED BROKEN 1imit Returns list of jobs belonging to the user invoking the command It is possible to specify optionally the status of job the user is interested in In such case only jobs in given state will be listed additionally it is possible to limit list to some number of last submitted jobs iD PORTER UEM bis grms client list_jobs canceled Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of jobs got successfully jobsList 0 21084282948921 appid 8937 jobsList 1 21084360041571 appid 1513 If the status is not specified all jobs belonging to the user are listed IpipntekeaPude bis grms client list jobs Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan p
27. REQUEST STATUS For the given task registers SOAP notification concerning changes of request processing It is possible to spec ify subset of statuses piontek druid bis grms client add task notif 1153129223646 append 8646 date request soap https fury man poznan pl 1234 task resource task exec active Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notification registered successfully NotificationId 1153129223646 append 8646 1153296497634 add task notif grms client add task notif jobId taskId REQUEST GASS destination TRUE FALSE format TASK REQUEST STATUS TASK REQUEST STATUS For the given task registers GASS notification concerning changes of request processing It is possible to spec ify subset of statuses piontek druid bis grms client add task notif 1153129223646 append 8646 date request gass https fury man poznan pl 1236 false Task j t changed status to s task resource task exec active Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notification registered successfully NotificationId 1153129223646 append 8646 1153296503562 add tasks notif grms client add tasks notif joord STATUS SOAP destination TASK_STATUS TASK STATUS For all tasks of given job registers SOAP notifications concerning changes of statuses of tasks It is possible to specify sub
28. able A default value is 1 The checkpointable attribute determines whether a job can be checkpointed or not A default value is false defines an application that is to be executed This application must be available installed ear lier on a destination host It may contain the version attribute this element describes a file that is to be used as an executable To this end it contains the name attribute four additional attributes describing an operating system The name at tribute denotes a local name of a file after staging in The remaining optional attributes os name ostype osversion osrelease defines an operating system that a given executable is designed for It has to contain either lt logicalld gt or url element and may contain an op tional reference element lt logicalld gt specifies a logical file identifier GRMS uses this identifier to get a file from data management system A user do not need to know URL location of a file The system GRMS uses depends on GRMS configuration It contains an optional user attribute that specifies an owner of a file in a data man agement system lt url gt denotes URL location of a file gass http grid ftp lt reference gt specifies a logical file reference to a file that is output of other task of this job In this way a user do not need to specify exact file locations and names to use output of one task as an executable in another defines argu
29. account during job scheduling It must contain the execDuration element and it may contain the lt timeSlot gt and lt timePeriod gt elements 15 GRMS Job Description GJD lt workflow gt lt timeSlot gt lt execDuration gt lt timePeriod gt defines a slot within a day when a job must be executed e g between 10 00AM and 4 00PM It must include the lt slotStart gt element and either the lt slotEnd gt or lt slotDuration gt elements lt slotStart gt specifies start time of the slot as time of a day A task must be started after that time lt slotEnd gt specifies end time of the slot as time of a day A job must be started before that time lt slotDuration gt specifies duration time of a slot A task must be started be fore slot duration time ends specifies execution time of a task in minutes i e it defines length of the pe riod when a resource reservation is needed for a task defines a time period when a task must be executed e g between Monday and Friday It must contain either the lt periodEnd gt or lt periodDuration gt el ements It may also include the following optional elements lt periodStart gt excluding and including lt periodStart gt specifies start time of a period during which a task must be started e g 31st January 10 00AM lt periodEnd gt specifies the end of a period e g 12th February 2005 16 00PM lt periodDuration gt specifies dur
30. ality getTasksList returns a list of tasks optionally it is possible to define the requested status Below there is a full list of task statuses in the system G SUBMITTED the task cannot be started because of dependencies G COMMITED the task waits to be commited UEUED the task was put into the queue and waits for execution 10 ry REPROCESSING GRMS makes some actions needed to start the task looks for the resource staging in files PENDING the task is pending in the queueing system RUNNING the task is active STOPPED the task was finished or was checkpointed but GRMS did not start staging out files POSTPROCESSING GRMS makes some actions needed to complete the task for example staging out files clearing working environment etc FINISHED the task was completed SUSPENDED the task was suspended GRMS API FAILED the task failed there could be many reasons of this for example GRMS was not able to find the requested resource or copy all needed files e CANCELED the task was canceled by the user Managing tasks This functionality gives the user possibility to register and unregister the task in GRMS for checkpointing and manage these settings Moreover the user is able to manage dynamically output checkpoint files and directories e registerTaskApplicationAccess This functionality allows to register information needed for check
31. an pl examples date JOB_ID TASK_ID lt url gt lt stdout gt lt executable gt lt task gt lt grmsJob gt Example 4 14 Suspend Resume This example shows details connected with suspend resume and migrate task functionalities Task has to be marked as checkpointable and checkpoint section has to contain information needed to stage out files during task suspending and to stage them in before resuming the task lt grmsJob appid examplel4 gt lt task taskid suspend gt lt resource gt lt hostname gt fury man poznan pl lt hostname gt lt resource gt executable type single count 1 checkpointable true gt lt execfile name chkpt_test gt lt url gt gsiftp fury man poznan pl examples chkpt_test lt url gt lt execfile gt lt arguments gt lt value gt 6000 lt value gt lt arguments gt lt checkpoint gt lt file name checkpoint type out gt url gsiftp fury man poznan pl examples checkpoint JOB ID url file file name checkpoint type in url gsiftp fury man poznan pl examples checkpoint JOB ID url file checkpoint executable task grmsJob 21 GRMS Job Description GJD Example 4 15 Persistent Extension This example presents the usage of persistent and extension attributes Let assume that we want to pack tar the output of bin ps ef command and copy the obtained archive to specified location To avoid transf
32. and or directories for the task with given id The location of file directory can be expressed as a physical or logi cal path e getTaskFileDirs returns a list of output checkpoint files and directories registered for the given task It is possible to filter files according to logical type inputs outputs checkpoints and their origin job descrip tion or dynamic registration deleteTaskFileDirs allows to unregister the set of output checkpoint files and or directories Getting information about the job This functionality gives the user a possibility to get complex information about the job with a given identifier e getJobInformat ion returns the general information about the job e project project which the job belongs to e userDn user Distinguish Name e status status of the job e waitForCommit indicates if the job waits for commit e submissionTime submission time e finishTime finish time or null if the time is unknown e errorDescription message describing the cause of last error 6 GRMS API e taskIdentifiers list of tasks forming the job e taskCount number of tasks e jobDescription description of the job Getting information about the task This functionality gives the user a possibility to get complex information about the task with a given identifier e getTaskInformation this functionality returns the general information about the task e type type
33. arent triggerState FINISHED gt rage2_ps lt parent gt lt workflow gt lt task gt lt grmsJob gt Example 4 17 Notes The whole job as well as each task can have human readable descriptions inside lt JobNote gt and lt taskNode gt sections grmsJob appid examplel7 gt lt jobNote gt job description jobNote task taskid date taskNote task description taskNote executable type single count 1 gt lt execfile name exec file gt lt url gt file bin date lt url gt lt execfile gt lt executable gt 23 GRMS Job Description GJD lt task gt lt grmsJob gt Example 4 18 Files Directories properties For every file to be staged in or out it is possible to specify if it is required if it should be appended to the exist ing file or should overwrite it and file permissions grmsJob appid examplel8 gt task taskid date executable type single count 1 gt lt execfile name exec file gt lt url gt file bin date lt url gt lt execfile gt lt arguments gt lt file name date out type out required false append true permissions 666 gt lt url gt gsiftp fury man poznan pl examples date append lt url gt lt file gt lt arguments gt lt stdout gt lt url gt TASK_DIR date out lt url gt lt stdout gt lt executable gt lt task gt lt grmsJob gt Example 4 19 Crucial tasks Using the crucial attribute it is pos
34. ation of the time period e g one week If lt periodStart gt is not specified a default value of a period start time is a current time lt including gt restricts a period when a task can be executed to certain days of a week using the lt weekDay gt element and or dates using the lt dateDay gt element e g execute a job only on Fridays lt excluding gt excludes certain days of a week using the lt weekDay gt el ement and or dates using the lt dateDay gt element from a period when a task can be executed e g do not execute jobs on Sunday defines a workflow of tasks It must contain a list of parents It can also have the optional par entStates attribute which specifies whether this task has to be run after all parents meet re quired states AND value or any of parents meets a required state OR value AND is a default value parent specifies a parent of this task It can have two optional attributes trigger State and runSameHost The former defines such a parent state that if ob tained by the parent this task can be started A default value is FINISHED which means that a task can be executed when its parent finishes The latter specifies whether this task has to be run at the same host as its parent A de fault value is false GRMS supports the following environment variables that can be used in GRMS Job Description and will be re placed by system with proper values HOME JOB ID
35. ation registered for given job e add task notif registers notification concerning changes of status of given task or request processing e del task notif unregisters task notification e get task notif lists informations concerning registered notifications or returns description of given noti fication e add file dir for a given task allows to register dynamically additional file or directory del file dir for a given task allows to unregister file or directory concerns as well dynamically added files and directories as ones specified in job description 28 GRMS java client e get file dir for a given task returns list of registered files and directories that meet specified criteria extend execution extends time of execution specified in job description e description returns service description Usage syntax JOB STATUS UNCOMMITED SUBMITTED ACTIVE FINISHED SUSPENDED FAILED CANCELED BROKEN TASK STATUS UNSUBMITTED UNCOMMITTED QUEUED PREPROCESSING PENDING RUNNING STOPPED POSTPROCESSING FINISHED SUSPENDED FAILED CANCELED TASK REQUEST STATUS TASK UNSUBMITTED TASK UNCOMMITED TASK QUEUED TASK RESOURCE TASK RESOURCE DONE TASK STAGE IN TASK STAGE IN DONE TASK SUBMIT TASK SUBMIT DONE TASK EXEC TASK EXEC PENDING TASK EXEC ACTIVE TASK EXEC DONE TASK STAGE OUT TASK STAGE OUT DONE TASK DONE TASK FAILED TASK CANCEL TASK CANCEL DONE TASK CANCEL
36. ationrid STATUS REQUEST Returns description of notification with given identifier Optionally it is possible to specify type of notification piontek druid bis grms client get task notif 1153129223646 append 8646 date 1153129223646 append 8646 1153309627232 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8342 axis services grms NotificationInformation NotificationId 1153129223646 append 8646 1153309627232 Protocol GASS Destination https fury man poznan pl 3333 HasMask true AppendMode true Format Task j t changed status to s Event REQUEST piontek druid bis grms client get task notif 1153129223646 append 8646 date 1153129223646 append 8646 1153309627232 request Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8342 axis services grms NotificationInformation NotificationId 1153129223646 append 8646 1153309627232 Protocol GASS Destination https fury man poznan pl 3333 HasMask true AppendMode true Format Task j t changed status to s Event REQUEST Mask TASK UNCOMMITTED If the wrong type is specified for notification the proper error message will be displayed piontek druid bis GRMS client grms client get task notif 1153129223646 append 8646 date 1153129223646 append 8646 1153309627232 status Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL h
37. axis services grms jobInfo 1152877900969 examplel3 3744 is ProjectId Guide UserDN C PL O GRID O PSNC CN Tomasz Piontek Status FINISHED SubmissionTime Fri Jul 14 13 51 41 CEST 2006 FinishTime Fri Jul 14 14 02 34 CEST 2006 ErrorDescription tasksIdentifiers migration tasksCount 1 waitForCommit false JobDescription lt grmsJob appid examplel13 project Guide gt lt task taskid migration gt lt resource gt lt hostname gt fury man poznan pl lt hostname gt lt resource gt executable type single count 1 checkpointable true gt lt execfile name chkpt_test gt lt url gt gsiftp fury man poznan pl examples chkpt_test lt url gt lt execfile gt lt arguments gt lt value gt 6000 lt value gt lt arguments gt lt stdout gt lt url gt TASK_DIR stdout lt url gt lt stdout gt lt stderr gt lt url gt TASK_DIR stderr lt url gt lt stderr gt lt checkpoint gt lt file name checkpoint type out gt url gsiftp fury man poznan pl examples checkpoint JOB ID url file file name checkpoint type in url gsiftp fury man poznan pl examples checkpoint JOB ID url file checkpoint executable task grmsJob task info grms client task info jobId taskId limit Returns complex information about the given task It is possible to limit information concerning history of task piontekGdruid bis grms client task info
38. bis grms client register access 1084367864146 appid 1408 task 1 http ragel man poznan pl 4567 1234 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Task Application Access registered successfully Important In current version the correctness of the passed url is not checked get access grms client get access jobId taskId Returns information registered by register access command U aaa bis bis grms client get_access 1084367864146_appid_1408 task_1 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Task Application Access got successfully ServiceLocation http ragel man poznan pl 4567 PID 1234 unregister access grms client unregister access jobId taskId 36 GRMS java client Unregisters location of service implementing web service checkpoint interface piontek druid bis grms client unregister access 1084367864146 appid 1408 task 1 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Task Application Access unregistered successfully job info grms client job info jobId Returns complex information about the given job piontek druid bis grms client info 1152877900969_example13_3744 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442
39. bmitted task will not be executed until it is committed The default value is false The task element has to contain the mandatory executable element and optionally the following elements lt taskNote gt resource lt hardConstraints gt lt softConstraints gt lt executionTime gt and workflow contains an arbitrary task description It can be used by users or client software to store spe cific information about a task this element is used to describe resource requirements for execution of a single task There might be more than one resource element The OR logical operator is used for these ele ments during a resource discovery process It means that resource requirements are satisfied if a resource description matches requirements specified in at least one of resource elements Resource description can contain the following information ostype type of the operating system lt osname gt name of the operating system lt osversion gt version of the operating system lt osrelease gt release of the operating system lt hostname gt name of the host where job should be executed It may contain one optional tileSize attribute that defines how much processes of parallel application must be executed at this host Defining multiple lt resource gt elements a user can define explicitly allocation of a parallel application among hosts lt localrmname gt local resource management system available at t
40. cifies whether a job must be committed before execution If commitWait is set to true a submitted job will not be executed until it is committed Otherwise it is executed with out waiting for a commit The default value is false The grmsjob element contains an op tional element jobNote and a mandatory list of task elements contains an arbitrary job description It can be used by users or client software to store specific information about a job this element is used for describing a single task which is generally a definition of executable together with a set of parameters executable parameters standard input output and error streams environment variables etc and resource requirements needed for its appropriate exe cution It contains one mandatory attribute and four optional ones The mandatory taskid at tribute specifies an identifier of a task This identifier must be unique within the job descrip tion document If the persistent attribute is set on true GRMS does not remove task s work ing directory after its completion The default value is false In the extension attribute one can specify such a task that this task will be executed in its working directory The crucial attribute determines whether a failure of this task should cause a failure of the whole job workflow The default value is true The commitWait attribute has the same meaning as in the grmsJob element If commitWait is set to true a su
41. constraint is imposed e g CPUspeed The name must define a parameter supported by GRMS It is not case sen sitive It contains lists of value and range elements 12 GRMS Job Description GJD The OR logical operator is used to evaluate the whole constraint It means that a constraint is satisfied if the re quired value is equal at least to one of specified values or belongs to at least one of specified ranges lt value gt defines the exact required value A con straint is satisfied if it is equal to a value of a parameter provided by a particular resource taking into account the indif ference threshold lt range gt defines the minimum and maximum val ues using the optional min and max attributes If min or max value is not de fined infinity and infinity are taken as default respectively Thus if neither min nor max values are defined all real val ues satisfy this constraint endpoint defines an endpoint for network parameters For instance it may be used for a definition of a minimum bandwidth between a destination host and a host specified in this ele ment lt softConstraints gt expresses user s preferences needed by a resource broker to select the best resources for a task for example to find a machine with the lowest CPU load and the greatest amount of free memory assuming that CPU load is two times more important than free memory It has one mandatory attribute preferenceType Th
42. du 2119 jobmanager fork O Grid O GridLab CN helix bcvc lsu edu peyote aei mpg de 2119 jobmanager fork litchi zib de 2119 jobmanager fork O Grid O GridLab CN litchi zib de n0 hpcc sztaki hu 2119 jobmanager fork skirit ics muni cz 2119 jobmanager fork O CESNET O Masaryk University CN host skirit ics muni cz hitcross lrz muenchen de 2119 jobmanager fork fs0 das2 cs vu nl 2119 jobmanager fork O dutchgrid O hosts OU cs vu nl CN fs0 das2 cs vu nl test grms client test jobDescription file Checks the correctness of job description 38 GRMS java client piontek druid bis grms client test examples example2 xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job description is correct IpiontekSoruid bis grms client test examples error xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Incorrect job description GRMS response was errorCode 101 errorMessage Job description syntax error The element type value must be terminated by the matching end tag value add job notif grms client add job notif jobId SOAP destination JOB STATUS JOB STATUS Registers SOAP notification concerning changes of job s status It is possible to register only for some subset of statuses piontek druid bis grms client add job notif 1107243
43. e preferenceType attribute determines a method of expressing user s preferences Two methods are currently supported e PRIORITY value of the importance element denotes a numeric measure of the con straint s importance e g if this value is two times greater than for another constraint then this constraint is two times more important RANKING value of the importance element denotes a position of this soft constraint in the ranking of all soft constraints e g CPU load is the second most important constraint It consists of a list of constraint elements constraint defines a single soft constraint and its importance It contains three at tributes The mandatory importance attribute defines an importance of this soft constraint according to the preferenceType defined in the lt softConstraints gt element The optional indiffThreshold attribute has the similar meaning as for the lt hardConstraints gt element It defines when val ues of parameters are considered equal The optimizationType attribute allows a user to decide whether a given parameter is to be minimized or maximized The following values are sup ported e GAIN the higher value of parameter means the better resource e COST the less value of parameter means the better resource 13 GRMS Job Description GJD lt executable gt lt application gt lt execfile gt lt arguments gt The lt constraint gt element con
44. e 9 4 GRMS Job Description GJD eeee eee aaa aaa aaa aaa ne he he ne nenne hene rinse hen see riesen rene ene 10 GID Specification E EE 11 JobDescription examples AAPP here te ene ee r eeaveaveunestaweeessrneeneees 17 3 GRMSjavachent 5 iur te ot prete te ur Eni Pe E EP RE P ERE T se sess totaagss ESEE TERE 26 Requirements 5 e E TI ULLA 26 Installation and configuration of GRMS client sse eene 26 GRMS command hne CHEN o 950908 055455000 enero er derer pee E ere eite rre T Nee yt UR ere p DIR peso 27 Executing GRMS Chent ee teres Ere tte Drei ere et eats 27 Suc ETE 27 Usage sy E es REN e ene 29 Examples of execution oie eere o OE re PAR E CRISE EPI Er PIE sae EPIS REP PRA GORE Rr eR eens 30 List of Examples 4 14 Th SIMPIESt CASE sse eode PO EENE A condone Shap week dE AE xod portaem A YE e 17 4 2 Hostname specifiCation ad oie o E eR ds dee 17 4 3 Resource description spatial et DP trei DE rita Ee POE te EE ee b deka does Seb Porte deaths 17 4 4 Physical location ee Pu RE beet regi Ense lie iei bens 18 4 5 Logical locations cis sons ot repre DIR rer t pe DR rese tre 18 4 6 Arguments coe tero e peces etre debe e te vies As beds EE ve deste cogeret es E eroe s Peer at 18 477 Elles Sta gin GAM c E rrt ere e E pr EO rette ee e Pat bue eS ER OE e MERE bes Paes 19 IC eae eea E o E OE NE E RE E E PAES ESES EEPE ERE E 19 4 9 Directories Staging IN a E EE E w te RR REECE 1
45. erring data the second task should be executed in the same directory as the first one was The whole experiment will be divided into two parts first task will execute aforementioned command and catch its output to specified file the task will be specified as a persistent one so grms will not remove its directory when it finished then next task will pack the file and copy to remote location the second task will be specified as a extension of the fist one so will be executed in the same directory as the first one The second task can start only when the first one will be finished grmsJob appid examplel5 gt task taskid ps persistent true gt resource lt hostname gt fury man poznan pl lt hostname gt lt resource gt executable type single count 1 gt lt execfile name ps gt lt url gt file bin ps lt url gt lt execfile gt lt arguments gt lt value gt ef lt value gt lt arguments gt lt stdout gt lt url gt TASK_DIR ps out lt url gt lt stdout gt lt executable gt lt task gt lt task taskid tar extension ps gt executable type single count 1 gt lt execfile name tar gt lt url gt file bin tar lt url gt lt execfile gt lt arguments gt lt value gt cfz lt value gt lt value gt ps out tgz lt value gt lt value gt ps out lt value gt lt file name ps out tgz type out gt url gsiftp fury man poznan pl examples ps out tgz url file lt a
46. example2 gt lt task taskid date gt lt resource gt lt hostname gt ragel man poznan pl lt hostname gt lt resource gt lt executable type single count l gt lt execfile name exec file gt lt url gt file bin date lt url gt lt execfile gt lt executable gt lt task gt lt grmsJob gt In this case bin date will be executed on the host rage1 man poznan pl Example 4 3 Resource description If the bin date should be executed on any linux machine which has at least 2 CPUs The jobDescription should look as follow grmsJob appid example3 task taskid date resource lt osname gt Linux lt osname gt lt cpucount gt 2 lt cpucount gt lt resource gt executable type single count 1 gt 17 GRMS Job Description GJD lt execfile name exec file gt lt url gt file bin date lt url gt lt execfile gt lt executable gt lt task gt lt grmsJob gt Example 4 4 Physical location If the execution of task should be preceded by getting an executable file from a specific location defined by the user the url tag should be used appropriately Let s assume that the file has the name date and it is placed in the examples directory which is the subdirectory of the home directory of the user The example url looks as follows gsiftp ragel man poznan pl examples date denotes your working directory You can also specify the whole gsi
47. ftp fury man poznan pl examples input txt file false true 766 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Operation finished successfully If the file or directory to be registered already exists and overwrite parameter is set to false the proper error message is displayed piontek druid bis grms client add file dir 1153129223646 append 8646 date N false argument in file name physical gsiftp fury man poznan pl examples input txt file false true 766 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Adding file dir failed Number of errors 1 Result 0 errorCode 420 errorMessage File Dir already exists If the file or directory definition is incorrect the proper error message is displayed piontekedruid bis GRMS client grms client add file dir 1153129223646 append 8646 date N false argument in physical gsiftp fury man poznan pl examples input txt file false true 766 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Adding output file dir failed Number of errors 1 Result 0 errorCode 422 errorMessage Incorrect definition get file dirs grms client get file dirs jobId taskId FILE DIR LOGICAL TYPE FILE DIR LOGICAL TYPE FILE DIR ORIGIN TYPE FILE DIR ORIGIN TYPE
48. ftp path to your executable gsiftp ragel man poznan pl home userl examples date Note that there are two slashes after the address of machine grmsJob appid example4 gt task taskid date executable type single count l gt lt execfile name exec file gt lt url gt gsiftp ragel man poznan pl examples date lt url gt lt execfile gt lt executable gt lt task gt lt grmsJob gt Example 4 5 Logical location If the execution of task should be preceded by getting an executable file from the Gridge Data Management Sys tem the lt logicalld gt tag should be used to specify logical identifier of file grmsJob appid example5 task taskid data executable type single count 1 gt lt execfile name exec file gt lt logicalId gt 382 lt logicalId gt lt execfile gt lt executable gt lt task gt lt grmsJob gt Example 4 6 Arguments If the executable needs some input arguments typically passed as command line arguments they can be passed as value s in the arguments section GRMS Job Description for bin echo Hello World looks as follow lt grmsJob appid example6 gt lt task taskid echo gt lt executable type single count l gt lt execfile name exec file gt lt url gt file bin echo lt url gt lt execfile gt lt arguments gt lt value gt Hello lt value gt lt value gt World lt value gt lt arguments gt lt executable gt lt ta
49. given task returns information concerning re quest notification with given id e getTaskStatusNotifications returns list of status notifications registered for a given task e getTaskRequest StatusNotifications returns list of request notifications registered for a given task e unregisterTaskNot ification allows the user to unregister the notification with given id Every notification sent by grms contains following information GRMS API e jobId GRMS job identifier j e notificationld notification identifier n project project which the job or task belongs to p e time time when the event occurred t is possible to specify if the time should be in human readable format January 25 2005 17 31 10 GMT c or as a number of milliseconds since January 1 1970 00 00 00 GMT C e user user whom the job or task belongs to u e registrator user who registered for this notification 96r e errorDescription message describing the cause of last error 26d Depending on type of notification it can contain also e taskId task identifier t e status job or task status In case of task the status can be life cycle or request one 96s Important A letter in square brackets after the description of parameter is a mark that represents following infor mation in string describing format of the notification message for GASS notifications The format string can contains any te
50. hat speci fies an owner of a file in a data management system url denotes URL location of a file gass http grid ftp reference specifies a logical file reference to a file that is output or input of other task of this job In this way a user do not need to specify exact file locations and names to use out put of one task as an input in another value describes command line arguments of the executable directory can be used to describe a directory which is needed for the execution of this task or has to be transferred after this task is done It contains the same set of attributes and elements as the file element denotes standard input for the executable It contains the same elements as the file element denotes standard output for the executable It contains the same elements as the file ele ment denotes standard error for the executable It contains the same elements as the file element can be used to describe environment variables for a task execution Each variable element contains a variable s value while the attribute name denotes a name of this variable has to be used for a job description for the migration call It describes application s checkpoint files and directories It has to contain one or more file or directory elements for details see description of these elements for lt execfile gt element executionTime defines time constraints that are taken into
51. he host Acceptable values are fork default value Isf pbs sge condor ccs and queue arbitrary queueing system 11 GRMS Job Description GJD lt memory gt lt cpucount gt lt cpuspeed gt lt bandwidth gt lt latency gt lt capacity gt lt applications gt lt freememory gt lt diskspace gt lt freediskspace gt lt queue gt lt freecpus gt Important minimal amount of the memory in MB minimal number of processors minimal speed of CPU s in MHz is a measure for the amount of network bandwidth that is unused or in other words available between two hosts in MBs It contains the host name attribute which defines a second host denotes the minimal time required to send a message to another host in sec onds It contains the hostname attribute which defines a second host denotes capacity network between two locations determines the maximum throughput that you can achieve the capacity of the entire route is deter mined by the link with the lowest capacity in MBs It contains the host name attribute which defines a second host is a list of required applications that have to be installed on a destination host Every single application element contains two optional attributes version and instanceCount The version attribute denotes a required version of an application The instanceCount attribute defines a required number of application
52. id 1 param file gsiftp ragel man poznan pl examples param file physical file Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms The operation finished with result errorCode 421 errorMessage No such file or directory del file dirs grms client del file dirs jobId taskrd FILE DIR LOGICAL TYPE FILE DIR LOGICAL TYPF FILE DIR ORIGIN TYPE FILE DIR ORIGIN TYPE Unregisters files or directories of specific type piontek druid bis grms client del file dirs 1153392145921 examplel4 3397 tar argument in A 45 GRMS java client description added Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Operation finished successfully extend execution grms client extend execution jobId taskId l years months days hours minutes seconds For a time scheduled tasks extends its time of execution piontek druid bis grms client extend execution 1088499660886 appid 1622 taskid_l 0 0 0 2 30 0 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8443 axis services grms ExecutionTime extended successfully description grms client description SHORT FULL Returns description of service piontek druid bis grms client description short Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poz
53. imizationType GAIN gt lt parameter gt freeMemory lt parameter gt lt constraint gt lt constraint importance 1 optimizationType COST gt lt parameter gt cpuLoad lt parameter gt lt constraint gt lt softConstraints gt 25 Chapter 5 GRMS java client Requirements Installation sed e perl optionally Term ReadLine perl module Usage e Java JRE 1 4 x Installation and configuration of GRMS client Grms client doesn t need any extra privileges and can be installed for all users by administrator or every user can have his own instance To install and configure the grms client please follow the procedure described bellow download grms install client pl from www gridge org grms start installation replacing grms client path with real path you want grms client to be installed gt grms install client pl dest lt grms client path gt Answer all questions needed to configure the client piontek druid bis GRMS client grms install client pl dest directory home piontek GRMS client already exists do you want to continue y n y do you want to remove directory home piontek GRMS client first y n n extracting distribution setup files Enter default GRMS server URL https druid bis man poznan pl 8753 axis services grms https druid bis man poznan pl 8342 axis services grms Enter default GRMS server distinguished name N C PL O GRID O PSNC CN grms druid bis man poznan
54. is grms client suspend job 1085556664951 appid 1620 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job suspending failed GRMS response was errorCode 501 errorMessage User is not authorized to perform this operation If the service is not able to perform the authorization the proper message is displayed and the service doesn t serve the request parra SED Os bis grms client cancel_job 1085556664951_appid_1620 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Cancelling of job failed GRMS response was errorCode 500 errorMessage Authorization failed Cannot contact Authorization Service Connection refused If the user tries to perform the operation on non existing job or task the proper error message is displayed Ipiontektdruid bis grms client job_info non existing job ID Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Getting job info failed GRMS response was errorCode 114 errorMessage No such job in Job Repository Ipiontektdrutd bis grms client task info 1085556664951 appid 1620 non existing task ID Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Getting job info failed GRMS response was errorC
55. k_4 tasksList 4 task_5 list_project grms client list_project UNCOMMITED SUBMITTED ACTIVE FINISHED SUSPENDED FAILED CANCELED BROKEN 1imit List jobs belonging to the given project Optionally it is possible to specify state we are interested in and or limit list to only some number of last jobs BO deu ss bis grms client list_project gridge_project Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of jobs got successfully jobsList 0 21084282948921 appid 8937 jobsList 1 1084360041571_appid_1513 jobsList 2 21085051139315 appid 7937 jobsList 3 1085054010026 appid 4949 jobsList 4 1085142249476 appid 2322 U aa jc bis grms client list_project gridge_project active Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of jobs got successfully jobsList 0 21084282948921 appid 8937 jobsList 1 21084360041571 appid 1513 piontek druid bis grms client list project gridge project active 1 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of jobs got successfully jobsList 0 21084282948921 appid 8937 register access grms client register access jobId taskId service location pid Registers information needed to checkpoint application using web service interface piontek druid
56. l 8442 axis services grms List of jobs got successfully jobsList 0 21084282948921 appid 8937 jobsList 1 21084360041571 appid 1513 jobsList 2 21085051139315 appid 7937 jobsList 3 21085054010026 appid 4949 obsList 4 1085142249476 appid 2322 IPiontERGOULd bis grms client list jobs 2 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of jobs got successfully jobsList 0 21084282948921 appid 8937 jobsList 1 21084360041571 appid 1513 list tasks grms client list tasks jobIa UNSUBMITTED UNCOMMITTED QUEUED PREPROCESSING PENDING RUNNING STOPPED POSTPROCESSING FINISHED SUSPENDED FAILED CAN CELED Lists tasks of given job It is possible to limit list only to tasks in specified state Wen ERCOPU ACRE gt grms client list_tasks failed Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms List of tasks got successfully tasksList 0 task 3 tasksList 1 task 5 If the status is not specified all tasks belonging to the job are listed piontek druid bis grms client list jobs Your DN C PL O GRID O PSNC CN Tomasz Piontek 35 GRMS java client Service URL https druid bis man poznan pl 8442 axis services grms List of tasks got successfully tasksList 0 task_1 tasksList 1 task_2 tasksList 2 task_3 tasksList 3 tas
57. manding commitment for processing by GRMS Processing of every task irrespective of precedence constraints resulting from dependencies be tween tasks can be postponed until it will be approved by commitment two phase commit mechanism e suspendTask using this functionality the user is able to suspend running task It means that the task form ing part of job will be checkpointed and all checkpoint files directories will be staged out If a new job de scription is not defined the previous one will be used resumeTask this functionality resumes the execution of the previously suspended task It is possible to de fine a new job description or to use the previous one cancelTask allows to stop kill the running task The difference between the suspendTask and can celTask functionalities is that the task to be cancelled is stopped killed by the system and the checkpoint operation is not performed extendTaskExecutionTime addressing many advanced scenarios GRMS is able to handle tasks having some time constrains and requirements like for example specified period of time when the execution of task must start or the duration of task execution The extendTaskExecut ionTime functionality allows to prolong the execution of time scheduled tasks Listing jobs according to specified criteria GRMS is able to return a list of jobs their identifiers belonging to the user that invoked the request or to a specified project It is pos
58. ments environment variables checkpoint files etc The following functionality can be used for job submission and control e submitJob it is the main functionality of GRMS Using it a user can submit a job a set of tasks described by the GRMS Job Description to be executed by GRMS If the description is valid GRMS returns to the user a globally unique job identifier GRMS_JOB_ID which unambiguously identifies the job in the system e commitJob this functionality allows to approve for processing a job submitted with two phase commit mechanism The two phase commit mechanism can be used to register notifications before processing of the job will be started by GRMS e suspendJob using this functionality user is able to suspend the running job all running tasks It means that each running task forming part of job will be checkpointed and all checkpoint files directories will be staged out If a new job description is not defined the previous one will be used e resumeJob this functionality resumes the execution of the job which was previously suspended It is possi ble to define a new job description or to use the previous one e cancelJob this functionality allows the user to stop the running job The difference between the suspend Job and cancelJob functionalities is that in case of cancelJob funcionality all tasks are stopped killed by the system and checkpoint operation is not performed for running tasks e recove
59. ments for a task execution Each argument must be either lt file gt lt value gt or 14 GRMS Job Description GJD lt stdin gt lt stdout gt lt stderr gt lt environment gt lt checkpoint gt lt directory gt element lt file gt this element describes a file that is input or output argument for this exe cutable It contains two mandatory attributes name and type three ad ditional ones required append and permissions The logical path is the concatenation of the name attribute and the value of tag name denotes a local name of a file after staging in or before staging out EI type specifies a type of a file that can have one of the values in for input file out for output file required specifies whether this file is required to run this task A de fault is true e g a task will not be executed if this file is not available append determines if existing file with the same name should be overwritten or appended A default is false e g a file will be overwrit ten permissions defines unix like permissions that will be given to this file during creation lt logicalld gt specifies a logical file identifier GRMS uses this identi fier to get this file from or put it to a data management system A user do not need to know URL location of a file The system GRMS uses depends on GRMS configu ration It contains an optional user attribute t
60. n pl 8442 axis services grms Job refreshed successfully cancel job grms client cancel job jobId Cancels job cancelling all running tasks piontek druid bis grms client cancel job 1085141911671 appid 3916 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job 1085141911671 appid 3916 has been cancelled successfully If the current state of the job doesn t allow canceling it the proper error message is displayed Rd NSA bis grms client cancel job 1085141911671_appid_3916 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL httpg ragel man poznan pl 8443 axis services grms Canceling of job failed GRMS response was errorCode 313 errorMessage Job can not be canceled in current state migrate task grms client migrate task jobId taskId jobDescription file Migrates task to a better resource if such one exists It is possible to specify new job description that will be used to restart task on a new resource piontek druid bis grms client migrate task 1084456104272 appid 0728 taskid 1 examples example2 xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Migration in progress Invoke grms client task info to check the status of the operation If the migration cannot be performed because the current state of the task does not allow to migrate it the p
61. nan pl 8442 axis services grms Gridge Resource Management System GRMS 1 0 piontek druid bis grms client description full Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Gridge Resource Management System GRMS 1 0 Service URL https fury man poznan pl 8342 axis services grms Client host name druid bis man poznan pl Your DN C PL O GRID O PSNC CN Tomasz Piontek Your Proxy WAS DELEGATED SUCCESSFULLY For more details please see www gridge org 46
62. ng support Therefore the main goal of GRMS is to manage the whole process of remote job submission to various resources such as batch queuing sys tems or single computational nodes Finally GRMS can be considered as a robust system which provides ab straction of the complex Grid infrastructure as well as a toolbox which helps to form and adapts to distributing computing environments GRMS has been designed as an independent set of components for resource manage ment processes which can take advantage of various low level Core Services e g GRAM GridFTP and Gridge Monitoring System as well as various Grid middleware services e g Gridge Authorization Service GAS Gridge Data Management Service DMS All these services working together provide a consistent adaptive and robust Grid middleware layer which fits dynamically to many different distributing computing infrastruc tures The GRMS implementation requires Globus software to be installed on Grid resources and uses Globus Core Services deployed on resources GRAM GridFtp MDS optional GRMS supports Grid Security Infras tructure by providing the GSI enabled web service interface for all clients e g portals or applications and thus can be integrated with any other middleware Grid environment One of the main assumptions for GRMS is to perform remote jobs control and management in the way that satisfies Users Job Owners and their applications requirements All users requirements are expre
63. ocation of executables arguments file arguments files that have to be accessible in a working directory of the running executable environment variables standard input standard output standard error checkpoint definition e resource requirements name of host for the task execution 1f provided no scheduling algorithm is used operating system required local resource management system lsf pbs condor etc minimum memory required minimum number of CPUs required minimum speed of the CPU required applications installed at destination hosts network parameters bandwidth latency and capacity constraints hard constraints soft constraints tasks execution times task execution time time slot e g from 10 00 till 16 00 time period e g till 31st March except Sundays workflow GRMS Job Description GJD e dependencies between tasks Locations of files can be specified as gridFTP GASS urls as well as logical ones using a data management sys tem that supports logical file names GJD Specification lt grmsJob gt lt jobNote gt lt task gt lt taskNote gt resource GRMS Job Description starts with the grmsJob element which contains the appid at tribute that is an identifier assigned by the user of the application The optional project at tribute defines a name of a project within which a job was submitted The commitWait at tribute spe
64. ode 117 errorMessage No such task in Task Repository Important If the GRMS service is configured to use GAS as an authorization decision point the service response in case of operation on unexisting job or task will be User is not authorized to perform this operation If the user tries to perform any operation on the job or task which doesn t belong to him the proper error message is displayed zone ara bis grms client task_info 1083844628098_appid_2377 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Getting job info failed GRMS response was errorCode 154 errorMessage User not authorized to perform operation internal authorization Important For GAS authorization the response will be User is not authorized to perform this operation If the GRMS Job Description contains syntax error the proper error message is displayed piontektdruid bis grms client submit job examples error xml 31 GRMS java client Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job submission failed GRMS response was errorCode 101 errorMessage Job description syntax error The element type value must be terminated by the matching end tag lt value gt submit job grms client submit job jobDescription file Submits new job described by job description st
65. onality GRMS offers complete set of capabilities to serve resource management in Grid environments The most impor tant features of GRMS are e Job and task submission e Job control cancel suspend resume Choosing the best resource for the Job execution according to Job Description and chosen mapping algo rithm multicriteria algorithm e Submitting the GRMS Job according to provided Job Description to chosen resource Job migration Registering an application callback information e Application checkpointing using defined checkpoint interface implemented by application Complex information about submitted jobs and tasks e List of jobs submitted by user Information about the Job status e Job Description used for submission e Information about request progress Name of host where the Job is running e Submission time e Start time on resource Finish time History of job execution migrations Dynamic resource discovery Ability to use multiple information sources about Grid environment standard Globus MDS GIIS GRIS in frastructure iGrid Delphoi Mercury Support for file staging transferring input and output files and whole directories GridFTP GASS Gridge Data Management System SRB RFT e Mechanism for registering for events notification e Notifying about status changes and request progress e g via e mail or sms Time constraints for running jobs e Dynamically extending d
66. ored in file with given location If the GRMS Job Description does not contain any syntax and logical errors the identifier of the submitted job is displayed piontek druid bis grms client submit job examples example2 xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job submitted successfully jobId 1085556664951 appid 1620 commit job grms client commit job jobId Commits job submitted with two phase commit option commitWait attribute piontek druid bis grms client commit job 1084456104272 appid 0728 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms job committed successfully If the job doesn t wait for commit the proper error message is displayed people Rescues bis grms client commit_job 1085141911671_appid_3916 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job committing failed GRMS response was errorCode 176 errorMessage Job already committed recover job grms client recover job jobId jobDescription file Recovers job after the failure resubmiting it and skipping previously finished tasks Optionally it is possible to specify new job description If the description is valid new identifier of job is returned piontekGdruid bis grms client recover job 1085141911671 appid 391
67. pl Enter default GRMS server delegation type FULL LIMITED NO FULL FULL Enter default GRMS server timeout min 5 installation successfully completed Global configuration of grms client can be changed by modifying properties set in lt grms client path gt bin grms client script Please modify following lines if necessary GRMS_URL https druid bis man poznan pl 8342 axis services grms GRMS_DN C PL O GRID O PSNC CN grms druid bis man poznan pl GRMS_DELEG_TYPE FULL GRMS_TIMEOUT 5 e GRMS URL describes location of GRMS service e GRMS DN describes the expected by the client distinguish name of the service If GRMS DN is empty the client doesn t authorize the service and is not able to delegate user proxy to the service GRMS_TIMEOUT property sets the timeout in minutes for service response 26 GRMS java client e GRMS DELEG TYPE determines the type of proxy delegation Following values are allowed FULL LIMITED NO 5 Every user before launching grms client has to configure CoG library creating or modifying cog properties file in globus directory Please change values of properties according to your config uration Java CoG Kit Configuration File usercert home piontek globus usercert pem userkey home piontek globus userkey pem proxy tmp x509up_u501 cacert etc grid security certificates For details please visit CoG Home Page 6 If you doesn t want to install your
68. rJob because experiments jobs controlled by GRMS can consist of huge amount of potentially time consuming tasks that proper execution depends not only on the correct job description but can be also GRMS API broken due to some unpredictable event The recoverJob functionality allows to restart the job skipping execution of previously finished tasks taking their results produced previously e xrefreshJobProxy for job submission and then execution of tasks on resources GRMS uses the time limited user proxy which can expire during the processing of job causing lost of control on running tasks and making impossible to start new ones This can happen very often specially for long running jobs which finish time is hard to predict and strongly related to available resources Addressing the issue GRMS allows to prolong the user proxy for the whole job using refreshJobProxy functionality Task submission and control This functionality has similar meaning to the corresponding one described in previous section The difference is that it concerns not the whole job but single tasks The following functionality can be used for task submission and control e migrateTask this functionality allows the user to migrate one of tasks to a better resource if such one exists to improve task performance or system utilization The task is identified by the job identifier returned as a result of job submission and task identifier specified by the
69. rguments gt lt executable gt lt workflow gt lt parent triggerState FINISHED gt ps lt parent gt lt workflow gt lt task gt lt grmsJob gt Example 4 16 Data references Let s imagine a more complicated experiment Let assume that we want to execute bin ps ef command on ragel and rage2 machines tasks ragel ps and rage2 ps and then pack caught outputs on rage3 where the tar application is installed Final archive file should be copied to the specified location on rage4 machine The simplest way to express this experiment is to use data references functionality that give the user possibility to express that output data generated by one task can be the input data for the other one In this case execution of ragel ps and rage2 ps tasks can be done simultaneously and the task rage3 tar can be executed only when ps tasks will finish grmsJob appid examplel6 task taskid ragel_ps gt resource lt hostname gt ragel man poznan pl lt hostname gt lt resource gt executable type single count 1 gt lt execfile name ps gt lt url gt file bin ps lt url gt lt execfile gt lt arguments gt lt value gt ef lt value gt 22 GRMS Job Description GJD lt arguments gt lt stdout gt lt reference gt ragel_ps_output lt reference gt lt stdout gt lt executable gt lt task gt lt task taskid rage2_ps gt lt resource gt lt hostname gt rage2 man poznan pl lt hostname gt
70. rms client add job notif 1107243045980 ps extension 3879 gass N http fury man poznan pl 55616 home piontek examples notif txt false job j changed status to s active finished Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Notification listener was registered successfully notificationId 1107243045980 ps extension 3879 1107246112632 get job notif grms client get job notif jobId Lists notifications registered for the given job piontek druid bis GRMS client grms client get job notif 1153129223646 append 8646 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8342 axis services grms List of notifications got successfully JobStatusNotification 0 NotificationId 1153129223646 append 8646 1153291880082 Protocol GASS Destination http fury man poznan pl 2222 HasMask true 39 GRMS java client AppendMode true Format Job j changed state to s Mask CANCELED FAILED JobStatusNotification 1 NotificationId 1153129223646 append 8646 1153291809189 Protocol SOAP Destination http fury man poznan pl 12345 HasMask true Mask FINISHED ACTIVE get_job_notif grms client get job notif jobId notificationId Returns description of notification with given identifier piontek druid bis grms client get job notif 1153129223646 append 8646 N 1153129223646
71. roper error message is displayed piontek druid bis grms client migrate task 1085141911671 appid 3916 taskid 1 examples example2 xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Job migration failed 33 GRMS java client GRMS response was errorCode 142 errorMessage Task in current state can not be migrated suspend task grms client suspend task jobId taskId Suspends execution of running task ORA GR bis grms client suspend task 1085141911671_appid_3916 taskid 1 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Suspending in progress Invoke grms client task info to check the status of the operation resume task grms client resume task jobId taskId jobDescription file Resumes execution of previously suspended task It is possible to specify new job description that will be used to restart task piontek druid bis grms client resume task 1085141911671_appid_3916 taskid 1 N exampleas resume xml Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8442 axis services grms Resuming in progress Invoke grms client task info to check the status of the operation cancel task grms client cancel task jobId taskId Cancels given task piontek druid bis grms client cancel task 1085141911671 appid 391
72. set of statuses piontek druid bis grms client add tasks notif 1153129223646 append 8646 status soap https fury man poznan pl 3333 running finished canceled Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notifications registered successfully add tasks notif grms client add tasks notif jobtd STATUS GASS destination TRUE FALSE format TASK STATUS TASK_STATUS For all tasks of given job registers GASS notifications concerning changes of statuses of tasks It is possible to specify if notifications should be appended to the file or overwrite it format of message and subset of statuses piontek druid bis grms client add tasks notif 1153129223646 append 8646 status gass https fury man poznan pl 3333 true Task j t changed status to s running finished canceled Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notifications registered successfully 41 GRMS java client add_tasks_notif grms client add tasks notif jobra REQUEST SOAP destination TASK REQUEST STATUS TASK REQUEST STATUS For all tasks of given job registers SOAP notifications concerning processing of requests It is possible to spec ify subset of statuses piontek druid bis grms client add tasks notif 1153129223646 append 8646 request soap https fury man poznan pl 1234 task resource
73. sible to mark some tasks as unimportant from the job s point of view setting this property to false Failure of such task doesn t cause the failure of the whole job grmsJob appid examplel9 task taskid ps resource lt hostname gt fury man poznan pl lt hostname gt lt resource gt lt executable type single count l gt lt execfile name ps gt lt url gt file bin ps lt url gt lt execfile gt lt arguments gt lt value gt ef lt value gt lt arguments gt lt stdout gt lt url gt TASK_DIR ps out lt url gt lt stdout gt lt executable gt lt task gt lt task taskid date crucial false gt executable type single count 1 gt lt execfile name date gt lt url gt file bin tar lt url gt lt execfile gt lt arguments gt lt file name unnecessary_input type in gt lt url gt gsiftp fury man poznan pl examples UNEXISTING_FILE lt url gt lt file gt lt arguments gt lt executable gt lt task gt lt grmsJob gt Example 4 20 Time constraints If a user is available only in a certain time period he she can express his her time constraints using the 24 GRMS Job Description GJD lt executionTime gt element In this example a task will be executed after 11th August 2006 and before 15th Au gust 2006 with exception of Sundays between 10am and 4pm lt executionTime gt lt timeSlot gt lt slotStart gt 10 00 00 lt slotStart gt lt slo
74. sible to query for all jobs or a subset of jobs in specific state The following operations provide the aforementioned functionality GRMS API getJobsList returns a list of jobs belonging to the user optionally it is possible to define the requested status getAllJobsList returns a list of all jobs in given state getProjectJobsList returns a list of jobs belonging to the specified project optionally it is possible to define the requested status Every job is in the system must be in one of the following states UNCOMMITTED the job was submitted with two phase commit option and waits to be committed SUBMITTED the job was submitted to the system and waits for the execution SUSPENDED the job was suspended ACTIVE the job is active FINISHED the job was completed FAILED the job at least one crucial task belonging to the job failed there could be many reasons of this for example GRMS was not able to find the requested resource or copy all needed files CANCELED the job was canceled by the user BROKEN one or more of crucial tasks failed GRMS waits until active tasks will finish and change the status of the job to FAILED Listing tasks according to specified criteria GRMS is able to return a list of tasks identifiers being a part of concrete job It is possible to query for all tasks or subset of all tasks in given state The following method provides the aforementioned function
75. sists of two sub elements the mandatory lt parameter gt and optional lt endpoint gt element lt parameter gt defines a name of a parameter on which the constraint is imposed e g CPUspeed The name must define a param eter supported by GRMS It is not case sensitive lt endpoint gt defines an endpoint for network parameters For instance it may be used for a definition of a minimum bandwidth between a destination host and a host specified in this ele ment describes the executable It contains type count and checkpointable attributes and must contain either application or execfile element Optionally it can contain the following single elements arguments lt stdin gt lt stdout gt stderr environment and checkpoint The type attribute specifies an executable type a way in which the job manager submits the job The following values are available single even if the count 1 only 1 process or thread will be started multiple runs a number of processes or threads defined by the count attribute mpi uses an appropriate method to run a task compiled with a vendor provided MPI li brary A task is started at a number of nodes defined by the count attribute mpichg runs a task across multiple sites using MPICH G library A task is started at a number of nodes defined by the count attribute The count attribute denotes a number of processes of the execut
76. sk gt lt grmsJob gt 18 GRMS Job Description GJD Example 4 7 Files staging in If a program needs for its proper execution some files to be copied into a working directory it can be done by us ing files of the in type Let s assume the user wants to execute bin cat file log where file log is the file which should be copied first It can be specified in the following way grmsJob appid example7 task taskid cat gt executable type single count l gt lt execfile name exec file gt lt url gt file bin cat lt url gt lt execfile gt lt arguments gt lt value gt file log lt value gt lt file name file log type in gt lt url gt gsiftp ragel man poznan pl examples file log lt url gt lt file gt lt arguments gt lt executable gt lt task gt lt grmsJob gt Example 4 8 Files staging out If a program generates as a result of its execution files that have to be transferred to some locations they can be defined in the lt arguments gt section as files of the out type Let s assume that we want to compress the file report using tar and then the created archive should be copied to the location gsiftp fury man poznan pl examples report tar grmsJob appid example8 task taskid tar gt executable type single count 1 gt lt execfile name exec file type in gt lt url gt file bin tar lt url gt lt execfile gt lt arguments
77. sks notif jobid STATUS GASS destination TRUE FALSE N lt format gt lt TASK_STATUS gt lt TASK_STATUS gt grms client add tasks notif jobid REQUEST SOAP destination TASK REQUEST STATUS TASK REQUEST STATUS grms client add tasks notif jobid REQUEST GASS destination TRUE FALSE lt format gt TASK REQUEST STATUS TASK REQUEST STATUS grms clien grms clien grms clien del task notif jobid taskId notificationId get task notif jobid taskId STATUS REQUEST get task notif jobid taskId lt notificationId gt STATUS REQUEST c ct ct grms client add file dir jobId taskId overwrite FILE DIR LOGICAL FILE name N PHYSICAL LOGICAL path user FILE DIRECTORY append required lt permissions gt grms client get file dirs jobId taskId FILE DIR LOGICAL TYPE FILE DIR LOGICAL TYPE FILE DIR ORIGIN TYPE FILE DIR ORIGIN TYPE grms client del file dir jobId taskId ARGUMENT IN ARGUMENT OUT CHECKPOINT IN CHECKPOINT OUT N name PHYSICAL LOGICAL path user FILE DIRECTORY grms client del file dirs jobId taskId FILE DIR LOGICAL TYPE FILE DIR LOGICAL TYPE N FILE DIR ORIGIN TYPE FILE DIR ORIGIN TYPE grms client extend execution jobId taskId years months days hours minutes seconds grms client description SHORT FULL Important AII parameters in
78. ssed within XML based resource specification documents and sent to GRMS as SOAP requests over secure connections Simultaneously Resource Administrators Resource Owners have full control over resources on which all jobs and operations will be performed by appropriate GRMS setup and installation Note that GRMS together with Core Services reduces operational and integration costs for Administrators by enabling Grid deployment across previously incompatible cluster and resources Technically speaking GRMS is a persistent service within a Tomcat Axis container It is written completely in Java so it can be deployed on various platforms With the Gridge Authorization Service GRMS is able to man age both job grouping and jobs within collaborative environments according to predefined VO security rules and policies With the Data Management services from Gridge GRMS can create and move logical files catalogs and deal with data intensive experiments Gridge Monitoring Service can be used by GRMS as an addi tional information system Finally Mobile service can be used to send notifications via SMS emails about events related to users jobs and as a gateway for GRMS mobile clients GRMS is able to store all operations in a database Based on this information a set of very useful statistics for both end users and administrators can be produced All the data are also a source for further more advanced analysis and reporting tools Chapter 2 GRMS Functi
79. tEnd gt 16 00 00 lt slotEnd gt lt timeSlot gt lt execDuration gt PT30M lt execDuration gt lt timePeriod gt lt periodStart gt 2006 08 11T00 00 00 000 02 00 lt periodStart gt lt periodEnd gt 2006 08 15T00 00 00 000 02 00 lt periodEnd gt lt excluding gt lt weekDay gt Sunday lt weekDay gt lt excluding gt lt timePeriod gt lt executionTime gt Example 4 21 Advanced constraints In addition to simple resource requirements defined in the lt resource gt section a user can also express more complex requirements hard constraints and preferences concerning a selection of the best resources soft con straints In this example a user requires a resource that provides either 4 or 8 or any number within the range 16 32 processors Another requirement is at least 100MB of free memory Moreover a user asks a resource broker to select a resource so that amount of free memory is maximized and CPU load minimized Large amount of free memory is two times more important that CPU load for this task lt hardConstraints gt lt constraint gt lt parameter name cpuCount gt lt value gt 4 lt value gt lt value gt 8 lt value gt lt range min 16 max 32 gt lt parameter gt lt constraint gt lt constraint gt lt parameter name freeMemory gt lt range min 100 gt lt parameter gt lt constraint gt lt hardConstraints gt lt softConstraints preferenceType PRIORITY gt constraint importance 2 opt
80. task exec active Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notifications registered successfully add tasks notif grms client add tasks notif jobra REQUEST GASS destination TRUE FALSE format TASK REQUEST STATUS TASK REQUEST STATUS For all tasks of given job registers GASS notifications concerning processing of requests It is possible to spec ify if notifications should be appended to the file or overwrite it format of message and subset of statuses piontek druid bis grms client add tasks notif 1153129223646 append 8646 request gass https fury man poznan pl 1236 false Task j t changed status to s task resource task exec active Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notifications registered successfully get task notif grms client info task notif jobIdtaskId STATUS REQUEST Returns descriptions of notifications registered for given task Optionally it is possible to specify type of notifi cations we are interested in piontek druid bis grms client get task notif 1153129223646 append 8646 date Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https druid bis man poznan pl 8342 axis services grms List of notifications got successfully notification 0 NotificationId 1153129223646 append 8646 1153309627232 Protocol GASS
81. th id 383 the output should be stored in stdout_file In this case contents of logical file should be copied to stdout_file grmsJob appid examplel0 gt lt task taskid cat gt executable type single count 1 gt lt execfile name exec file gt lt url gt file bin cat lt url gt lt execfile gt lt stdin gt lt logicalld gt 383 lt logicalld gt lt stdin gt lt stdout gt lt url gt gsiftp fury man poznan pl examples stdout_file lt url gt lt stdout gt lt executable gt lt task gt lt grmsJob gt Example 4 11 Standard output If a standard output stdout of executed application should be stored in a location defined by the user it can be done by using the lt stdout gt tag Let s assume that we want to execute the application e g grep which finds in a given input file all lines containing the string GRMS and puts them to the logical file grmsJob appid examplell task taskid grep gt executable type single count 1 gt lt execfile name exec file gt lt url gt file bin grep lt url gt lt execfile gt lt arguments gt lt value gt GRMS lt value gt lt value gt grep_input lt value gt lt file name grep_input type in gt lt url gt gsiftp fury man poznan pl examples grep_input lt url gt lt file gt lt arguments gt lt stdout gt lt logicalId gt 384 lt logicalId gt lt stdout gt lt executable gt lt task gt lt grmsJob gt
82. ties can be used to manage GRMS notifications e registerJobStatusNotification this functionality allows to register location of service or remote file for notifications concerning changes of job status GRMS is able to send notification every time when the status of job has changed for example from ACTIVE to FINISHED Or FAILED It is possible to register only for some subset of statuses e getJobStatusNotifications this functionality lists all notifications concerning given job e getJobStatusNotification this functionality returns information concerning notification with given id unregisterJobStatusNotification allows the user to unregister the notification with given id registerTaskStatusNotification has the same meaning as registerJobStatusNotification but concerns a life cycle of a single task e registerTasksStatusNotification registers in one call notifications for all tasks forming a job e registerTaskRequestStatusNotification registers for given task notification concerning processing of request e getTasksNotifications lists descriptions of notifications registered for given task It is possible to spec ify type of event status vs request e getTaskNotification for a given task returns information concerning notification with given id e getTaskStatusNotification for a given task returns information concerning status notification with given id e getTaskRequestStatusNotification for a
83. ttps fury man poznan pl 8342 axis services grms Getting notification information failed grms services gridge grms exceptions GetTaskStatusNotificationException errorCode 165 errorMessage Failed to get notification no such notification del task notif grms client del task notif jobId taskId notificationId For a given task unregisters notification with given identifier piontek druid bis grms client del task notif 1153129223646 append 8646 date 1153129223646 append 8646 1153309627232 Your DN C PL O GRID O PSNC CN Tomasz Piontek Service URL https fury man poznan pl 8342 axis services grms Notification unregistered successfully add file dir grms client add file dir jobId taskId overwrite FILE DIR LOGICAL TYPE name PHYSICAL LOGICAL path user FILE DIRECTORY append required permissions Dynamically adds file or directory for a given task It is possible to add argument as well as checkpoint files and directories specify if in case of presence of such file it should be overwritten or cause failure Additionally user can specify if during the transfer the contents of file directory should be appended or overwrite the destination if the file or directory is required and if its lack should cause failure Optionally it is possible to specify permis 43 GRMS java client sions piontekGdruid bis grms client add file dir 1153129223646 append 8646 date N false argument in file name physical gsi
84. uring application runtime job description by adding output data e Support for grouping jobs in projects notifications for project Support for workflow jobs job can consist of set of independent tasks with or without precedence con straints Chapter 3 GRMS API GRMS API provided for end users can be divided into several groups The following groups can be distin guished e Job submission and control Task submission and control Listing jobs according to specified criteria Listing tasks belonging to the given job according to specified criteria Managing tasks Getting information about jobs Getting information about tasks Getting a list of resources that meet user s requirements and criteria Managing notifications e Auxiliary functionality Next sections describe all these functionality groups Job submission and control This group of functionality allows to submit and control whole jobs GRMS treats jobs as a sets of dependent tasks that constitute a logical whole Each task can be executed by GRMS only if all tasks it depends on are in specified states The whole job is described by XML document called job description containing information about the job as a whole job properties and information about all its tasks needed to map tasks to resources and to execute them in a proper way dependencies between tasks locations of executables files that have to be staged in and or out argu
85. wo phase commit property e recover job recovers job after failure skips previously completed tasks e suspend job suspends job suspending all running tasks e resume job resumes previously suspended job e cancel job cancels whole job running tasks are killed e refresh job refreshes user s proxy associated with job e migrate task migrates simple task to better resource suspend task suspends single task e resume task resumes single task cancel task cancels single task e list al11 lists all jobs in the system in specified state e list jobs list all jobs or jobs in specified state belonging to the user e list tasks lists all tasks or tasks in specified state e list project lists all jobs or jobs belonging to given project register access registers location of web service interface that can be used to checkpoint specific task unregister access unregisters interface for checkpoining get access returns location of registered interface for checkpointing e job info returns complex information about given job task info returns complex information about given task resources lists resources that meet user s requirements e test tests syntax and logical correctness of job description e add job notif registers notification concerning changes of status of given job e del job notif unregisters notification concerning changes of status of given job e get job notif lists notific
86. xt in which set of defined above marks will be replaced by information taken from GrmsNotification For example Job j has changed it status to s at c Auxiliary functionality The functionality listed below has no productive character but can be useful for testing purposes e testJobDescription GRMS gives the possibility to check the correctness of the job description using the testJobDescription functionality In the case of incorrectness of description GRMS returns the diagnostic information describing the syntax error e getServiceDescription this functionality allows to get a description of GRMS Web Service interface It is possible to get the description in a short or in a full version The first one is limited only to the name of the service and its version The second one contains additionally some diagnostic information locations of ser vice and client user s Distinguish Name and the detailed description of Web Service interface Chapter 4 GRMS Job Description GJD As it was discussed in the previous section all information needed to execute a job including resource require ments have to be described in the form of the GRMS Job Description It is an XML based document which al lows users to specify a description of a job executable job resource requirements needed data dependencies be tween tasks etc Generally the following parameters are available in the GRMS Job Description tasks executables l
Download Pdf Manuals
Related Search
Related Contents
Minka Lavery 1562-477 Installation Guide 取扱説明書 - 三菱UFJ証券 USER MANUAL Billion BiPAC 7800DX router ProteinLynx Global SERVER Version 2.2.5 User's Guide Manual de instruções Radio CD MP3 WMA London MP37 Gigabyte GV-N285UD-2GI GeForce GTX 285 2GB graphics card Savi™ Office WO300/WO350 Schnurloses Headset Drucken - ALLDIS Computersystem GmbH Copyright © All rights reserved.
Failed to retrieve file