Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FullTopology ¶
type FullTopology struct {
// contains filtered or unexported fields
}
The full structure is basically assume that every one is also parent for every else. And everyone else is communicating to get the data they need. Task 0 is forced/assumed to be the master.
Also the star structure stays the same between epochs.
func NewFullTopology ¶
func NewFullTopology(nTasks uint64) *FullTopology
Creates a new tree topology with given fanout and number of tasks. This will be called during the task graph configuration.
func (*FullTopology) GetLinkTypes ¶
func (t *FullTopology) GetLinkTypes() []string
func (*FullTopology) GetNeighbors ¶
func (t *FullTopology) GetNeighbors(linkType string, epoch uint64) (res []uint64)
func (*FullTopology) SetTaskID ¶
func (t *FullTopology) SetTaskID(taskID uint64)
TODO, do we really need to expose this? Ideally after proper construction of StarTopology we should not need to set this again.
type FullTopologyOfMaster ¶
type FullTopologyOfMaster struct {
// contains filtered or unexported fields
}
The full structure is basically assume that every one is also parent for every else. And everyone else is communicating to get the data they need. Task 0 is forced/assumed to be the master.
Also the star structure stays the same between epochs.
func NewFullTopologyOfMaster ¶
func NewFullTopologyOfMaster(nTasks uint64) *FullTopologyOfMaster
Creates a new tree topology with given fanout and number of tasks. This will be called during the task graph configuration.
func (*FullTopologyOfMaster) GetNeighbors ¶
func (t *FullTopologyOfMaster) GetNeighbors(epoch uint64) []uint64
func (*FullTopologyOfMaster) SetTaskID ¶
func (t *FullTopologyOfMaster) SetTaskID(taskID uint64)
TODO, do we really need to expose this? Ideally after proper construction of StarTopology we should not need to set this again.
type FullTopologyOfNegihbor ¶
type FullTopologyOfNegihbor struct {
// contains filtered or unexported fields
}
The full structure is basically assume that every one is also parent for every else. And everyone else is communicating to get the data they need. Task 0 is forced/assumed to be the master.
Also the star structure stays the same between epochs.
func NewFullTopologyOfNeighbor ¶
func NewFullTopologyOfNeighbor(nTasks uint64) *FullTopologyOfNegihbor
Creates a new tree topology with given fanout and number of tasks. This will be called during the task graph configuration.
func (*FullTopologyOfNegihbor) GetNeighbors ¶
func (t *FullTopologyOfNegihbor) GetNeighbors(epoch uint64) []uint64
func (*FullTopologyOfNegihbor) SetTaskID ¶
func (t *FullTopologyOfNegihbor) SetTaskID(taskID uint64)
TODO, do we really need to expose this? Ideally after proper construction of StarTopology we should not need to set this again.
type TreeTopology ¶
type TreeTopology struct {
// contains filtered or unexported fields
}
The tree structure is basically assume that all the task forms a tree. Also the tree structure stays the same between epochs.
func NewTreeTopology ¶
func NewTreeTopology(fanout, nTasks uint64) *TreeTopology
Creates a new tree topology with given fanout and number of tasks. This will be called during the task graph configuration.
func (*TreeTopology) GetLinkTypes ¶
func (t *TreeTopology) GetLinkTypes() []string
func (*TreeTopology) GetNeighbors ¶
func (t *TreeTopology) GetNeighbors(linkType string, epoch uint64) []uint64
func (*TreeTopology) SetTaskID ¶
func (t *TreeTopology) SetTaskID(taskID uint64)
type TreeTopologyOfChildren ¶
type TreeTopologyOfChildren struct {
// contains filtered or unexported fields
}
The tree structure is basically assume that all the task forms a tree. Also the tree structure stays the same between epochs.
func NewTreeTopologyOfChildren ¶
func NewTreeTopologyOfChildren(fanout, nTasks uint64) *TreeTopologyOfChildren
Creates a new tree topology with given fanout and number of tasks. This will be called during the task graph configuration.
func (*TreeTopologyOfChildren) GetNeighbors ¶
func (t *TreeTopologyOfChildren) GetNeighbors(epoch uint64) []uint64
func (*TreeTopologyOfChildren) SetTaskID ¶
func (t *TreeTopologyOfChildren) SetTaskID(taskID uint64)
type TreeTopologyOfParent ¶
type TreeTopologyOfParent struct {
// contains filtered or unexported fields
}
The tree structure is basically assume that all the task forms a tree. Also the tree structure stays the same between epochs.
func NewTreeTopologyOfParent ¶
func NewTreeTopologyOfParent(fanout, nTasks uint64) *TreeTopologyOfParent
Creates a new tree topology with given fanout and number of tasks. This will be called during the task graph configuration.
func (*TreeTopologyOfParent) GetNeighbors ¶
func (t *TreeTopologyOfParent) GetNeighbors(epoch uint64) []uint64
func (*TreeTopologyOfParent) SetTaskID ¶
func (t *TreeTopologyOfParent) SetTaskID(taskID uint64)