Method and system for managing load balancing in data-processing system

Information

  • Patent Application
  • 20070220028
  • Publication Number
    20070220028
  • Date Filed
    June 21, 2006
    18 years ago
  • Date Published
    September 20, 2007
    17 years ago
Abstract
In a database management system, responsive to imbalances appearing in amounts of data in databases to be used by database servers, loss in performance of database management system is reduced, and the imbalances in the performances of processing of the database servers, which execute access transactions, are redressed. Allocation of CPU resources for execution of the access transactions are determined by changing or maintaining the CPU resource allocations to the database servers. Amounts of data to be used respectively by the database servers during access transactions are obtained from each database and stored into a storage device. A ratio of CPU resource allocations is calculated based upon a ratio of the amounts of data stored for the respective database servers. The CPU resource allocations for the respective database servers are changed based upon the calculated ratio.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, other advantages and further features of the present invention will become more apparent by describing in detail illustrative, non-limiting embodiments thereof with reference to the accompanying drawings, in which:



FIG. 1 is a schematic diagram illustrating one exemplary embodiment of the present invention;



FIG. 2 is a block diagram illustrating a database management system;



FIG. 3 is a diagram illustrating a hardware configuration of a computer system;



FIG. 4 is a diagram for explaining one example of statistic information;



FIG. 5 is a diagram for explaining one example of CPU resource allocations to database servers;



FIG. 6 is a flowchart showing an exemplary process of obtaining statistic information;



FIG. 7 is a flowchart showing an exemplary process of allocating CPU resources;



FIG. 8 is a flowchart showing subdivided steps of step S702 of FIG. 7;



FIG. 9 is a diagram for explaining another example of statistic information;



FIG. 10 is a diagram for explaining an example of weight balance of statistic information;



FIG. 11 is a flowchart showing an exemplary process of allocating CPU resources based upon a plurality of parameters; and



FIG. 12 is a diagram showing a method of balancing loads, which involves relocation of data, in related art.


Claims
  • 1. A method for allocating CPU resources of a plurality of database servers in a database management system, each database server having a storage device for storing at least one database assigned thereto and configured to execute access transactions with the at least one database, the method comprising the steps of: obtaining, from each database, amounts of data to be used respectively by the database servers during access transactions, and storing the obtained amounts into a storage device;calculating a ratio of CPU resource allocations based upon a ratio of the amounts of data stored for the respective database servers; andchanging the CPU resource allocations for the respective database servers based upon the calculated ratio.
  • 2. The method according to claim 1, wherein the calculating step comprises using, in addition to the stored amounts of data, at least one of parameters which include: a parameter relating to the number of transactions per unit time; a parameter relating to a global buffer; a parameter relating to exclusive processing; and a parameter relating to I/O processing.
  • 3. The method according to claim 2, wherein the changing step comprises leaving the CPU resource allocations unchanged if the ratio of the amounts of data falls within a predetermined range.
  • 4. The method according to claim 3, wherein the changing step comprises allocating the CPU resources based upon a ratio of the CPU resources and the amounts of data.
  • 5. A program embodied on a computer-readable medium for causing a computer to execute the method according to claim 1.
  • 6. An apparatus for allocating CPU resources of a plurality of database servers for allowing a database management system to execute access transactions with a plurality of databases, each database server having a storage device for storing at least one database assigned thereto, the apparatus comprising: a statistic information manager adapted to obtain, from each database, amounts of data to be used respectively by the database servers during access transactions, and storing the obtained amounts into a storage device;a resource manager adapted to calculate a ratio of CPU resource allocations based upon a ratio of the amounts of data stored for the respective database servers; anda server virtualizer adapted to change the CPU resource allocations for the respective database servers based upon the calculated ratio.
  • 7. The apparatus according to claim 6, wherein the resource manager comprises means for obtaining at least one of parameters which include: a parameter relating to the number of transactions per unit time; a parameter relating to a global buffer; a parameter relating to exclusive processing; and a parameter relating to I/O processing, and the at least one of the parameters is used, in combination with the stored amounts of data, for calculation.
  • 8. The apparatus according to claim 7, wherein the server virtualizer comprises means for determining whether the ratio of the amounts of data falls within a predetermined range, so that the CPU resource allocations are left unchanged if the ratio of the amounts of data falls within the predetermined range.
  • 9. The apparatus according to claim 8, wherein the server virtualizer comprises means for allocating the CPU resources based upon a ratio of the CPU resources and the amounts of data.
  • 10. A database management system in which CPU resources of a plurality of database servers each having a storage device for storing at least one database assigned thereto are allocated to execute access transactions with the at least one database, the database management system comprising: a statistic information manager adapted to obtain, from each database, amounts of data to be used respectively by the database servers during access transactions, and storing the obtained amounts into a storage device;a resource manager adapted to calculate a ratio of CPU resource allocations based upon a ratio of the amounts of data stored for the respective database servers; anda server virtualizer adapted to change the CPU resource allocations for the respective database servers based upon the calculated ratio.
  • 11. The database management system according to claim 10, wherein the resource manager comprises means for obtaining at least one of parameters which include: a parameter relating to the number of transactions per unit time; a parameter relating to a global buffer; a parameter relating to exclusive processing; and a parameter relating to I/O processing, and the at least one of the parameters is used, in combination with the stored amounts of data, for calculation.
  • 12. The database management system according to claim 11, wherein the server virtualizer comprises means for determining whether the ratio of the amounts of data falls within a predetermined range, so that the CPU resource allocations are left unchanged if the ratio of the amounts of data falls within the predetermined range.
  • 13. The database management system according to claim 12, wherein the server virtualizer comprises means for allocating the CPU resources based upon a ratio of the CPU resources and the amounts of data.
  • 14. The program according to claim 5, wherein the calculating step comprises using, in addition to the stored amounts of data, at least one of parameters which include: a parameter relating to the number of transactions per unit time; a parameter relating to a global buffer; a parameter relating to exclusive processing; and a parameter relating to I/O processing.
  • 15. The program according to claim 14, wherein the changing step comprises leaving the CPU resource allocations unchanged if the ratio of the amounts of data falls within a predetermined range.
  • 16. The program according to claim 15, wherein the changing step comprises allocating the CPU resources based upon a ratio of the CPU resources and the amounts of data.
Priority Claims (1)
Number Date Country Kind
2006-070402 Mar 2006 JP national