Struct caminos_lib::topology::dragonfly::CanonicDragonfly[][src]

pub struct CanonicDragonfly { /* fields omitted */ }
Expand description

Builds a dragonfly topology with canonic dimensions and palm-tree arrangement of global links. The canonic dimensions means

  • to have as many global links as links to servers in each router,
  • to have in each group the double number of routers than links to a server in a router,
  • to have a unique global link joining each pair of groups,
  • and to have a unique local link joining each pair of router in the same group. For the palm-tree arrangement we refer to the doctoral thesis of Marina García.

Implementations

Trait Implementations

Formats the value using the given formatter. Read more

Get the total memory currently being employed by the implementing type. Both stack and heap.

Prints by stdout how much memory is used per component.

Get an estimation on how much memory the type could reach during the simulation.

Neighbours of a router: Location+link class index Routers should be before servers Read more

The neighbour of a server: Location+link class index

the greatest distance from server to server

Distance from a router to another.

Number of shortest paths from a router to another.

Average number of shortest paths from a router to another.

Number of ports used to other routers. This does not include non-connected ports. This should not be used as a range of valid ports. A non-connected port can be before some other valid port to a router. Use neighbour_router_iter()' or 0..ports()’ to iterate over valid ranges. Read more

Specific for some toologies, but must be checkable for anyone

Specific for some toologies, but must be checkable for anyone

Specific for some toologies, but must be checkable for anyone Indicates if going from input_port to output_port implies a direction change. Used for the bubble routing. Read more

For topologies containing the so called up/down paths. Other topologies should return always None. If the return is Some((u,d)) it means there is an initial up sub-path of length u followed by a down sub-path of length d starting at origin and ending at destination. A return value of None means there is no up/down path from origin to destination. Some general guidelines, although it is not clear if they must hold always: Read more

Iterate over the neighour routers, skipping non-connected ports and ports towards servers. You may want to reimplement this when implementing the trait for your type. Read more

Breadth First Search to compute distances from a router to all others. It may use weights, but it there are multiple paths with different distances it may give a non-minimal distance, since it is not Dijkstra. Read more

Return a pair of matrices (D,A) with D[i,j] being the distance from i to j and A[i,j] being the number of paths of length D[i,j] from i to j. Read more

Find the coponents of the subtopology induced via the allowed links. Returns vector ret with ret[k] containing the vertices in the k-th component. Read more

returns a cople matrices (N,F) with N[u,v] = number of neighbours w of v with D(u,v)>D(u,w). F[u,v] = number of neighbours w of v with D(u,v)<D(u,w). A router v with F[u,v]=0 is called a boundary vertex of u. Read more

Computes the eccentricy of a router. That is, the greatest possible length of a shortest path from that router to any other.

Check pairs (port,vc) with Read more

Dump the adjacencies into a file. You may use NeighboursLists::file_adj to load them. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.