In certain embodiments, the machine learning module 106 may be implemented in software, firmware, hardware or any combination thereof. For example, in one embodiment the machine learning module 106 may be implemented only in software, whereas in another embodiment the machine learning module 106 may be implemented in a combination of software, firmware, and hardware. In one embodiment, each node of the machine learning module 106 may be a lightweight hardware processor (e.g., a 1-bit processor) and there may be hardwired connections among the lightweight hardware processors. Software and/or firmware may implement the adjustment of weights of the links via adjustments in signals propagated via the hardwired connections.
In certain embodiments, the plurality of inputs 318, 320 comprise a plurality of system parameters of the computing environment 100. The single output 324 may provide an indication of the optimal number of TCBs to be allocated to a port of the host bus adapter in the storage controller 102.
In certain embodiments, the machine learning module 302 is trained to improve the determination of the optimal number of TCBs for a port in the storage controller 102. The training continuously improves the predictive ability of the machine learning module 302 over time. The single-output machine learning module 302 may have to be executed for each port of the host bus adapter 114.