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()
double
getCondNetTransferCost(FEDInstruction.FederatedOutput parentFedOutType)
Calculates the conditional network transfer cost based on output type compatibility.FEDInstruction.FederatedOutput
getFedOutType()
long
getHopID()
Hop
getHopRef()
double
getNetTransferCost()
double
getSelfCost()
double
getTotalCost()
void
setNetTransferCost(double netTransferCost)
void
setSelfCost(double selfCost)
void
setTotalCost(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.
-
-