Class CreateResourceGroupRequest

  • All Implemented Interfaces:
    org.apache.avro.generic.GenericContainer, org.apache.avro.generic.IndexedRecord

    public class CreateResourceGroupRequest
    extends Object
    implements org.apache.avro.generic.IndexedRecord
    A set of parameters for GPUdb.createResourceGroup.

    Creates a new resource group to facilitate resource management.

    • Constructor Detail

      • CreateResourceGroupRequest

        public CreateResourceGroupRequest()
        Constructs a CreateResourceGroupRequest object with default parameters.
      • CreateResourceGroupRequest

        public CreateResourceGroupRequest​(String name,
                                          Map<String,​Map<String,​String>> tierAttributes,
                                          String ranking,
                                          String adjoiningResourceGroup,
                                          Map<String,​String> options)
        Constructs a CreateResourceGroupRequest object with the specified parameters.
        Parameters:
        name - Name of the group to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match existing resource group name.
        tierAttributes - Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max_memory (in bytes) for the VRAM and RAM tiers. For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: {'VRAM':{'max_memory':'1000000000'}, 'RAM':{'max_memory':'10000000000'}}.
        • MAX_MEMORY: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
        The default value is an empty Map.
        ranking - Indicates the relative ranking among existing resource groups where this new resource group will be placed. Supported values:
        • FIRST: Make this resource group the new first one in the ordering
        • LAST: Make this resource group the new last one in the ordering
        • BEFORE: Place this resource group before the one specified by adjoiningResourceGroup in the ordering
        • AFTER: Place this resource group after the one specified by adjoiningResourceGroup in the ordering
        adjoiningResourceGroup - If ranking is BEFORE or AFTER, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
        options - Optional parameters.
        • MAX_CPU_CONCURRENCY: Maximum number of simultaneous threads that will be used to execute a request, per rank, for this group. The minimum allowed value is '4'.
        • MAX_DATA: Maximum amount of data, per rank, in bytes, that can be used by all database objects within this group. Set to -1 to indicate no upper limit. The minimum allowed value is '-1'.
        • MAX_SCHEDULING_PRIORITY: Maximum priority of a scheduled task for this group. The minimum allowed value is '1'. The maximum allowed value is '100'.
        • MAX_TIER_PRIORITY: Maximum priority of a tiered object for this group. The minimum allowed value is '1'. The maximum allowed value is '10'.
        The default value is an empty Map.
    • Method Detail

      • getClassSchema

        public static org.apache.avro.Schema getClassSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Returns:
        The schema for the class.
      • getName

        public String getName()
        Name of the group to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match existing resource group name.
        Returns:
        The current value of name.
      • setName

        public CreateResourceGroupRequest setName​(String name)
        Name of the group to be created. Must contain only letters, digits, and underscores, and cannot begin with a digit. Must not match existing resource group name.
        Parameters:
        name - The new value for name.
        Returns:
        this to mimic the builder pattern.
      • getTierAttributes

        public Map<String,​Map<String,​String>> getTierAttributes()
        Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max_memory (in bytes) for the VRAM and RAM tiers.

        For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: {'VRAM':{'max_memory':'1000000000'}, 'RAM':{'max_memory':'10000000000'}}.

        • MAX_MEMORY: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
        The default value is an empty Map.
        Returns:
        The current value of tierAttributes.
      • setTierAttributes

        public CreateResourceGroupRequest setTierAttributes​(Map<String,​Map<String,​String>> tierAttributes)
        Optional map containing tier names and their respective attribute group limits. The only valid attribute limit that can be set is max_memory (in bytes) for the VRAM and RAM tiers.

        For instance, to set max VRAM capacity to 1GB per rank per GPU and max RAM capacity to 10GB per rank, use: {'VRAM':{'max_memory':'1000000000'}, 'RAM':{'max_memory':'10000000000'}}.

        • MAX_MEMORY: Maximum amount of memory usable at one time, per rank, per GPU, for the VRAM tier; or maximum amount of memory usable at one time, per rank, for the RAM tier.
        The default value is an empty Map.
        Parameters:
        tierAttributes - The new value for tierAttributes.
        Returns:
        this to mimic the builder pattern.
      • getRanking

        public String getRanking()
        Indicates the relative ranking among existing resource groups where this new resource group will be placed. Supported values:
        • FIRST: Make this resource group the new first one in the ordering
        • LAST: Make this resource group the new last one in the ordering
        • BEFORE: Place this resource group before the one specified by adjoiningResourceGroup in the ordering
        • AFTER: Place this resource group after the one specified by adjoiningResourceGroup in the ordering
        Returns:
        The current value of ranking.
      • setRanking

        public CreateResourceGroupRequest setRanking​(String ranking)
        Indicates the relative ranking among existing resource groups where this new resource group will be placed. Supported values:
        • FIRST: Make this resource group the new first one in the ordering
        • LAST: Make this resource group the new last one in the ordering
        • BEFORE: Place this resource group before the one specified by adjoiningResourceGroup in the ordering
        • AFTER: Place this resource group after the one specified by adjoiningResourceGroup in the ordering
        Parameters:
        ranking - The new value for ranking.
        Returns:
        this to mimic the builder pattern.
      • getAdjoiningResourceGroup

        public String getAdjoiningResourceGroup()
        If ranking is BEFORE or AFTER, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
        Returns:
        The current value of adjoiningResourceGroup.
      • setAdjoiningResourceGroup

        public CreateResourceGroupRequest setAdjoiningResourceGroup​(String adjoiningResourceGroup)
        If ranking is BEFORE or AFTER, this field indicates the resource group before or after which the current group will be placed; otherwise, leave blank. The default value is ''.
        Parameters:
        adjoiningResourceGroup - The new value for adjoiningResourceGroup.
        Returns:
        this to mimic the builder pattern.
      • getOptions

        public Map<String,​String> getOptions()
        Optional parameters.
        • MAX_CPU_CONCURRENCY: Maximum number of simultaneous threads that will be used to execute a request, per rank, for this group. The minimum allowed value is '4'.
        • MAX_DATA: Maximum amount of data, per rank, in bytes, that can be used by all database objects within this group. Set to -1 to indicate no upper limit. The minimum allowed value is '-1'.
        • MAX_SCHEDULING_PRIORITY: Maximum priority of a scheduled task for this group. The minimum allowed value is '1'. The maximum allowed value is '100'.
        • MAX_TIER_PRIORITY: Maximum priority of a tiered object for this group. The minimum allowed value is '1'. The maximum allowed value is '10'.
        The default value is an empty Map.
        Returns:
        The current value of options.
      • setOptions

        public CreateResourceGroupRequest setOptions​(Map<String,​String> options)
        Optional parameters.
        • MAX_CPU_CONCURRENCY: Maximum number of simultaneous threads that will be used to execute a request, per rank, for this group. The minimum allowed value is '4'.
        • MAX_DATA: Maximum amount of data, per rank, in bytes, that can be used by all database objects within this group. Set to -1 to indicate no upper limit. The minimum allowed value is '-1'.
        • MAX_SCHEDULING_PRIORITY: Maximum priority of a scheduled task for this group. The minimum allowed value is '1'. The maximum allowed value is '100'.
        • MAX_TIER_PRIORITY: Maximum priority of a tiered object for this group. The minimum allowed value is '1'. The maximum allowed value is '10'.
        The default value is an empty Map.
        Parameters:
        options - The new value for options.
        Returns:
        this to mimic the builder pattern.
      • getSchema

        public org.apache.avro.Schema getSchema()
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        getSchema in interface org.apache.avro.generic.GenericContainer
        Returns:
        The schema object describing this class.
      • get

        public Object get​(int index)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        get in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to get
        Returns:
        value of the field with the given index.
        Throws:
        IndexOutOfBoundsException
      • put

        public void put​(int index,
                        Object value)
        This method supports the Avro framework and is not intended to be called directly by the user.
        Specified by:
        put in interface org.apache.avro.generic.IndexedRecord
        Parameters:
        index - the position of the field to set
        value - the value to set
        Throws:
        IndexOutOfBoundsException
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object