Documentation
¶
Overview ¶
Package plugin is using for HuaWei Ascend pin affinity schedule.
Package plugin is using for HuaWei Ascend pin affinity schedule.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule frame.
Package plugin is using for HuaWei Ascend pin affinity schedule.
Package plugin is using for HuaWei Ascend pin affinity schedule.
Index ¶
- Constants
- func GetJobInfoAllocatedTaskNum(jobInfo *api.JobInfo) int32
- func GetPhysicCardNameFromVChip(realCardName string) string
- func GetVCJobReqNPUTypeFromJobInfo(vcJob *api.JobInfo) (string, int, error)
- func InitJobNPUTasks(vcJob *api.JobInfo) map[api.TaskID]util.NPUTask
- type ClusterCache
- type CommonNode
- type ConfigParameters
- type DevFaultInfo
- type DynamicParameters
- type FaultHandler
- type JobScheduleInfoRecorder
- type NPUNode
- type NodeJobInfo
- type OwnerInfo
- type PendingReason
- type PolicyBuilder
- type ScheduleCache
- type ScheduleEnv
- type ScheduleHandler
- func (sHandle *ScheduleHandler) BatchNodeOrderFn(task *api.TaskInfo, nodes []*api.NodeInfo) (map[string]float64, error)
- func (sHandle *ScheduleHandler) BeforeCloseHandler()
- func (sHandle *ScheduleHandler) InitJobsFromSsn(ssn *framework.Session)
- func (sHandle *ScheduleHandler) InitNPUSession(ssn *framework.Session) error
- func (sHandle *ScheduleHandler) InitNodesFromSsn(ssn *framework.Session)
- func (sHandle *ScheduleHandler) InitTorNodeInfo(ssn *framework.Session)
- func (sHandle *ScheduleHandler) InitVolcanoFrameFromSsn(ssn *framework.Session)
- func (sHandle *ScheduleHandler) JobValid(obj interface{}) *api.ValidateResult
- func (sHandle ScheduleHandler) NPUAllocateFunc(task *api.TaskInfo)
- func (sHandle *ScheduleHandler) NPUDeallocateFunc(task *api.TaskInfo)
- func (sHandle *ScheduleHandler) NodePredicate(taskInfo *api.TaskInfo, nodeInfo *api.NodeInfo) error
- func (sHandle ScheduleHandler) SetJobPendReasonByNodesCase(job *api.JobInfo)
- func (sHandle *ScheduleHandler) SetJobPendingReason(vcJob *api.JobInfo, reason interface{}) error
- func (sHandle *ScheduleHandler) TaskOrderFn(InterfaceA interface{}, InterfaceB interface{}) int
- type SchedulerBaseAttr
- func (sp SchedulerBaseAttr) GetAnnoName() string
- func (sp SchedulerBaseAttr) GetAnnoPreVal() string
- func (sp SchedulerBaseAttr) GetPluginName() string
- func (sp *SchedulerBaseAttr) SetAnnoName(annoName string)
- func (sp *SchedulerBaseAttr) SetAnnoPreVal(value string)
- func (sp *SchedulerBaseAttr) SetPluginName(name string)
- type SchedulerJob
- type SchedulerPlugin
- type SchedulerPluginBase
- type SchedulerPluginNeed
- type Server
- type StaticParameters
- type SuperNode
- type SuperPodInfo
- type TaskDevInfo
- type TaskResetInfo
- type Tor
- type TorList
- func (tl *TorList) GetLogicTorsAndFullTorNum(jobUid api.JobID, taskColumn, taskRow, netSliceNum int) ([]*Tor, int)
- func (tl *TorList) GetNSLBVersion() string
- func (tl *TorList) GetServerMaps() map[string]*Server
- func (tl *TorList) GetSharedTorNum() int
- func (tl *TorList) GetTorIpMap() map[string]string
- func (tl *TorList) GetTorMaps() map[string]*Tor
- func (tl *TorList) MarkTorListByJobV1(nodes map[string]*api.NodeInfo, jobUid api.JobID, taskNum int)
- func (tl *TorList) MarkTorListByJobV2(nodes map[string]*api.NodeInfo, jobUid api.JobID)
- func (tl *TorList) RecoveryGlobalTor(tors []*Tor)
- func (tl *TorList) SetTorFreeServerCountAndGetFullTor(jobUid api.JobID) int
- type TorShare
- type UnscheduledReason
- type VChip
- type VNode
- type VolcanoFrame
Constants ¶
const ( // TorNodeCMName the Name of tor info configmap TorNodeCMName = "basic-tor-node-cm" TorShareCMName = "tor-share-cm" // TorInfoCMKey the key of tor info in configmap TorInfoCMKey = "tor_info" // TorLevelCMKey the key of tor level in configmap TorLevelCMKey = "tor_level" // SingleLayer the single layer switch value of tor level in configmap SingleLayer = "single_layer" // TorAffinityKey the key of tor affinity TorAffinityKey = "tor-affinity" // GlobalTorInfoKey the key of tor share info in configmap GlobalTorInfoKey = "global-tor-info" // NormalSchema the value of normal tor affinity NormalSchema = "normal-schema" // NSLB2Version nslb 2.0 version NSLB2Version = "2.0" // PodRankIndexKey rank index key PodRankIndexKey = "hccl/rankIndex" // ReplicaSetType replicaset type ReplicaSetType = "ReplicaSet" // PodGroupScheduleKey podgroup schedule the enable key PodGroupScheduleKey = "podgroup-sched-enable" // PodGroupScheduleValue podgroup schedule the enable value PodGroupScheduleValue = "true" )
const ( // ChipTypeB1 chip type 910B1 ChipTypeB1 = util.ChipKind + "B1" // ChipTypeB2C chip type 910B2C ChipTypeB2C = util.ChipKind + "B2C" // ChipTypeB2 chip type 910 B2 ChipTypeB2 = util.ChipKind + "B2" // ChipTypeB3 chip type 910B3 ChipTypeB3 = util.ChipKind + "B3" // ChipTypeB4 chip type 910B4 ChipTypeB4 = util.ChipKind + "B4" )
const ( // VNPUTempVir06 vir06_1c_16g VNPUTempVir06 = "vir06_1c_16g" // VNPUTempVir03 vir03_1c_8g VNPUTempVir03 = "vir03_1c_8g" // VNPUTempVir12 vir12_3c_32g VNPUTempVir12 = "vir12_3c_32g" )
the temp of 910B1/910B2C
const ( // VNPUTempVir05 vir05_1c_16g VNPUTempVir05 = "vir05_1c_16g" // VNPUTempVir10 vir10_3c_32g VNPUTempVir10 = "vir10_3c_32g" )
the temp of 910B3
const ( // VNPUB4TempVir05 vir05_1c_8g VNPUB4TempVir05 = "vir05_1c_8g" // VNPUB4TempVir10C3NM vir10_3c_16g_nm VNPUB4TempVir10C3NM = "vir10_3c_16g_nm" // VNPUB4TempVir10C4M vir10_4c_16g_m VNPUB4TempVir10C4M = "vir10_4c_16g_m" // VNPUB4TempVir10 vir10_3c_16g VNPUB4TempVir10 = "vir10_3c_16g" )
the temp of 910B4
const ( // GraceExitValue grace exit value GraceExitValue = 1 // DefaultExitValue default exit value DefaultExitValue = 0 )
const ( // DefaultGraceOverTime time interval for grace delete DefaultGraceOverTime = 900 // GraceOverTimeKey for GraceOverTime config by user GraceOverTimeKey = "grace-over-time" )
const ( // PluginName the HuaWei NPU 's plugin name. PluginName = "NPU" // FormatIncorrectError format incorrect error FormatIncorrectError = "format incorrect" // AscendVNPULevel vnpu level AscendVNPULevel = "vnpu-level" // AscendVNPULevelLow low AscendVNPULevelLow = "low" // AscendVNPULevelHigh high AscendVNPULevelHigh = "high" // AscendVNPUDVPP dvpp enable AscendVNPUDVPP = "vnpu-dvpp" // AscendDVPPEnabledOff off AscendDVPPEnabledOff = "no" // AscendDVPPEnabledNull null AscendDVPPEnabledNull = "null" // AscendDVPPEnabledOn on AscendDVPPEnabledOn = "yes" // AscendNDVPPValue value AscendNDVPPValue = "ndvpp" // AscendDVPPValue value AscendDVPPValue = "dvpp" // VNPUTempVir01 vir01 VNPUTempVir01 = "vir01" // VNPUTempVir02 vir02 VNPUTempVir02 = "vir02" // VNPUTempVir02C1 vir02_1c VNPUTempVir02C1 = "vir02_1c" // VNPUTempVir04 vir04 VNPUTempVir04 = "vir04" // VNPUTempVir04C3 vir04_3c VNPUTempVir04C3 = "vir04_3c" // VNPUTempVir04C3NDVPP vir04_3c_ndvpp VNPUTempVir04C3NDVPP = "vir04_3c_ndvpp" // VNPUTempVir04C4cDVPP vir04_4c_dvpp VNPUTempVir04C4cDVPP = "vir04_4c_dvpp" // VNPUTempVir08 vir08 only 910 VNPUTempVir08 = "vir08" // VNPUTempVir16 vir16 only 910 VNPUTempVir16 = "vir16" // ResetInfoCMNamePrefix for reset configmap name prefix ResetInfoCMNamePrefix = "reset-config-" // ResetInfoCMDataKey for reset configmap data key ResetInfoCMDataKey = "reset.json" // ResetInfoTypeKey for reset configmap type key ResetInfoTypeKey = "restartType" // PodRescheduleRestartType for hot reset restart type PodRescheduleRestartType = "podReschedule" )
Variables ¶
This section is empty.
Functions ¶
func GetJobInfoAllocatedTaskNum ¶
GetJobInfoAllocatedTaskNum get job allocated task num
func GetPhysicCardNameFromVChip ¶
GetPhysicCardNameFromVChip get cardName from whole Ascend310P-0/Ascend310P-1c-400-3_0
func GetVCJobReqNPUTypeFromJobInfo ¶
GetVCJobReqNPUTypeFromJobInfo get job request resource, only NPU.
Types ¶
type ClusterCache ¶
type ClusterCache struct {
Jobs map[api.JobID]SchedulerJob
Nodes map[string]NPUNode
Tors *TorList
SuperPodInfo *SuperPodInfo
}
ClusterCache cluster env cache some cluster date needed when job scheduling, if add other cluster data, should add in this struct
type CommonNode ¶
type CommonNode struct {
Name string
Capability map[v1.ResourceName]float64
Allocate map[v1.ResourceName]float64
Idle map[v1.ResourceName]float64
Tasks map[api.TaskID]*api.TaskInfo
BaseDeviceInfo string
// node annotation and device info + switch info + node info
Annotation map[string]string
Label map[string]string
Address string
SuperPodID int32
// contains filtered or unexported fields
}
CommonNode common npu node properties
type ConfigParameters ¶
type ConfigParameters struct {
StaticParameters
DynamicParameters
}
ConfigParameters some volcano scheduler parameters
type DevFaultInfo ¶
type DevFaultInfo struct {
LogicId int32
Status string
Policy string
InitialPolicy string
ErrorCode []int64
ErrorCodeHex string
}
DevFaultInfo is the fault info of device
type DynamicParameters ¶
type DynamicParameters struct {
PresetVirtualDevice bool
GraceDeleteTime int64
SuperPodSize int
ReservePodSize int
}
DynamicParameters volcano scheduler dynamic parameters
type FaultHandler ¶
type FaultHandler interface {
Execute(*ScheduleEnv, *framework.Session) error
CheckNodeNPUByTask(*api.TaskInfo, *NPUNode) error
ScoreBestNPUNodes(*api.TaskInfo, map[string]float64)
UseAnnotation(*api.TaskInfo)
PreStopAction(*ScheduleEnv) error
}
FaultHandler fault handler for job
type JobScheduleInfoRecorder ¶
type JobScheduleInfoRecorder struct {
// PodScheduleFlag key is job uid, value is job schedule type, true is pod scheduling, false is job scheduling
PodScheduleFlag map[api.JobID]bool
// ResetCMSetFlag flag to record rescheduling job has been set reset cm
ResetCMSetFlag map[api.JobID]struct{}
// PendingMessage record different job pending reason and unschedulable nodes
PendingMessage map[api.JobID]PendingReason
// ServerListRecordFlag flag to record tor affinity job has been record server list to logs
ServerListRecordFlag map[api.JobID]struct{}
}
JobScheduleInfoRecorder some info need recorded in job scheduling
func NewJobScheduleInfoRecorder ¶
func NewJobScheduleInfoRecorder() JobScheduleInfoRecorder
NewJobScheduleInfoRecorder new default JobScheduleInfoRecorder
type NPUNode ¶
type NPUNode struct {
CommonNode
VNode
}
NPUNode the plugin define node info.
func (NPUNode) GetChipKindFromNpuNode ¶
GetChipKindFromNpuNode input huawei-Ascend910 return Ascend910/Ascend310p/Ascend310
type NodeJobInfo ¶
NodeJobInfo node job info
type OwnerInfo ¶
OwnerInfo the owner info of job
type PendingReason ¶
PendingReason pod pending reason type. key is pending reason, value is node name
type PolicyBuilder ¶
type PolicyBuilder = func() SchedulerPluginNeed
PolicyBuilder PolicyBuilder plugin management
type ScheduleCache ¶
type ScheduleCache struct {
// special, name, value
Names, Namespaces map[string]string
Data map[string]map[string]string
}
ScheduleCache the plugin defined caches saving cm data
type ScheduleEnv ¶
type ScheduleEnv struct {
JobScheduleInfoRecorder
ClusterCache
FrameAttr VolcanoFrame
OutputCache ScheduleCache
}
ScheduleEnv for job scheduler context.
type ScheduleHandler ¶
type ScheduleHandler struct {
NPUPlugins sets.String
PolicyBuilder PolicyBuilder
FaultHandle FaultHandler
ScheduleEnv
}
ScheduleHandler information for the current plugin
func (*ScheduleHandler) BatchNodeOrderFn ¶
func (sHandle *ScheduleHandler) BatchNodeOrderFn(task *api.TaskInfo, nodes []*api.NodeInfo) (map[string]float64, error)
BatchNodeOrderFn Score the selected nodes.
func (*ScheduleHandler) BeforeCloseHandler ¶
func (sHandle *ScheduleHandler) BeforeCloseHandler()
BeforeCloseHandler do the action before ssn close.
func (*ScheduleHandler) InitJobsFromSsn ¶
func (sHandle *ScheduleHandler) InitJobsFromSsn(ssn *framework.Session)
InitJobsFromSsn init all jobs in ssn.
func (*ScheduleHandler) InitNPUSession ¶
func (sHandle *ScheduleHandler) InitNPUSession(ssn *framework.Session) error
InitNPUSession init npu plugin and nodes.
func (*ScheduleHandler) InitNodesFromSsn ¶
func (sHandle *ScheduleHandler) InitNodesFromSsn(ssn *framework.Session)
InitNodesFromSsn init all nodes in ssn.
func (*ScheduleHandler) InitTorNodeInfo ¶
func (sHandle *ScheduleHandler) InitTorNodeInfo(ssn *framework.Session)
InitTorNodeInfo initializes Tor node information if the basic Tor node configmap exists
func (*ScheduleHandler) InitVolcanoFrameFromSsn ¶
func (sHandle *ScheduleHandler) InitVolcanoFrameFromSsn(ssn *framework.Session)
InitVolcanoFrameFromSsn init frame parameter from ssn.
func (*ScheduleHandler) JobValid ¶
func (sHandle *ScheduleHandler) JobValid(obj interface{}) *api.ValidateResult
JobValid the job valid, used by volcano frame.
func (ScheduleHandler) NPUAllocateFunc ¶
func (sHandle ScheduleHandler) NPUAllocateFunc(task *api.TaskInfo)
NPUAllocateFunc Allocate npu and called by volcano frame.
func (*ScheduleHandler) NPUDeallocateFunc ¶
func (sHandle *ScheduleHandler) NPUDeallocateFunc(task *api.TaskInfo)
NPUDeallocateFunc Free assigned npu, if allocate failed by volcano frame.
func (*ScheduleHandler) NodePredicate ¶
NodePredicate Predicate nodes.
func (ScheduleHandler) SetJobPendReasonByNodesCase ¶
func (sHandle ScheduleHandler) SetJobPendReasonByNodesCase(job *api.JobInfo)
SetJobPendReasonByNodesCase In nodes select case, set node failed and add failed reason.
func (*ScheduleHandler) SetJobPendingReason ¶
func (sHandle *ScheduleHandler) SetJobPendingReason(vcJob *api.JobInfo, reason interface{}) error
SetJobPendingReason set the pod and podGroup pending reason.
func (*ScheduleHandler) TaskOrderFn ¶
func (sHandle *ScheduleHandler) TaskOrderFn(InterfaceA interface{}, InterfaceB interface{}) int
TaskOrderFn Sort the selected tasks.
type SchedulerBaseAttr ¶
type SchedulerBaseAttr struct {
// contains filtered or unexported fields
}
SchedulerBaseAttr for all volcano-npu plugin.
func (SchedulerBaseAttr) GetAnnoName ¶
func (sp SchedulerBaseAttr) GetAnnoName() string
GetAnnoName get AnnoName.
func (SchedulerBaseAttr) GetAnnoPreVal ¶
func (sp SchedulerBaseAttr) GetAnnoPreVal() string
GetAnnoPreVal get AnnoPreVal.
func (SchedulerBaseAttr) GetPluginName ¶
func (sp SchedulerBaseAttr) GetPluginName() string
GetPluginName get PluginName.
func (*SchedulerBaseAttr) SetAnnoName ¶
func (sp *SchedulerBaseAttr) SetAnnoName(annoName string)
SetAnnoName set AnnoName.
func (*SchedulerBaseAttr) SetAnnoPreVal ¶
func (sp *SchedulerBaseAttr) SetAnnoPreVal(value string)
SetAnnoPreVal set AnnoPreVal.
func (*SchedulerBaseAttr) SetPluginName ¶
func (sp *SchedulerBaseAttr) SetPluginName(name string)
SetPluginName set PluginName.
type SchedulerJob ¶
type SchedulerJob struct {
util.SchedulerJobAttr
UnscheduledReason
JobReadyTag *bool
SuperPods map[string][]SuperNode
Owner OwnerInfo
// contains filtered or unexported fields
}
SchedulerJob the plugin define job info
func (*SchedulerJob) UpdateJobPendingMessage ¶
func (sJob *SchedulerJob) UpdateJobPendingMessage(message, nodeName string)
UpdateJobPendingMessage update job pending message
type SchedulerPlugin ¶
type SchedulerPlugin interface {
SchedulerPluginBase
SchedulerPluginNeed
}
SchedulerPlugin for volcano-npu plugin has function.
type SchedulerPluginBase ¶
type SchedulerPluginBase interface {
GetPluginName() string
SetPluginName(string)
GetAnnoPreVal() string
SetAnnoPreVal(string)
GetAnnoName() string
SetAnnoName(string)
}
SchedulerPluginBase the frame plugin need implement.
type SchedulerPluginNeed ¶
type SchedulerPluginNeed interface {
// ValidNPUJob Valid the job part of npu scheduler policy, if not, disallowed.
ValidNPUJob() *api.ValidateResult
CheckNodeNPUByTask(*api.TaskInfo, NPUNode) error
ScoreBestNPUNodes(*api.TaskInfo, []*api.NodeInfo, map[string]float64) error
UseAnnotation(*api.TaskInfo, NPUNode) *NPUNode
ReleaseAnnotation(*api.TaskInfo, NPUNode) *NPUNode
PreStartAction(ssn *framework.Session) error
InitMyJobPlugin(util.SchedulerJobAttr, ScheduleEnv) error
}
SchedulerPluginNeed The interface that the specific plug-in needs to implement.
type Server ¶
type Server struct {
IsUsedByMulJob bool `json:"-"`
NodeRank string `json:"-"`
IP string `json:"server_ip"`
Count int `json:"npu_count"`
SliceId int `json:"slice_id"`
Jobs sets.String
CurrentJob *api.JobID
Name string
}
Server server info
type StaticParameters ¶
type StaticParameters struct {
OnceInit *sync.Once
UseClusterD bool
SelfMaintainAvailCard bool
NslbVersion string
IsFirstSession *bool // scheduler first session message is unreliable
ForceEnqueue bool
}
StaticParameters volcano scheduler static parameters
type SuperNode ¶
SuperNode node with SuperPodID
type SuperPodInfo ¶
type SuperPodInfo struct {
SuperPodReschdInfo map[api.JobID]map[string][]SuperNode // cache super pod re-schd info
SuperPodFaultTaskNodes map[api.JobID][]string // cache fault task nodes info
SuperPodMapFaultTaskNodes map[api.JobID]map[string]string // cache task and nodes for stage2
}
SuperPodInfo cache super pod info for pod rescheduling
func NewSuperPodInfo ¶
func NewSuperPodInfo() *SuperPodInfo
NewSuperPodInfo new empty super pod info
type TaskDevInfo ¶
type TaskDevInfo struct {
RankId int
DevFaultInfo
}
TaskDevInfo is the device info of a task
type TaskResetInfo ¶
type TaskResetInfo struct {
RankList []*TaskDevInfo
UpdateTime int64
RetryTime int
FaultFlushing bool
GracefulExit int
RestartFaultProcess bool
}
TaskResetInfo record task reset device information
type Tor ¶
type Tor struct {
FreeServerCount int
IsHealthy int
Id int `json:"tor_id"`
IP string `json:"tor_ip"`
Servers []*Server `json:"server"`
Jobs map[api.JobID]SchedulerJob
}
Tor tor info include server
func (*Tor) HasAcrossJob ¶
HasAcrossJob whether has across job
type TorList ¶
type TorList struct {
TorLevel string `json:"-"`
Version string `json:"version"`
TorCount int `json:"tor_count"`
Tors []*Tor `json:"server_list"`
// contains filtered or unexported fields
}
TorList tor info about nodes
func (*TorList) GetLogicTorsAndFullTorNum ¶
func (tl *TorList) GetLogicTorsAndFullTorNum(jobUid api.JobID, taskColumn, taskRow, netSliceNum int) ([]*Tor, int)
GetLogicTorsAndFullTorNum get logic tor list by global tor list
func (*TorList) GetNSLBVersion ¶
GetNSLBVersion get nslb version
func (*TorList) GetServerMaps ¶
GetServerMaps return server maps
func (*TorList) GetSharedTorNum ¶
GetSharedTorNum get shared tor num
func (*TorList) GetTorIpMap ¶
GetTorIpMap return tor ip map
func (*TorList) GetTorMaps ¶
GetTorMaps return tor maps
func (*TorList) MarkTorListByJobV1 ¶
func (tl *TorList) MarkTorListByJobV1(nodes map[string]*api.NodeInfo, jobUid api.JobID, taskNum int)
MarkTorListByJobV1 mark the global tor list by node list a job can be scheduled
func (*TorList) MarkTorListByJobV2 ¶
MarkTorListByJobV2 mark the global tor list by node list a job can be scheduled
func (*TorList) RecoveryGlobalTor ¶
RecoveryGlobalTor recovery global tor in cache
type UnscheduledReason ¶
type UnscheduledReason struct {
Reason PendingReason
*sync.Mutex
}
UnscheduledReason the message of pod pending
type VChip ¶
type VChip struct {
PodMap map[string]*v1.Pod
ID []string
// Name Ascend910-0
Name string
// Kind Ascend910/Ascend310/Ascend310P
Kind string
IsDual bool
Unstable bool
CoreNum int
SegmentFlag bool
TotalRes util.VResource
UsedRes util.VResource
FreeRes util.VResource
}
VChip vnpu chip class
type VNode ¶
type VNode struct {
// Chips map chipID to VChip class
Chips map[int]*VChip
// ChipKind Ascend910/310/310p
ChipKind string
// UnhealthyChipIds the card unhealthy chip ids in this node
UnhealthyChipIds map[int]struct{}
// ServerType Ascend310p-10-dual cardType-cardCoreNum-duo
ServerType string
// TotalChipNum num of total chips, get from capacity
TotalChipNum int
// AiCorePerChip num of aicore on each chip
AiCorePerChip int
// FreeChipNum num of free chips get from device-info
FreeChipNum int
// TotalRes total resource on node
TotalRes util.VResource
// ValidVNode node init success
ValidVNode bool
// Chip type 910B1/910B2C/910B3/910B4
ChipType string
}
VNode vnpu node class
func (VNode) GetNodeTopForWholeCard ¶
GetNodeTopForWholeCard get node top for whole card
func (*VNode) IsResourceWholeCard ¶
IsResourceWholeCard judge if resource is whole card by node total resource
func (*VNode) NewVChip ¶
NewVChip create new vChip
type VolcanoFrame ¶
type VolcanoFrame struct {
UID types.UID
KubeClient kubernetes.Interface
VJobTemplate map[string]map[string]util.VResource
ConfigParameters
// contains filtered or unexported fields
}
VolcanoFrame passed in by the volcano frame.
Source Files
¶
- const.go
- device_info.go
- factory.go
- job.go
- node.go
- plugin.go
- task.go
- tor.go
- type.go
- vnode.go