白丝美女被狂躁免费视频网站,500av导航大全精品,yw.193.cnc爆乳尤物未满,97se亚洲综合色区,аⅴ天堂中文在线网官网

Determine a load balancing mechanism for allocation of shared resources in a storage system using a machine learning module based on number of I/O operations

專利號(hào)
US11175958B2
公開日期
2021-11-16
申請(qǐng)人
INTERNATIONAL BUSINESS MACHINES CORPORATION(US NY Armonk)
發(fā)明人
Lokesh M. Gupta; Matthew R. Craig; Beth Ann Peterson; Kevin John Ash
IPC分類
G06F9/50; G06N3/08; G06N20/00
技術(shù)領(lǐng)域
tcbs,learning,storage,in,machine,host,module,adapter,controller,resources
地域: NY NY Armonk

摘要

A plurality of interfaces that share a plurality of resources in a storage controller are maintained. In response to an occurrence of a predetermined number of operations associated with an interface of the plurality of interfaces, an input is provided on a plurality of attributes of the storage controller to a machine learning module. In response to receiving the input, the machine learning module generates an output value corresponding to a number of resources of the plurality of resources to allocate to the interface in the storage controller.

說明書

BACKGROUND 1. Field

Embodiments relate to usage of a machine learning module to determine a load balancing mechanism for shared resources in a storage system.

2. Background

In certain storage system environments, a storage controller (or a storage controller complex) may comprise a plurality of storage servers that are coupled to each other. The storage controller allows host computing systems to perform input/output (I/O) operations with storage devices controlled by the storage controller, where the host computing systems may be referred to as hosts. A plurality of such storage controllers, hosts, and other computational devices may be deployed at one or more sites to provide an environment for storage and management of data and also to provide an environment for data processing.

The storage controller may include two or more servers, where each server may be referred to as a node, a storage server, a processor complex, a Central Processor Complex (CPC), or a Central Electronics Complex (CEC). Each server may have a plurality of processor cores and the servers may share the workload of the storage controller. In a two server configuration of the storage controller that is also referred to as a dual server based storage controller, in the event of a failure of one of the two servers, the other server that has not failed may take over the operations performed by the failed server.

權(quán)利要求

