WO2011155233A1 - クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体 - Google Patents

クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体 Download PDF

Info

Publication number
WO2011155233A1
WO2011155233A1 PCT/JP2011/053695 JP2011053695W WO2011155233A1 WO 2011155233 A1 WO2011155233 A1 WO 2011155233A1 JP 2011053695 W JP2011053695 W JP 2011053695W WO 2011155233 A1 WO2011155233 A1 WO 2011155233A1
Authority
WO
WIPO (PCT)
Prior art keywords
load
change
cluster
time
predicted value
Prior art date
Application number
PCT/JP2011/053695
Other languages
English (en)
French (fr)
Inventor
智也 太田
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2011155233A1 publication Critical patent/WO2011155233A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Definitions

  • the present invention relates to a cluster configuration management method, and more particularly, to a technique for optimally allocating computer resources in a computer system that changes the allocation amount of computer resources in accordance with load fluctuations.
  • a computer system used by a company (hereinafter referred to as a corporate system)
  • the load varies depending on time and time.
  • preparing computer resources according to the maximum load prediction consumes excess computing resources and reduces maintenance costs. Is also wasted.
  • a technique for controlling computer resources has been proposed in order to maintain a service level according to load fluctuations.
  • Patent Document 1 discloses a technique for maintaining a service level by predicting load fluctuations and applying server scale-in and scale-out according to load increase / decrease.
  • Patent Document 2 discloses a load prediction method in a Web system in which a plurality of applications are operating.
  • server virtualization technology that allows one physical server to operate as an independent virtual server has become widespread.
  • the server aggregation rate can be improved by allocating surplus resources to other virtual servers when the load is low. Therefore, the importance of server virtualization technology is increasing as a technology for dealing with dynamic load fluctuations.
  • Non-Patent Document 1 proposes a method for determining a resource distribution ratio according to a plurality of applications in one physical machine.
  • Non-Patent Document 2 discloses a technique for predicting a network load in the medium term based on CPU load prediction in a grid environment of a virtual server.
  • the load fluctuation range varies depending on the time of day, business contents and events, and it is desirable to change the appropriate resource allocation amount according to the situation.
  • the present invention provides a technique related to cluster management for efficiently allocating computer resources and maintaining a service level of a business when a load change occurs.
  • a typical example of the invention disclosed in the present application is as follows. That is, a physical computer having a computer resource including a processor and a memory, a virtualization unit that virtualizes the computer resource and allocates the computer resource to a plurality of virtual computers, a cluster is configured by the plurality of virtual computers, and the virtualization unit is A management unit that manages the cluster configuration of the computer system, wherein the memory includes an allocation amount of a current computer resource of the virtual computer configuring the cluster, and an allocation amount of the computer resource after a predetermined time And the amount of computer resources that can be used to change the configuration of the cluster, and the method includes the step of calculating a predicted value of the cluster load after a predetermined time by the management unit; The computer resource is calculated from the current computer resource allocation amount allocated to the virtual machines constituting the cluster and the predicted load value. Selecting a combination of assignment changes and setting the scheduled execution time of the change; and the management unit notifying the virtualization unit of the change that has reached the planned execution time and executing the change. .
  • the service level of the business provided by the cluster is maintained while keeping up with load fluctuations and suppressing the allocation amount of computer resources used in the cluster. This makes it possible to effectively use computer resources.
  • FIG. 1 is a block diagram showing a configuration of a computer system constituting a cluster according to the first embodiment of this invention.
  • the computer system includes a business system 118 and a management unit 101.
  • the business system 118 is composed of a plurality of business clusters 123.
  • One business cluster 123 includes a load balancer 119 and one or more business servers 120.
  • One business cluster 123 provides one business (or service).
  • FIG. 1 shows an example in which three business clusters 123 provide three businesses.
  • the load balancer 119 is arranged for each business cluster 123 or each business system 118.
  • the business server 120 is configured as a virtual computer created by the hypervisor 121 that virtualizes the computer resources of the physical computer 122.
  • the plurality of physical computers 122 have a CPU 1221, a memory 1222, and a storage device (not shown), and these computer resources are shared by the plurality of business clusters 123.
  • the CPU 1221 includes a plurality of processor cores.
  • the allocation of the computer resources (physical computer resources) of the physical computer 122 to the business servers 120 of each business cluster 123 the computer resources of a plurality of physical computers 122 can be allocated to one business cluster 123.
  • computer resources of one physical computer 122 can be assigned to a plurality of business clusters 123.
  • the business server 120 (or the physical computer 122 constituting the business server 120) has an interface for reading a program and data, and a program for implementing each unit described later is loaded from the interface by a predetermined storage medium.
  • the A storage medium (memory, hard disk drive, etc.) that stores the loaded program is also a storage medium that stores the program.
  • Each business cluster 123 receives a request from the client (computer) 117 via the network 50, executes a predetermined business process, and returns a processing result to the client 117.
  • the load balancer 119 has an interface for acquiring the load information of the business system 118 and controls the load between the business servers 120.
  • the hypervisor 121 has an interface for assigning and releasing computer resources to a virtual machine (business server 120) executed on the hypervisor 121 and adding a new virtual machine.
  • the management unit 101 includes an input unit 109, a monitoring unit 110, a control unit 111, an execution unit 116, a load history table 103, a resource management table 104, a resource reservation table 105, a change content management table 106, and a resource change execution procedure 107.
  • the The load history table 103, the change content management table 106, and the resource change execution procedure 107 are created for each business cluster 120.
  • the management unit 101 is executed by the physical computer 102.
  • the physical computer 102 includes a CPU 1021, a memory 1022, and a storage device (not shown), and the CPU 1021 executes a program for causing the control unit 111, the monitoring unit 110, the execution unit 116, and the input unit 109 loaded into the memory 1022. By doing so, the function of each part is realized. For this reason, the physical computer 102 is connected to the business system 118 via a management network (or network 50) (not shown).
  • the management unit 101 may be executed on a virtual computer on the physical computer 122 that constitutes the business system 123.
  • the monitoring unit 110 measures the number of requests (for example, the number / second) received by the business cluster 123 as load information, and records the measurement results in the load history table 103 in time series. For example, the number of requests per unit time received by the load balancer 119 is acquired by the monitoring unit 110 so that requests are measured. In addition, the load balancer 119 transmits the measured load information to the management unit 101.
  • the input unit 109 changes or cancels allocation of computer resources that can be executed by the management unit 101 with respect to system configuration information and the business server 120 from an input device (not shown) operated by a user (or a computer system administrator).
  • the information regarding the resource change content and the combination thereof is received and recorded in the resource management table 104 and the change content management table 106.
  • the execution unit 116 instructs the hypervisor 121 of each physical computer 122 based on information in the resource management table 104 set in advance by an administrator or the like, so that the physical computer for each business server 120 in each business cluster 123 is displayed.
  • the allocation of the computer resources 122 starts.
  • the resource change content indicates the content of physical computer resource allocation to the business server 120 and the business cluster 123 configured by virtual machines.
  • the addition of the number of CPUs 1221 (or processor cores) to be assigned to the business server 120 is referred to as “CPU assignment addition”
  • the usage rate of the CPU 1221 (or processor core) to be assigned to the business server 120 is The increase is defined as “CPU allocation rate addition”
  • the addition of a virtual machine (business server 120) to the business cluster 123 is defined as “virtual server addition”
  • the reduction of the CPU 1221 (or processor core) allocated to the business server 120 is defined as “CPU allocation”.
  • the reduction of the usage rate of the CPU 1221 (or processor core) allocated to the business server 120 is “CPU allocation rate reduction”
  • the reduction of the virtual machine (business server 120) allocated to the business cluster 123 is “virtual server reduction” Is shown.
  • “addition of CPU allocation” and “addition of CPU allocation” can add or reduce allocation in units of processor cores when the CPU 1221 of the physical computer 122 has a plurality of processor cores.
  • addition or reduction of processor cores may be performed by adding or reducing the allocation amount in units of logical processors.
  • the allocated amount of the memory 1222 may be increased or reduced.
  • FIG. 2 is an explanatory diagram showing an example of the load history table 103.
  • the load history table 1201 includes the time when the load is measured by the load balancer 119 (time 1202), and the number of requests arriving 1203 per unit time from the client 117 at the measured time.
  • the load history table 103 is updated by the monitoring unit 110. Note that the monitoring unit 110 creates a load history table 103 for each business cluster 123 and updates each load history table 103.
  • the load balancer 119 may measure requests distributed to the business server 120 in addition to the received request, and may send load information for each business server 120 to the monitoring unit 110. In this case, the number of requests may be managed in the load history table 103 for each business server 120 to which requests are distributed. Thereby, load information can be managed for each business server 120.
  • FIG. 3A and 3B are explanatory diagrams illustrating an example of the resource management table 104.
  • FIG. The resource management table 104 includes a physical computer resource management table 201 that manages computer resources related to the physical computer 122 that provides the business system 118, and a virtual computer resource management table that manages computer resources allocated to the virtual machine (business server 120). 211.
  • the resource management table 104 is updated with information acquired from the hypervisor 121 by the monitoring unit 110 and information received from the input unit 109.
  • FIG. 3A shows the physical computer resource management table 201
  • FIG. 3B shows the virtual computer resource management table 211.
  • the physical computer resource management table 201 shown in FIG. 3A is a CPU resource that records the mounted amount of various resources such as a server name 202, an IP address 203, a CPU resource 204, and a memory resource 206, and a currently allocated amount (204 to 207). It includes allocated 205 and memory resource allocated amount 207. For example, in the row 208, in the physical computer whose server name 202 is “server A”, regarding the CPU resource 204, the first core mounted with 2 cores has already been allocated 100%, and the second core Indicates that 30% of the resource has been allocated (CPU resource allocated 205).
  • the virtual computer resource management table 211 shown in FIG. 3B is the currently allocated amounts of various resources such as the server name 212, the IP address 213, the CPU resource maximum 214, and the memory resource maximum 216.
  • the amount (CPU resource allocated 215, memory resource allocated 217) and the identifier of the physical computer 122 executing the virtual computer are stored in the physical computer 218.
  • FIG. 4 is an explanatory diagram showing an example of the resource reservation table 105.
  • the resource reservation table 105 is created or updated in the change content selection process 113.
  • the resource reservation table 105 includes a time 302 indicating the start time of reservation of a computer resource to be changed, a server name 303, a resource type 304 indicating a reservation target computer resource, and a change amount 305 indicating the reservation amount of the computer resource.
  • a row 306 represents a reservation for the server B to use an extra CPU resource for one core after the time 10:10:10.
  • FIG. 5A and 5B are explanatory diagrams illustrating an example of the change content management table 106.
  • FIG. The change content management table 106 stores values preset by an administrator or the like via the input unit 109.
  • the change content management table 106 includes a change content table 401 that manages the resource change content of the computer resource that can be selected by the control unit 111, and a fluctuation range condition table 411 that stores the fluctuation range of performance due to the change of the computer resource.
  • FIG. 5A shows the change content table 401
  • FIG. 5B shows the fluctuation range condition table 411.
  • the change content table 401 includes a change content 402 that describes the resource change type of the selectable computer resource, a target resource 403 that stores the type and amount of change of the computer resource that changes due to the execution of the resource change, and the execution of the resource change.
  • the index used in the fluctuation range 404 may be a response time (delay time), a request amount that can be processed, and the like. Here, the number of requests that can be processed (for example, cases / second) is used.
  • the “change content 402” is “the number of CPU cores”
  • adding one CPU core increases the number of requests that can be processed per unit time by “85” in the fluctuation range 404
  • the computer resource addition process Indicates that “10 seconds” stored in the execution time 405 is necessary.
  • the number of requests that can be processed per unit time is reduced by 85 by releasing one core allocation.
  • the value of the fluctuation range 404 can be obtained by applying a load to the business system 118 (or the business cluster 123) in advance and measuring the change in the number of requests that can be processed due to the change in the computer resource amount (computer resource allocation amount). it can.
  • the change in the number of requests that can be processed within the fluctuation range 404 may vary depending on other conditions at that time even if the same computer resource amount changes.
  • the fluctuation range and its conditions are set in the fluctuation range condition table 411, and the name of the fluctuation range condition table 411 that is referred to in order to obtain the actual fluctuation range is recorded in the fluctuation range column 404.
  • An example of the fluctuation range condition table is shown in a table 411 in FIG. 5B. Here, it is assumed that CPU resources are added and deleted in units of 10% of the maximum capacity of the CPU core.
  • the control unit 111 is executed by the CPU 1021 and executes a load prediction process 112, a change content selection process 113, a determination process 114, and a reconfiguration process 115 in cooperation with a predetermined program developed on the memory 102.
  • a process for obtaining a predicted value of load fluctuation of the business cluster 123 up to a certain time N in the future is executed. More specifically, based on the information recorded in the load history table 103, load fluctuations up to a time point ahead of the current time by time N are predicted.
  • a load fluctuation prediction method for example, a cyclic fluctuation value based on past load measurement data (load history table 103) such as the previous year, last month, and the other day is used.
  • load history table 103 such as the previous year, last month, and the other day.
  • a publicly known or well-known technique described in Patent Document 2 shown in the above conventional example can be employed.
  • the change content selection process 113 is performed by the time T at which the evaluation value based on the evaluation formula described later becomes the highest while satisfying the constraints such as the amount of available computer resources with respect to the prediction result of the load prediction process 112. This is a process for obtaining a resource change execution procedure 107 composed of the contents of the resource change and the execution time of the resource change contents.
  • a resource change execution procedure 107 for allocating computer resources that can process the load amount predicted by the load prediction process 112 to the business cluster 123 is obtained. Since there are a plurality of resource change execution procedures 107 that satisfy the constraints in many cases, a procedure that gives the highest evaluation value is selected in an evaluation formula given in advance.
  • the constraint condition indicates an example of the amount of unallocated computer resources and the time until the resource change is completed, but other constraint conditions may be added.
  • the time constraint until the resource change is completed is that the load (request) that can be processed by the current computer resource assignment does not exceed the predicted load value until the resource assignment change is completed. , Satisfying the constraint conditions.
  • the determination process 114 it is determined whether or not the currently registered resource change execution procedure 107 is appropriate for the newly predicted load at each time point at an interval shorter than the time until the time T.
  • the reconstruction process 115 is a process for reviewing the combination when it is determined that the determination result in the determination process 114 is not appropriate.
  • FIG. 6 is an explanatory diagram showing an example of the resource change execution procedure 107.
  • the execution unit 116 changes the computer resource amount based on the resource reservation table 105 at the time 502, the resource change contents 503 to be executed, the server 504 to be executed, and the change contents 503.
  • the execution state column 505 indicates whether or not the command corresponding to is already being executed.
  • the line 506 indicates that the CPU allocation amount is increased by 10% for a certain virtual machine (server B) at the time 10:10:10, and the state of this command is not yet executed. It is shown that.
  • a command is set in advance for each resource change content, and the execution unit 116 reads the resource change execution procedure and transmits a command for each resource change content to the hypervisor 121 of the physical computer 122 to be controlled.
  • FIG. 7 is a flowchart illustrating an example of processing performed by the control unit 111.
  • This process is called by the management unit 101 at a constant cycle (re-prediction interval, for example, every few seconds and less than a predetermined time N). Further, a time (predicted range) ahead of the current time T by a predetermined time N is set as the reselection time before the first call of this process. Note that the reselection time is a time at which a load prediction is obtained and computer resource allocation is reevaluated.
  • control unit 111 obtains a predicted load value for a predetermined time N from the current time T for each business cluster 123 by the load prediction process 112 (S601).
  • control unit 111 determines whether or not the current time is a reselection time (S602). In the case of the reselection time (Yes in S602), the control unit 111 proceeds to the process of Step S607, and the change content selection process 113 of the business server 120 configuring the business cluster 123 for the predicted load value obtained in Step S601. A resource change execution procedure is obtained (S607).
  • the control unit 111 determines in step 603 whether the current resource change execution procedure 107 is valid for the load prediction obtained in step 601. (S603). Whether or not the load is valid is determined based on whether or not the load predicted by the load prediction processing 112 (predicted value) can be processed by the load predicted by the currently scheduled resource allocation change. That is, the control unit 111 acquires the allocation amount of the computer resources allocated to the business cluster 123 at the current time from the resource management table 104 (physical computer resource management table 201, virtual computer resource management table 211), and each business server The number of requests that can be processed every 120 is obtained.
  • the resource management table 104 physical computer resource management table 201, virtual computer resource management table 211
  • the number of requests that can be processed can be calculated by the control unit 111 by, for example, setting the number of requests that can be processed in advance in accordance with the number of allocations or the allocation rate of the CPU 1221 or the processor core. Then, the control unit 111 sets the sum of the number of requests that can be processed by each business server 120 constituting the business cluster 123 as a load that can be processed by the business cluster 123.
  • variable width 404 the sum of the number of requests that can be processed (variation width 404) according to the allocation amount of the computer resource scheduled to be changed in the current resource change execution procedure 107 is set as a change in the load that can be processed.
  • control unit 111 determines that the current resource change execution procedure 107 performs the load prediction obtained in step 601. If the sum of the load that can be processed and the change in the load that can be processed is less than the predicted load value, the load is determined to be invalid.
  • control unit 111 determines that the currently scheduled resource change is valid and does not need to be reviewed (No in S604), the control unit 111 ends the process.
  • control unit 111 corrects the execution time in the resource change execution procedure 107 by the reconfiguration process 115. (605). If the correction has been made (Yes in step 606), the process is terminated.
  • step 607 a new resource change execution procedure 107 that can cope with the current load prediction is created by the change content selection processing 113. Further, the reselection time is set to a time that is a predetermined time N from the current time T used in the prediction in step 601.
  • the load is predicted for each business cluster 123 in order to follow the load fluctuation, and the load prediction result is assigned to each business server 120 constituting the business cluster 123.
  • Control computer resources This computer resource allocation takes the resource change content that can be used to change the computer resource allocation amount, the change in the allowable amount (number of requests that can be processed) according to the resource change content, and the time required to complete the execution of the allocation change.
  • the current and future (current time + time N) computer resource reservation status select a combination of resource changes that can follow load fluctuations and use less computer resource allocation. To do.
  • reconfiguration is attempted by adjusting the execution time of each change. Furthermore, when the reconfiguration fails, a combination of resource change contents can be obtained again.
  • FIG. 8 is a flowchart illustrating an example of processing performed in the change content selection processing 113. This process shows details of the process performed in step 607 of FIG. In this processing, when there are a plurality of resource change content combinations that satisfy the constraint conditions, the resource change content combination with the highest evaluation value is selected.
  • control unit 111 sets a negative maximum value as an initial value in a variable for recording the maximum evaluation value (701).
  • control unit 111 selects one unprocessed resource change combination that satisfies various computer resource constraints (unallocated computer resource amount) (702). Details of this processing will be described later.
  • Step 702 when a combination of resource change contents satisfying the constraint can be selected (Yes in 703), an evaluation value for the combination of resource change contents found in 702 is obtained (704).
  • the method for obtaining the evaluation value will be described later.
  • step 705 it is checked whether the evaluation value obtained in step 704 is larger than the value stored in the variable Max.
  • step 705 If the evaluation value is larger than the variable Max (Yes in 705), the process proceeds to step 706, where the evaluation value obtained in step 704 is stored in the variable Max, and the combination of the currently selected resource change contents is recorded in the variable or the like. .
  • step 707 the combination having the evaluation value stored in the variable Max recorded in step 706 is changed to a resource. Stored in the execution procedure 107.
  • the computer resource reservation required for executing the combination of the resource change contents having the evaluation value stored in Max recorded in step 706 is performed by adding an entry to the resource reservation table 105. (708).
  • FIGS. 9 and 10 are graphs showing an example of processing for selecting a combination of resource change contents in step 702 shown in FIG.
  • FIG. 9 shows an example of adding computer resources to the business cluster 123.
  • FIG. 10 shows an example of reducing computer resources from the business cluster 123.
  • the vertical axis of the graph is the load (request amount / second), and the horizontal axis is the elapsed time.
  • a curve 801 indicates a load actually measured before the current time T0 (802), and indicates a predicted load after the current time T0 (802).
  • the threshold value 803 indicates the amount of load that can be processed using the resources allocated to the business cluster 123 at the current time T0.
  • the command execution completion time is the time T1 (804) at which the load prediction 801 and the threshold value 803 intersect, and the time after the execution time of the CPU resource addition command from the current time T0.
  • the time T1 (804) is the command completion time, and the time obtained by subtracting the command execution time from that time is the command execution time.
  • a threshold value 808 is newly set after time T1 (804).
  • the execution completion time of the second CPU resource allocation is T2 (805) and the virtual machine addition completion time is T3 (806).
  • the threshold value can correspond to the load up to the predicted load time TN (807), and no further addition is necessary.
  • each resource change execution procedure is obtained.
  • a combination of resource change contents is included including the execution order of a plurality of resource changes.
  • the restriction on the first command is that, after time T1 (804), there is an available CPU resource available on the physical computer 122, and there is a virtual machine to which the CPU resource can be assigned. .
  • These can be determined by the control unit 111 by referring to the resource management table 104 and the resource reservation table 105 to determine whether the resource change execution procedure 107 satisfies the computer resource constraints.
  • the resource management table 104 manages the allocation status of computer resources at the current time T0.
  • the resource reservation table 105 manages information related to computer resources used in commands scheduled to be executed in another business cluster 123 (or business server 120) in the future.
  • the resource reservation table 105 includes the server name 303, the changing resource type 304, the change amount 305, and the time 302 at which the command is scheduled to be executed.
  • the row 306 indicates a schedule for CPU resource allocation (adding one core) to the virtual server B at time T.
  • FIG. 10 shows an example when the predicted load value is decreasing.
  • the first command execution completion candidate time (T1 (903)) is obtained by subtracting the change amount of the command to be executed first from the threshold value 902 of the current time T0 (903) and intersecting with the load curve 901. .
  • the later one of the fastest execution completion times derived from the command execution time is the execution completion time.
  • the combination of commands to be executed is two CPU allocation reductions and one virtual server reduction.
  • the obtained load prediction is a pattern in which the increase and decrease are repeated
  • a subgraph obtained by dividing the section of each graph by the vertex of the curve is obtained, and the result of the combination of the resource change contents in each subgraph is combined.
  • the resource change execution procedure including the command combination and order is obtained.
  • the resource change execution procedure obtained previously is being executed, and execution has not yet been completed. Whether or not the resource change command is being executed can be determined by executing 505 of the resource change execution procedure 107.
  • the resource change execution procedure obtained so far is A combination can be obtained by adding a command to be executed.
  • Evaluation value ⁇ Stable operation period- ⁇ command execution cost- ⁇ (N-Stable operation time) - ⁇ (Amount of resource used) ... Evaluation formula 1
  • the stable operation time of the evaluation formula 1 is a time during which the threshold value (number of requests that can be processed) exceeds the predicted load (predicted load value) between the current time and the predicted load time TN.
  • the command execution cost is the command execution time of the resource change execution procedure.
  • the amount of used resources is a rectangular area composed of threshold values from the current time to time N.
  • ⁇ , ⁇ , and ⁇ are predetermined coefficients, and predetermined values are set for each business system 118 or business cluster 123. The coefficient may be 0, in which case a particular item can be ignored.
  • the command execution cost may be the number of executions of the resource change execution procedure command (resource change execution procedure).
  • FIG. 11 is a flowchart showing details of the execution time correction process performed in step 605 of FIG.
  • this process by executing a command before the command execution time 502 set in the resource change execution procedure 107, it is checked whether or not the computer resource after the change can handle the load prediction, and the predicted load value is obtained. If it is possible, find a new command execution time. This is because the resource change execution procedure 107 for the other business system 118 (or business cluster 123) is created based on the current reservation status of computer resources, so that the influence on unallocated computer resources is minimized. It is.
  • the processes of steps 1002 to 1005 are executed for each command corresponding to the resource change contents 503 of the resource change execution procedure 107 (steps 1001, 1006, and 1007).
  • step 1002 it is determined whether or not the threshold satisfies the predicted load value when the command of the resource change execution procedure 107 read in step 1001 is executed. If the threshold value is equal to or greater than the predicted load value and the performance of the current business cluster 123 satisfies the load, the next command is executed and the processing in step 1002 is repeated. When the current performance of the business cluster 123 does not satisfy the load (the load is excessive), it is determined whether the command has already been executed (1003). In this determination, if the execution state column 505 of the resource change execution procedure 107 is “not yet”, the control unit 111 determines that the command has not been executed.
  • step 1003 if the predicted load cannot be satisfied even if the execution time of the command is advanced, or if execution of the command has already started in step 1003, the process proceeds to step 1008, and the current resource is excluded except for the started command.
  • the change execution procedure 107 is discarded, and the resource reservation table 105 is updated for the resource change contents defined in the discarded resource change execution procedure, and then the execution time correction process is terminated.
  • FIG. 12 is a flowchart illustrating an example of processing performed by the execution unit 116.
  • the execution unit 116 is a command that is activated by the management unit 101 at regular intervals (predetermined period), and that changes the allocation according to the change content 503 in the resource change execution procedure 107 when the current time reaches the execution time 502 Is executed (1101).
  • the fixed interval is desirably a value smaller than the predetermined time N that is the reselection time.
  • the execution unit 116 transmits the command to the hypervisor 121 that executes the target server 504 to change the resource allocation.
  • the execution unit 116 deletes the entry in the resource reservation table 105 corresponding to the command transmitted to the hypervisor 121 (1102), changes the resource allocation amount corresponding to the command, and updates the resource management table 104. (1103) The entry of the change content 503 corresponding to the command whose execution has been completed is deleted from the resource change execution procedure 107.
  • the performance of the CPU 1221 of the hardware of the physical computer 122 to be used is equal.
  • the change content management table 106 is held for each type or performance of the CPU 1221 and is used properly according to the physical computer 122 on which the business server 120 is operating or is changed with respect to a certain CPU 1221 This can be dealt with by preparing the content management table 106 and further preparing a conversion table for correcting the value according to the type of the CPU 1221.
  • the future load fluctuation is predicted for the business system 118 including the plurality of business clusters 123 in the virtual environment, and the predicted result is By combining the change contents of a plurality of hardware resources, it becomes possible to allocate resources necessary to cope with load fluctuations. This makes it possible to effectively utilize resources by keeping resources used in a business cluster low while dealing with load fluctuations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 複数の仮想計算機で構成されたクラスタを制御する方法であって、所定時間後の前記クラスタの負荷の予測値を演算し、前記クラスタを構成する前記仮想計算機に割り当てた現在の計算機資源の割り当て量及び前記負荷の予測値から前記計算機資源の割り当ての変更の組み合わせを選択し、前記変更の実施予定時刻を設定し、前記実施予定時刻に到達した変更を仮想化部に通知して実施させる。

