Personal tools
You are here: Home GRIA Documentation Documentation 5.2 Reference Manuals Basic Application Services User Guide The Job Service JSDL Job Submission Meaning of Resource and RangeValue types

4.5.3. Meaning of Resource and RangeValue types

Up one level
RangeValue types in the JSDL allow the submitter of a job to specify ranges for resource usage

Overview

There are several elements in a JSDL document that contain RangeValue_Types. These elements usually allow the submitter of a job to specify a range of allowed values for a certain resource.

When used on elements in the <Resources> section of the JSDL, RangeValue_Types can be used to specify two different types of policy:

  1. The lower bound of the range is used to specify expected minimum usage, and is checked against the user's SLA at creation time. This check ensures that, if the user doesn't have sufficient resource left on his SLA, the job is not allowed to start (instead of being terminated half way through).
  2. The upper bound of the range is used to specify a maximum resource usage for the job, above which it should be terminated.

Examples

  • Lower bounded ranges. Example: "This job will use at least 20kb of disk space. Make sure I'm allowed this much before letting me start the job."
    <IndividualDiskSpace>
    <LowerBoundedRange>20000</LowerBoundedRange>
    </IndividualDiskSpace>
  • Upper bounded ranges. Example: "This job should run for at most 60 seconds. Terminate the job if it runs for longer."
    <IndividualCPUTime>
    <UpperBoundedRange>60</UpperBoundedRange>
    </IndividualCPUTime>
  • Ranges with lower and upper bounds. Example: "Make sure I can use 5MB of virtual memory before starting my job, but terminate it if it uses more than 10MB."
    <IndividualVirtualMemory>
    <Range>
    <LowerBound>5000000</LowerBound>
    <UpperBound>10000000</UpperBound>
    </Range>
    </IndividualVirtualMemory>
  • Exact values. Example: "This job will use 20MB of physical memory. Don't let it start if I'm not allowed to use that much, and terminate the job if it tries to use more."
    <IndividualPhysicalMemory>
    <Exact>20000000</Exact>
    </IndividualPhysicalMemory>

Service provider overrides

The previous examples were all written from the point of view of a user submitting a job. The service provider can also use JSDL to enforce policies on jobs that are submitted to his service. These types of service-provider policy are specified in the webadmin interface, and they are specific to each application.

  • Example: "Jobs submitted to the swirl application are not allowed to consume more than 5MB of disk space"
    The service provider would enter the following XML into the "Resource Manager Directives" field in the swirl properties page:
    <IndividualDiskSpace>
    <UpperBoundedRange>5000000</UpperBoundedRange>
    </IndividualDiskSpace>

If both the user and the service provider specify a range for the same resource type, the intersection between the two is used. For example:

Intersections between user-specified and service provider constraints

Figure 1. Intersections between user-specified and service provider constraints