Home
        libarcclient
         Contents
1.    NORDUGRID ac RA H    EUROPEAN MIDDLEWARE INITIATIVE       NORDUGRID TECH 20  28 11 2013    LIBARCCLIENT    A Client Library for ARC    KnowARC    Contents    5    2 Functionality Overview    2 1 Resource Discovery and Information Retrieval           eA  22 Jobjubmission   was  oo mm voee RU woes Oe WOW a OY Se  23 Job  Management     Re Y a sey esen    oo oan N    3 The ARC Brokering Module 11  3 1  Broker plugins  i us   eco dhe dk REE ee e ee ee ee ded 11    i ROROw ava Meee 4 RA AAA A Ee X 3 3 40x me kese 11  wl  FastestQueueBroker                  a 12  TTC  TUTTI aadaki 12    4 Job Description 15    17  MENTO  17  EE EEE 18  Rl mimar SSS JU IRR ER een 18    19  B Job Status mapping 21    CONTENTS    Chapter 1    Preface     This document describes from a technical viewpoint a plugin based client library for the new Web Service   WS  based Advanced Resource Connector  7   ARC  middleware  The library consists of a set of C    classes for    handling proxy  user and host certificates     performing computing resource discovery and information retrieval     filtering and brokering of found computing resources     job submission and management and    data handling     All capabilities are enabled for three different grid flavours  Production ARC  Web Service ARC and gLite  1    through a modular design using plugins specialized for each supported middleware  Future extensions to  support additional middlewares involve plugin compilation only i e   no recompilation of main
2.  A TargetRetriever representing an index server first tries to register at the index server store kept by  the TargetGenerator  If allowed to register  the index server is queried and the query result processed    The TargetGenerator will not allow registrations from index servers present in its list of rejected index  servers or from servers that have already registered once  Index servers often register at more than  one index server  thus different TargetRetrievers may discover the same server     6  If while processing the query result the TargetRetriever finds another registered index server or a  registered computing service it creates a new TargetRetriever for the found server or service and  forwards the call for targets to the new TargetRetriever     T    8 CHAPTER 2  FUNCTIONALITY OVERVIEW    ClusterSelect IndexURLs ClusterReject       Figure 2 1  Diagram depicting the resource discovery and information retrieval process    7  A TargetGenerator representing a computing service first tries to register at the service store kept  by the TargetGenerator  If allowed to register  the computing server is queried and the query result  processed  The TargetGenerator will not allow registrations from computing services present in its list  of rejected computing services or from service that have already registered once  Computing services  often register at more than one index server  thus different TargetRetrievers may discover the same  service     8  When processing the qu
3.  Collaboration    URL http    www nordugrid org documents GM pdf  NORDUGRID TECH 2     M  Smith and T  A  Howes  LDAP   Programming Directory Enabled Applications with Lightweigt  Directory Access Protocol  Macmillan  1997     25    
4.  DELETED Job have been deleted     OTHER Any job state which does not fit the above states     See Appendix B for the actual job state mapping of each of the below described plugins    5 1 ARCO Plugins    The ARCO plugins enables support for the interfaces used by computing elements running ARC version 0 x     The ARC 0 x local information system uses the Globus Toolkit    8  GRIS with a custom made ARC schema   The information index server used is the Globus Toolkit   GIIS  Both these servers use the LDAP  12   protocol  The specialization of the TargetRetriever class for ARCO is implemented using the ARC LDAP  Data Management Component  DMC   see  5  for technical details      Jobs running on an ARC 0 x computing element are handled by the ARC grid manager  11   Job sub   mission and job control are done using the gridftp  8  protocol  The specializations of the Submitter and  JobController classes use the globus ftp control library     Stage in and stage out of input and output files are also done using the gridftp  3  protocol  This means  that proper functionality of the ARCO plugins requires the gridftp DMC     17    18 CHAPTER 5  GRID FLAVOUR PLUGINS AND COMMONS    5 2 ARC1 Plugins    The computing element in ARC version 1 x is the A Rex  10  service running in a HED  5  container     A Rex implements the BES  9  standard interface  Since this is a SOAP based  4  interface  the specializations  of the TargetRetriever  Submitter and JobController classes make use of a c
5.  contents of the user s configuration file  The second is a list  of strings containing job identifiers and job names  the third is a list of strings of clusters to select or    10 CHAPTER 2  FUNCTIONALITY OVERVIEW        lt  xml version  L0       Jobs     lt jobs gt             Jobs 4  ClusterSelect    Cluster Reject    joblist xml    void arckill const std  list lt std  stting gt  amp  jobs     const std  list lt std  sting gt  amp  clusterselect   const std  list lt std  sting gt  amp  clusterreject       Figure 2 3  Diagram depicting how job controlling plugins  JobControllers  are loaded and initialized     reject  in the same format as described for the TargetGenerator above   The last argument is the  name of the file containing the local information about active jobs  hereafter called the joblist file     2  A job identifier does not uniquely define which grid flavour runs a certain job  T hus this information  is stored in the joblist file upon submission by the Submitter and the joblist file is extensively used by  the JobSupervisor to identify the JobController flavours which are to be loaded  The information  in the joblist file is also used to look up the job identifier for jobs specified using job names  Alias  resolving for the selected and rejected clusters are performed using the information in the UserConfig  object     3  Suitable JobControllers are loaded    4  The list of job identifiers and selected and rejected clusters are passed to each JobController 
6.  libraries or  clients is necessary     Using the library  a set of command line tools have been built which puts the library   s functionality at the  fingertips of users  This documentation is not intended to document the developed CLI but the concept  of how to build command line tools will be demonstrated  Readers interested in the user interface are  recommended to read the client user manual  6      CHAPTER 1  PREFACE    Chapter 2    Functionality Overview    The new libarcclient makes extensive use of plugins for command handling  These plugins are handled by a  set of higher level classes which thus are the ones to offer the plugin functionality to external calls  In this  section an overview of the library s main functionality is given which also introduces the most important  higher level classes  Readers interested in the library API are recommended to look up the online API  documentation          2 1 Resource Discovery and Information Retrieval    With the increasing number of grid clusters around the world  a reliable and fast resource discovery and  information retrieval capability is of crucial importance for a user interface  The new libarcclient re   source discovery and information retrieval component consists of three classes  the TargetGenerator  the  TargetRetriever and the ExecutionTarget  Of these the TargetRetriever is a base class for further grid  middleware specific specialization  plugin      Figure 2 1 depicts how the classes work together in a c
7. In order to rank the found services  ExecutionTargets  the Broker needs detailed knowledge about  the job requirements  thus the JobDescription is passed as input to the brokering process     3  The Broker filters and ranks the ExecutionTargets according to the ranking method chosen by the  user     4  Each ExecutionTarget has a method to return a specialized Submitter which is capable of submitting  jobs to the service it represents  The best suitable ExecutionTarget for the job is asked to return a  Submitter for job submission     5  The Submitter takes the JobDescription as input and uploads it to the computing service     6  The Submitter identifies local input files from the JobDescription and uploads them to the computing  service     2 3 Job Management    Once a job is submitted  job related information  job identification string  cluster etc   is stored in a  local XML file which stores this information for all active jobs  This file may contain jobs running on  completely different grid flavours  and thus job management should be handled using plugins similar to  resource discovery and job submission  The job managing plugin is called the JobController and it is  supported by the JobSupervisor and Job classes     Figure 2 3 shows how the three different classes work together and below a step by step description is given     1  The JobSupervisor takes four arguments as input  The first argument is a reference to a UserConfig  object containing a representation of the
8. e Makefile lt  FileURL gt    lt ExistInTheCache gt true lt  ExistInTheCache gt    lt FileSize gt 190 lt  FileSize gt    lt  Result gt    lt Result gt    lt FileURL gt ftp   download nordugrid org test README lt  FileURL gt    lt ExistInTheCache gt true lt  ExistInTheCache gt    lt FileSize gt 176 lt  FileSize gt    lt  Result gt    lt  CacheCheckResult gt    lt  CacheCheckResponse gt        thttp   www knowarc eu download D1 2 3_documentation pdf    3 1  BROKER PLUGINS 13    3 1 4 PythonBroker    This PythonBroker allows users to write their customized broker in python  To use this broker the user  should write a python class which should contain    e an _init__ method that takes a Config object as input  and   e a Sort Targets method that takes a python list of Execution Target objects and a JobInnerRepresentation    object as input     The Config  ExecutionTarget and JobInnerRepresentation classes are available in the swig generated arc  python module      To invoke the PythonBroker  the name of the python module defining the broker class and the name of the  broker class must be given  If e g  the broker class MyBroker is defined in the python module SampleBroker  the command line option to arcsub to use this broker is        Additional arguments to the python broker can be added by appending them after an additional colon after  the python class name        Extracting these additional arguments should be done in the python broker class s  init    method     For    complet
9. e example of a simple python broker see the SampleBroker py file that comes with your arc  python installation     14    CHAPTER 3  THE ARC BROKERING MODULE    Chapter 4  Job Description    Since new WS ARC utilizes a middleware plugin structure  it also need to support the various job description  languages used by these middlewares  Therefore the JSDL  XRSL and JDL job description languages are  supported  In order to provide support for the three languages listed above  an internal job description  data strucuture is needed which is the union of the supported languages  The internal job description  data structure of new WS ARC is described in a separate document  the ARC Job Description Internal  Representation          15    16    CHAPTER 4  JOB DESCRIPTION    Chapter 5    Grid Flavour Plugins and Commons    With a library utilizing plugins a mapping to a common set of job states is needed in order to be able to  treat jobs from different middlewares in the same way  In WS ARC the following job states comprises the  state model which plugins should map their job states     UNDEFINED Job state could not be resolved   ACCEPTED Job was accepted by the service   PREPARING Job is preparing    SUBMITTING Job is being submitted to a computing share   HOLD Job is put on hold    QUEUING Job is on computing share waiting to run   RUNNING Job is running on computing share   FINISHING Job is finishing    FINISHED Job has finished    KILLED Job has been killed    FAILED Job failed   
10. eady is  thus reducing  the network load on both the computing resource and client side  The ranking method is based upon the  A REX   interface CacheCheck for querying for the presence of the file in the cache directory  This interface  has a limitation in the current implementation and does not support per user caches     The Sort Targets method has four steps     1  Only the A REX service has CacheCheck method  thus ExecutionTargets not running A REX are  removed     2  Information about input files requested in the job description is collected from the JobInnerRepresentation     3  Each ExecutionTarget is queried  through the CacheCheck method  for the existence of input files  A  single query is used for achieving all the necessary information and file sizes are summarized  If there  are problems determining file sizes  then the summarized size will be zero     4  The possible ExecutionTargets are ranked in a descending order according to the amount of input  data they have in their cache     Example of a CacheCheck request that can be sent to an A REX service      lt CacheCheck gt    lt TheseFilesNeedToCheck gt    lt FileURL gt http   example org storage Makefile lt  FileURL gt    lt FileURL gt   tp    download nordugrid org test README lt  FileURL gt    lt  TheseFilesNeedToCheck gt    lt  CacheCheck gt     Example CacheCheck response from the A REX service      lt CacheCheckResponse gt    lt CacheCheckResult gt    lt Result gt    lt FileURL gt http   example org storag
11. ery result the TargetRetriever will create an ExecutionTarget for each  queue found on the computing service and collect all possible information about them  It will then  store the ExecutionTarget in the found targets store kept by the TargetGenerator for later usage   e g  status printing or job submission      2 2 Job Submission    Job submission starts with the resource discovery and target preparation as outlined in the Section 2 1  Not  until a list of possible targets  which authorize the user  is available is the job description read in order to  enable bulk job submission of widely different jobs without having to reperform the resource discovery  In  addition to the classes mentioned above the job submission makes use of the Broker  JobDescription and  Submitter classes  The Submitter is base class for further grid middleware specific specialization  plugin   similarly to the TargetRetriever     Figure 2 2 shows a job submission sequence and below a description of each step is given     1  The TargetGenerator has prepared a list of ExecutionTargets  Depending on the URLs provided to  the TargetGenerator the list of found ExecutionTargets may be empty or contain several targets   Targets may even represent more than one grid flavour  The list of found targets are given as input to  the Broker     2 8  JOB MANAGEMENT 9    Sorted Targets    Compu ting Cluster       Local Input Files    Figure 2 2  Diagram depicting the submission of a job to a computing service     2  
12. g the gridftp protocol  The gridftp DMC is  therefore required     Appendix A    ExecutionTarget    http   svn nordugrid org trac nordugrid browser  arcl  trunk  doc client  Execution TargetMapping html    19    20    APPENDIX A  EXECUTIONTARGET    Appendix B    Job Status mapping          Internal ARCO ARCI BES CREAM  ACCEPTED ACCEPTED ACCEPTED Pending   N  PREPARING PREPARING PREPARING None None  SUBMITTING SUBMIT SUBMIT None None  HOLD None None None HELD  QUEUING INLRMS Q INLRMS Q None IDLE  INLRMS R   RUNNING INLRMS R INLRMS EXECUTED  Running RUNNING   INLRMS S  REALLY RUNNING  INLRMS E  FINISHING FINISHING FINISHING None None  FINISHED FINISHED FINISHED Finished DONE OK  KILLED KILLED KILLED None CANCELLED  FAILED FAILED FAILED Failed DONE FAILED  ABORTED  DELETED DELETED DELETED None None  OTHER Any other state Any other state None Any other state    21    22    APPENDIX B  JOB STATUS MAPPING    Acknowledgements    This work was supported in parts by the EU KnowARC project  Contract nr  032691  and the EU EMI  project  Grant agreement nr  261611      23    24    APPENDIX B  JOB STATUS MAPPING    Bibliography    am                 11    12     gLite  Lightweight Middleware for Grid Computing  Web site  URL http   glite web cern ch   glite     C  Aiftimiei et al  Job Submission and Management Through Web Services  the Experience with the  CREAM Service  In R  Tafirout R  Sobie and J  Thomson  editors  Proc  of CHEP 2007  J  Phys    Conf  Ser  119 062004  IOP  2008  URL h
13. hain of ARC Message Chain  Components  MCC  5   ending with the SOAP client MCC     The A Rex service uses the https protocol put and get methods for stage in and stage out of input and  output files  Therefore  the ARCI plugins requires the http DMC     5 3 gLite Plugins    The gLite computing element offers several interfaces  one of them being the Web Service based computing  element interface known as the CREAM CE  2   The current revision of this interface  CREAM version 2   has been chosen for implementation within libarcclient for the following reasons     CREAM2 has a Web Service interface that is very similar to the Web Service based ARC     CREAM2 enables direct access to the gLite computing element without having to go via the gLite  workload management system     CREAM2 contains numerous improvements when compared to the earlier CREAM versions     CREAM2 supports direct job status queries        CREAM  offers a convenient way of handling input and output files through accessing the input and  output sandbox via GridF TP     gLite resources are registered in top level and site BDIIs  The CREAM specialization of the TargetRetriever  therefore makes use of the LDAP DMC similarly to the ARCO plugins     CREAM has its own SOAP based interface  The CREAM specializations of the Submitter and JobController  classes therefore use an MCC chain ending with the SOAP client MCC the same way the ARCI plugin does     Stage in and stage out of input and output files are done usin
14. ommand chain to discover all resources registered  with a certain information server  Below a description of each step is given     1  The TargetGenerator takes three arguments as input  The first argument is a reference to a UserConfig  object containing a representation of the contents of the user s configuration file  The second and third  arguments contain lists of strings  The first list contains individually selected and rejected computing  services  while the second list contains individually selected and rejected index servers  Rejected servers  and services are identified by that its name is prefixed by a minus sign in the lists  The name of the  servers and services should be given either in the form of an alias defined in the UserConfig object or  as the name of its grid flavour followed by a colon and the URL of its information contact endpoint     2  These lists are parsed through alias resolution before being used to initialize the complete list of selected  and rejected URLs pointing to computing services and index servers     3  For each selected index server and computing service a TargetRetriever plugin for the server s or  service s grid flavour is loaded using the ARC loader  The TargetRetriever is initialized with its URL  and the information about whether it represents a computing service or an index server     4  An external call is received calling for targets to be prepared  The call for targets is processed by each  TargetRetriever in parallel     5 
15. target  The GetBest Target method is    incremented    at each call  thus upon a second call the second  best ExecutionTarget will be returned     3 1 Broker plugins    Random    The Random ranks the ExecutionTargets randomly     3 1 1 Benchmark    The Benchmark ranks the ExecutionTargets according to their benchmark performance  Through the  command line tool  see the user manual 6  for reference  this specialized broker takes a user specified bench   mark as input and ranks the ExecutionTargets according to their published benchmark performance  If  no benchmark is specified the CINT2000  Integer Component of SPEC CPU2000    benchmark is used as  default      http   www spec org cpu2000 CINT2000        12 CHAPTER 3  THE ARC BROKERING MODULE    3 1 2 FastestQueueBroker    The FastestQueueBroker ranks the ExecutionTargets according to their queue length measured in percent   age of the ExecutionTarget s size  i e  the queue length divided by the number of total slots CPUs   If more  than one ExecutionTarget has zero queue  the FastestQueueBroker makes use of a basic load balancing  method to rearrange the zero queue ExecutionTargets depending on their number of free slots  CPUs     3 1 3 Data    The Data ranks the ExecutionTargets according to how many megabytes of the requested input files that  already stored in the cache of the computing resource the ExecutionTarget represents  The broker is  motivated by that jobs should be submitted to ExecutionTargets where the data alr
16. ttp    dx doi org 10 1088 1742 6596 119 6 062004    W  Allcock et al  Data management and transfer in high performance computational grid environments   Parallel Comput   28 5  749 771  2002  ISSN 0167 8191     D  Box  D  Ehnebuske  G  Kakivaya  A  Layman  N  Mendelsohn  H  Nielsen  S  Thatte  and D  Winer   Simple Object Access Protocol  SOAP  1 1  W3C Note  2000  URL http    www w3 org TR 2000     D  Cameron et al  The Hosting Environment of the Advanced Resource Connector middleware  URL  http   www nordugrid org documents ARCHED  article pdf  NORDUGRID TECH 19    M  Ellert  ARC User Interface  The NorduGrid Collaboration  URL http    www nordugrid org   NORDUGRID MANUAL I     M  Ellert  M  Grgnager  A  Konstantinov  et al  Advanced Resource Connector middleware for  lightweight computational Grids  Future Gener  Comput  Syst   23 1  219 240  2007  ISSN 0167 739X   doi  10 1016 j future 2006 05 008     I  Foster and C  Kesselman  Globus  A Metacomputing Infrastructure Toolkit  International Journal  of Supercomputer Applications  11 2  115 128  1997  Available at  http   www globus org     I  Foster et al  OGSA  Basic Execution Service Version 1 0  GFD R P 108  August 2007  URL  http   www ogf org documents GFD 108 pdf   A  Konstantinov  The ARC Computational Job Management Module   A REX    URL  nordugrid org documents a rex pdf  NORDUGRID TECH 14     A  Konstantinov  The NorduGrid Grid Manager And GridFTP Server  Description And Administra     tor s Manual  The NorduGrid
17. which  uses the information to fill its internal JobStore     5  Residing within the JobSupervisor the JobControllers are now accessible for external calls  i e  job  handling      Chapter 3    The ARC Brokering Module    The ARC brokering module is made up of two kinds of classes  one brokering base class and specialized  classes derived thereof  The brokering base class which implements the method for reducing a list of resources  found by resource discovery  the list of ExecutionTargets residing within the TargetGenerator  to a list  of resources capable of running a certain job      The PreFilter Targets method compares every hardware and software requirement given in the job description  against the computing resource  cluster  specifications stored in the ExecutionTarget  If theExecutionTarget  doesn t fulfil the requirements imposed by the job description  or it is impossible to carry out the match   making due to incomplete information published by the computing resource  the ExecutionTarget will be  removed from the list of possible targets     Once prefiltered  the remaining ExecutionTargets should be ranked in order to return the    best    ExecutionTarget  for job submission  Different ranking methods are implemented by the specialized brokers  but for usability  and consistency reasons these methods are encapsulated by the Broker base class method       which invokes the Sort Targets method implemented by the specialized broker  see Section and returns  the best 
    
Download Pdf Manuals
 
 
    
Related Search
 libarcclient  libarclite  libarclite_iphonesimulator  libarclite-files  libarclite_iphoneos  libarclite-files-main 
    
Related Contents
Stamina Products , Inc Fitness Equipment 20-2021 User's Manual  CG NPAt/MacAL  取扱説明日    PowerTuner 2014 User`s Manual - PowerTuner chip tuning software  MiniBlue® II Applicateurs pneumatiques    取扱説明書    Copyright © All rights reserved. 
   Failed to retrieve file