1
What is claimed is:1. A method, comprising:maintaining a plurality of interfaces, wherein the plurality of interfaces comprise a plurality of ports of a host bus adapter that communicatively couples a storage controller to a host computational device, wherein the host bus adapter shares a plurality of resources in the storage controller, and wherein the plurality of resources comprise a plurality of task control blocks (TCBs) for executing a plurality of input/output (I/O) operations that are received by the host bus adapter from the host computational device;in response to an occurrence of a predetermined number of I/O operations associated with an interface of the plurality of interfaces, providing input on a plurality of attributes of the storage controller to a machine learning module, wherein the plurality of attributes affect allocation of the plurality of resources to the plurality of interfaces; andin response to receiving the input, the machine learning module performs:generating an output value corresponding to a number of resources of the plurality of resources to allocate to the interface of the plurality of interfaces in the storage controller;calculating a margin of error based on comparing the generated output value to an expected output value, wherein the expected output value is generated from an indication of a predetermined function based at least on determining a number of I/O operations that are waiting for a resource and a number of available resources; andadjusting weights of links that interconnect nodes of a plurality of layers of the machine leaning module via back propagation to reduce the margin of error, to improve a determination of the number of resources to allocate to the interface, wherein the margin of error for training the machine learning module has been computed by determining a number of I/O operations queued in a global queue, a number of free TCBs in a global TCB pool and the generated output value.2. The method of claim 1, wherein the plurality of attributes includes:a measure of a total number of I/O operations currently active in the host bus adapter;a measure of a total number of I/O operations currently active on the port;a measure of a total number of rejected I/O operations in the host bus adapter; anda measure of a total number of rejected I/O operations from the port.3. The method of claim 1, wherein the plurality of attributes includes:a measure of an average response time for I/O operations;a measure of a current queue length on the port;a measure of a current number of dedicated TCBs on the port; anda measure of a current number of shared TCBs in the host bus adapter.4. The method of claim 1, wherein the plurality of attributes includes:a measure of a peak number of I/O operations in the host bus adapter;a measure of an average number of I/O operations in the host bus adapter; anda measure of a median number of I/O operations in the host bus adapter.5. The method of claim 1, wherein the plurality of attributes includes:a measure of a number of high priority I/O requests rejected from the host bus adapter, wherein high priority I/O requests are expected to be processed faster than low priority I/O requests;a measure of a number of high priority requests active in the host bus adapter; anda measure of a number of connections from the host computational device to the host bus adapter.6. The method of claim 1, the method further comprising:transmitting, by the storage controller, the output value to a central computing device that generates weights and biases to be applied to machine learning modules of a plurality of storage controllers.7. A system, comprising:a memory; anda processor coupled to the memory, wherein the processor performs operations, the operations comprising:maintaining a plurality of interfaces, wherein the plurality of interfaces comprise a plurality of ports of a host bus adapter that communicatively couples a storage controller that comprises the system to a host computational device, wherein the host bus adapter shares a plurality of resources in the storage controller, and wherein the plurality of resources comprise a plurality of task control blocks (TCBs) for executing a plurality of input/output (I/O) operations that are received by the host bus adapter from the host computational device;in response to an occurrence of a predetermined number of I/O operations associated with an interface of the plurality of interfaces, providing input on a plurality of attributes of the storage controller to a machine learning module, wherein the plurality of attributes affect allocation of the plurality of resources to the plurality of interfaces; andin response to receiving the input, the machine learning module performs:generating an output value corresponding to a number of resources of the plurality of resources to allocate to the interface of the plurality of interfaces in the storage controller;calculating a margin of error based on comparing the generated output value to an expected output value, wherein the expected output value is generated from an indication of a predetermined function based at least on determining a number of I/O operations that are waiting for a resource and a number of available resources; andadjusting weights of links that interconnect nodes of a plurality of layers of the machine leaning module via back propagation to reduce the margin of error, to improve a determination of the number of resources to allocate to the interface, wherein the margin of error for training the machine learning module has been computed by determining a number of I/O operations queued in a global queue, a number of free TCBs in a global TCB pool and the generated output value.8. The system of claim 7, wherein the plurality of attributes includes:a measure of a total number of I/O operations currently active in the host bus adapter;a measure of a total number of I/O operations currently active on the port;a measure of a total number of rejected I/O operations in the host bus adapter; anda measure of a total number of rejected I/O operations from the port.9. The system of claim 7, wherein the plurality of attributes includes:a measure of an average response time for I/O operations;a measure of a current queue length on the port;a measure of a current number of dedicated TCBs on the port; anda measure of a current number of shared TCBs in the host bus adapter.10. The system of claim 7, wherein the plurality of attributes includes:a measure of a peak number of I/O operations in the host bus adapter;a measure of an average number of I/O operations in the host bus adapter; anda measure of a median number of I/O operations in the host bus adapter.11. The system of claim 7, wherein the plurality of attributes includes:a measure of a number of high priority I/O requests rejected from the host bus adapter, wherein high priority I/O requests are expected to be processed faster than low priority I/O requests;a measure of a number of high priority requests active in the host bus adapter; anda measure of a number of connections from the host computational device to the host bus adapter.12. The system of claim 7, the operations further comprising:transmitting, by the storage controller, the output value to a central computing device that generates weights and biases to be applied to machine learning modules of a plurality of storage controllers.13. A computer program product, the computer program product comprising a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to perform operations in a storage controller or a computational device, the operations comprising:maintaining a plurality of interfaces, wherein the plurality of interfaces comprise a plurality of ports of a host bus adapter that communicatively couples the storage controller to a host computational device, wherein the host bus adapter shares a plurality of resources in the storage controller, and wherein the plurality of resources comprise a plurality of task control blocks (TCBs) for executing a plurality of input/output (I/O) operations that are received by the host bus adapter from the host computational device;in response to an occurrence of a predetermined number of I/O operations associated with an interface of the plurality of interfaces, providing input on a plurality of attributes of the storage controller to a machine learning module, wherein the plurality of attributes affect allocation of the plurality of resources to the plurality of interfaces; andin response to receiving the input, the machine learning module performs:generating an output value corresponding to a number of resources of the plurality of resources to allocate to the interface of the plurality of interfaces in the storage controller;calculating a margin of error based on comparing the generated output value to an expected output value, wherein the expected output value is generated from an indication of a predetermined function based at least on determining a number of I/O operations that are waiting for a resource and a number of available resources; andadjusting weights of links that interconnect nodes of a plurality of layers of the machine leaning module via back propagation to reduce the margin of error, to improve a determination of the number of resources to allocate to the interface, wherein the margin of error for training the machine learning module has been computed by determining a number of I/O operations queued in a global queue, a number of free TCBs in a global TCB pool and the generated output value.14. The computer program product of claim 13, wherein the plurality of attributes includes:a measure of a total number of I/O operations currently active in the host bus adapter;a measure of total number of I/O operations currently active on the port;a measure of a total number of rejected I/O operations in the host bus adapter; anda measure of a total number of rejected I/O operations from the port.15. The computer program product of claim 13, wherein the plurality of attributes includes:a measure of an average response time for I/O operations;a measure of a current queue length on the port;a measure of a current number of dedicated TCBs on the port; anda measure of a current number of shared TCBs in the host bus adapter.16. The computer program product of claim 13, wherein the plurality of attributes includes:a measure of a peak number of I/O operations in the host bus adapter;a measure of an average number of I/O operations in the host bus adapter; anda measure of a median number of I/O operations in the host bus adapter.17. The computer program product of claim 13, wherein the plurality of attributes includes:a measure of a number of high priority I/O requests rejected from the host bus adapter, wherein high priority I/O requests are expected to be processed faster than low priority I/O requests;a measure of a number of high priority requests active in the host bus adapter; anda measure of a number of connections from the host computational device to the host bus adapter.
微信群二維碼
意見反饋