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 current hop (compute + input/output memory access) 2. totalCost: Cumulative cost including this plan and all child plans 3. netTransferCost: Network transfer cost for this plan to parent plan. FedPlan is linked to FedPlanVariants, which in turn uses HopCommon to manage common properties and costs.
-
-
Constructor Summary
Constructors Constructor Description FedPlan(List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>> childFedPlans, FederatedMemoTable.FedPlanVariants fedPlanVariants)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>>getChildFedPlans()doublegetCondNetTransferCost(FEDInstruction.FederatedOutput parentFedOutType)Calculates the conditional network transfer cost based on output type compatibility.FEDInstruction.FederatedOutputgetFedOutType()longgetHopID()HopgetHopRef()doublegetNetTransferCost()doublegetSelfCost()doublegetTotalCost()voidsetNetTransferCost(double netTransferCost)voidsetSelfCost(double selfCost)voidsetTotalCost(double totalCost)
-
-
-
Constructor Detail
-
FedPlan
public FedPlan(List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>> childFedPlans, FederatedMemoTable.FedPlanVariants fedPlanVariants)
-
-
Method Detail
-
setTotalCost
public void setTotalCost(double totalCost)
-
setSelfCost
public void setSelfCost(double selfCost)
-
setNetTransferCost
public void setNetTransferCost(double netTransferCost)
-
getHopRef
public Hop getHopRef()
-
getHopID
public long getHopID()
-
getFedOutType
public FEDInstruction.FederatedOutput getFedOutType()
-
getTotalCost
public double getTotalCost()
-
getSelfCost
public double getSelfCost()
-
getNetTransferCost
public double getNetTransferCost()
-
getChildFedPlans
public List<org.apache.commons.lang3.tuple.Pair<Long,FEDInstruction.FederatedOutput>> getChildFedPlans()
-
getCondNetTransferCost
public double getCondNetTransferCost(FEDInstruction.FederatedOutput parentFedOutType)
Calculates the conditional network transfer cost based on output type compatibility. Returns 0 if output types match, otherwise returns the network transfer cost.- Parameters:
parentFedOutType- The federated output type of the parent plan.- Returns:
- The conditional network transfer cost.
-
-