Modifier and Type | Method and Description |
---|---|
void |
TopologyDetails.addResourcesForExec(ExecutorDetails exec,
NormalizedResourceRequest resourceList)
add resource requirements for a executor.
|
String |
TopologyDetails.getComponentFromExecutor(ExecutorDetails exec) |
Double |
TopologyDetails.getOffHeapMemoryRequirement(ExecutorDetails exec)
Gets the off heap memory requirement for a certain task within a topology.
|
Double |
TopologyDetails.getOnHeapMemoryRequirement(ExecutorDetails exec)
Gets the on heap memory requirement for a certain task within a topology.
|
NormalizedResourceRequest |
TopologyDetails.getTaskResourceReqList(ExecutorDetails exec)
get the resources requirements for a executor.
|
Double |
TopologyDetails.getTotalCpuReqTask(ExecutorDetails exec)
Get the total CPU requirement for executor.
|
Double |
TopologyDetails.getTotalMemReqTask(ExecutorDetails exec)
Gets the total memory requirement for a task.
|
NormalizedResourceRequest |
TopologyDetails.getTotalResources(ExecutorDetails exec)
Get the total resource requirement for an executor.
|
boolean |
TopologyDetails.hasExecInTopo(ExecutorDetails exec)
Checks if a executor is part of this topology.
|
boolean |
SchedulerAssignment.isExecutorAssigned(ExecutorDetails executor)
Is the executor assigned or not.
|
boolean |
SchedulerAssignmentImpl.isExecutorAssigned(ExecutorDetails executor) |
boolean |
Cluster.wouldFit(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td,
NormalizedResourceOffer resourcesAvailable,
double maxHeap) |
boolean |
ISchedulingState.wouldFit(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td,
NormalizedResourceOffer resourcesAvailable,
double maxHeap)
Would scheduling exec on ws fit? With a heap <= maxHeap total memory added <= memoryAvailable and cpu added <= cpuAvailable.
|
Modifier and Type | Method and Description |
---|---|
void |
SchedulerAssignmentImpl.assign(WorkerSlot slot,
Collection<ExecutorDetails> executors)
Deprecated.
|
void |
SchedulerAssignmentImpl.assign(WorkerSlot slot,
Collection<ExecutorDetails> executors,
WorkerResources slotResources)
Assign the slot to executors.
|
void |
Cluster.assign(WorkerSlot slot,
String topologyId,
Collection<ExecutorDetails> executors)
Assign the slot to the executors for this topology.
|
NormalizedResourceRequest |
TopologyDetails.getApproximateResources(Set<ExecutorDetails> execs)
Get approximate resources for given topology executors.
|
Set<SharedMemory> |
TopologyDetails.getSharedMemoryRequests(Collection<ExecutorDetails> executors)
Gets the total memory resource list for a set of tasks that is part of a topology.
|
Map<ExecutorDetails,String> |
TopologyDetails.selectExecutorToComponent(Collection<ExecutorDetails> executors) |
Constructor and Description |
---|
Component(ComponentType type,
String compId,
List<ExecutorDetails> execs,
Map<GlobalStreamId,Grouping> inputs)
Create a new component.
|
SchedulerAssignmentImpl(String topologyId,
Map<ExecutorDetails,WorkerSlot> executorToSlot,
Map<WorkerSlot,WorkerResources> resources,
Map<String,Double> nodeIdToTotalSharedOffHeap)
Create a new assignment.
|
TopologyDetails(String topologyId,
Map<String,Object> topologyConf,
StormTopology topology,
int numWorkers,
Map<ExecutorDetails,String> executorToComponents,
int launchTime,
String owner) |
TopologyDetails(String topologyId,
Map<String,Object> topologyConf,
StormTopology topology,
int numWorkers,
Map<ExecutorDetails,String> executorToComponents,
String owner) |
Modifier and Type | Method and Description |
---|---|
void |
Node.assign(String topId,
Collection<ExecutorDetails> executors,
Cluster cluster)
Assign a free slot on the node to the following topology and executors.
|
Modifier and Type | Method and Description |
---|---|
void |
RasNode.assignSingleExecutor(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td)
Assign a single executor to a slot, even if other things are in the slot.
|
boolean |
RasNode.couldEverFit(ExecutorDetails exec,
TopologyDetails td)
Is there any possibility that exec could ever fit on this node.
|
void |
RasNode.freeSingleExecutor(ExecutorDetails exec,
TopologyDetails topo)
frees a single executor.
|
boolean |
RasNode.wouldFit(WorkerSlot ws,
ExecutorDetails exec,
TopologyDetails td)
Would scheduling exec in ws fit with the current resource constraints.
|
Modifier and Type | Method and Description |
---|---|
void |
RasNode.assign(WorkerSlot target,
TopologyDetails td,
Collection<ExecutorDetails> executors)
Assigns a worker to a node.
|
Constructor and Description |
---|
RasNode(String nodeId,
SupervisorDetails sup,
Cluster cluster,
Map<String,WorkerSlot> workerIdToWorker,
Map<String,Map<String,Collection<ExecutorDetails>>> assignmentMap)
Create a new node.
|
Modifier and Type | Field and Description |
---|---|
protected Map<String,Set<ExecutorDetails>> |
BaseResourceAwareStrategy.compToExecs |
protected Map<ExecutorDetails,String> |
BaseResourceAwareStrategy.execToComp |
Modifier and Type | Method and Description |
---|---|
ExecutorDetails |
SchedulingSearcherState.currentExec()
Get the current unassigned executor.
|
ExecutorDetails |
SchedulingSearcherState.peekUnassignedAckers() |
Modifier and Type | Method and Description |
---|---|
Set<ExecutorDetails> |
SchedulingSearcherState.getBoundAckers() |
Set<ExecutorDetails> |
SchedulingSearcherState.getExecsWithBoundAckers() |
LinkedList<ExecutorDetails> |
SchedulingSearcherState.getUnassignedAckers() |
Modifier and Type | Method and Description |
---|---|
protected int |
BaseResourceAwareStrategy.assignBoundAckersForNewWorkerSlot(ExecutorDetails exec,
RasNode node,
WorkerSlot workerSlot)
Determine how many bound ackers to put into the given workerSlot.
|
int |
SchedulingSearcherState.getNumOfAckersToBind(ExecutorDetails exec,
WorkerSlot workerSlot)
Determine how many bound ackers to put in before assigning the executor to current workerSlot.
|
protected boolean |
ConstraintSolverStrategy.isExecAssignmentToWorkerValid(ExecutorDetails exec,
WorkerSlot worker)
Check if any constraints are violated if exec is scheduled on worker.
|
protected boolean |
BaseResourceAwareStrategy.isExecAssignmentToWorkerValid(ExecutorDetails exec,
WorkerSlot worker)
Check if the assignment of the executor to the worker is valid.
|
Modifier and Type | Method and Description |
---|---|
void |
SchedulingSearcherState.assignCurrentExecutor(Map<ExecutorDetails,String> execToComp,
RasNode node,
WorkerSlot workerSlot)
Attempt to assign current executor (execIndex points to) to worker and node.
|
void |
SchedulingSearcherState.backtrack(Map<ExecutorDetails,String> execToComp,
RasNode[] nodesForExec,
WorkerSlot[] workerSlotForExec)
Backtrack to prior executor that was directly assigned.
|
protected SchedulingResult |
RoundRobinResourceAwareStrategy.scheduleExecutorsOnNodes(List<ExecutorDetails> orderedExecutors,
Iterable<String> sortedNodesIterable)
For each component try to schedule executors in sequence on the nodes.
|
protected SchedulingResult |
BaseResourceAwareStrategy.scheduleExecutorsOnNodes(List<ExecutorDetails> orderedExecutors,
Iterable<String> sortedNodesIter)
Try to schedule till successful or till limits (backtrack count or time) have been exceeded.
|
void |
SchedulingSearcherState.setSortedExecs(List<ExecutorDetails> sortedExecs)
Reassign the list of executors as long as it contains the same executors as before.
|
Modifier and Type | Method and Description |
---|---|
List<ExecutorDetails> |
ExecSorterByConstraintSeverity.sortExecutors(Set<ExecutorDetails> unassignedExecutors) |
List<ExecutorDetails> |
ExecSorterByConnectionCount.sortExecutors(Set<ExecutorDetails> unassignedExecutors)
Order executors based on how many in and out connections it will potentially need to make, in descending order.
|
List<ExecutorDetails> |
ExecSorterByProximity.sortExecutors(Set<ExecutorDetails> unassignedExecutors)
Order executors by network proximity needs.
|
List<ExecutorDetails> |
IExecSorter.sortExecutors(Set<ExecutorDetails> execs)
Sort the supplied unique collection of ExecutorDetails in the order
in which they should be scheduled.
|
Modifier and Type | Method and Description |
---|---|
void |
INodeSorter.prepare(ExecutorDetails exec)
Prepare for node sorting.
|
void |
NodeSorterHostProximity.prepare(ExecutorDetails exec) |
void |
NodeSorter.prepare(ExecutorDetails exec) |
protected List<ObjectResourcesItem> |
NodeSorter.sortObjectResources(ObjectResourcesSummary resourcesSummary,
ExecutorDetails exec,
NodeSorter.ExistingScheduleFunc existingScheduleFunc)
Scheduling uses
NodeSorter.sortAllNodes() which eventually
calls this method whose behavior can be altered by setting NodeSorter.nodeSortType . |
protected Iterable<ObjectResourcesItem> |
NodeSorterHostProximity.sortObjectResources(ObjectResourcesSummary resourcesSummary,
ExecutorDetails exec,
NodeSorterHostProximity.ExistingScheduleFunc existingScheduleFunc)
Scheduling uses
NodeSorterHostProximity.sortAllNodes() which eventually
calls this method whose behavior can be altered by setting NodeSorterHostProximity.nodeSortType . |
Modifier and Type | Method and Description |
---|---|
List<ExecutorDetails> |
ExecSorterByConstraintSeverity.sortExecutors(Set<ExecutorDetails> unassignedExecutors) |
List<ExecutorDetails> |
ExecSorterByConnectionCount.sortExecutors(Set<ExecutorDetails> unassignedExecutors)
Order executors based on how many in and out connections it will potentially need to make, in descending order.
|
List<ExecutorDetails> |
ExecSorterByProximity.sortExecutors(Set<ExecutorDetails> unassignedExecutors)
Order executors by network proximity needs.
|
List<ExecutorDetails> |
IExecSorter.sortExecutors(Set<ExecutorDetails> execs)
Sort the supplied unique collection of ExecutorDetails in the order
in which they should be scheduled.
|
Copyright © 2023 The Apache Software Foundation. All rights reserved.