It turns out they use a transformation to get from that data to the glue data. The folks over at mds-user say:

"There's a translation that happens for both the scheduling and compute
XML from the intermediate XML form to the final GLUE XML format.  The
(default) scheduling translation is done here:

http://viewcvs.globus.org/viewcvs.cgi/ws-mds/usefulrp/source/src/org/globus/mds/usefulrp/rpprovider/transforms/GLUESchedulerElementTransform.java?view=markup
"

Looking at the elements you couldn't translate, I see the following telling comment:
// TODO: not sure how to map these fields from the provider schema:
So, MDS people, is the only solution to write your own class that replaces the GLUESchedulerElementTransform and adds in the extra data?

There is some hope that that wouldn't be too bad, because the CE schema at http://viewcvs.globus.org/viewcvs.cgi/ws-mds/usefulrp/schema/schema/mds/usefulrp/ce.xsd?revision=1.8.2.1&view=markup does include an

<element name="StorageDevice" type="ce:StorageDeviceType" maxOccurs="unbound
ed" minOccurs="0" />

which points to

<complexType name="StorageDeviceType">
    <sequence>
      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    <attribute name="Name" type="string"/>
    <attribute name="Type" type="string"/>
    <attribute name="TransferRate" type="int"/>
    <attribute name="Size" type="int"/>
    <attribute name="AvailableSpace" type="int"/>
  <anyAttribute namespace="##other"/>
<!-- are these ints big enough? -->
</complexType>

which would appear to be what you want. But the existing transformer isn't checking for those entries.


Charles

On Apr 17, 2008, at 11:21 AM, Adam Bazinet wrote:

Hi Charles,

I think you've got me on the right track, but... from those pages it is still unclear how I'm supposed to proceed. For example, take the Condor scheduler provider from 4.0.6 out of the box. It has the typical <scheduler> start, followed by an <Info> block.

<scheduler xmlns="http://mds.globus.org/batchproviders/2004/09";
           xmlns:ce="http://mds.globus.org/glue/ce/1.1\"; >
<Info ce:LRMSType="Condor" ce:LRMSVersion="$version" ce:GRAMVersion="4.0.6" ce:HostName="$hostname" ce:TotalCPUs="$total_cpus" ce:FreeCPUs="$total_unclaimed"/>

That info block must correspond to this part in the schema:

General Info for the queue associated to the CE (objectclass GlueCEInfo)
        • GlueCEInfoLRMSType: name of the local batch system
        • GlueCEInfoLRMSVersion: version of the local batch system
        • GlueCEInfoGRAMVersion: version of GRAM
• GlueCEInfoHostName: fully qualified name of the host where the gatekeeper runs
        • GlueCEInfoGateKeeperPort: port number for the gatekeeper
• GlueCEInfoTotalCPUs: number of CPUs in the cluster associated to the CE
        • GlueCEInfoContactString: contact string for the service
        • GlueCEInfoJobManager: job manager used by the gatekeeper
• GlueCEInfoApplicationDir: path of the directory for application installation
        • GlueCEInfoDataDir: path a shared the directory for application data
        • GlueCEInfoDefaultSE: unique identifier of the default SE
So I get the general idea there. Then, there is a <Queue> block like this:

<Queue name="default">
      <totalnodes>$total_nodes</totalnodes>
      <freenodes>$free_nodes</freenodes>
      <maxtime>unknown</maxtime>
      <maxCPUtime>unknown</maxCPUtime>
      <maxCount>unknown</maxCount>
      <totalJobs>$total_jobs</totalJobs>
      <runningJobs>$running_jobs</runningJobs>
      <maxReqNodes>unknown</maxReqNodes>
      <maxRunningJobs>unknown</maxRunningJobs>
      <maxJobsInQueue>unknown</maxJobsInQueue>
      <maxTotalMemory>$max_total_memory</maxTotalMemory>
      <maxSingleMemory>$max_single_memory</maxSingleMemory>
      <whenActive>unknown</whenActive>
      <status>enabled</status>
      <dispatchType>batch</dispatchType>
   </Queue>

And frankly, I had a hard time seeing where in the schema (http://www-numi.fnal.gov/offline_software/srt_public_context/GridTools/docs/glue_schema.html#GlueCEState ) these elements matched up.

So anyway, if it's difficult to see how even the existing XML corresponds to the schema, you can see why I'm lost as to how to properly define and associate a storage element (SE) by adding XML to the existing scheduler providers.

Are there any kind of tutorials about this? Again, I just want to add a couple of simple attributes about how much space is being used in GLOBUS_SCRATCH_DIR on a per-scheduler basis. Thanks for your help!

Adam



On Mon, Apr 7, 2008 at 4:24 PM, Charles Bacon <[EMAIL PROTECTED]> wrote: Reading pages you link to is the new technology. There is a CE-SE Binding section at the bottom of http://www-numi.fnal.gov/offline_software/srt_public_context/GridTools/docs/glue_schema.html#CE-SE_Binding

Charles


On Apr 7, 2008, at 3:20 PM, Charles Bacon wrote:
how one is meant to correlate the CE and SE to each other.



Reply via email to