RDL Comparison Homework

Here is a comparison between the U-JDL and the new RDL

Example 1: simple shell script task. RDL 0.51 and comments.

The example lead to a reshape of the schema. Used case revealed some practical use issues.

Example 2: same as before using RDL V0.53

In the UJDL, one would write something like this

<?xml version="1.0" encoding="UTF-8"?>
<job name="Test1" maxFilesPerProcess="50" minFilesPerProcess="25" minMemory="5" maxMemory="10" maxStorageSpace="40" minStorageSpace="30" simulateSubmission="true" filesPerHour="4" fileListSyntax="rootd" minWallTime="12" maxWallTime="30" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SUMS_UJDL.xsd">
        <command>
                 echo This is a test
                 date > $JOBID.root
                 java load 100
        </command>
        <stdout URL="file:/star/u/xxx/temp/shed$JOBID.out"/>
        <input URL="file://rcas6181.rcf.bnl.gov/data1/starlib/reco/dAuMinBias/ReversedFullField/P03ia/2003/049/st_physics_4049029_raw_0040079.MuDst.root"/>
        <output fromScratch="*.root" toURL="file:/star/u/xxx/temp"/>
        <input URL="catalog:star.bnl.gov?collision=dAu200,generator=hijing,trgsetupname=minbias,filetype=MC_reco_MuDst,storage!=hpss" nFiles="10"/>
</job>

A shell script is now non-ambiguous, unlike the previous used-case homwork.

<?xml version="1.0" encoding="UTF-8"?>
<AbstractRequest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="RDL0.53.xsd">
        <!-- It is unclear is how this RequestName will be used in               -->
        <!-- regards of multiple job (splitting). May be an implementation -->
        <!-- question and answer                                                                       -->
        <Request taskRef="Simple" appRef="csh" datasetRef="DAll" resourceRef="R1">
                <RequestName>Test1</RequestName>
                <OutputHandling>
                        <Copy>
                                <Source>*.root</Source>
                                <Destination>file:/star/u/xxx/temp</Destination>
                        </Copy>
                </OutputHandling>
        </Request>


        <ScriptTask ID="Simple">
                <!-- Note: The $JOBID SUMS mechanism would not change comparing to current scheme       -->
                <STDOUT>file:/star/u/xxx/temp/shed$JOBID.out</STDOUT>
                <EmbeddedScript>
                        echo This is a test
                        date > $JOBID.root
                        java load 100
                </EmbeddedScript>
        </ScriptTask>

        <!-- Issue 1: where is the program executable specified and what version csh/tcsh have                   -->
        <Application ID="csh" name="csh"/>
 


        <!--  Data sets definition starts here  -->
        <GenericDataset ID="DAll" type="Physical">
                <DataSetIDRef>Data1</DataSetIDRef>
                <DataSetIDRef>Data2</DataSetIDRef>
        </GenericDataset>


        <!-- First is a Catalog query with missing implementation   -->
        <GenericDataset ID="Data1" type="Physical">
                <Catalog>
                        <Name>star.bnl.gov</Name>
                        <Query>collision=dAu200,generator=hijing,trgsetupname=minbias,filetype=MC_reco_MuDst,storage!=hpss
                        </Query>
                </Catalog>
        </GenericDataset>


        <!-- Then a single file or a sequence of files   -->
        <GenericDataset ID="Data2" type="Physical">
                <Name>file://rcas6181.rcf.bnl.gov/data1/starlib/reco/dAuMinBias/ReversedFullField/P03ia/2003/049/st_physics_4049029_raw_0040079.MuDst.root
                </Name>
        </GenericDataset>


        <!-- Resource specification will require providing assistance to users -->
        <ResourceSpecifications ID="R1">
                <MemoryPerProcess>
                        <MininumUnitsRequired>5</MininumUnitsRequired>
                        <MaximumUnitsEstimated>10</MaximumUnitsEstimated>
                        <AverageSizeOfUnit>1</AverageSizeOfUnit>
                </MemoryPerProcess>
                <InputFiles>
                        <MininumUnitsRequired>25</MininumUnitsRequired>
                        <MaximumUnitsEstimated>50</MaximumUnitsEstimated>
                        <AverageSizeOfUnit/>
                </InputFiles>
                <OutputResource>
                        <!-- This is clearly bogus as per the definition -->
                        <MininumUnitsRequired>30</MininumUnitsRequired>
                        <MaximumUnitsEstimated>40</MaximumUnitsEstimated>
                        <!-- Approximately 4 files per hour -->
                        <UnitsPerSeconds>0.067</UnitsPerSeconds>
                </OutputResource>
                <Time>12</Time>
        </ResourceSpecifications>
</AbstractRequest>

Several comments are needed immediately pointing and weaknesses.

Example 3: A more complex and full example

Coming soon ...


Page was last modified