Description

クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体 参照による取り込み
 本出願は、平成22年(2010年)6月11日に出願された日本特許出願特願2010-134051の優先権を主張し、その内容を参照することにより、本出願に取り込む。
 本発明は、クラスタ構成管理方法に係り、特に、負荷変動に伴い計算機資源の割当量を変更する計算機システムにおいて、計算機資源の最適な割り当てる技術に関する。
 企業で利用される計算機システム(以下、企業システムとする)では、時間や時期によって負荷が変動する。複数のサーバで構築するクラスタシステムでサービスを提供している企業システムにおいて、最大の負荷予測に合わせて計算機資源を用意しておくことは、余剰なコンピューティングリソースを消費し、維持費用の面においても無駄となる。このような課題に対して、負荷変動に応じて、サービスレベルを維持するために、計算機資源を制御する技術が提案されている。
 例えば、特許文献1には、負荷変動を予測し、負荷の増減に応じてサーバのスケールイン、スケールアウトを適用することにより、サービスレベルを維持するための技術が開示されている。
 また、特許文献2には、複数のアプリケーションが動作しているWebシステムにおける負荷予測方式が開示されている。
 一方で、近年は、1台の物理サーバを独立した仮想サーバとして動作させるサーバ仮想化技術が広まっている。サーバ仮想化技術を導入した環境では、負荷が低い場合に、余剰リソースを他の仮想サーバに割り当てることにより、サーバの集約率を向上することができる。そのため、動的な負荷変動への対応技術として、サーバ仮想化技術の重要度が高まっている。
 非特許文献1には、1つの物理マシン内で複数のアプリケーションに応じてリソースの分配比率を決定する方式が提案されている。又、非特許文献2には、仮想サーバでのグリッド環境において、CPUの負荷予測に基づいてネットワーク負荷を中期的に予測する技術が開示されている。
