DistributedFactorGraphs.jl icon indicating copy to clipboard operation
DistributedFactorGraphs.jl copied to clipboard

[DESIGN] "cross-feeding" vs "performance" -- ie dispatch vs specialized

Open dehann opened this issue 5 years ago • 6 comments

DFG is about having access to various graphing technologies in a way that allows info/data/etc to be easily transferred between technologies in a standard way. For example:

# copy from one dfg to another, regardless of different SolverParams types
copyGraph!(localdfg, cgdfg, args...)

merge!(CloudDFG, FileDFG)
merge!(FileDFG, CloudDFG)
merge!(CloudDFG, LightDFG)
merge!(GraphsDFG, LightDFG)
merge!(GraffDFG, CloudDFG) # seems excessive, but its about the philosophy 
# ...

updateVariables!(LigthDFG, CloudDFG)
updateVariables!(FileDFG, GraphDFG) # to illustrate point
updateVariables!(FuseDFG, LightDFG) # to illustrate point
# ...

buildSubgraph(::LightDFG, GraphDFG, ...)
buildSubgraph(::CloudDFG, LightDFG, ...)
buildSubgraph(::FileDFG, CloudDFG, ...)
# ...

Originates from hard discussions on:

  • #261
  • #214
  • #507

cc @GearsAD , @Affie

EDIT: GraphsDFG has since been archived in favor of LightDFG.

dehann avatar Jan 21 '20 16:01 dehann

Decision is whether we want to support the kinds of "cross-feeding" functions I'm suggesting here -- or which subset? Or, if any decisions are going to actively exclude any of the features suggested here?

dehann avatar Jan 21 '20 17:01 dehann

In reponse to a discussion in #261:

This is more speaking to the room: I want to stress that DFG should not just be a clambering together of silo'ed drivers for graph technologies -- the most value comes from true "Distributed" nature in a variety of workloads that one user probably wont' see in their individual use-cases. I fully acknowledge its hard to get right though.

dehann avatar Jan 22 '20 14:01 dehann

would you guys say the current design in DFG v0.8.0 achieves this -- so we can close?

dehann avatar May 24 '20 22:05 dehann

It’s definitely a step in that direction. I think it’s going to be a continuous effort.

Affie avatar May 26 '20 22:05 Affie

Cannot close until at least #507 is resolved

dehann avatar Jun 14 '20 06:06 dehann

https://github.com/JuliaRobotics/DistributedFactorGraphs.jl/issues/315#issuecomment-661027817

dehann avatar Jul 26 '20 05:07 dehann