Package org.apache.sysds.hops.fedplanner

# Class FederatedMemoTable.FedPlan

java.lang.Object
org.apache.sysds.hops.fedplanner.FederatedMemoTable.FedPlan

Enclosing class:
  FederatedMemoTable

public static class FederatedMemoTable.FedPlan extends Object
Represents a single federated execution plan with its associated costs and dependencies. This class contains: 1. selfCost: Cost of the current hop (computation + input/output memory access). 2. cumulativeCost: Total cost including this plan's selfCost and all child plans' cumulativeCost. 3. forwardingCost: Network transfer cost for this plan to the parent plan. FedPlan is linked to FedPlanVariants, which in turn uses HopCommon to manage common properties and costs.

## Constructor Summary

Constructors
Constructor
Description
`FedPlan(double cumulativeCost, FederatedMemoTable.FedPlanVariants fedPlanVariants, List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>> childFedPlans)`

## Method Summary

Modifier and Type
Method
Description
`List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>>`
`getChildFedPlans()`
`double`
`getChildForwardingWeight(List<org.apache.commons.lang3.tuple.Pair<Long,Double>> childLoopContext)`
`double`
`getComputeWeight()`
`double`
`getCumulativeCost()`
`double`
`getCumulativeCostPerParents()`
`FEDInstruction.FederatedOutput`
`getFedOutType()`
`double`
`getForwardingCost()`
`double`
`getForwardingCostPerParents()`
`long`
`getHopID()`
`Hop`
`getHopRef()`
`List<org.apache.commons.lang3.tuple.Pair<Long,Double>>`
`getLoopContext()`
`double`
`getNetworkWeight()`
`double`
`getSelfCost()`
`void`
`setFederatedOutput(FEDInstruction.FederatedOutput fedOutType)`
`void`
`setForcedExecType(Types.ExecType execType)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### FedPlan

public FedPlan(double cumulativeCost, FederatedMemoTable.FedPlanVariants fedPlanVariants, List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>> childFedPlans)

## Method Details

### getHopRef

public Hop getHopRef()

### getHopID

public long getHopID()

### getFedOutType

public FEDInstruction.FederatedOutput getFedOutType()

### getCumulativeCost

public double getCumulativeCost()

### getCumulativeCostPerParents

public double getCumulativeCostPerParents()

### getSelfCost

public double getSelfCost()

### getForwardingCost

public double getForwardingCost()

### getForwardingCostPerParents

public double getForwardingCostPerParents()

### getComputeWeight

public double getComputeWeight()

### getNetworkWeight

public double getNetworkWeight()

### getChildForwardingWeight

public double getChildForwardingWeight(List<org.apache.commons.lang3.tuple.Pair<Long,Double>> childLoopContext)

### getLoopContext

public List<org.apache.commons.lang3.tuple.Pair<Long,Double>> getLoopContext()

### getChildFedPlans

public List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>> getChildFedPlans()

### setFederatedOutput

public void setFederatedOutput(FEDInstruction.FederatedOutput fedOutType)

### setForcedExecType

public void setForcedExecType(Types.ExecType execType)