特開2005-128866号公報 特開2007-265244号公報
Power and performance management of virtualized computing environments via look ahead control, 2008. グリッド環境でのCPU負荷予測に基づくネットワーク負荷中期予測, 電子情報通信学会論文誌. D-I,2004.
 ところで、サーバ仮想化環境では、計算機システムの負荷変動に対してリソースを有効に利用する場合、スケールイン、スケールアウト以外にも、CPUリソースの割り当て量の設定、仮想CPUの追加など多種のリソース量変更技術が提案されている。これら種々の技術は、計算機資源の割り当て変更により、その後発揮する性能も大きく異なるものである。
 一般に負荷の変動幅は時間帯、業務内容及びイベントにより多種多様であり、状況に応じて適切なリソースの割り当て量を変更するのが望ましい。
 例えば、所定の負荷の変動に追従する場合において、スケールアウトによるサーバの追加が間に合わない場合でも、実行に比較的時間がかからないCPUリソースの割り当て量の追加を先に実施することにより、負荷変動に対応できる場合がある。逆に、負荷変動が少ない場合は、仮想サーバを追加するのではなく、より、少ない単位でのリソースの追加により、計算機資源の有効活用を図ることができる。
 このように、複数のリソース量変更技術の中から、将来のある時刻に対する負荷予測に対して、実行に必要な時間を考慮しつつ選択可能なリソース量の変更の組み合わせを選択することで、迅速又は適切に負荷変動に追従することが望まれる。
 本発明は、負荷変動が発生した場合に、計算機資源の割当てを効率的に行い、業務のサービスレベルを維持するためのクラスタの管理に関する技術を提供するものである。
 本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、プロセッサとメモリとを含む計算機資源を有する物理計算機と、前記計算機資源を仮想化して複数の仮想計算機に割り当てる仮想化部と、前記複数の仮想計算機でクラスタを構成し、前記仮想化部を管理する管理部と、を有する計算機システムのクラスタ構成管理方法であって、前記メモリは、前記クラスタを構成する前記仮想計算機の現在の計算機資源の割り当て量と、所定時間後の計算機資源の割り当て量と、前記クラスタの構成を変更するために利用可能な計算機資源の量とを保持し、前記方法は、前記管理部が、所定時間後の前記クラスタの負荷の予測値を演算するステップと、前記管理部が、前記クラスタを構成する前記仮想計算機に割り当てた現在の計算機資源の割り当て量及び前記負荷の予測値から前記計算機資源の割り当ての変更の組み合わせを選択し、前記変更の実施予定時刻を設定するステップと、前記管理部が、前記実施予定時刻に到達した変更を前記仮想化部に通知して実施させるステップと、を含む。
 本発明の代表的な実施形態によると、仮想計算機でクラスタを提供する際に、負荷変動に追随しつつ、クラスタで使用する計算機資源の割り当て量を抑制しながら、クラスタが提供する業務のサービスレベルを維持し、計算機資源の有効活用が可能となる。
