Documentation ¶
Index ¶
- Variables
- func EventSequenceSummary(eventSequence *armadaevents.EventSequence) string
- func EventSequencesSummary(eventSequences []*armadaevents.EventSequence) string
- func EventSummary(event *armadaevents.EventSequence_Event) string
- func GetBasicSchedulingConfig() configuration.SchedulingConfig
- func JobRunLeased(n int, queue string, jobSetName string) *armadaevents.EventSequence
- func JobRunPreempted(n int, queue string, jobSetName string) *armadaevents.EventSequence
- func JobSucceeded(n int, queue string, jobSetName string) *armadaevents.EventSequence
- func RepeatEvents(n int, seq *armadaevents.EventSequence) *armadaevents.EventSequence
- func SchedulingConfigFromFilePath(filePath string) (configuration.SchedulingConfig, error)
- func SubmitJob(n int, queue string, jobSetName string) *armadaevents.EventSequence
- type Cluster
- func (*Cluster) Descriptor() ([]byte, []int)
- func (m *Cluster) GetName() string
- func (m *Cluster) GetNodeTemplates() []*NodeTemplate
- func (m *Cluster) GetPool() string
- func (m *Cluster) Marshal() (dAtA []byte, err error)
- func (m *Cluster) MarshalTo(dAtA []byte) (int, error)
- func (m *Cluster) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Cluster) ProtoMessage()
- func (m *Cluster) Reset()
- func (m *Cluster) Size() (n int)
- func (m *Cluster) String() string
- func (m *Cluster) Unmarshal(dAtA []byte) error
- func (m *Cluster) XXX_DiscardUnknown()
- func (m *Cluster) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Cluster) XXX_Merge(src proto.Message)
- func (m *Cluster) XXX_Size() int
- func (m *Cluster) XXX_Unmarshal(b []byte) error
- type ClusterSpec
- func (*ClusterSpec) Descriptor() ([]byte, []int)
- func (m *ClusterSpec) GetClusters() []*Cluster
- func (m *ClusterSpec) GetName() string
- func (m *ClusterSpec) GetPendingDelayDistribution() ShiftedExponential
- func (m *ClusterSpec) GetWorkflowManagerDelayDistribution() ShiftedExponential
- func (m *ClusterSpec) Marshal() (dAtA []byte, err error)
- func (m *ClusterSpec) MarshalTo(dAtA []byte) (int, error)
- func (m *ClusterSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ClusterSpec) ProtoMessage()
- func (m *ClusterSpec) Reset()
- func (m *ClusterSpec) Size() (n int)
- func (m *ClusterSpec) String() string
- func (m *ClusterSpec) Unmarshal(dAtA []byte) error
- func (m *ClusterSpec) XXX_DiscardUnknown()
- func (m *ClusterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ClusterSpec) XXX_Merge(src proto.Message)
- func (m *ClusterSpec) XXX_Size() int
- func (m *ClusterSpec) XXX_Unmarshal(b []byte) error
- type Event
- type EventLog
- type JobTemplate
- func GangJobTemplate32Cpu(numJobs int64, gangCardinality uint32, jobSet, priorityClassName string) *JobTemplate
- func JobTemplate1Cpu(n int64, jobSet, priorityClassName string) *JobTemplate
- func JobTemplate32Cpu(n int64, jobSet, priorityClassName string) *JobTemplate
- func WithDependenciesJobTemplate(jobTemplate *JobTemplate, dependencyIds ...string) *JobTemplate
- func WithIdJobTemplate(jobTemplate *JobTemplate, id string) *JobTemplate
- func WithMinSubmitTimeJobTemplate(jobTemplate *JobTemplate, minSubmitTime time.Duration) *JobTemplate
- func (*JobTemplate) Descriptor() ([]byte, []int)
- func (m *JobTemplate) GetDependencies() []string
- func (m *JobTemplate) GetEarliestSubmitTime() time.Duration
- func (m *JobTemplate) GetEarliestSubmitTimeFromDependencyCompletion() time.Duration
- func (m *JobTemplate) GetGangCardinality() uint32
- func (m *JobTemplate) GetGangNodeUniformityLabel() string
- func (m *JobTemplate) GetId() string
- func (m *JobTemplate) GetJobSet() string
- func (m *JobTemplate) GetNumber() int64
- func (m *JobTemplate) GetNumberSuccessful() int64
- func (m *JobTemplate) GetPriorityClassName() string
- func (m *JobTemplate) GetQueue() string
- func (m *JobTemplate) GetQueuePriority() uint32
- func (m *JobTemplate) GetRepeat() *RepeatDetails
- func (m *JobTemplate) GetRequirements() schedulerobjects.PodRequirements
- func (m *JobTemplate) GetRuntimeDistribution() ShiftedExponential
- func (m *JobTemplate) Marshal() (dAtA []byte, err error)
- func (m *JobTemplate) MarshalTo(dAtA []byte) (int, error)
- func (m *JobTemplate) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*JobTemplate) ProtoMessage()
- func (m *JobTemplate) Reset()
- func (m *JobTemplate) Size() (n int)
- func (m *JobTemplate) String() string
- func (m *JobTemplate) Unmarshal(dAtA []byte) error
- func (m *JobTemplate) XXX_DiscardUnknown()
- func (m *JobTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *JobTemplate) XXX_Merge(src proto.Message)
- func (m *JobTemplate) XXX_Size() int
- func (m *JobTemplate) XXX_Unmarshal(b []byte) error
- type NodeTemplate
- func (*NodeTemplate) Descriptor() ([]byte, []int)
- func (m *NodeTemplate) GetLabels() map[string]string
- func (m *NodeTemplate) GetNumber() int64
- func (m *NodeTemplate) GetTaints() []v1.Taint
- func (m *NodeTemplate) GetTotalResources() schedulerobjects.ResourceList
- func (m *NodeTemplate) Marshal() (dAtA []byte, err error)
- func (m *NodeTemplate) MarshalTo(dAtA []byte) (int, error)
- func (m *NodeTemplate) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*NodeTemplate) ProtoMessage()
- func (m *NodeTemplate) Reset()
- func (m *NodeTemplate) Size() (n int)
- func (m *NodeTemplate) String() string
- func (m *NodeTemplate) Unmarshal(dAtA []byte) error
- func (m *NodeTemplate) XXX_DiscardUnknown()
- func (m *NodeTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *NodeTemplate) XXX_Merge(src proto.Message)
- func (m *NodeTemplate) XXX_Size() int
- func (m *NodeTemplate) XXX_Unmarshal(b []byte) error
- type Queue
- func (*Queue) Descriptor() ([]byte, []int)
- func (m *Queue) GetJobTemplates() []*JobTemplate
- func (m *Queue) GetName() string
- func (m *Queue) GetWeight() float64
- func (m *Queue) Marshal() (dAtA []byte, err error)
- func (m *Queue) MarshalTo(dAtA []byte) (int, error)
- func (m *Queue) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Queue) ProtoMessage()
- func (m *Queue) Reset()
- func (m *Queue) Size() (n int)
- func (m *Queue) String() string
- func (m *Queue) Unmarshal(dAtA []byte) error
- func (m *Queue) XXX_DiscardUnknown()
- func (m *Queue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Queue) XXX_Merge(src proto.Message)
- func (m *Queue) XXX_Size() int
- func (m *Queue) XXX_Unmarshal(b []byte) error
- type RepeatDetails
- func (*RepeatDetails) Descriptor() ([]byte, []int)
- func (m *RepeatDetails) GetNumTimes() uint32
- func (m *RepeatDetails) GetPeriod() *time.Duration
- func (m *RepeatDetails) Marshal() (dAtA []byte, err error)
- func (m *RepeatDetails) MarshalTo(dAtA []byte) (int, error)
- func (m *RepeatDetails) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*RepeatDetails) ProtoMessage()
- func (m *RepeatDetails) Reset()
- func (m *RepeatDetails) Size() (n int)
- func (m *RepeatDetails) String() string
- func (m *RepeatDetails) Unmarshal(dAtA []byte) error
- func (m *RepeatDetails) XXX_DiscardUnknown()
- func (m *RepeatDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *RepeatDetails) XXX_Merge(src proto.Message)
- func (m *RepeatDetails) XXX_Size() int
- func (m *RepeatDetails) XXX_Unmarshal(b []byte) error
- type ShiftedExponential
- func (*ShiftedExponential) Descriptor() ([]byte, []int)
- func (m *ShiftedExponential) GetMinimum() time.Duration
- func (m *ShiftedExponential) GetTailMean() time.Duration
- func (m *ShiftedExponential) Marshal() (dAtA []byte, err error)
- func (m *ShiftedExponential) MarshalTo(dAtA []byte) (int, error)
- func (m *ShiftedExponential) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ShiftedExponential) ProtoMessage()
- func (m *ShiftedExponential) Reset()
- func (m *ShiftedExponential) Size() (n int)
- func (m *ShiftedExponential) String() string
- func (m *ShiftedExponential) Unmarshal(dAtA []byte) error
- func (m *ShiftedExponential) XXX_DiscardUnknown()
- func (m *ShiftedExponential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ShiftedExponential) XXX_Merge(src proto.Message)
- func (m *ShiftedExponential) XXX_Size() int
- func (m *ShiftedExponential) XXX_Unmarshal(b []byte) error
- type Simulator
- type WorkloadSpec
- func (*WorkloadSpec) Descriptor() ([]byte, []int)
- func (m *WorkloadSpec) GetName() string
- func (m *WorkloadSpec) GetQueues() []*Queue
- func (m *WorkloadSpec) GetRandomSeed() int64
- func (m *WorkloadSpec) Marshal() (dAtA []byte, err error)
- func (m *WorkloadSpec) MarshalTo(dAtA []byte) (int, error)
- func (m *WorkloadSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*WorkloadSpec) ProtoMessage()
- func (m *WorkloadSpec) Reset()
- func (m *WorkloadSpec) Size() (n int)
- func (m *WorkloadSpec) String() string
- func (m *WorkloadSpec) Unmarshal(dAtA []byte) error
- func (m *WorkloadSpec) XXX_DiscardUnknown()
- func (m *WorkloadSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *WorkloadSpec) XXX_Merge(src proto.Message)
- func (m *WorkloadSpec) XXX_Size() int
- func (m *WorkloadSpec) XXX_Unmarshal(b []byte) error
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func EventSequenceSummary ¶ added in v0.3.100
func EventSequenceSummary(eventSequence *armadaevents.EventSequence) string
func EventSequencesSummary ¶ added in v0.3.100
func EventSequencesSummary(eventSequences []*armadaevents.EventSequence) string
func EventSummary ¶ added in v0.3.100
func EventSummary(event *armadaevents.EventSequence_Event) string
func GetBasicSchedulingConfig ¶ added in v0.3.100
func GetBasicSchedulingConfig() configuration.SchedulingConfig
func JobRunLeased ¶ added in v0.3.100
func JobRunLeased(n int, queue string, jobSetName string) *armadaevents.EventSequence
func JobRunPreempted ¶ added in v0.3.100
func JobRunPreempted(n int, queue string, jobSetName string) *armadaevents.EventSequence
func JobSucceeded ¶ added in v0.3.100
func JobSucceeded(n int, queue string, jobSetName string) *armadaevents.EventSequence
func RepeatEvents ¶ added in v0.4.9
func RepeatEvents(n int, seq *armadaevents.EventSequence) *armadaevents.EventSequence
func SchedulingConfigFromFilePath ¶
func SchedulingConfigFromFilePath(filePath string) (configuration.SchedulingConfig, error)
func SubmitJob ¶ added in v0.3.100
func SubmitJob(n int, queue string, jobSetName string) *armadaevents.EventSequence
Types ¶
type Cluster ¶ added in v0.3.100
type Cluster struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Pool string `protobuf:"bytes,3,opt,name=pool,proto3" json:"pool,omitempty"` NodeTemplates []*NodeTemplate `protobuf:"bytes,2,rep,name=node_templates,json=nodeTemplates,proto3" json:"nodeTemplates,omitempty"` }
func (*Cluster) Descriptor ¶ added in v0.3.100
func (*Cluster) GetNodeTemplates ¶ added in v0.3.100
func (m *Cluster) GetNodeTemplates() []*NodeTemplate
func (*Cluster) MarshalToSizedBuffer ¶ added in v0.3.100
func (*Cluster) ProtoMessage ¶ added in v0.3.100
func (*Cluster) ProtoMessage()
func (*Cluster) XXX_DiscardUnknown ¶ added in v0.3.100
func (m *Cluster) XXX_DiscardUnknown()
func (*Cluster) XXX_Marshal ¶ added in v0.3.100
func (*Cluster) XXX_Unmarshal ¶ added in v0.3.100
type ClusterSpec ¶ added in v0.3.100
type ClusterSpec struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Clusters []*Cluster `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"` WorkflowManagerDelayDistribution ShiftedExponential `` /* 148-byte string literal not displayed */ PendingDelayDistribution ShiftedExponential `protobuf:"bytes,4,opt,name=pending_delay_distribution,json=pendingDelayDistribution,proto3" json:"pendingDelayDistribution"` }
func ClusterSpecFromFilePath ¶ added in v0.3.100
func ClusterSpecFromFilePath(filePath string) (*ClusterSpec, error)
func (*ClusterSpec) Descriptor ¶ added in v0.3.100
func (*ClusterSpec) Descriptor() ([]byte, []int)
func (*ClusterSpec) GetClusters ¶ added in v0.15.0
func (m *ClusterSpec) GetClusters() []*Cluster
func (*ClusterSpec) GetName ¶ added in v0.3.100
func (m *ClusterSpec) GetName() string
func (*ClusterSpec) GetPendingDelayDistribution ¶ added in v0.3.100
func (m *ClusterSpec) GetPendingDelayDistribution() ShiftedExponential
func (*ClusterSpec) GetWorkflowManagerDelayDistribution ¶ added in v0.3.100
func (m *ClusterSpec) GetWorkflowManagerDelayDistribution() ShiftedExponential
func (*ClusterSpec) Marshal ¶ added in v0.3.100
func (m *ClusterSpec) Marshal() (dAtA []byte, err error)
func (*ClusterSpec) MarshalTo ¶ added in v0.3.100
func (m *ClusterSpec) MarshalTo(dAtA []byte) (int, error)
func (*ClusterSpec) MarshalToSizedBuffer ¶ added in v0.3.100
func (m *ClusterSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ClusterSpec) ProtoMessage ¶ added in v0.3.100
func (*ClusterSpec) ProtoMessage()
func (*ClusterSpec) Reset ¶ added in v0.3.100
func (m *ClusterSpec) Reset()
func (*ClusterSpec) Size ¶ added in v0.3.100
func (m *ClusterSpec) Size() (n int)
func (*ClusterSpec) String ¶ added in v0.3.100
func (m *ClusterSpec) String() string
func (*ClusterSpec) Unmarshal ¶ added in v0.3.100
func (m *ClusterSpec) Unmarshal(dAtA []byte) error
func (*ClusterSpec) XXX_DiscardUnknown ¶ added in v0.3.100
func (m *ClusterSpec) XXX_DiscardUnknown()
func (*ClusterSpec) XXX_Marshal ¶ added in v0.3.100
func (m *ClusterSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ClusterSpec) XXX_Merge ¶ added in v0.3.100
func (m *ClusterSpec) XXX_Merge(src proto.Message)
func (*ClusterSpec) XXX_Size ¶ added in v0.3.100
func (m *ClusterSpec) XXX_Size() int
func (*ClusterSpec) XXX_Unmarshal ¶ added in v0.3.100
func (m *ClusterSpec) XXX_Unmarshal(b []byte) error
type Event ¶
type Event struct {
// contains filtered or unexported fields
}
Event is a simulator-internal event.
type JobTemplate ¶
type JobTemplate struct { // Number of jobs to create from this template. Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` // Number of jobs created from this template that have succeeded. // Maintained by the simulator. NumberSuccessful int64 `protobuf:"varint,2,opt,name=numberSuccessful,proto3" json:"numberSuccessful,omitempty"` // Queue to which this template belongs. Populated automatically. Queue string `protobuf:"bytes,3,opt,name=queue,proto3" json:"queue,omitempty"` // Unique id for this template. An id is generated if empty. Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` JobSet string `protobuf:"bytes,5,opt,name=job_set,json=jobSet,proto3" json:"jobSet,omitempty"` QueuePriority uint32 `protobuf:"varint,6,opt,name=queue_priority,json=queuePriority,proto3" json:"queuePriority,omitempty"` PriorityClassName string `protobuf:"bytes,7,opt,name=priority_class_name,json=priorityClassName,proto3" json:"priorityClassName,omitempty"` // Scheduling requirements for the pod embedded in the job. Requirements schedulerobjects.PodRequirements `protobuf:"bytes,8,opt,name=requirements,proto3" json:"requirements"` // List of template ids that must be completed before this template is submitted. Dependencies []string `protobuf:"bytes,9,rep,name=dependencies,proto3" json:"dependencies,omitempty"` // Earliest time at which jobs from this template are submitted. // Measured from the start of the simulation. EarliestSubmitTime time.Duration `protobuf:"bytes,10,opt,name=earliest_submit_time,json=earliestSubmitTime,proto3,stdduration" json:"earliestSubmitTime"` // Earliest time job can be submitted from when all its dependencies have completed. // This option is meant to model thinking or processing time, where some fixed amount of time // needs to be spent between dependencies completing and the next batch of jobs being ready to submit. EarliestSubmitTimeFromDependencyCompletion time.Duration `` /* 193-byte string literal not displayed */ // Job runtimes are assumed to follow a shifted exponential distribution // i.e., to be a fixed constant (runtime_minimum) plus a random amount of time // drawn from an exponential distribution with known mean (runtime_tail_mean). // // The shifted-exponential distribution strikes a good balance between simplicity and accuracy; // see https://bora.uib.no/bora-xmlui/bitstream/handle/11250/3014726/drthesis_2022_severinson.pdf?sequence=2 // for a discussion on the topic. RuntimeDistribution ShiftedExponential `protobuf:"bytes,12,opt,name=runtime_distribution,json=runtimeDistribution,proto3" json:"runtimeDistribution"` // If set, jobs will be assigned to gangs with the given size. In this case `number` must be exactly divisible by the gang size GangCardinality uint32 `protobuf:"varint,13,opt,name=gang_cardinality,json=gangCardinality,proto3" json:"gangCardinality,omitempty"` // Node Uniformity label when scheduling gangs. Only applies if gang_cardinality is non-zero. If unset it defaults to armadaproject.io/clusterName GangNodeUniformityLabel string `` /* 132-byte string literal not displayed */ // If set then the template will be repeated at some frequency. If null then the template will be submitted a single time. Repeat *RepeatDetails `protobuf:"bytes,15,opt,name=repeat,proto3" json:"repeat,omitempty"` }
func GangJobTemplate32Cpu ¶ added in v0.15.4
func GangJobTemplate32Cpu(numJobs int64, gangCardinality uint32, jobSet, priorityClassName string) *JobTemplate
func JobTemplate1Cpu ¶ added in v0.3.100
func JobTemplate1Cpu(n int64, jobSet, priorityClassName string) *JobTemplate
func JobTemplate32Cpu ¶ added in v0.3.100
func JobTemplate32Cpu(n int64, jobSet, priorityClassName string) *JobTemplate
func WithDependenciesJobTemplate ¶ added in v0.3.100
func WithDependenciesJobTemplate(jobTemplate *JobTemplate, dependencyIds ...string) *JobTemplate
func WithIdJobTemplate ¶ added in v0.3.100
func WithIdJobTemplate(jobTemplate *JobTemplate, id string) *JobTemplate
func WithMinSubmitTimeJobTemplate ¶ added in v0.3.100
func WithMinSubmitTimeJobTemplate(jobTemplate *JobTemplate, minSubmitTime time.Duration) *JobTemplate
func (*JobTemplate) Descriptor ¶
func (*JobTemplate) Descriptor() ([]byte, []int)
func (*JobTemplate) GetDependencies ¶
func (m *JobTemplate) GetDependencies() []string
func (*JobTemplate) GetEarliestSubmitTime ¶ added in v0.3.100
func (m *JobTemplate) GetEarliestSubmitTime() time.Duration
func (*JobTemplate) GetEarliestSubmitTimeFromDependencyCompletion ¶ added in v0.3.100
func (m *JobTemplate) GetEarliestSubmitTimeFromDependencyCompletion() time.Duration
func (*JobTemplate) GetGangCardinality ¶ added in v0.15.4
func (m *JobTemplate) GetGangCardinality() uint32
func (*JobTemplate) GetGangNodeUniformityLabel ¶ added in v0.15.4
func (m *JobTemplate) GetGangNodeUniformityLabel() string
func (*JobTemplate) GetId ¶
func (m *JobTemplate) GetId() string
func (*JobTemplate) GetJobSet ¶
func (m *JobTemplate) GetJobSet() string
func (*JobTemplate) GetNumber ¶
func (m *JobTemplate) GetNumber() int64
func (*JobTemplate) GetNumberSuccessful ¶
func (m *JobTemplate) GetNumberSuccessful() int64
func (*JobTemplate) GetPriorityClassName ¶
func (m *JobTemplate) GetPriorityClassName() string
func (*JobTemplate) GetQueue ¶
func (m *JobTemplate) GetQueue() string
func (*JobTemplate) GetQueuePriority ¶
func (m *JobTemplate) GetQueuePriority() uint32
func (*JobTemplate) GetRepeat ¶ added in v0.15.4
func (m *JobTemplate) GetRepeat() *RepeatDetails
func (*JobTemplate) GetRequirements ¶
func (m *JobTemplate) GetRequirements() schedulerobjects.PodRequirements
func (*JobTemplate) GetRuntimeDistribution ¶ added in v0.3.100
func (m *JobTemplate) GetRuntimeDistribution() ShiftedExponential
func (*JobTemplate) Marshal ¶
func (m *JobTemplate) Marshal() (dAtA []byte, err error)
func (*JobTemplate) MarshalToSizedBuffer ¶
func (m *JobTemplate) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*JobTemplate) ProtoMessage ¶
func (*JobTemplate) ProtoMessage()
func (*JobTemplate) Reset ¶
func (m *JobTemplate) Reset()
func (*JobTemplate) Size ¶
func (m *JobTemplate) Size() (n int)
func (*JobTemplate) String ¶
func (m *JobTemplate) String() string
func (*JobTemplate) Unmarshal ¶
func (m *JobTemplate) Unmarshal(dAtA []byte) error
func (*JobTemplate) XXX_DiscardUnknown ¶
func (m *JobTemplate) XXX_DiscardUnknown()
func (*JobTemplate) XXX_Marshal ¶
func (m *JobTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*JobTemplate) XXX_Merge ¶
func (m *JobTemplate) XXX_Merge(src proto.Message)
func (*JobTemplate) XXX_Size ¶
func (m *JobTemplate) XXX_Size() int
func (*JobTemplate) XXX_Unmarshal ¶
func (m *JobTemplate) XXX_Unmarshal(b []byte) error
type NodeTemplate ¶
type NodeTemplate struct { Number int64 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` Taints []v1.Taint `protobuf:"bytes,2,rep,name=taints,proto3" json:"taints"` Labels map[string]string `` /* 153-byte string literal not displayed */ TotalResources schedulerobjects.ResourceList `protobuf:"bytes,4,opt,name=total_resources,json=totalResources,proto3" json:"totalResources"` }
func NodeTemplate32Cpu ¶ added in v0.3.100
func NodeTemplate32Cpu(n int64) *NodeTemplate
func NodeTemplateGpu ¶ added in v0.3.100
func NodeTemplateGpu(n int64) *NodeTemplate
func (*NodeTemplate) Descriptor ¶
func (*NodeTemplate) Descriptor() ([]byte, []int)
func (*NodeTemplate) GetLabels ¶
func (m *NodeTemplate) GetLabels() map[string]string
func (*NodeTemplate) GetNumber ¶
func (m *NodeTemplate) GetNumber() int64
func (*NodeTemplate) GetTaints ¶
func (m *NodeTemplate) GetTaints() []v1.Taint
func (*NodeTemplate) GetTotalResources ¶
func (m *NodeTemplate) GetTotalResources() schedulerobjects.ResourceList
func (*NodeTemplate) Marshal ¶
func (m *NodeTemplate) Marshal() (dAtA []byte, err error)
func (*NodeTemplate) MarshalToSizedBuffer ¶
func (m *NodeTemplate) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*NodeTemplate) ProtoMessage ¶
func (*NodeTemplate) ProtoMessage()
func (*NodeTemplate) Reset ¶
func (m *NodeTemplate) Reset()
func (*NodeTemplate) Size ¶
func (m *NodeTemplate) Size() (n int)
func (*NodeTemplate) String ¶
func (m *NodeTemplate) String() string
func (*NodeTemplate) Unmarshal ¶
func (m *NodeTemplate) Unmarshal(dAtA []byte) error
func (*NodeTemplate) XXX_DiscardUnknown ¶
func (m *NodeTemplate) XXX_DiscardUnknown()
func (*NodeTemplate) XXX_Marshal ¶
func (m *NodeTemplate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*NodeTemplate) XXX_Merge ¶
func (m *NodeTemplate) XXX_Merge(src proto.Message)
func (*NodeTemplate) XXX_Size ¶
func (m *NodeTemplate) XXX_Size() int
func (*NodeTemplate) XXX_Unmarshal ¶
func (m *NodeTemplate) XXX_Unmarshal(b []byte) error
type Queue ¶
type Queue struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Weight float64 `protobuf:"fixed64,2,opt,name=weight,proto3" json:"weight,omitempty"` JobTemplates []*JobTemplate `protobuf:"bytes,3,rep,name=job_templates,json=jobTemplates,proto3" json:"jobTemplates,omitempty"` }
func WithJobTemplatesQueue ¶ added in v0.3.100
func WithJobTemplatesQueue(queue *Queue, jobTemplate ...*JobTemplate) *Queue
func (*Queue) Descriptor ¶
func (*Queue) GetJobTemplates ¶
func (m *Queue) GetJobTemplates() []*JobTemplate
func (*Queue) ProtoMessage ¶
func (*Queue) ProtoMessage()
func (*Queue) XXX_DiscardUnknown ¶
func (m *Queue) XXX_DiscardUnknown()
func (*Queue) XXX_Marshal ¶
func (*Queue) XXX_Unmarshal ¶
type RepeatDetails ¶ added in v0.15.4
type RepeatDetails struct { // The number of times that template should be repeated. Must be > 0 NumTimes uint32 `protobuf:"varint,1,opt,name=num_times,json=numTimes,proto3" json:"numTimes,omitempty"` // The period between template submissions. May not be null Period *time.Duration `protobuf:"bytes,2,opt,name=period,proto3,stdduration" json:"period,omitempty"` }
func (*RepeatDetails) Descriptor ¶ added in v0.15.4
func (*RepeatDetails) Descriptor() ([]byte, []int)
func (*RepeatDetails) GetNumTimes ¶ added in v0.15.4
func (m *RepeatDetails) GetNumTimes() uint32
func (*RepeatDetails) GetPeriod ¶ added in v0.15.4
func (m *RepeatDetails) GetPeriod() *time.Duration
func (*RepeatDetails) Marshal ¶ added in v0.15.4
func (m *RepeatDetails) Marshal() (dAtA []byte, err error)
func (*RepeatDetails) MarshalTo ¶ added in v0.15.4
func (m *RepeatDetails) MarshalTo(dAtA []byte) (int, error)
func (*RepeatDetails) MarshalToSizedBuffer ¶ added in v0.15.4
func (m *RepeatDetails) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*RepeatDetails) ProtoMessage ¶ added in v0.15.4
func (*RepeatDetails) ProtoMessage()
func (*RepeatDetails) Reset ¶ added in v0.15.4
func (m *RepeatDetails) Reset()
func (*RepeatDetails) Size ¶ added in v0.15.4
func (m *RepeatDetails) Size() (n int)
func (*RepeatDetails) String ¶ added in v0.15.4
func (m *RepeatDetails) String() string
func (*RepeatDetails) Unmarshal ¶ added in v0.15.4
func (m *RepeatDetails) Unmarshal(dAtA []byte) error
func (*RepeatDetails) XXX_DiscardUnknown ¶ added in v0.15.4
func (m *RepeatDetails) XXX_DiscardUnknown()
func (*RepeatDetails) XXX_Marshal ¶ added in v0.15.4
func (m *RepeatDetails) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*RepeatDetails) XXX_Merge ¶ added in v0.15.4
func (m *RepeatDetails) XXX_Merge(src proto.Message)
func (*RepeatDetails) XXX_Size ¶ added in v0.15.4
func (m *RepeatDetails) XXX_Size() int
func (*RepeatDetails) XXX_Unmarshal ¶ added in v0.15.4
func (m *RepeatDetails) XXX_Unmarshal(b []byte) error
type ShiftedExponential ¶ added in v0.3.100
type ShiftedExponential struct { Minimum time.Duration `protobuf:"bytes,1,opt,name=minimum,proto3,stdduration" json:"minimum"` TailMean time.Duration `protobuf:"bytes,2,opt,name=tail_mean,json=tailMean,proto3,stdduration" json:"tailMean"` }
func (*ShiftedExponential) Descriptor ¶ added in v0.3.100
func (*ShiftedExponential) Descriptor() ([]byte, []int)
func (*ShiftedExponential) GetMinimum ¶ added in v0.3.100
func (m *ShiftedExponential) GetMinimum() time.Duration
func (*ShiftedExponential) GetTailMean ¶ added in v0.3.100
func (m *ShiftedExponential) GetTailMean() time.Duration
func (*ShiftedExponential) Marshal ¶ added in v0.3.100
func (m *ShiftedExponential) Marshal() (dAtA []byte, err error)
func (*ShiftedExponential) MarshalTo ¶ added in v0.3.100
func (m *ShiftedExponential) MarshalTo(dAtA []byte) (int, error)
func (*ShiftedExponential) MarshalToSizedBuffer ¶ added in v0.3.100
func (m *ShiftedExponential) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ShiftedExponential) ProtoMessage ¶ added in v0.3.100
func (*ShiftedExponential) ProtoMessage()
func (*ShiftedExponential) Reset ¶ added in v0.3.100
func (m *ShiftedExponential) Reset()
func (*ShiftedExponential) Size ¶ added in v0.3.100
func (m *ShiftedExponential) Size() (n int)
func (*ShiftedExponential) String ¶ added in v0.3.100
func (m *ShiftedExponential) String() string
func (*ShiftedExponential) Unmarshal ¶ added in v0.3.100
func (m *ShiftedExponential) Unmarshal(dAtA []byte) error
func (*ShiftedExponential) XXX_DiscardUnknown ¶ added in v0.3.100
func (m *ShiftedExponential) XXX_DiscardUnknown()
func (*ShiftedExponential) XXX_Marshal ¶ added in v0.3.100
func (m *ShiftedExponential) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ShiftedExponential) XXX_Merge ¶ added in v0.3.100
func (m *ShiftedExponential) XXX_Merge(src proto.Message)
func (*ShiftedExponential) XXX_Size ¶ added in v0.3.100
func (m *ShiftedExponential) XXX_Size() int
func (*ShiftedExponential) XXX_Unmarshal ¶ added in v0.3.100
func (m *ShiftedExponential) XXX_Unmarshal(b []byte) error
type Simulator ¶
type Simulator struct { ClusterSpec *ClusterSpec WorkloadSpec *WorkloadSpec // If true, scheduler logs are omitted. // This since the logs are very verbose when scheduling large numbers of jobs. SuppressSchedulerLogs bool // contains filtered or unexported fields }
Simulator captures the parameters and state of the Armada simulator.
func NewSimulator ¶
func NewSimulator( clusterSpec *ClusterSpec, workloadSpec *WorkloadSpec, schedulingConfig configuration.SchedulingConfig, enableFastForward bool, hardTerminationMinutes int, schedulerCyclePeriodSeconds int, sink sink.Sink, ) (*Simulator, error)
func (*Simulator) Run ¶
func (s *Simulator) Run(ctx *armadacontext.Context) error
Run runs the scheduler until all jobs have finished successfully.
func (*Simulator) StateTransitions ¶ added in v0.4.1
func (s *Simulator) StateTransitions() <-chan model.StateTransition
StateTransitions returns a channel on which all simulated events are sent. This function must be called before *Simulator.Run.
type WorkloadSpec ¶ added in v0.3.100
type WorkloadSpec struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // Random seed used in simulations; use to ensure simulations are reproducible. // If not provided, or explicitly set to 0, the current time is used. RandomSeed int64 `protobuf:"varint,2,opt,name=random_seed,json=randomSeed,proto3" json:"randomSeed,omitempty"` Queues []*Queue `protobuf:"bytes,3,rep,name=queues,proto3" json:"queues,omitempty"` }
func GetOneQueue10JobWorkload ¶ added in v0.3.100
func GetOneQueue10JobWorkload() *WorkloadSpec
func WorkloadSpecFromFilePath ¶ added in v0.3.100
func WorkloadSpecFromFilePath(filePath string) (*WorkloadSpec, error)
func (*WorkloadSpec) Descriptor ¶ added in v0.3.100
func (*WorkloadSpec) Descriptor() ([]byte, []int)
func (*WorkloadSpec) GetName ¶ added in v0.3.100
func (m *WorkloadSpec) GetName() string
func (*WorkloadSpec) GetQueues ¶ added in v0.3.100
func (m *WorkloadSpec) GetQueues() []*Queue
func (*WorkloadSpec) GetRandomSeed ¶ added in v0.3.100
func (m *WorkloadSpec) GetRandomSeed() int64
func (*WorkloadSpec) Marshal ¶ added in v0.3.100
func (m *WorkloadSpec) Marshal() (dAtA []byte, err error)
func (*WorkloadSpec) MarshalTo ¶ added in v0.3.100
func (m *WorkloadSpec) MarshalTo(dAtA []byte) (int, error)
func (*WorkloadSpec) MarshalToSizedBuffer ¶ added in v0.3.100
func (m *WorkloadSpec) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*WorkloadSpec) ProtoMessage ¶ added in v0.3.100
func (*WorkloadSpec) ProtoMessage()
func (*WorkloadSpec) Reset ¶ added in v0.3.100
func (m *WorkloadSpec) Reset()
func (*WorkloadSpec) Size ¶ added in v0.3.100
func (m *WorkloadSpec) Size() (n int)
func (*WorkloadSpec) String ¶ added in v0.3.100
func (m *WorkloadSpec) String() string
func (*WorkloadSpec) Unmarshal ¶ added in v0.3.100
func (m *WorkloadSpec) Unmarshal(dAtA []byte) error
func (*WorkloadSpec) XXX_DiscardUnknown ¶ added in v0.3.100
func (m *WorkloadSpec) XXX_DiscardUnknown()
func (*WorkloadSpec) XXX_Marshal ¶ added in v0.3.100
func (m *WorkloadSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*WorkloadSpec) XXX_Merge ¶ added in v0.3.100
func (m *WorkloadSpec) XXX_Merge(src proto.Message)
func (*WorkloadSpec) XXX_Size ¶ added in v0.3.100
func (m *WorkloadSpec) XXX_Size() int
func (*WorkloadSpec) XXX_Unmarshal ¶ added in v0.3.100
func (m *WorkloadSpec) XXX_Unmarshal(b []byte) error
Click to show internal directories.
Click to hide internal directories.