devices are assigned to different buses at development time as well as dynamically during operation , based on actual performance . at development time , bus assignment can be determined based on experiments and direct observation of how devices behave in various configurations . at run time , load on each bus is preferably measured periodically , and when it is uneven , devices are reallocated to different buses . in an alternative embodiment , a user can specify a preference for using more or fewer buses in order to optimize operation for efficiency or lower power consumption .