本発明の実施形態の業務クラスタを構成する計算機システムのブロック図である。 本発明の実施形態の負荷履歴テーブルの一例を示す説明図である。 本発明の実施形態の資源管理テーブルを構成する物理計算機資源管理テーブルの一例を示す説明図である。 本発明の実施形態の資源管理テーブルを構成する仮想計算機資源管理テーブルの一例を示す説明図である。 本発明の実施形態の資源予約テーブルの一例を示す説明図である。 本発明の実施形態の変更内容管理テーブルを構成する変更内容テーブルの一例を示す説明図である。 本発明の実施形態の変更内容管理テーブルを構成する変動幅条件テーブルの一例を示す説明図である。 本発明の実施形態の資源変更実施手順の一例を示す説明図である。 本発明の実施形態の制御部で行われる処理の一例を示すフローチャートである。 本発明の実施形態の変更内容選択処理で行われる処理の一例を示すフローチャートである。 本発明の実施形態の負荷予測の上昇時の変更内容選択処理の選択結果の一例を示すグラフである。 本発明の実施形態の負荷予測の下降時の変更内容選択処理の選択結果の一例を示すグラフである。 本発明の実施形態をの再構成処理で行われる処理の一例を示すフローチャートである。 本発明の実施形態の実行部で行われる処理の一例を示すフローチャートである。
 以下、本発明の一実施形態を添付図面を参照して説明する。
 図1は、本発明の第1の実施形態を示し、クラスタを構成する計算機システムの構成を示すブロック図である。
 本計算機システムは、業務システム118と管理部101とで構成される。業務システム118は、複数の業務クラスタ123より構成される。一つの業務クラスタ123は、負荷分散機119、及び一つ以上の業務サーバ120で構成される。一つの業務クラスタ123は一つの業務(またはサービス)を提供する。図1は、3つの業務クラスタ123で3つの業務を提供する例を示す。また、負荷分散機119は、業務クラスタ123毎に、あるいは、業務システム118毎に配置される。
 業務サーバ120は、物理計算機122の計算機資源を仮想化するハイパーバイザ121により作成される仮想計算機として構成される。複数の物理計算機122は、CPU1221、メモリ1222及びストレージ装置(図示省略)を有しており、これらの計算機資源は複数の業務クラスタ123で共用される。なお、CPU1221は複数のプロセッサコアを備える。各業務クラスタ123の業務サーバ120に対する物理計算機122の計算機資源(物理計算機資源)の割り当ては、ひとつの業務クラスタ123に対して複数の物理計算機122の計算機資源を割り当てることができる。あるいは、一つの物理計算機122の計算機資源を複数の業務クラスタ123に割り当てることができる。なお、業務サーバ120(又は、業務サーバ120を構成する物理計算機122)はプログラム、データを読み込むインターフェースを有し、後述する各部を実装するためのプログラムは所定の記憶媒体によって、該インターフェースからロードされる。また、ロードされたプログラムを格納する記憶媒体(メモリ、ハードディスクドライブ等)も、プログラムを格納した記憶媒体である。
 各業務クラスタ123は、クライアント(計算機)117からネットワーク50を介してリクエストを受け付け、所定の業務処理を実行し、処理結果をクライアント117に返信する。負荷分散機119は、業務システム118の負荷情報を取得するためのインタフェースを有し、業務サーバ120間の負荷を制御する。また、ハイパーバイザ121は、ハイパーバイザ121上で実行される仮想計算機(業務サーバ120)に対する計算機資源の割当、解除、および、新たな仮想計算機を追加するためのインタフェースを有する。
 管理部101は、入力部109、監視部110、制御部111、実行部116、負荷履歴テーブル103、資源管理テーブル104、資源予約テーブル105、変更内容管理テーブル106及び資源変更実施手順107によって構成される。負荷履歴テーブル103、変更内容管理テーブル106及び資源変更実施手順107は、業務クラスタ120ごとに作成される。管理部101は、物理計算機102が実行する。物理計算機102はCPU1021とメモリ1022及びストレージ装置(図示省略)を有し、CPU1021がメモリ1022にロードした制御部111、監視部110、実行部116及び入力部109を機能させるためのプログラムを実行することによって、各部の機能を実現する。このため、物理計算機102は図示しない管理ネットワーク(またはネットワーク50)を介して業務システム118に接続される。
 なお、管理部101は、業務システム123を構成する物理計算機122上の仮想計算機上で実行されてもよい。
 監視部110では、業務クラスタ123が受け取るリクエストの件数(例えば、件数/秒)を負荷情報として計測し、時系列で計測結果を、負荷履歴テーブル103へ記録する。例えば、負荷分散機119が受信した単位時間当たりのリクエスト数を監視部110が取得することによって、リクエストの計測される。また、負荷分散機119は、測定した負荷情報を管理部101に送信する。
 入力部109は、ユーザ(または計算機システムの管理者)が操作する入力装置(図示省略)からシステムの構成情報や業務サーバ120に対して、管理部101が実行可能な計算機資源の割当変更、解除などの資源変更内容及びその組み合わせに関する情報を受け付け、資源管理テーブル104、及び、変更内容管理テーブル106に記録する。
 なお、管理者などが予め設定した資源管理テーブル104の情報に基づいて実行部116が各物理計算機122のハイパーバイザ121に対して指令することによって、各業務クラスタ123の各業務サーバ120に対する物理計算機122の計算機資源の割り当てが開始する。
 また、資源変更内容は、仮想計算機で構成される業務サーバ120及び業務クラスタ123に対する物理的な計算機資源の割り当ての内容を指す。本実施形態では、資源変更内容の一例として、業務サーバ120へ割り当てるCPU1221(またはプロセッサコア)の数の追加を「CPU割当追加」とし、業務サーバ120へ割り当てるCPU1221(またはプロセッサコア)の使用率の増大を「CPU割当率追加」とし、業務クラスタ123への仮想計算機(業務サーバ120)の追加を「仮想サーバ追加」とし、業務サーバ120へ割り当てたCPU1221(またはプロセッサコア)の削減を「CPU割当削減」とし、業務サーバ120へ割り当てたCPU1221(またはプロセッサコア)の使用率の削減を「CPU割当率削減」とし、業務クラスタ123に割り当てた仮想計算機(業務サーバ120)の削減を「仮想サーバ削減」を示す。また、「CPU割当追加」、「CPU割当追加」は、物理計算機122のCPU1221が複数のプロセッサコアを有する場合は、プロセッサコアの単位で割り当てを追加または削減することができる。また、論理プロセッサ(例えば、ハイパースレッドなど)を有するCPU1221の場合、プロセッサコアの追加、削減は、論理プロセッサ単位で割り当て量を追加または削減してもよい。また、資源変更内容としては、CPU1221やプロセッサコアの追加、削減の他、メモリ1222の割り当て量を増大、削減してもよい。
 図2は、負荷履歴テーブル103の一例を示す説明図である。負荷履歴テーブル1201は、負荷分散機119で負荷が測定された時刻(時刻1202)と、測定された時刻におけるクライアント117からの単位時間当たりのリクエスト到着件数1203とを含む。負荷履歴テーブル103は、監視部110によって更新される。なお、監視部110は、業務クラスタ123毎に負荷履歴テーブル103を作成し、各負荷履歴テーブル103を更新する。
 なお、負荷分散機119は受信したリクエストに加えて、業務サーバ120に分配したリクエストを測定し、業務サーバ120毎の負荷情報を監視部110に送信してもよい。この場合、負荷履歴テーブル103には、リクエストの分配先の業務サーバ120毎にリクエスト数を管理してもよい。これにより、業務サーバ120毎に負荷情報を管理することができる。
 図3A、図3Bは、資源管理テーブル104の一例を示す説明図である。資源管理テーブル104は、業務システム118を提供する物理計算機122に関する計算機資源を管理する物理計算機資源管理テーブル201と、仮想計算機(業務サーバ120)に割り当てられた計算機資源を管理する仮想計算機資源管理テーブル211とを含む。資源管理テーブル104は、監視部110がハイパーバイザ121から取得した情報と、入力部109から受け付けた情報により更新される。
 図3Aは、物理計算機資源管理テーブル201を示し、図3Bは、仮想計算機資源管理テーブル211を示す。
 図3Aに示す物理計算機資源管理テーブル201は、サーバ名202、IPアドレス203、CPU資源204、メモリ資源206などの各種資源の搭載量と、現在割当て済み量(204~207)を記録するCPU資源割当済205とメモリ資源割当済量207を含む。例えば、行208では、サーバ名202が「サーバA」の物理計算機では、CPU資源204に関しては、2コア搭載された1つ目のコアは資源を100%割当済みであり、2つ目のコアは30%の資源を割当済みである(CPU資源割当済205)であることを示している。
 図3Bに示す仮想計算機資源管理テーブル211は、物理計算機資源管理テーブル201と同様に、サーバ名212、IPアドレス213、CPU資源最大214、メモリ資源最大216などの各種資源の搭載量、現在割り当てられている量(CPU資源割当済み215、メモリ資源割当済217)、及び、当該仮想計算機を実行する物理計算機122の識別子が物理計算機218に格納される。
 図4は、資源予約テーブル105の一例を示す説明図である。資源予約テーブル105は、変更内容選択処理113で作成または更新される。
 資源予約テーブル105は、変更する計算機資源の予約の開始時刻を表す時刻302、サーバ名303、予約対象の計算機資源を表す資源種別304、及び、その計算機資源の予約量を示す変化量305を含む。例えば、行306は、時刻10:10:10以降に、サーバBが1コア分のCPU資源を余分に使用するための予約を表している。
 図5A、図5Bは、変更内容管理テーブル106の一例を示す説明図である。変更内容管理テーブル106は、管理者などが入力部109を介して予め設定した値が格納される。
 変更内容管理テーブル106は、制御部111で選択可能な計算機資源の資源変更内容を管理する変更内容テーブル401と、計算機資源の変更による性能の変動幅を格納する変動幅条件テーブル411とを含む。図5Aは、変更内容テーブル401を示し、図5Bは、変動幅条件テーブル411を示す。
 変更内容テーブル401は、選択可能な計算機資源の資源変更の種別を記載した変更内容402、当該資源変更の実施により変化する計算機資源の種別と変化量を格納する対象資源403、当該資源変更の実施により変化するクラスタシステムの能力(性能)を格納する変動幅404、当該資源変更の実施を完了するまでに必要な時間を記載する実行時間405を含む。変動幅404で用いる指標は、応答時間(遅延時間)や処理可能なリクエスト量などが考えられるが、ここでは、処理可能なリクエスト数(例えば件/秒)を用いる。例えば、「変更内容402」が「CPUコア数」の場合、CPUコアを1つ追加すると、単位時間当たりに処理可能なリクエスト件数が変動幅404の「85」だけ増加し、計算機資源の追加処理には実行時間405に格納された「10秒」が必要であることを示している。あるいは、逆に資源の割当てを解除(削減)する場合、コアの割当てを1つ解除することにより、単位時間当たりに処理可能なリクエスト数が85だけ減少することを示している。変動幅404の値は事前に業務システム118(または業務クラスタ123)に対し負荷を掛け、計算機資源量(計算機資源の割り当て量)の変化による処理可能リクエスト件数の変化を測定することで求めることができる。
 なお、変動幅404の処理可能リクエスト件数の変化は、同じ計算機資源量の変化でも、そのときの他の条件により異なる場合がある。その場合、変動幅とその条件を変動幅条件テーブル411へ設定し、変動幅欄404には、実際の変動幅を求めるために参照する変動幅条件テーブル411の名称を記録する。変動幅条件テーブルの例を図5Bのテーブル411に示す。ここでは、CPU資源の追加及び削除は、CPUコアの最大能力の10%の単位で行うことを想定する。この例の場合、CPUの使用率412を「70%」から「80%」へ10%増加させると処理可能なリクエスト数が変動幅413の「10」だけ増えるが、「80%」から「90%」へ10%増加させた場合は、処理可能なリクエスト数が「5」件しか増えないことを示している。
 制御部111は、CPU1021で実行され、メモリ102上に展開された所定のプログラムとの協働により、負荷予測処理112、変更内容選択処理113、判定処理114及び再構成処理115が実行される。
 負荷予測処理112では、将来のある時刻Nまでの業務クラスタ123の負荷変動の予測値を求める処理を実行する。より具体的には、負荷履歴テーブル103に記録されている情報を元に、現在時刻より時間Nだけ先の時点までの負荷変動を予測する。負荷変動の予測方法は、例えば、前年度、先月、先日などの過去の負荷測定データ(負荷履歴テーブル103)に基づいた循環変動値を用いる。もしくは、さらに循環変動値を元に、直近の負荷測定データからマルコフモデルを元に予測した負荷の値によって補正する方法などを使うことができる。本実施形態の負荷予測には、上記従来例に示した特許文献2等に記載されている公知または周知の技術を採用することができる。
 変更内容選択処理113は、負荷予測処理112の予測結果に対して、利用可能な計算機資源量などの制約条件を満たしつつ、後述する評価式による評価値が最高となる時刻Tまでに実施される資源変更の内容と、資源変更内容の実施時刻などで構成される資源変更実施手順107を求める処理である。
 より具体的には、各物理計算機122や仮想計算機(業務サーバ120)で使用可能な計算機資源量や、計算機資源量の変更を実施する場合に必要になる時間などの制約条件を考慮しつつ、負荷予測処理112で予測された負荷量を処理できるだけの計算機資源を業務クラスタ123に対して割り当てるための、資源変更実施手順107を求める。なお、制約を満たす資源変更実施手順107は多くの場合複数存在するため、予め与えられた評価式において、評価値が最高になる手順を選択する。なお、制約条件は、未割当の計算機資源の量と、資源変更が完了するまでの時間の例を示すが、他の制約条件を加えてもよい。また、資源変更が完了するまでの時間の制約条件は、資源の割り当ての変更が完了するまで、現時点の計算機資源の割り当てで処理可能な負荷(リクエスト)を、負荷の予測値が超えない場合に、当該制約条件を満たす。
 判定処理114では、時刻Tまでの時間より短い間隔で、各時点での新たに予測した負荷に対して、現在登録されている資源変更実施手順107が適切か否かを判定する。
 再構成処理115では、上記判定処理114での判定結果が適切でないと判定された場合に、組合せを見直す処理である。
 図6は、資源変更実施手順107の一例を示す説明図である。この資源変更実施手順107は、実行部116が、資源予約テーブル105に基づいて、計算機資源量の変更を実施する時刻502、実施される資源変更の内容503、実施対象のサーバ504、変更内容503に対応するコマンドがすでに実行中か否かを示す実行状態欄505で構成される。例えば、行506は、時刻10時10分10秒に、ある仮想計算機(サーバB)に対して、CPUの割当量を10%増加すること、また、現在、このコマンドの状態は未実行であることを示している。なお、資源変更内容毎に予めコマンドが設定されており、実行部116が資源変更実施手順を読み込んで、制御対象の物理計算機122のハイパーバイザ121に対して資源変更内容毎のコマンドを送信する。
 図7は、制御部111で行われる処理の一例を示すフローチャートである。この処理は、管理部101により一定の周期(再予測間隔、例えば数秒毎、かつ所定時間N未満)で呼び出される。また、本処理の初回の呼び出しの前に、再選択時刻として、現在時刻Tから所定時間Nだけ先の時刻(予測範囲)が設定される。なお、再選択時刻は、負荷予測を求めて計算機資源の割り当てを再評価する時刻である。
 まず、制御部111は、負荷予測処理112により、業務クラスタ123毎に現在時刻Tから所定時間Nだけ先の時間までの負荷の予測値を求める(S601)。
 次に、制御部111は、現在時刻が、再選択時刻であるか否かを判断する(S602)。再選択時刻の場合(S602でYes)、制御部111は、ステップS607の処理に進み、変更内容選択処理113により、ステップS601で求めた負荷の予測値に対する業務クラスタ123を構成する業務サーバ120の資源変更実施手順を求める(S607)。
 現在時刻が、再選択時刻でない場合(S602でNo)、制御部111は、ステップ603において、現在の資源変更実施手順107が、ステップ601で求められた負荷予測に対して有効か否かを判定する(S603)。有効か否かの判定は、負荷予測処理112で予測された負荷(予測値)を、現在予定されている資源の割り当ての変更によって予測された負荷が処理可能か否かで判定する。つまり、制御部111は、現在時刻で業務クラスタ123に割り当てられた計算機資源の割り当て量を、資源管理テーブル104(物理計算機資源管理テーブル201、仮想計算機資源管理テーブル211)から取得し、各業務サーバ120ごとに処理可能なリクエスト数を求める。なお、処理可能なリクエスト数は、例えば、CPU1221やプロセッサコアの割当数や割り当て率に応じて予め処理可能なリクエスト数を設定することによって、制御部111で演算することができる。そして、制御部111は、業務クラスタ123を構成する各業務サーバ120の処理可能なリクエスト数の和を当該業務クラスタ123の処理可能な負荷とする。
 そして、現在の資源変更実施手順107で変更される予定の計算機資源の割り当て量に応じた処理可能なリクエスト数(変動幅404)の和を処理可能な負荷の変化分とする。
 制御部111は、上記処理可能な負荷と処理可能な負荷の変化分の和が、負荷の予測値以上であれば、現在の資源変更実施手順107が、ステップ601で求められた負荷予測に対して有効であると判定し、上記処理可能な負荷と処理可能な負荷の変化分の和が、負荷の予測値未満であれば、無効と判定する。
 制御部111は、現在予定されている資源変更が有効であり見直しの必要がないと判断する場合(S604でNo)、処理を終了する。
 一方、現在予定されている資源変更が有効でなく見直しが必要と判定される場合(ステップS604でYes)、制御部111は、再構成処理115により、資源変更実施手順107における実行実施時刻の補正を試みる(605)。もし、補正ができた場合(ステップ606でYes)、処理を終了する。
 一方、ステップ605の補正ができなかった場合(ステップ606でNo)、ステップ607へ進む。ステップ607では、変更内容選択処理113により、現在の負荷予測に対応可能な新たな資源変更実施手順107を作成する。また、再選択時刻を、ステップ601における予測で用いた、現在時刻Tから所定時間Nだけ先の時刻に設定する。
 上記処理により、仮想化環境上の業務クラスタ123において、負荷変動に追従するために業務クラスタ123毎に負荷を予測し、負荷の予測結果に対して業務クラスタ123を構成する各業務サーバ120に割り当てる計算機資源を制御する。この計算機資源の割り当ては、計算機資源の割り当て量の変更に利用できる資源変更内容と、当該資源変更内容による許容量(処理可能なリクエスト数)の変化と、割り当て変更の実行完了に必要な時間を条件として、現在、および、将来(現在時刻+時間N)の計算機資源の予約状況を考慮して、負荷変動に追従でき、かつ、使用する計算機資源の割り当て量の少ない資源変更内容の組み合わせを選択する。そして、選択した資源変更内容の組み合わせが負荷変動に追従できなくなった場合には、各変更の実施時刻を調整することにより、再構成を試みる。さらに、再構成に失敗した場合、再度、資源変更内容の組み合わせを求めることができる。
 以下に各処理の詳細を示す。
 図8は、変更内容選択処理113で行われる処理の一例を示すフローチャートである。この処理は、図7のステップ607で行われる処理の詳細を示す。この処理では、制約条件を満たす資源変更内容の組み合わせが複数存在する場合に、最も評価値の高い資源変更内容の組み合わせを選択する。
 まず、制御部111は、最大の評価値を記録するための変数に初期値として負の最大値を設定する(701)。
 次に、制御部111は、各種計算機資源の制約(未割当の計算機資源の量)を満たす資源変更内容の組み合わせのうち未処理のものを1つ選択する(702)。本処理の詳細は、後述する。
 ステップ702で、制約を満たす資源変更内容の組み合わせが選択できた場合(703でYes)、702において見つかった資源変更内容の組み合わせに対する評価値を求める(704)。評価値の求め方は後述する。
 次にステップ705において、ステップ704で求めた評価値が変数Maxに格納されている値より大きいか調べる。
 評価値が変数Maxよりも大きい場合(705でYes)ステップ706へ進み、変数Maxにステップ704で求めた評価値を格納すると共に、現在選択されている資源変更内容の組み合わせを変数などに記録する。
 ステップ703において選択できる組み合わせが見つからなかった場合(つまり、すべての組み合わせの選択が終了した場合)、ステップ707において、ステップ706で記録された変数Maxに格納されている評価値をもつ組み合わせを資源変更実施手順107へ格納する。
 次に、ステップ706において記録されたMaxに格納されている評価値をもつ資源変更内容の組み合わせを実施するために必要となる計算機資源の予約を、資源予約テーブル105へエントリを追加することにより実施する(708)。
 図9、図10は、図8に示したステップ702における資源変更内容の組合せを選択する処理の一例を示すグラフである。図9は業務クラスタ123に計算機資源を追加する例を示す。図10は業務クラスタ123から計算機資源を削減する例を示す。
 図9、図10において、グラフの縦軸は負荷(リクエスト量/秒)であり、横軸は経過時間である。
 まず、図9において、曲線801は、現在時刻T0(802)より前は、実際に測定された負荷を示し、現在時刻T0(802)より後は、予測された負荷を表している。
 閾値803は、現在時刻T0において業務クラスタ123に割り当てられた資源を用いて処理可能な負荷の量を示している。この閾値に対して、資源変更内容として、CPU資源割当追加コマンドを2回、仮想計算機の追加コマンドを1回行う場合を考える。この場合、負荷予測801と閾値803が交わる時刻T1(804)と、現在時刻T0からCPU資源追加コマンドの実行時間経過時間のうち、後の時刻がコマンド実行完了時刻となる。この例では、時刻T1(804)がコマンド完了時刻、その時刻からコマンド実行時間を差し引いた時刻が、コマンド実行時刻となる。このコマンドにより、時刻T1(804)以降では、新たに閾値808が設定される。
 同様の手順で、2回目のCPU資源割当の実施完了時刻はT2(805)、仮想計算機追加完了時刻はT3(806)となる。また、これらにより、閾値は、負荷予測時刻TN(807)までの負荷に対応可能となり、これ以上の追加は必要ない。
 以上により、各資源変更実施手順が求まる。本実施形態では、複数の資源変更の実行順序を含めて資源変更内容の組み合わせとする。
 次に、この資源変更実施手順が計算機資源の制約を満たしているか否かを判定する。例えば、最初のコマンドの制約は、時刻T1(804)以降で、割当可能なCPU資源の空きが、物理計算機122上に存在し、かつ、CPU資源を割当可能な仮想計算機が存在することである。これらは、制御部111が、資源管理テーブル104と資源予約テーブル105とを参照することによって、資源変更実施手順107が計算機資源の制約を満たしているか否かを判定することができる。資源管理テーブル104は現在時刻T0における計算機資源の割当状況を管理している。一方、資源予約テーブル105は、今後の他の業務クラスタ123(または業務サーバ120)で実施予定のコマンドで使用する計算機資源に関する情報を管理する。
 資源予約テーブル105の例を図4に示す。資源予約テーブル105は、上述のように、サーバ名303、変化する資源種別304、変化量305、及びコマンドを実行する予定の時刻302により構成される。例えば、行306は、時刻Tにおいて、仮想サーバBに対するCPU資源割当(コアを1つ追加)が行われる予定を示している。
 また、これは、同時刻に仮想サーバBが実行される物理計算機122のCPU資源の空き容量が割当実施量だけ減少することを示している。なお、業務システム118の保守作業や、物理計算機122の増強などによる資源量の変化も、本資源予約テーブル105により管理する。
 次に、負荷の予測値が下降の場合の例を図10に示す。この場合、最初に実行するコマンドの変化量を、現在時刻T0(903)の閾値902から引いた値が、負荷曲線901と交わる時刻が最初のコマンド実行完了候補時刻(T1(903))となる。負荷上昇時と同様にコマンドの実行時間から導きだされる最速実行完了時間とのうち、遅いほうが実行完了時刻となる。以下、新たな閾値を元に、時刻TN(907)までの区間で、適用できるコマンドがなくなるまで行うことにより、実行するコマンドの組み合わせが2つのCPU割り当て削減と1つの仮想サーバの削減となる。
 なお、求められた負荷予測が増加、下降を繰り返すパターンである場合は、各グラフの区間を曲線の頂点で区切った部分グラフを求め、各部分グラフでの資源変更内容の組み合わせの結果を結合することにより、コマンドの組み合わせと順序を含む資源変更実施手順を求める。
 また、本処理により、資源変更内容の組み合わせを選択する時点で、以前に求めた資源変更実施手順が実行中であり、まだ、実行が完了していない場合が考えられる。資源変更内容のコマンドが実行中であるか否かは、資源変更実施手順107の実行中505により判定できる。この場合、上記の組み合わせを求める手順において、コマンド実行後の新たな閾値が負荷予測曲線と交わる時刻までに、コマンドの実行が完了する場合、それまでに求まっている資源変更実施手順の次に、実行完了するコマンドを追加することにより、組み合わせを求めることができる。
 次に、図8のステップ704で行われる評価値の算出処理の詳細について述べる。本実施形態では、資源変更実施手順の評価値を求めるために、次の評価式を用いる。
 評価値 = Σ安定稼動期間
      - αΣコマンド実行コスト
      - βΣ(N - 安定稼動時間)
      - γ(使用資源量)    … 評価式1
 ここで、評価式1の安定稼動時間とは、現在時刻から、負荷予測時刻TNまでの間において、閾値(処理可能なリクエスト数)が予測負荷(負荷の予測値)を上回っている時間であるとする。また、コマンド実行コストは、資源変更実施手順のコマンドの実行時間とする。使用資源量は、現在時刻から時刻Nまでの閾値で構成される矩形の面積である。また、α、β、γは、所定の係数であり業務システム118または業務クラスタ123ごとに予め決まった値を設定する。係数は、0でもよく、その場合は、特定の項目を無視することができる。なお、コマンド実行コストは、資源変更実施手順のコマンド(資源変更実施手順)の実行回数としてもよい。
 図11は、図7のステップ605で行われる実行時刻補正処理の詳細を示すフローチャートである。本処理では、資源変更実施手順107で設定されたコマンドの実行時刻502より前にコマンドを実行することにより、変更後の計算機資源で負荷予測に対応できるか否かを調べ、負荷の予測値に対応可能な場合、新たなコマンド実行時刻を求める。これは、他の業務システム118(または業務クラスタ123)に対する資源変更実施手順107が、現在の計算機資源の予約状況を元に作成されているため、未割当の計算機資源に対する影響を出来るだけ抑えるためである。本処理では、資源変更実施手順107の資源変更内容503に対応する各コマンドに対して、ステップ1002~1005の処理を実行する(ステップ1001、1006、1007)。
 まず、ステップ1002で、ステップ1001で読み込んだ資源変更実施手順107のコマンドの実行時に閾値が負荷の予測値を満たしているかを判定する。閾値が負荷の予測値以上で現在の業務クラスタ123の性能が負荷を満たせている場合は、次のコマンドを実行し、ステップ1002の処理を繰り返す。現在の業務クラスタ123の性能が負荷を満たせていない場合(負荷が過大)で、すでにコマンドの実行が開始されているか否かを判定する(1003)。この判定は、制御部111は、資源変更実施手順107の実行状態欄505が「未」であれば、コマンドの実行が開始されていないと、判定する。
 当該コマンドの実行が開始されていない場合、上述の制約条件を満たす上でコマンドの実行時刻を早めることで、現時点の計算機資源の割り当て量で予測負荷(負荷の予測値)を満たせるか否かを判定する(1004)。コマンドの実行時刻を早めても制約条件を満たせる場合(1005)は、資源変更実施手順107の時刻502を所定時間だけ早めて修正し、当該修正に合わせて資源予約テーブル105の時刻302も更新する。
 一方、コマンドの実行時刻を早めても予測負荷を満たせない場合、もしくは、ステップ1003においてコマンドの実行が既に開始されている場合、ステップ1008へ進み、開始されているコマンドを除いて、現在の資源変更実施手順107を破棄し、破棄した資源変更実施手順に規定された資源変更内容について資源予約テーブル105を更新してから、実行時刻補正処理を終了する。
 上記処理により、資源変更実施手順で変更される計算機資源の割り当て量が、負荷の予測値に対応できない場合、現在実行中のコマンド以外の資源変更内容を削除することになる。
 図12は、実行部116で行われる処理の一例を示すフローチャートである。
 実行部116は、管理部101により一定間隔(所定の周期)で起動し、資源変更実施手順107のうち、現在時刻が実行時刻502に到達した変更内容503に従った割り当ての変更を実施するコマンドを実行する(1101)。なお、一定間隔は、再選択時刻となる所定時間Nよりも小さい値が望ましい。実行部116は、対象サーバ504を実行するハイパーバイザ121に対して当該コマンドを送信し、資源割り当ての変更を実施させる。
 次に、実行部116は、ハイパーバイザ121に送信したコマンドに対応する資源予約テーブル105のエントリを削除し(1102)、当該コマンドに対応する資源割当量を変更して資源管理テーブル104を更新し(1103)、実行が終了したコマンドに対応する変更内容503のエントリを資源変更実施手順107から削除する。
 以上の処理により、資源変更実施手順107のテーブルに設定された資源変更内容が、実行予定の時刻502を経過する度に、変更内容503に対応するコマンドがハイパーバイザ121に送信されて計算機資源の割り当て量の変更が実施される。
 なお、上記実施形態では、業務クラスタ123ごとに計算機資源の割り当て量を制御する例について説明したが、複数の業務クラスタ123を同じタイミングで制御することも考えられる。この場合、各業務クラスタ123における評価値は上述の処理で求め、各業務クラスタ123の評価値の合計が最大となる組み合わせを選択する。また、同じタイミングで評価値を求める場合、先に評価値を求める業務クラスタ123ほど優先される。これは、先に評価値を求める業務クラスタ123により資源が予約されるためである。そのため、各業務クラスタ123に対して優先度を指定して、優先度の順に評価値を求める。
 また、上記実施形態では、使用する物理計算機122のハードウェアのCPU1221の性能は均等であると仮定した。CPU1221の性能が均等でない場合は、変更内容管理テーブル106をCPU1221の種別または性能ごとに保持し、業務サーバ120が動作している物理計算機122に応じて使い分けるか、あるいは、あるCPU1221に対して変更内容管理テーブル106を用意し、さらに、CPU1221の種別に応じて値を補正する変換テーブルを用意することにより対応することが可能である。
 以上説明したように、本実施形態によれば、仮想化環境上において、複数の業務クラスタ123により構成される業務システム118に対して、将来の負荷変動を予測し、予測された結果に対して、複数のハードウェア資源の変更内容を組み合わせることにより、負荷変動に対応するために必要な資源を割り当てることが可能となる。これにより、負荷変動へ対応しつつ、業務クラスタで使用とする資源を低く抑えることにより、資源有効活用が可能となる。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。

