[−][src]Module caminos_lib::policies
Structs
EnforceFlowControl | |
Hops | Select virtual channel=packet.hops. |
LabelSaturate | New label = min{old_label,value} or max{old_label,value} (value,bottom) |
LabelTransform | New label = old_label*multplier+summand. (multiplier,summand,saturate_bottom,saturate_top,minimum,maximum) |
LowestLabel | Select the egresses with lowest label. |
LowestSinghWeight | Select the lowest value of the product of the queue length (that is, consumed credits) times the estimated hop count (usually 1 plus the distance from next router to target router) This was initially proposed for the UGAL routing. parameters=(extra_congestion,extra_distance,aggregate_buffers), which are added in the formula to allow tuning. Firth two default to 0. aggregate_buffers indicates to use all buffers instead of just the selected one. |
NegateLabel | New label = -old_label Just until I fix the grammar to accept preceding minuses. |
OccupancyFunction | Transform (l,q) into new label al+bq+clq+d where l is the label and q is the occupancy. |
Random | Request a port+virtual channel at random from all available. |
RequestInfo | Extra information to be used by the policies of virtual channels. |
Shortest | Request the port+virtual channel with more credits. Does not solve ties, so it needs to be followed by Random or something. |
VCPolicyBuilderArgument | |
VecLabel | Vector of labels new_label = vector[old_label] |
WideHops | Select virtual channel in (widthpacket.hops..width(packet.hops+1)). |
Traits
VirtualChannelPolicy | How virtual channels are selected for a packet
They provide the function filter(Vec |
Functions
new_virtual_channel_policy |