The present invention relates to load distribution in an information processing system, and more specifically to a technology for realizing load distribution of processing in a distributed cluster environment. The invention is applicable to an order system in an online format, an account management system in a batch format, etc. in a financial institution.
Cluster technologies of operating a plurality of servers as a batch for the purpose of efficient system operation in an information processing system have been suggested conventionally. Of these technologies, the distributed cluster technology (environment) for distributing load thereof in particular has been suggested. However, due to a further increase in the amount of information processing in recent years, there have been demands for a technology of further distributing this load, and as a technology therefor, a technology disclosed in Patent Document 1 has been suggested. Patent Document 1 describes that in order to solve a problem caused by previously starting up a load-distribution server (RPC server) for all servers, load of one's own node is stored by using a load storage means, upon detection of excessive load, a destination node on which load can be increased is selected, and load transfer instructions are transferred to the destination node.
However, provided in Patent Document 1 for the load distribution in the distributed cluster environment where processing is performed by use of a plurality of nodes are generally just a load distribution method for general-purpose business processing and a load distribution method for distributed nodes having a uniform processing capability. Thus, no consideration is given to a load distribution method concerning about a distributed cluster environment composed of a plurality of pieces of business processing provided with priorities and distributed nodes having non-uniform processing capabilities.
For example, in a case of a securities business, assume that in daily online order trading processing, the amount of processing targeted on a specific brand suddenly increased and information waiting for processing accumulated in a queue. In this case, processing of the system-control system turned on thereafter at regular time and originally desired to be performed with a top priority may receive a lower priority. Thus, required upon determination of a load distribution method for the distributed cluster environment is study of a load distribution method such that the method is changed in accordance with a business in a flexible manner and a plurality of businesses are applied in the same system according to given rules.
The present invention selects for each processing a load distribution method which is in accordance with characteristics of each business processing and which indicates how load is distributed to nodes in a distributed cluster environment where a plurality of pieces of business processing are performed in the same system. The characteristics here include: priorities of the pieces of business processing; and a processing capability of the distributed node executing the processing. Moreover, the invention also includes making adjustment of load in accordance with a threshold value of previously defined (stored) load in the load distribution.
Here, the invention includes a mode below. A distribution system which connects together a plurality of nodes and a plurality of clients arranged in a distributed manner includes: storage means for storing a load distribution method in accordance with a characteristic of each business in each of the clients; means for detecting a resource utilization situation in each of the nodes; means for judging based on a result of the detection whether or not load distribution is required in any of the nodes; means for determining for which client's processing business processing in the node judged as a result of the judgment to require the load distribution is intended and specifying from the storage means the load distribution method in accordance with the characteristic of the determined business processing; and means for executing the load distribution in accordance with the specified load distribution method.
Moreover, in the distribution system according to the invention, the characteristic includes at least one of a priority of each business processing and a processing capability of each of the nodes. Further, the distribution system according to the invention further includes: a second storage means for storing the resource utilization situation in each of the nodes; and third storage means for storing a threshold value of the resource utilization situation in each of the nodes, wherein the means for determining makes determination through comparison between contents stored in the second storage means and in the third storage means.
Moreover, it is an object of the invention to provide a distributed cluster environment, a node load distribution method, and a node load distribution program that permit the best use of resources in the distributed cluster environment by parallelization even in a case where fundamental performance of modes forming the distributed cluster environment is not uniform.
The invention permits a technology of defining a condition of load distribution for each business to thereby permit node selection processing by which processing is appropriately distributed in accordance with the condition of the business performing the processing. Moreover, even in a case where nodes with different performances at different periods in a distributed cluster environment are introduced, uniform service can be provided without lowering a service level, thus realizing flexible enhancement of the distributed cluster environment.
Hereinafter, an embodiment of the present invention will be described with reference to the drawings. The embodiment below is just illustrative, and the invention is not limited to this embodiment.
The distributed node 100 has: a CPU 101, a memory 102, a storage medium 103, and a communication interface 110, and lying on the memory 102 are: an information processing program 104 having logic for performing a plurality of pieces of business processing; a resource threshold value table 105 holding threshold value information of resources used in distribution processing; a resource monitoring program 106 monitoring a resource utilization ratio at fixed time intervals; and an in-memory database 107 for saving information processing results. The storage medium 103 may be realized by any medium, such as a hard disk or a memory, that realizes information saving. A target of the resource threshold value table 105 is not limited and thus can be, for example, the amount of information transmission and reception in the CPU, the memory, and the network as long as its contents can be regularly monitored, but the CPU will be described below as a representative example in the invention. Moreover, a value of the resource threshold value table 105 is set by a user upon node startup.
Next, the client 200 has: a CPU 201, a memory 202; a storage medium 203; and a communication interface 210, and lying on the memory 202 are: an information request program 204 making a request of an information processing program of the distributed node for information processing; a node management table 206 holding network information of all distributed nodes connectable from the client; a processing time management table 207 measuring and holding time required for the information processing in each distributed node; a mode setting table 208 defining a distribution processing method (called mode) for each business; and a mode content program 209 having contents of each distributed processing mode. Provided on the storage medium 203 is a master file 205 where information given to the information request program 204 is recorded, but the information given to the information request program 204 may be transmitted via the network through the communication interface 210. This storage medium 203, as is the case with the storage medium 103, may be realized by any medium that realizes information saving. Moreover, the client 200 may have configuration forming a hierarchical structure in the clients. For example, as a result of transmission from the client 20a present in the same network to the client 200 information specifying a range to be processed, the client 200 may operate in a form such that a function of relay to the distributed node is formed, for example, the information request program 204 operates based on this information.
Subsequently, details of a case where each client selects, in the distribution processing, from the distributed nodes the distributed node to which a request for processing is given will be described, referring to the client 200 as an example. The client 200 selects, by using a round-robin method while referring to the node management table 206, the distributed node to which the request for processing is given, transmits, to the selected distributed node 100 (this example will be described referring to a case where the distributed node 100 is selected in the round-robin method), the information for the processing, and the distributed node 100 that has received it, in the information processing program 104 previously stored therein for the processing, specifies a business based on the transmitted information and executes the processing by using the corresponding logic. Here, for a unit of business processing for which the client makes a request of the distributed node, a design of division into smallest possible units, for example, one account in batch processing targeted on a plurality of accounts (for example, all accounts), is preferable for the purpose of providing maximum effect of calculation performance improvement achieved by parallelization realized by the distributed cluster environment. However, the embodiment of the invention does not limit the unit of the business processing. After the processing in the distributed node 100 ends, the distributed node 100 notifies the client 200 as a transmission source that the processing has ended normally, and the client 200 acquires next target information via the master file 205 or the communication interface 210. On the other hand, the distributed node 100 saves results of the information processing into the in-memory database 107. A destination into which they are saved is specified by the information processing program 104 in accordance with the business, and for example, results of information processing of a different business may be saved into not the in-memory database 107 but the storage medium 103.
Here, during the information processing performed by the distributed node 100, the resource monitoring program 106 executed in a different thread in the distributed node 100 is executed at fixed time intervals. If a resource utilization ratio exceeds a resource utilization ratio threshold value previously set in the resource threshold value table 105 by the user, the distributed node 100 transmits to each client notification of the excess over the threshold value and the threshold value recorded in the resource threshold value table 105. The client 200 has a mechanism of after receiving this notification (described here is a case where the client 200 has received it although all the clients receive it), referring to the mode setting table 208 and changing the behavior in accordance with the load distribution mode set for the current business.
There are three kinds of load distribution modes, which will be described individually below. The first mode is a “normal mode”, in which, even upon the reception, from the distributed node 100, the notification of the excess over the utilization ratio threshold value, the client 200 continues to determine in the round-robin method the distributed node of which the client 200 makes a request for processing. The distributed nodes subjected to close investigation in the round-robin method in the normal mode are the entries of the distributed nodes recorded in the node management table 206.
The second mode is a “compliance mode”, in which, upon the reception, from the distributed node 100, the notification of the excess over the threshold value, the client 200 consequently changes the transmission possible flag 2065 in the entry of this distributed node 100 in the node management table 206 from “OK” to “NG”. The distributed nodes subjected to close investigation in the round-robin method in the compliance mode are only the entries whose transmission possible flag 2065 is “OK”. As a result, for the distributed node whose transmission possible flag 2065 has turned to “NG”, the transmission of the information for processing from the client to which the compliance mode is applied may be prevented unless the transmission possible flag 2065 returns to “OK” again.
The third mode is an “adjustment mode”, in which, upon the reception, from the distributed node 100, the notification of the excess over the resource utilization ratio threshold value, the client 200 determines whether or not contents of the resource threshold value table 105 held in the distributed node 100 which has transmitted the notification of the excess over the resource threshold value brings about maximum efficiency in the current business. The details of this determination will be described at the next stage. The distributed nodes subjected to close investigation in the round robin method in the adjustment mode are, as is the case with the compliance mode, the entries whose transmission possible flag 2065 is “OK”.
If the average of the time required for the five times of processing does not exceed the value of the processing time management table 207 in step 507, the client 200 judges based on the time required for the processing that it is possible to perform proper business processing regardless of the excess over the current threshold value, and transmits a command for upwardly correcting a value in the contents of the resource threshold value table 105 of the distributed node 200 in accordance with the threshold value correction coefficient 2066 recorded in the node management table 206 (step 508). For example, where for the resource threshold value table 105, the CPU is a target of monitoring, the value is 70, and the threshold value correction coefficient 2066 is 3, 70×(1+0.03)=72.1, and thus the client 200 transmits a command for changing the contents of the resource threshold value table 105 from 70 to 72 obtained through rounding. In accordance with this command, the distributed node 100 updates the value of the resource threshold value table 105. By repeating this flow, the threshold value is pulled up in a stepwise fashion up to a value judged to obstruct the business processing (slow down the time required for the processing). However, if the corrected value exceeds 100, the command transmission is not performed (the command transmission is performed when the excess does not occur).
Next, procedures of notifying the excess over the resource threshold value by the distributed node 100 during the information processing will be described with reference to
Subsequently,
There is a possibility that as a result of notifying from each distributed node the excess over the resource, the transmission possible flags 2065 of all the entries in the node management table 206 in each client turn to “NG”. In this case, in the compliance and adjustment modes, the node list referred to in the round-robin method includes only those whose transmission possible flag 2065 is “OK”, and thus if the notification of the decrease to less than the fixed resource threshold value has been received, which has been described in step 603, from any distributed node whose transmission possible flag 2065 is “NG”, a request for new processing is provided to each distributed node (request information for requesting for processing is transmitted) (if the notification has not been received, the transmission of the request information may be suppressed). That is, if the notification of the decrease has not been received, the client turns into a state of standby for processing. Note that in the normal mode, the node to which a request for information processing is provided is selected from all the entries in the node management table 206, and thus the state of standby does not arise.
As described above, in the invention, by defining the load distribution mode for each business, it is possible to make a selection to use a given load distribution mode for each business through collaboration between the clients and the distributed nodes in the distributed cluster environment.
Also suggested for the load distribution mode is a mode not only simply complying with the specified threshold value but trying to adjust in a self-directive manner a threshold value set by the user within a range not causing service level decrease attributable to decrease in time required for business processing.
Number | Date | Country | Kind |
---|---|---|---|
2009-048724 | Mar 2009 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2010/001196 | 2/23/2010 | WO | 00 | 10/7/2011 |