Claims (17)

  1.  プロセッサとメモリとを含む計算機資源を有する物理計算機と、前記計算機資源を仮想化して複数の仮想計算機に割り当てる仮想化部と、前記複数の仮想計算機でクラスタを構成し、前記仮想化部を管理する管理部と、を有する計算機システムのクラスタ構成管理方法であって、
     前記メモリは、前記クラスタを構成する前記仮想計算機の現在の計算機資源の割り当て量と、所定時間後の計算機資源の割り当て量と、前記クラスタの構成を変更するために利用可能な計算機資源の量とを保持し、
     前記方法は、
     前記管理部が、所定時間後の前記クラスタの負荷の予測値を演算するステップと、
     前記管理部が、前記クラスタを構成する前記仮想計算機に割り当てた現在の計算機資源の割り当て量及び前記負荷の予測値から前記計算機資源の割り当ての変更の組み合わせを選択し、前記変更の実施予定時刻を設定するステップと、
     前記管理部が、前記実施予定時刻に到達した変更を前記仮想化部に通知して実施させるステップと、を含むことを特徴とするクラスタ構成管理方法。
  2.  請求項1に記載のクラスタ構成管理方法であって、
     前記時刻を設定するステップは、前記変更の組み合わせを複数選択するステップと、前記選択された変更の組み合わせ毎に所定の指標を演算するステップと、前記所定の指標が最大となる変更の組み合わせを選択するステップと、を含むことを特徴とするクラスタ構成管理方法。
  3.  請求項2に記載のクラスタ構成管理方法であって、
     前記指標を演算するステップでは、前記変更を実施した場合に、前記予測値の負荷を処理可能となるまでの時間と、前記変更によって使用される計算機資源の量と、前記変更を実施するためのコストとの組み合わせから前記指標を演算することを特徴するクラスタ構成管理方法。
  4.  請求項3に記載のクラスタ構成管理方法であって、
     前記コストは、前記変更の実施開始から完了までの時間であることを特徴するクラスタ構成管理方法。
  5.  請求項3に記載のクラスタ構成管理方法であって、
     前記コストは、前記変更の数であることを特徴するクラスタ構成管理方法。
  6.  請求項1に記載のクラスタ構成管理方法であって、
     前記予測値を演算するステップでは、予め設定された周期毎に、所定時間後の前記クラスタの負荷の予測値を演算し、
     前記時刻を設定するステップでは、前記選択された変更の組み合わせで前記予測値の負荷を処理可能かを判定し、前記選択された変更の組み合わせでは前記予測値の負荷を処理不可能と判定した場合に、前記変更の組み合わせ又は前記変更の実施予定時刻を設定することを特徴するクラスタ構成管理方法。
  7.  請求項6に記載のクラスタ構成管理方法であって、
     前記時刻を設定するステップでは、前記選択された変更の組み合わせで前記予測値の負荷を処理可能かを判定し、前記選択された変更の組み合わせでは前記予測値の負荷を処理できないと判定した場合に、前記変更の実施予定時刻を所定時間だけ早めることによって前記予測値の負荷を処理可能かを判定し、前記予測値の負荷を処理可能と判定した場合には前記変更の実施予定時刻を所定時間だけ早めて設定することを特徴するクラスタ構成管理方法。
  8.  請求項6に記載のクラスタ構成管理方法であって、
     前記時刻を設定するステップでは、前記選択された変更の組み合わせで前記予測値の負荷を処理可能かを判定し、前記選択された変更の組み合わせでは前記予測値の負荷を処理できないと判定した場合に、前記変更の実施予定時刻を所定時間だけ早めることによって前記予測値の負荷を処理可能かを判定し、前記予測値の負荷を処理不可能と判定した場合には前記変更の新たな組み合わせと前記変更の実施予定時刻を設定することを特徴するクラスタ構成管理方法。
  9.  プロセッサとメモリとを備える管理装置であって、
     計算機資源を仮想化する仮想化部を有する物理計算機で稼動する複数の仮想計算機でクラスタを構成し、前記クラスタを管理し、
     所定時間後の前記クラスタの負荷の予測値を演算する負荷予測部と、
     前記クラスタを構成する前記仮想計算機の現在の計算機資源の割り当て量と、所定時間後の計算機資源の割り当て量とを前記メモリに格納する資源管理部と、
     前記クラスタの構成を変更するために利用可能な計算機資源の量を前記メモリに格納する資源変更部と、
     前記クラスタを構成する前記仮想計算機に割り当てた現在の計算機資源の割り当て量及び前記負荷の予測値から前記計算機資源の割り当ての変更の組み合わせを選択し、前記変更の実施予定時刻を設定する制御部と、
     前記実施予定時刻に到達した前記変更を前記仮想化部に通知して実施させる実施部と、を備えることを特徴とする管理装置。
  10.  請求項9に記載の管理装置であって、
     前記制御部は、前記変更の組み合わせを複数選択し、前記選択された変更の組み合わせ毎に所定の指標を演算し、前記所定の指標が最大となる変更の組み合わせを選択することを特徴とする管理装置。
  11.  請求項10に記載の管理装置であって、
     前記制御部は、前記変更を実施した場合に、前記予測値の負荷を処理可能となるまでの時間と、前記変更によって使用される計算機資源の量と、前記変更を実施するためのコストとの組み合わせから前記指標を演算することを特徴する管理装置。
  12.  請求項11に記載の管理装置であって、
     前記コストは、前記変更の実施開始から完了までの時間であることを特徴する管理装置。
  13.  請求項11に記載の管理装置であって、
     前記コストは、前記変更の数であることを特徴する管理装置。
  14.  請求項9に記載の管理装置であって、
     前記負荷予測部は、予め設定された周期毎に、所定時間後の前記クラスタの負荷の予測値を演算し、
     前記制御部は、前記選択された変更の組み合わせで前記予測値の負荷を処理可能かを判定し、前記選択された変更の組み合わせでは前記予測値の負荷を処理不可能と判定した場合に、前記変更の組み合わせ又は前記変更の実施予定時刻を設定することを特徴する管理装置。
  15.  請求項14に記載の管理装置であって、
     前記制御部は、前記選択された変更の組み合わせで前記予測値の負荷を処理可能かを判定し、前記選択された変更の組み合わせでは前記予測値の負荷を処理できないと判定した場合に、前記変更の実施予定時刻を所定時間だけ早めることによって前記予測値の負荷を処理可能かを判定し、前記予測値の負荷を処理可能と判定した場合には前記変更の実施予定時刻を所定時間だけ早めて設定することを特徴する管理装置。
  16.  請求項14に記載の管理装置であって、
     前記制御部は、前記選択された変更の組み合わせで前記予測値の負荷を処理可能かを判定し、前記選択された変更の組み合わせでは前記予測値の負荷を処理できないと判定した場合に、前記変更の実施予定時刻を所定時間だけ早めることによって前記予測値の負荷を処理可能かを判定し、前記予測値の負荷を処理不可能と判定した場合には前記変更の新たな組み合わせと前記変更の実施予定時刻を設定することを特徴する管理装置。
  17.  プロセッサとメモリを備えた計算機に、複数の仮想計算機で構成されたクラスタを制御させるためのプログラムが格納された記憶媒体であって、
     前記メモリは、前記クラスタを構成する前記仮想計算機の現在の計算機資源の割り当て量と、所定時間後の計算機資源の割り当て量と、前記クラスタの構成を変更するために利用可能な計算機資源の量とを保持し、
     前記プログラムは、
     所定時間後の前記クラスタの負荷の予測値を演算する手順と、
     前記クラスタを構成する前記仮想計算機に割り当てた現在の計算機資源の割り当て量及び前記負荷の予測値から前記計算機資源の割り当ての変更の組み合わせを選択し、前記変更の実施予定時刻を設定する手順と、
     前記管理部が、前記実施予定時刻に到達した変更を前記仮想化部に通知して実施させる手順と、を前記計算機に実行させることを特徴とするプログラムを格納した記憶媒体。
