-
Notifications
You must be signed in to change notification settings - Fork 81
DeviceBalancer
DeviceBalancer — Click element; Balance flows among cores using the NICScheduler library
DeviceBalancer()
Ports: none
Drivers: userlevel
The DeviceBalancer element periodically calls NICScheduler's balancing method to re-arrange flows-to-queue (and therefore core) mapping of an Ethernet device, such as FromDevice, an external standard Linux interface, or FromDPDKDevice. The best known method supported by this element is "RSS++", see our CoNEXT 2019 paper for more details.
More details about the methods can be found in include/click/NICScheduler* According to the result of the optimization, the element will re-program the indirection table using the ethtool API.
This elements needs --enable-rsspp and --enable-cpu-load to be given to the configure line to be built.
This element extends NICScheduler*.
Therefore if you're looking into the implementation, you should read vendor/NICScheduler*
Exemple usage :
DeviceBalancer(DEV fd0, METHOD rsspp, VERBOSE $VERBOSE, STARTCPU 4, RSSCOUNTER agg, AUTOSCALE 0);
-
DEV Element handling the device to balance —
-
METHOD Balancing method, eg rss or rsspp —
-
VERBOSE Verbosity level —
-
STARTCPU Number of CPU to use at startup —
-
RSSCOUNTER Element such as AggregateCounterVector to count packets per RSS index
-
AUTOSCALE Enable autoscaling —
Generated by click-elem2man from ../elements/userlevel/devicebalancer.hh:30
on 2022/11/25.