FIG. 4 illustrates a block diagram 400 that shows a machine learning module 402 (corresponds to machine learning module 106 shown in FIG. 1) for determination of optimal resource allocation for interfaces, in accordance with certain embodiments. The block diagram 400 shows that the machine learning module 106 comprises a multi-output neural network 402 that may determine the optimal number of TCBs for each of plurality of ports simultaneously (as shown via reference numerals 424, 426, 428). Reference numerals 404, 406, 408, 410, 412, 414, 416, 418, 420, 422, 424 shows components, inputs and mechanisms similar to that shown in FIG. 3 but these components, inputs and mechanisms are designed for the multi-output machine learning module 402.
In contrast to FIG. 3, in which the optimal allocation of TCBs for each port are calculated separately, in the multi-output machine learning module 402 of FIG. 4, outputs may be generated simultaneously for multiple ports by many different mechanisms. The output layer 414 may have a plurality of nodes 430. 432, 434 that generate the optimal allocation of the number of TCBs of a plurality of ports of a host bus adapter simultaneously (as shown via reference numerals 424, 426, 428).