PCT/JP2011/053695 2010-06-11 2011-02-21 クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体 WO2011155233A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-134051 2010-06-11
JP2010134051A JP5332065B2 (ja) 2010-06-11 2010-06-11 クラスタ構成管理方法、管理装置及びプログラム

Publications (1)

Publication Number Publication Date
WO2011155233A1 true WO2011155233A1 (ja) 2011-12-15

Family

ID=45097848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/053695 WO2011155233A1 (ja) 2010-06-11 2011-02-21 クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体

Country Status (2)

Country Link
JP (1) JP5332065B2 (ja)
WO (1) WO2011155233A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432256B2 (en) 2014-03-27 2016-08-30 Hitachi, Ltd. Resource management method and resource management system

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5767480B2 (ja) * 2011-01-31 2015-08-19 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 情報処理装置、情報処理システム、配置構成決定方法、プログラムおよび記録媒体
JP5913301B2 (ja) * 2011-05-19 2016-04-27 日本放送協会 放送通信連携受信装置
KR101540631B1 (ko) * 2012-12-28 2015-07-30 삼성에스디에스 주식회사 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체
WO2014115282A1 (ja) * 2013-01-24 2014-07-31 株式会社日立製作所 計算機システム及び計算機リソースの割当方法
JP2015072588A (ja) * 2013-10-02 2015-04-16 日本電信電話株式会社 サーバの仮想制御方法
US10366102B2 (en) 2014-02-19 2019-07-30 Snowflake Inc. Resource management systems and methods
JP6277827B2 (ja) * 2014-03-31 2018-02-14 富士通株式会社 情報処理装置、スケール管理方法およびプログラム
JP6158751B2 (ja) * 2014-05-30 2017-07-05 日本電信電話株式会社 計算機資源割当装置及び計算機資源割当プログラム
WO2016075771A1 (ja) * 2014-11-12 2016-05-19 株式会社日立製作所 計算機システムおよび計算機システムにおけるオートスケール方法
JP6347730B2 (ja) * 2014-11-27 2018-06-27 株式会社日立製作所 計算機システム及び計算機リソースの割当て管理方法
WO2016088163A1 (ja) * 2014-12-01 2016-06-09 株式会社日立製作所 計算機システム及びリソース管理方法
JP6495645B2 (ja) * 2014-12-19 2019-04-03 株式会社東芝 リソース制御装置、方法、及びプログラム
JP6550822B2 (ja) * 2015-03-20 2019-07-31 日本電気株式会社 情報処理資源管理装置、情報処理資源管理方法、及び、情報処理資源管理プログラム
US20180107503A1 (en) * 2015-05-07 2018-04-19 Nec Corporation Computer procurement predicting device, computer procurement predicting method, and recording medium
KR20170126553A (ko) * 2016-05-09 2017-11-20 한국전자통신연구원 제조 현장의 작업 이벤트 추천 및 입력을 위한 장치
JP6721105B2 (ja) * 2017-03-10 2020-07-08 日本電気株式会社 管理装置、制御装置、方法、及びプログラム
US20200021498A1 (en) * 2017-03-10 2020-01-16 Nec Corporation First control apparatus, apparatus, method, program, recording medium, and system
JP7111779B2 (ja) * 2020-08-26 2022-08-02 モルガン スタンレー サービシーズ グループ,インコーポレイテッド コンピュータリソースのための予測的資産最適化
WO2024004104A1 (ja) * 2022-06-29 2024-01-04 楽天モバイル株式会社 通信システムに含まれる要素の適切なスケールアウトの実行
WO2024004103A1 (ja) * 2022-06-29 2024-01-04 楽天モバイル株式会社 通信システムに含まれる要素の適切なスケールアウトの実行

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199561A (ja) * 2002-12-20 2004-07-15 Hitachi Ltd 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
WO2008084826A1 (ja) * 2007-01-11 2008-07-17 Nec Corporation プロビジョニングシステム、方法、及び、プログラム
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2009237859A (ja) * 2008-03-27 2009-10-15 Nec Corp 仮想マシン管理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004199561A (ja) * 2002-12-20 2004-07-15 Hitachi Ltd 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
WO2008084826A1 (ja) * 2007-01-11 2008-07-17 Nec Corporation プロビジョニングシステム、方法、及び、プログラム
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
JP2009237859A (ja) * 2008-03-27 2009-10-15 Nec Corp 仮想マシン管理システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432256B2 (en) 2014-03-27 2016-08-30 Hitachi, Ltd. Resource management method and resource management system

Also Published As

Publication number Publication date
JP5332065B2 (ja) 2013-11-06
JP2011258119A (ja) 2011-12-22

Similar Documents

Publication Publication Date Title
JP5332065B2 (ja) クラスタ構成管理方法、管理装置及びプログラム
US10572306B2 (en) Utilization-aware resource scheduling in a distributed computing cluster
US10747451B2 (en) Auto allocation of storage system resources to heterogeneous categories of resource consumer
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
US9442763B2 (en) Resource allocation method and resource management platform
JP6386165B2 (ja) 分散コンピュータシステムへの電力割り振りに変更がある場合に中断され得るジョブ及び中断され得ないジョブを管理するための方法並びに装置
JP6254949B2 (ja) 仮想マシンプールにおけるリソースの価格設定
JP5544967B2 (ja) 仮想マシン管理プログラム及び仮想マシン管理装置
JP6165777B2 (ja) 自動スケーリングのためのコンピューティングシステム、コンピュータ記憶メモリ、及び、コンピュータ実装方法
US20130339956A1 (en) Computer system and optimal arrangement method of virtual machine in computer system
WO2012056596A1 (ja) 計算機システム及び処理制御方法
US20140040474A1 (en) Maximizing server utilization within a datacenter
Chard et al. Cost-aware cloud provisioning
JP5616523B2 (ja) 情報処理システム
US10700954B2 (en) Scheduling memory bandwidth based on quality of service floorbackground
JP7035858B2 (ja) マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム
Begam et al. Timer-cloud: Time-sensitive vm provisioning in resource-constrained clouds
JP2010191567A (ja) 情報管理装置及び情報管理方法等
Kambatla et al. UBIS: Utilization-aware cluster scheduling
JP6031051B2 (ja) ジョブ実行計画装置
KR20150070930A (ko) 최적 비용을 고려한 마이그레이션 자원 할당 시스템 및 할당 방법
Kambatla et al. Optimistic scheduling with service guarantees
JP6059259B2 (ja) 計算機システム及び計算機リソースの割当方法
JP5722247B2 (ja) 仮想サーバ管理システム
JP6374059B2 (ja) コンピュータ資源配分決定方法、コンピュータ資源配分決定方法プログラムおよび制御用コンピュータ

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11792192

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11792192

Country of ref document: EP

Kind code of ref document: A1