WO2010044131A1 - リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 - Google Patents
リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 Download PDFInfo
- Publication number
- WO2010044131A1 WO2010044131A1 PCT/JP2008/068508 JP2008068508W WO2010044131A1 WO 2010044131 A1 WO2010044131 A1 WO 2010044131A1 JP 2008068508 W JP2008068508 W JP 2008068508W WO 2010044131 A1 WO2010044131 A1 WO 2010044131A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- integration
- server device
- resource
- allocation
- list
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
Definitions
- the present invention relates to a resource allocation device 100 that allocates the resource usage of m integration target servers S i to be integrated to n (n ⁇ m) integration destination servers.
- Server integration using virtualization technology means that hundreds to thousands of servers (integration target servers) in a company are virtualized and integrated into a smaller number of high-performance servers (consolidation destination servers). Since multiple servers are operated by a single physical server, the resource capacity of the integration destination server can be adjusted so that the resources (CPU, disk, network, etc.) required for the server to be integrated fit within the resource capacity of the integration destination server. It is necessary to estimate the number of units and the combination with the integration target server.
- the resource usage (CPU usage rate, disk usage, etc.) during operation of the integration target server is collected, and the resource capacity of the integration destination server is not exceeded from the information and the resource capacity of the integration destination server. It is necessary to calculate a combination of an integration target server and an integration destination server that have uniform amounts.
- Non-Patent Document 1 the problem of calculating the combination of the integration target server and the integration destination server in server integration using virtualization technology is the bin packing problem (when packing items of different sizes into a box with a fixed capacity, This problem is solved by using an improved algorithm for First-Fit Decreating (FFD), which is one of heuristic solutions.
- FFD First-Fit Decreating
- a threshold is set for the number of times the items are rearranged, and a box is newly added when the value is exceeded.
- an optimal solution is obtained at a low calculation cost by taking into consideration dimensions that are not of interest by sorting.
- dimensions that are not of interest by sorting.
- a system has been devised that measures a system load from a plurality of running virtual machines and calculates a combination of virtual machines that maximizes the performance.
- Patent Document 1 describes a method for optimally allocating hosting service resources.
- a method is described in which a client usage pattern is modeled and clients are combined and assigned to servers so that the peaks of the usage patterns are different from each other. The assignment also suggests the use of FFD.
- the present invention relates to an integration target server apparatus and an integration destination server apparatus that have uniform resource usage after integrating the integration target server apparatus to be integrated into the integration destination server apparatus.
- An object of the present invention is to provide a resource allocation device that determines a combination.
- the resource allocation device provides: An integration target list S in which resource usage for each resource type is described for each of the m integration target server devices (m: integer of m ⁇ 3), and the m described in the integration target list S A list storage unit for storing an integration destination list S ′ in which n (n: n ⁇ m and n ⁇ 2 integer) integration destination server devices that are integration destinations of integration target server devices are described; , A priority storage unit for storing the priority specified for each resource type; One integration target server device is selected from the integration target list S, and one integration destination server device is selected from the integration destination list S ′, and the resource usage of the selected integration target server device is selected.
- the current resource usage of the selected integration destination server device when provisionally assigned to the integration destination server device, and all the other integration destination server devices described in the integration destination list S ′ With respect to the current resource usage, a variation coefficient defined as a ratio between the average of the target resource usage and the standard deviation is calculated for each resource type, and the calculated variation coefficient for each resource type, Calculate the sum of multiplication of the priority specified for the same resource type as the corresponding resource type of the coefficient of variation as a dispersion value, Sequentially as well, The resource of the integration target server device selected by another selected integration destination server device while switching the integration destination server device by selecting another integration destination server device from the integration destination list S ′ When the usage amount is provisionally allocated, the dispersion value is calculated, and each of the resource usage amounts of the integration target server devices selected to each of the n integration destination server devices is provisionally allocated.
- the integration destination server device corresponding to the dispersion value that is the smallest among the dispersion values of the integration destination server device is identified, and the resource usage amount of the selected integration target server device is allocated to the identified integration destination server device And Sequentially as well, While switching the integration target server device by selecting another integration target server device from the integration target list S, the resource usage of the selected other integration target server device is set to each of the n integration destinations.
- Another integration target selected by the identified integration destination server device by identifying the integration destination server device corresponding to the smallest dispersion value among the dispersion values when provisionally assigned to the server device And an allocating unit for deciding to allocate the resource usage of the server device.
- the assigning unit is For each resource type listed in the integration target list S, a deviation value of the resource usage of each of the integration target server devices is calculated, and the deviation value for each calculated resource type, the resource type of the deviation value, and When the integration target server device is selected from the integration target list S, the sum calculated by multiplying the priority specified for the same resource type by the integration target server device is calculated as a total value. The integration target server device is selected from the integration target list S according to the value of the total value.
- the resource allocation device further includes: A resource capacity storage unit for storing a resource capacity for each resource type of the integration destination server device; The assigning unit Based on the resource capacity stored in the resource capacity storage unit and the resource usage described in the integration target list S, the provisional number of the integration destination server devices is calculated for each resource type, and is calculated. Among the provisional numbers, the number calculated for the same resource type as the resource type with the highest priority is determined as the number n of the integration destination server devices.
- the integration target server device and the integration destination server device are: Having at least one device for at least one of the same resource types among the same resource types between each other,
- the assigning unit is When the resource usage of the same resource type of the selected integration target server device is provisionally allocated to the selected integration destination server device, each resource of the plurality of devices of the selected integration target server device Whether the usage amount after the allocation of the device to which the resource usage amount is allocated is within an allowable amount each time the usage amount is sequentially allocated to any of the plurality of devices of the selected integration destination server device It is characterized by determining.
- the resource allocation program of this invention is Computer An integration target list S in which resource usage for each resource type is described for each of the m integration target server devices (m: integer of m ⁇ 3), and the m described in the integration target list S
- a list storage unit that stores an integration destination list S ′ in which n (n: n ⁇ m and n ⁇ 2) integer destination server devices that are integration destinations of integration target server devices are described
- a priority storage unit that stores the priority specified for each resource type;
- One integration target server device is selected from the integration target list S, and one integration destination server device is selected from the integration destination list S ′, and the resource usage of the selected integration target server device is selected.
- the current resource usage of the selected integration destination server device when provisionally assigned to the integration destination server device, and all the other integration destination server devices described in the integration destination list S ′ With respect to the current resource usage, a variation coefficient defined as a ratio between the average of the target resource usage and the standard deviation is calculated for each resource type, and the calculated variation coefficient for each resource type, Calculate the sum of multiplication of the priority specified for the same resource type as the corresponding resource type of the coefficient of variation as a dispersion value, Sequentially as well, The resource of the integration target server device selected by another selected integration destination server device while switching the integration destination server device by selecting another integration destination server device from the integration destination list S ′ When the usage amount is provisionally allocated, the dispersion value is calculated, and each of the resource usage amounts of the integration target server devices selected to each of the n integration destination server devices is provisionally allocated.
- the integration destination server device corresponding to the dispersion value that is the smallest among the dispersion values of the integration destination server device is identified, and the resource usage amount of the selected integration target server device is allocated to the identified integration destination server device And Sequentially as well, While switching the integration target server device by selecting another integration target server device from the integration target list S, the resource usage of the selected other integration target server device is set to each of the n integration destinations.
- Another integration target selected by the identified integration destination server device by identifying the integration destination server device corresponding to the smallest dispersion value among the dispersion values when provisionally assigned to the server device
- An allocation unit for confirming allocation of the resource usage of the server device It is made to function as.
- the resource allocation method of the present invention includes In a resource allocation method performed by a computer including a list storage unit, a priority storage unit, and an allocation unit, (1)
- the list storage unit An integration target list S in which resource usage for each resource type is described for each of the m integration target server devices (m: integer of m ⁇ 3), and the m described in the integration target list S
- the priority storage unit Store the priority specified for each resource type, (3)
- the allocation unit One integration target server device is selected from the integration target list S, and one integration destination server device is selected from the integration destination list S ′, and the resource usage of the selected integration target server device is selected.
- the current resource usage of the selected integration destination server device when provisionally assigned to the integration destination server device, and all the other integration destination server devices described in the integration destination list S ′ With respect to the current resource usage, a variation coefficient defined as a ratio between the average of the target resource usage and the standard deviation is calculated for each resource type, and the calculated variation coefficient for each resource type, Calculate the sum of multiplication of the priority specified for the same resource type as the corresponding resource type of the coefficient of variation as a dispersion value, Sequentially as well, The resource of the integration target server device selected by another selected integration destination server device while switching the integration destination server device by selecting another integration destination server device from the integration destination list S ′ When the usage amount is provisionally allocated, the dispersion value is calculated, and each of the resource usage amounts of the integration target server devices selected to each of the n integration destination server devices is provisionally allocated.
- the integration destination server device corresponding to the dispersion value that is the smallest among the dispersion values of the integration destination server device is identified, and the resource usage amount of the selected integration target server device is allocated to the identified integration destination server device And Sequentially as well, While switching the integration target server device by selecting another integration target server device from the integration target list S, the resource usage of the selected other integration target server device is set to each of the n integration destinations.
- Another integration target selected by the identified integration destination server device by identifying the integration destination server device corresponding to the smallest dispersion value among the dispersion values when provisionally assigned to the server device It is characterized by allocating resource usage of the server device.
- an integration target server device and an integration destination server device that have uniform resource usage after integrating the integration target server device to be integrated with the integration destination server device.
- a resource allocation device that determines a combination can be provided.
- FIG. 1 is a diagram illustrating an example of an appearance of a resource allocation device 100 realized by a computer.
- a resource allocation device 100 includes a system unit 830, a display device 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 814 (Key / Board: K / B), and a mouse 815.
- FDD 817 Flexible Disk Drive
- CDD Compact Disk Drive
- printer device 819 printer device 819
- other hardware resources which are connected by cables and signal lines.
- the system unit 830 is connected to the network 801.
- FIG. 2 is a diagram illustrating an example of hardware resources of the resource allocation device 100 realized by a computer.
- the resource allocation device 100 includes a CPU 810 (Central Processing Unit) that executes a program.
- the CPU 810 includes a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, an FDD 817, a CDD 818, a printer device 819, and a magnetic disk device 820 via a bus 825. And control these hardware devices.
- a storage device such as an optical disk device or a flash memory may be used.
- the RAM 812 is an example of a volatile memory.
- Storage media such as the ROM 811, the FDD 817, the CDD 818, and the magnetic disk device 820 are examples of nonvolatile memories. These are examples of a storage device or a storage unit, a storage unit, and a buffer.
- the communication board 816, the keyboard 814, the FDD 817, and the like are examples of an input unit and an input device.
- the communication board 816, the display device 813, the printer device 819, and the like are examples of an output unit and an output device.
- the communication board 816 is connected to a network 801 (LAN or the like).
- the communication board 816 may be connected not only to the LAN but also to a WAN (wide area network) such as the Internet or ISDN.
- the magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824.
- the programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.
- the program group 823 stores a program for executing a function described as “unit” in the description of the embodiment described below.
- the program is read and executed by the CPU 810.
- the file group 824 includes “allocation target list S”, “allocation destination resource capacity P ′”, “priority ⁇ ”, “allocation destination list S ′”, “allocation list” in the description of the embodiment described below.
- the “ ⁇ file” and “ ⁇ database” are stored in a recording medium such as a disk or a memory.
- Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 810 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display.
- Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during CPU operations for extraction, search, reference, comparison, calculation, calculation, processing, output, printing, and display. Is remembered.
- data and signal values are stored in the memory of RAM 812, the flexible disk of FDD 817, the compact disk of CDD 818, the magnetic disk of magnetic disk device 820, other optical disks, mini disks, DVDs (Digital).
- -It records on recording media, such as Versatile and Disk.
- Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.
- to part may be “means”, “to circuit”, and “to device”, and “to step”, “to” It may be “procedure” or “processing”. That is, what is described as “ ⁇ unit” may be realized by firmware stored in the ROM 811. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware.
- Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD.
- the program is read by the CPU 810 and executed by the CPU 810. In other words, the program causes the computer to function as “ ⁇ unit” described below. Alternatively, it causes the computer to execute the procedures and methods of “to part” described below.
- FIG. 3 is a block diagram illustrating a configuration of the resource allocation device 100 according to the first embodiment.
- terms used in the following are defined.
- the resource assignment device 100 is a resource assignment device that assigns (integrates) the functions of a plurality (m) of server devices to n (n ⁇ m) server devices.
- a server device to be integrated hereinafter referred to as a server
- an integration target server an allocation target server, an allocation target, or an original server.
- Each original server is represented using the symbol “S i ”.
- An integration destination server A server that is an integration destination (a server that realizes the functions of a plurality of original servers) is referred to as an integration destination server, an allocation destination server, an allocation destination, or a destination server.
- the destination server is represented by using the symbol “S ′ j ” (the symbol relating to the destination server is appended with “′” (dash)).
- (3) "Resource usage of original server” The CPU usage (CPU load), memory usage (memory load), and the like of the original server S i are expressed as “CPU usage P cpu, i , memory usage: P mem, i ” using the symbol “P”. .
- (4) "Resource capacity of destination server” The CPU capacity, memory capacity, and the like of the destination server S ′ j are represented as a CPU capacity P ′ cpu, j and a memory capacity P ′ mem, j using the symbol “P ′”.
- the resource allocation device 100 is a device on which an allocation program operates. As shown in FIG. 3, the resource allocation device 100 includes an input unit 110, an allocation unit 120, a table storage unit 130, and a list storage unit 140 (an example of a priority storage unit, an example of a resource capacity storage unit).
- the input unit 110 includes “allocation target list S” (sometimes referred to as first input information), “allocation destination resource capacity P ′” (sometimes referred to as second input information), “priority”. "Degree ⁇ " (sometimes referred to as third input information).
- the list storage unit 140 stores “allocation target list S” input by the input unit 110, “allocation destination list S ′” generated by the allocation unit 120, and the like.
- the table storage unit 130 stores a configuration information table 121, a CPU load table 131, and the like. In each of the configuration information table 121 and the CPU load table 131 to the network load table 135, predetermined data is set in advance.
- FIG. 4 shows the configuration information table 121.
- FIG. 5 shows a CPU load table 131 in which the load of the allocation target (original server) is stored.
- FIG. 6 shows the memory usage table 132.
- FIG. 7 shows the disk usage table 133.
- FIG. 8 shows the disk access bandwidth table 134.
- FIG. 9 shows the network load table 135.
- the allocation unit 120 performs resource allocation.
- the function of the assigning unit 120 will be described in detail in the description of the operation described later.
- FIG. 10 is a flowchart showing the “allocation operation” of resources.
- the operation of the resource assignment device 100 will be described with reference to FIG.
- step S500a input by the input unit 110
- step S500a the input unit 110 first inputs three pieces of input information such as “allocation target list S”, “allocation resource capacity P ′”, and “priority ⁇ ” in allocation. input. First, the input information will be described.
- FIG. 11 is a diagram illustrating an example of the “assignment target list S” that is the first input information.
- the number of assignment targets S i is m
- FIG. 12 is a diagram illustrating an example of “allocation destination resource capacity P ′” that is the second input information.
- the allocation resource capacity P ′ of the destination server is as follows.
- This second input information P ′ means the upper limit value P ′ of the capacity of one destination server S ′ j .
- “Allocation resource capacity P ′” is, for example, (1) Upper limit (%) of CPU usage rate (usage amount), (2) Upper limit of memory usage (KB), (3) Upper limit of disk usage (KB), (4) Upper limit of disk access bandwidth (KB / second), (5) The upper limit (KB / second) of the network access bandwidth.
- each resource capacity is (1) CPU usage rate upper limit P ′ cpu, limit , (2) Upper limit value P ′ mem, limit of memory usage (3) Upper limit value P ′ disk, limit of disk usage (4) Upper limit value P ′ DA, limit of disk access bandwidth (5) Upper limit value P′NA, limit of network access bandwidth
- These “allocation destination resource capacities P ′” are capacities corresponding to the CPU load table 131 to the network load table 135. Note that the unit of memory usage and disk usage does not have to be KB. The unit of the disk access bandwidth and the network access bandwidth may not be KB / second.
- FIG. 13 is a diagram illustrating an example of the priority ⁇ k that is the third input information.
- the subscript “k” indicates the resource type.
- the “priority ⁇ k ” means, for example, a CPU usage rate priority ⁇ cpu of 50, a memory usage priority ⁇ mem of 20, a disk usage priority ⁇ disk of 10, and a disk access bandwidth priority.
- ⁇ DA is specified as 10 and network access bandwidth priority ⁇ N
- A is specified in a format such as 10, and is input.
- the priority ⁇ in allocation is (1) CPU usage rate ⁇ cpu , (2) Memory usage ⁇ mem , (3) Disk usage ⁇ disk , (4) Disk access bandwidth ⁇ DA , (5) Network access bandwidth ⁇ NA , Exists in each.
- Each priority ⁇ is compared with other priorities at a ratio of input values.
- CPU usage rate priority ⁇ cpu 50
- Memory usage priority ⁇ mem 20
- the disk usage priority ⁇ disk is 10
- Disk access bandwidth priority ⁇ DA 10
- S500b Set of allocation target list S
- the allocating unit 120 determines each resource usage based on the CPU load table 131, the memory usage table 132, the disk usage table 133, the disk access bandwidth table 134, and the network load table 135. Is calculated and set in the “assignment target list S”. Details will be described later.
- S501 Generation of allocation destination list S '
- the allocation unit 120 sets the resource usage of each resource type such as CPU usage and memory usage set in the “allocation target list S” and “allocation destination resource capacity P ′” (second ) And “priority ⁇ k ” (third input information), an initial number n of allocation destinations (destination servers) is obtained, and an “allocation destination list S in which this initial number n and resource capacity are set. '"Is generated.
- FIG. 14 is a diagram illustrating an example of the “assignment destination list S ′”. Details of the generation of the “assignment destination list S ′” will be described later.
- the allocation unit 120 calculates “total value P SS, i ” of each resource usage amount of each allocation target (source server) in the “allocation target list S” illustrated in FIG. Details of the calculation of “total value P SS, i ” will be described later.
- FIG. 15 shows the state after sorting in FIG.
- the assigning unit 120 assigns each sorted source server S i sequentially to the destination server S ′ j .
- the original server S i is selected in descending order of the total value P SS, i and the allocation process is executed.
- the allocating unit 120 executes the process of allocating the resource usage P of the source server S i to the destination server S ′ j based on the “allocation target list S” and the “allocation destination list S ′”.
- the assignment unit 120 selects one source server Si having the largest total value from the “assignment target list S” after sorting. For example, in the case of FIG. 15, first, based on the server S 3 is selected.
- step S ⁇ b> 505 the assignment unit 120 selects an assignment destination S ′ j from the “assignment destination list S ′”.
- any destination server S ′ j may be selected.
- the allocation unit 120 determines whether the source server S i can be allocated to the destination server S ′ j from the capacity of the allocation destination S ′ j and the “allocation status”. Details will be described later.
- S507 Scatter calculation If possible assignments, in S507, allocation unit 120, scattered [rho 'calculates the sd (scattered value), the calculated scattered [rho' when the allocation and sd, source server S i, previously server S 'j Are registered in the “assignable list A”.
- FIG. 16 is a diagram illustrating an example of the “assignable list A”. Details of S507 will be described later.
- the assignment unit 120 determines whether there is an assignment destination S ′ j that has not yet been assigned in the “assignment destination list S ′”. If there is, the process proceeds to S505, and all assignment destinations S ′ j are assigned. On the other hand, S506 to S507 are repeated.
- the allocating unit 120 tries to allocate one original server S i to all the destination servers S ′ j , and proceeds to S509 after calculating the dispersion.
- step S509 it is determined whether the “assignable list A” is not empty. If the “assignable list A” is not empty, the process proceeds to S510. On the other hand, if the “assignable list A” is empty, the process proceeds to S511.
- the assignment unit 120 selects a combination of the source server S i and the destination server S ′ j having the smallest dispersive P ′ sd from the “assignable list A”. Then, it is determined to allocate the resource usage of the source server S i of the set to the resource capacity of the destination server S ′ j of the set, and the process proceeds to S513.
- the allocation unit 120 determines that the allocation destination S i is not allocated because the allocation destination resource capacity is insufficient because the “allocation available list A” is empty. Therefore, the assignment unit 120 adds the assignment destination S ′ n + 1 and confirms the assignment by a combination of S ′ n + 1 and S i in S512.
- allocation unit 120 determines whether the source server S i not assigned to the "assignee list S" exists. If it is determined that it exists, the process proceeds to S504, and S504 to S512 are repeated for all allocation targets (original servers). When all allocation targets (original servers) have been allocated, the process ends.
- S500b is a step in which the allocation unit 120 sets the resource usage amount in the “allocation target list S”.
- the allocation unit 120 sets the resource usage in the “allocation target list S” input as the first input information.
- the allocating unit 120 refers to the configuration information table 121, and determines each allocation target (original server) from the CPU load table 131, the memory usage table 132, the disk usage table 133, the disk access bandwidth table 134, and the network load table 135. ) Is acquired and set in the “allocation target list S”.
- the configuration information table 121 describes the relationship between the host (server device), system ID, CPU, and the like.
- the allocation unit 120 can set the usage amount in the “allocation target list S” using the configuration information table 121 and the various tables 131 to 135. .
- the allocating unit 120 sets the resource usage in each cell of S 1 to S 7 of the “allocation target list S” in FIG.
- Each load set in the “assignment target list S” (1) CPU usage: P cpu, i , (2) Memory usage: P mem, i , (3) Disc usage: P disk, i , (4) Disk access bandwidth: P DA, i , (5) Network access bandwidth usage: PNA, i And
- the allocation unit 120 sets the load in the “allocation target list S”
- the maximum, minimum, average, or tile value of a specific period is calculated from the data accumulated in the tables 131 to 135. And set.
- the CPU usage rate P cpu, i usage amount
- the CPU usage rate P cpu, i usage amount
- the CPU performance value is further set as the CPU usage amount.
- the value of “memory usage” in the memory usage table 132 of FIG. 6 is set in the memory usage P mem, i .
- the value of “disk usage” in the disk usage table 133 of FIG. 7 is set in the disk usage P disk, i .
- the disk access bandwidth P DA, i is set to a value obtained by adding up “disk read speed” and “disk write speed” in the disk access bandwidth table 134 of FIG. (5) the network access band P NA, the i, sets the value of the sum of the "network transmission speed" and "Network receiving rate” in the network load table 135 in FIG.
- step S501 the assignment unit 120 generates the “assignment destination list S ′” in FIG.
- the allocating unit 120 allocates from the “allocation destination resource capacity P ′” (second input information) and the total value of the resource usage (load) of the “allocation target list S” in which the resource usage is set.
- the initial value n of the number of destinations (destination servers) is calculated.
- the allocation unit 120 first calculates the initial number n ′ for each usage amount of the resource type such as the CPU usage amount and the memory usage amount, and finally determines the initial number n based on the priority ⁇ for each resource type. To do. Specifically, it is as follows. For example, the assigning unit 120 calculates the initial number n ′ cpu determined from the CPU usage based on the following (Equation 1).
- the allocation unit 120 calculates the total value of the CPU loads in the “allocation target list S” as the allocation destination capacity P ′ in the “allocation destination resource capacity P ′” (second input information). Calculate n ′ cpu by dividing by cpu, limi .
- the numerator of (Formula 1) is the total value of the CPU usage P cpu, i column in FIG.
- the denominator of the P 'cpu, limit is the second input information' assignees resource capacity P 'is the "" CPU capacity P' cpu, limi "( Figure 12).
- the allocation unit 120 obtains the necessary allocation destination number n ′ for each load of the resource type by the same calculation. That is, the assigning unit 120 (1) n ′ cpu , (2) n ′ mem , (3) n ′ disk , (4) n ′ DA , (5) n ′ NA Is calculated.
- the allocation unit 120 determines the number n ′ of the load (resource type) with the highest priority ⁇ as the initial number n from the number n ′ calculated for the load for each resource type. That is, n ′ having the highest priority among n ′ cpu and the like is specified. If there is one with the highest priority, the resource type n ′ indicated by the priority is determined as the initial number n. On the other hand, when there are a plurality of items with the highest priority, as shown in the following (Formula 2), the assignment unit 120 determines n ′ that is the largest among the same priorities as the initial number n.
- Equation 2 is a case where the priority of n ′ cpu and n ′ mem is the same and maximum.
- n max (n ′ cpu , n ′ mem ) (2)
- “n ′ cpu ” and “n ′ mem ” corresponding to ⁇ cpu and ⁇ mem are adopted by the priority evaluation.
- n ′ having a large numerical value is adopted as the final initial number n.
- the assignment unit 120 When the initial number n is determined, the assignment unit 120 generates an “assignment destination list S ′”.
- the “assignment destination list S ′” is set with the n destination servers S ′ j determined as described above and the resource capacity. In this case, as shown in FIG. 14, each capacity of “allocation destination resource capacity P ′” as the second input information is set as the resource capacity.
- S502 is a step in which the allocation unit 120 calculates the “total value P ss, i ” of the resource usage for the “allocation target list S” in FIG.
- the “total value P ss, i ” of the resource usage is a deviation value of the resource usage for each resource type such as CPU load, memory usage, disk usage, disk load, network load, etc. of a certain allocation target server S i And a total weighted with priority weights. Each resource usage cannot be simply summed because the units are different.
- the total value P ss, i is a summary value of the total sum of the resource usage for each source server S i .
- P ss, i is obtained as follows.
- the assigning unit 120 obtains the average P cpu, avg and standard deviation P cpu, sd of the CPU load among the integration target servers by the following (Expression 3) and (Expression 4). The average and standard deviation are similarly obtained for the memory usage and disk usage.
- CPU load alpha cpu the priority of each resource, memory usage alpha mem, when the disk load alpha disk, total value is "comprehensive resource usage" of a source server S i ⁇ ss, i is The following (Expression 5) to (Expression 7) are obtained as (Expression 8). That is, as in (Equation 8), the total value ⁇ ss, i is obtained as the sum of the deviation values of each load multiplied by the weight (priority of the load). In general, the deviation value is calculated so that the average is 50 and the standard deviation is 10. However, in order to avoid unnecessary calculation, the deviation value is calculated so that the average is 0 and the standard deviation is 1.
- P cpu, score, i (P cpu, i ⁇ P cpu, avg ) / P cpu, sd (5)
- P mem, score, i (P mem, i- P mem, avg ) / P mem, sd (6)
- P disk, score, i (P disk, i- P disk, avg ) / P disk, sd (7)
- P ss, i ⁇ cpu ⁇ P cpu, score, i + ⁇ mem ⁇ P mem, score, i + ⁇ disk ⁇ P disk, score, i (8)
- the allocation unit 120 sorts the original servers S i of the “allocation target list S” in descending order of the total value ssss , i , as illustrated in FIG.
- allocation section 120 uses the "Assignee List S” and "allocation destination list S '”, executes allocation processing of the original server S i.
- the assignment unit 120 selects the original server S i from the “assignment target list S”.
- the allocating unit 120 selects the one having a large total value as described above.
- the assigning unit 120 first selects S 3 , and sequentially selects “S 1 , S 5 ,.
- allocation section 120 selects the j 'one of the preceding server S from the "allocation destination list S"'.
- S506 (Details of S506: assignment possible determination) S506 will be described in detail.
- the source server S i can be allocated to the destination server S ′ j from the resource capacity P ′ (upper limit) of the destination server S ′ j and the “allocation status” of the current resource usage of the destination server S ′ j. Determine whether or not.
- the assignment unit 120 first determines whether or not the source server S 3 can be assigned to the destination server S ′ 1 .
- the determination of S506, judges 'in the case where the assigned to the j, previously server S' usage of source servers S i previously server S usage total for each resource j is whether the following each resource capacity.
- the allocating unit 120 determines each resource capacity of the allocation destination S ′ j from the “allocation destination list S ′” in FIG.
- CPU resource capacity P ′ cpu, limit, j Memory resource capacity P ′ mem, limit, j , Disk resource capacity P'disk, limit, j Etc. are obtained and it is determined whether or not the following conditions (Equation 9) to (Equation 11) are satisfied.
- P ′ mem, j ⁇ P ′ mem, limit, j (10) P ′ disk, j ⁇ P ′ disk, limit, j (11) (Formula 9) will be described as an example.
- “P ′ cpu, limit, j ” on the right side is the “upper limit value of CPU utilization” of the destination server S ′ 1 .
- “P ′ cpu, j ” on the left-hand side represents the destination when the CPU usage (CPU usage rate) of the original server S 3 is assigned to the “current CPU usage” of the destination server S ′ 1.
- the “current CPU usage” is the total CPU usage currently allocated to the destination server S ′ 1 when the allocation is confirmed in S 510.
- the allocation unit 120 stores and sums the allocation amount every time the allocation to the destination server S ′ j is confirmed.
- S507 is a step of calculating “scattered ⁇ ′ sd ” related to the destination server S ′ j when the source server S i (S 3 ) is assigned to the destination server S ′ j (S ′ 1 ). Then, the assignment unit 120 registers the combination of “scattered ⁇ ′ sd ”, the source server S i , and the destination server S ′ j in the “assignable list A” shown in FIG.
- P ′ sd ⁇ cpu ⁇ [P ′ cpu, sd / P ′ cpu, avg ] + ⁇ mem ⁇ [P ′ mem, sd / P ′ mem, avg ] + ⁇ disk ⁇ [P ′ disk, sd / P ′ disk, avg ] (14)
- the CPU usage P ′ cpu, j , the memory usage P ′ mem, j , and the disk usage P ′ disk, j are each resource usage of the allocation destination S ′ j .
- the resource usage of the allocation destination S ′ j is the resource usage of the allocation target server S i ( ⁇ X j ), where X j is the set of allocation targets (original servers) allocated to S ′ j.
- the amount is the sum of each resource. In the case of the “j” destination server S ′ j to be calculated, this is an amount obtained by adding the resource usage of the source server S i to be processed to the current resource usage.
- P (Equation 12) 'cpu, 1 is
- P (Equation 9)' is the same as cpu, 1.
- “Spreading ⁇ ′ sd ” calculates a standard deviation (sd) and an average (agv) of the usage amount for each resource between the destination servers as shown in (Expression 12) to (Expression 14).
- the dispersion (coefficient of variation) for each resource is calculated, the calculated dispersion is multiplied by the priority ⁇ having the same resource type, and the sum is obtained, and the degree of variation in the resource usage of the entire allocation destination is quantified.
- “scattered ⁇ ′ sd ” is obtained from (Equation 14) from the standard deviation and weight of each resource type. Since the standard deviation of each resource type has a different scale, it is divided by each average value to calculate a “variation coefficient”.
- the coefficient of variation is a value obtained from the ratio between the average and the standard deviation. Then, the coefficient of variation and the priority ⁇ having the same resource type and the coefficient of variation are multiplied and added up. In general, the coefficient of variation is expressed as a percentage obtained by dividing the standard deviation by the average and multiplying by 100. Here, in order to avoid unnecessary calculation, the standard deviation is only divided by the average.
- allocation section 120 selects the source server S 3 from the "assignee list S”. In S505, allocation section 120 selects the 1 'earlier server S from the "allocation destination list S"'. In S506, the assignment unit 120 determines whether assignment is possible. In this case, not yet assigned to the earlier server S '1, S506 is a is YES.
- the assignment unit 120 calculates “scattered ⁇ ′ sd ” based on (Expression 12) to (Expression 14).
- the assigning unit 120 calculates a standard deviation “P ′ cpu, sd ” of the CPU usage of the destination servers S ′ 1 to S ′ 3 based on “P ′ cpu, avg ”.
- the allocating unit 120 calculates a “variation coefficient” from the standard deviation and the average, multiplies the priority and the variation coefficient for each resource type, calculates a dispersion “P ′ sd ”, Register in the possible list A ”.
- the process proceeds to S510.
- the process proceeds to S510.
- the scattered “P ′ sd ” has the minimum values for the destination server S ′ 2 and the destination server S ′ 3 that are not yet assigned.
- the assigning unit 120 assigns the original server S 1 to the destination server S ′ 2 .
- “P3” and “P1” are surrounded by a frame to indicate confirmation.
- the same processing is executed for the assignment of the remaining former servers S 7 , S 4 , S 6 .
- the resources to be considered for calculation are limited to three, that is, the CPU usage, the memory usage, and the disk usage, the same calculation is used for the disk access bandwidth and the network access bandwidth. Can be considered.
- the resource allocation device 100 has been described.
- the resource allocation device 100 may be understood as an embodiment of a “resource allocation method” performed by the resource allocation device 100.
- the resource allocation apparatus 100 can be grasped as an embodiment of a “resource allocation program” that is executed by a computer.
- it can be understood as an embodiment of a computer-executable “recording medium” in which a “resource allocation program” is recorded.
- the resource allocation device 100 calculates a total value in consideration of the priority from the deviation value of the resource usage, and determines the order of the original servers to be allocated based on the total value. Then, the assignment unit 120 calculates “scattering P ′ sd ” of each resource usage amount in the case of further assignment in consideration of the priority ⁇ . The allocation unit 120 determines a combination of the source server and the destination server that minimizes the “scattering P ′ sd ”. This makes it possible to calculate a combination that equalizes the resource usage after integration. Furthermore, the combination can be calculated flexibly by considering the priority.
- each resource has a plurality of devices, such as a CPU, and it is not assumed that each device has an independent load.
- each device has a plurality of devices.
- the second embodiment will be described by taking a case of a plurality of CPUs as an example. Although the CPU will be described below, other resources can be similarly used for a plurality of devices.
- the CPU load table 131-1 stores the load for each CPU device as shown in FIG.
- FIG. 22 is a flowchart showing the operation of the second embodiment.
- S600 to S608 are added to the flowchart of FIG. In the first embodiment, it is determined by simply adding in S506.
- the usage amount for each CPU of the allocation target (source server) and the allocation destination (destination server) is further considered by the steps shown in “step 600 to step 608” in FIG.
- the assignment unit 120 determines whether assignment is possible.
- the allocation of each CPU is combined so that the allocation target and the usage amount of the allocation destination are complementary. That is, the assigning unit 120 combines a CPU having a large CPU usage amount to be assigned with a CPU having a small CPU usage amount to be assigned. Thereby, it can allocate so that the usage-amount of each CPU of the allocation destination after allocation may become uniform.
- the flow for determining whether the allocation target server S i can be allocated to the allocation destination server S ′ j is as follows. The following is processing by the assignment unit 120. (1) First, in step 600, the CPUs, S i, and cpu of the allocation target S i are rearranged in descending order based on the usage amount P cpu, each, i . (2) In step 601, k is set to 1. (3) In step 602, 'each CPU j, S' allocation destination server S j, the amount P 'cpu the cpu, sort in ascending order based on the j.
- step 603 1 is set to 1; (5)
- step 604 it is determined whether the sum of P cpu, each, i, k and P ′ cpu, each, j, l exceeds P ′ cpu, limit, and if so, S ′ j, cpu ( It is determined that the assignment of S i, cpu (original server CPU) to the destination server CPU) has failed, and the assignment of the original server S i to the destination server S ′ j has also failed, and the process proceeds to step 508. (6) If not, go to step 605 and advance k and l by 1.
- step 606 if l does not exceed the number of CPU N 'j, the process proceeds to step 608, k is determined whether not exceeding the number of CPU N i. If not, since there is Si, cpu (original server CPU) that has not yet been assigned, the process proceeds to step 604. In the case of exceeding, since all Si, cpu (original server CPU) have been assigned , the combination of Si, cpu (original server CPU) and S'j, cpu (destination server CPU) is assigned. Add to the possible list A ”and go to step 507.
- step 606 if l exceeds the number of CPUs N ′ j (only when N i > N ′ j ), the process proceeds to step 607 and allocation to S ′ j, cpu (CPU of the destination server) is performed. Temporarily reflect and rearrange again in step 602.
- FIG. 23 shows the assignment in the case of N i ⁇ N ′ j (number of source server CPUs ⁇ number of destination server CPUs).
- FIG. 23 shows after sorting by the CPU usage of the source server and the destination server.
- the portion colored by hatching indicates the CPU usage.
- the allocation target CPU 2 maximum usage amount
- the allocation destination CPU 4 minimum usage amount
- the allocation target CPU 1 is allocated to the allocation destination CPU 2.
- FIG. 24 shows the assignment in the case of N i > N ′ j (number of source server CPUs> number of destination server CPUs).
- FIG. 24 also shows after sorting by the CPU usage of the source server and the destination server as in FIG.
- the allocation target CPU 4 maximum usage amount
- the allocation target CPU 1 is allocated to the allocation destination CPU 1.
- the allocation is temporarily reflected (step 607), the allocation destination CPUs are rearranged, the allocation target CPU 2 is allocated to the allocation destination CPU 1 (minimum usage amount), and the allocation target CPU 3 is allocated to the allocation destination CPU 2.
- the resource usage of multiple CPUs is calculated on average.
- the resource usage of multiple CPUs is calculated on average.
- the flow of FIG. 22 makes it possible to accurately determine whether or not assignment is possible while considering a plurality of devices.
- FIG. FIG. 4 is a block diagram of a resource allocation device 100 according to the second embodiment.
- Configuration information table 121 according to the first embodiment.
- FIG. The memory usage table 132 according to the first embodiment.
- the disk usage table 133 according to the first embodiment.
- the disk access bandwidth table 134 according to the first embodiment.
- FIG. 5 is a flowchart showing the operation of the resource assignment device 100 according to the first embodiment.
- the allocation target list S according to the first embodiment.
- Allocation destination resource capacity P ′ according to the first embodiment.
- FIG. 6 is a diagram for explaining a calculation method of scattering P sd according to the first embodiment.
- FIG. 6 is a diagram for explaining a calculation method of scattering P sd according to the first embodiment.
- FIG. 6 is a diagram for explaining a calculation method of scattering P sd according to the first embodiment.
- FIG. 6 is a diagram for explaining a calculation method of scattering P sd according to the first embodiment.
- FIG. 10 is a diagram showing a CPU load table 131-1 according to the second embodiment. 9 is a flowchart showing the operation of the second embodiment.
- FIG. 10 is a diagram for explaining a CPU usage amount allocation method according to the second embodiment
- FIG. 14 is another diagram for explaining a CPU usage allocation method according to the second embodiment
- FIG. 4 shows a summation method according to the first embodiment in the second embodiment.
- FIG. 6 illustrates a summing method according to a second embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
リソース割り当て装置100は、統合の対象となるm台の統合対象サーバSiのリソース使用量をn台(n<m)の統合先サーバに割り当てる装置である。割り当て対象リストSには、各統合対象サーバSiごとにリソース使用量が記載されている。リソース割り当て装置100は、割り当て対象リストSの各統合対象サーバSiのリソース使用量の偏差値を算出し、偏差値とリソースごとの優先度とから優先度を考慮した総合値を算出し、総合値の降順に統合対象サーバSiをソートする。割り当て部120は、総合値の大きい統合対象サーバSiの順に割り当て処理を実行する。割り当て処理において、割り当て部120は、統合対象サーバSiを統合先サーバS’jに割り当てたと仮定した場合の各リソース使用量の「散らばりP’sd」を優先度αを考慮し、「散らばりP’sd」を最小化する統合対象サーバSiと先サーバと統合先サーバS’jの組み合せを決定する。
Description
この発明は、統合の対象となるm台の統合対象サーバSiのリソース使用量をn台(n<m)の統合先サーバに割り当てるリソース割り当て装置100に関する。
仮想化技術を利用したサーバ統合とは、企業内にある数百から数千のサーバ(統合対象サーバ)を仮想化し、より少数で高性能なサーバ(統合先サーバ)に統合するものである。複数のサーバを1台の物理サーバで動作させるため、統合されるサーバが必要とするリソース(CPU、ディスク、ネットワークなど)が統合先サーバのリソース容量に収まるように、統合先サーバのリソース容量や台数、統合対象サーバとの組み合わせを見積もる必要がある。
そこで、統合対象サーバの運用時のリソース使用量(CPU使用率、ディスク使用量など)を収集し、その情報と統合先サーバのリソース容量から、統合先サーバのリソース容量を超えず、かつリソース使用量が均一になる統合対象サーバと統合先サーバの組み合わせを算出する必要がある。
非特許文献1では、仮想化技術を利用したサーバ統合において統合対象サーバと統合先サーバの組み合わせを算出する問題をビン・パッキング問題(大きさの異なるアイテムを容量の決まった箱に詰めるとき、箱の個数が最小となるように詰め込む問題)とみなし、ヒューリスティックな解法のひとつであるFirst-Fit Decreasing(FFD)を改良したアルゴリズムを用いて解いている。改良FFDでは、箱の容量を超えた場合にすぐに新規の箱を追加せず、詰め込みに失敗したアイテムを着目していない次元の大きなアイテムとしてアイテムの並び替えを行い優先的に詰め込む。アイテムの並び替えを行う回数には閾値を設け、その値を超えた場合には新規に箱を追加していく。このように並べ替えを行うことで箱の個数が無駄に増加することを防ぎ、最適化を図っている。
本文献によれば、着目していない次元を並べ替えによって考慮する事で、最適な解を低い計算コストで求めている。しかし、あくまで着目する次元が1つのため、CPUとディスクなど複数の次元に着目したり、優先度を付けて着目するなどができない。仮想化環境において、実行中の複数の仮想マシンからシステム負荷を計測し、そのパフォーマンスが最大となるような、仮想マシンの組合せを算出する方式が考案されている。
一方、特許文献1では、ホスティング・サービス資源を最適に割り当てる方法について述べられている。この発明では、クライアントの利用パターンをモデル化し、利用パターンのピークが互いにばらばらとなるように、クライアントを組み合わせサーバに割り当てる方式が述べられている。割り当てでは、FFDの利用も示唆されている。
特開2002-318791号公報
網代育大,田中淳裕,「サーバ統合のための組合せ最適化アルゴリズムの提案と評価」,第21回人工知能学会全国大会2007、
従来の割り当て方式では、FFDなどを利用して最小のサーバ台数に割り当てることやクライアントとの利用パターンのピークをばらつかせるような組み合わせで割り当てるなどの方式に注力しており、割り当て後のリソースのバランスについて示唆されているものは無い。特にFFDを利用した場合、リソースの大きなものから順にサーバに割り当てられ、足りなくなるとサーバを追加するため、リソースの大きいものが同じサーバに割り当てられることになる。リソースの大きいものはリソースの変動幅も大きいため、リソースの大きいものどうしが同じサーバに割り当てられると変動によりリソース不足となる確率が高まるため、リソースの大きさはサーバ間でできるだけ均一であることが望ましい。
本発明は、統合対象となる統合対象サーバ装置を統合先の統合先サーバ装置に統合した後のリソース使用量が均一となるような、統合対象サーバ装置と、統合先の統合先サーバ装置との組み合わせを決定するリソース割り当て装置の提供を目的とする。
この発明のリソース割り当て装置は、
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶するリスト記憶部と、
前記リソース種別ごとに指定された優先度を記憶する優先度記憶部と、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する割り当て部と
を備えたことを特徴とする。
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶するリスト記憶部と、
前記リソース種別ごとに指定された優先度を記憶する優先度記憶部と、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する割り当て部と
を備えたことを特徴とする。
前記割り当て部は、
前記統合対象リストSに記載されたリソース種別ごとにそれぞれの前記統合対象サーバ装置のリソース使用量の偏差値を算出し、算出されたリソース種別ごとの前記偏差値と、前記偏差値のリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を総合値として前記統合対象サーバ装置ごとに算出すると共に、前記統合対象リストSから前記統合対象サーバ装置を選択するときには、前記算出した前記総合値の値に従って、前記統合対象リストSから前記統合対象サーバ装置を選択することを特徴とする。
前記統合対象リストSに記載されたリソース種別ごとにそれぞれの前記統合対象サーバ装置のリソース使用量の偏差値を算出し、算出されたリソース種別ごとの前記偏差値と、前記偏差値のリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を総合値として前記統合対象サーバ装置ごとに算出すると共に、前記統合対象リストSから前記統合対象サーバ装置を選択するときには、前記算出した前記総合値の値に従って、前記統合対象リストSから前記統合対象サーバ装置を選択することを特徴とする。
前記リソース割り当て装置は、さらに、
前記統合先サーバ装置のリソース種別ごとのリソース容量を記憶するリソース容量記憶部を備え、
前記割り当て部は、
前記リソース容量記憶部に記憶された前記リソース容量と前記統合対象リストSに記載された前記リソース使用量とに基づいてリソース種別ごとに前記統合先サーバ装置の暫定的な台数を算出し、算出されたそれぞれの暫定的な台数のうち、最大の前記優先度の指定されたリソース種別と同一のリソース種別について算出された台数を前記統合先サーバ装置の台数nとして決定することを特徴とする。
前記統合先サーバ装置のリソース種別ごとのリソース容量を記憶するリソース容量記憶部を備え、
前記割り当て部は、
前記リソース容量記憶部に記憶された前記リソース容量と前記統合対象リストSに記載された前記リソース使用量とに基づいてリソース種別ごとに前記統合先サーバ装置の暫定的な台数を算出し、算出されたそれぞれの暫定的な台数のうち、最大の前記優先度の指定されたリソース種別と同一のリソース種別について算出された台数を前記統合先サーバ装置の台数nとして決定することを特徴とする。
前記統合対象サーバ装置と前記統合先サーバ装置とは、
互いの間における同一リソース種別のうちの少なくとも一種類の同一リソース種別について、互いに複数のデバイスを有し、
前記割り当て部は、
選択された前記統合対象サーバ装置の同一リソース種別のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てる場合には、選択された前記統合対象サーバ装置の前記複数のデバイスの各リソース使用量を、前記選択された前記統合先サーバ装置の前記複数のデバイスのいずれかに順次に割り当てるごとに、前記リソース使用量が割り当てられた前記デバイスの割り当て後の使用量が許容量以内かどうかを判定することを特徴とする。
互いの間における同一リソース種別のうちの少なくとも一種類の同一リソース種別について、互いに複数のデバイスを有し、
前記割り当て部は、
選択された前記統合対象サーバ装置の同一リソース種別のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てる場合には、選択された前記統合対象サーバ装置の前記複数のデバイスの各リソース使用量を、前記選択された前記統合先サーバ装置の前記複数のデバイスのいずれかに順次に割り当てるごとに、前記リソース使用量が割り当てられた前記デバイスの割り当て後の使用量が許容量以内かどうかを判定することを特徴とする。
この発明のリソース割り当てプログラムは、
コンピュータを、
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶するリスト記憶部、
前記リソース種別ごとに指定された優先度を記憶する優先度記憶部、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する割り当て部、
として機能させることを特徴とする。
コンピュータを、
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶するリスト記憶部、
前記リソース種別ごとに指定された優先度を記憶する優先度記憶部、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する割り当て部、
として機能させることを特徴とする。
この発明のリソース割り当て方法は、
リスト記憶部と、優先度記憶部と、割り当て部とを備えたコンピュータが行うリソース割り当て方法において、
(1)リスト記憶部が、
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶し、
(2)優先度記憶部が、
前記リソース種別ごとに指定された優先度を記憶し、
(3)割り当て部が、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する
ことを特徴とする。
リスト記憶部と、優先度記憶部と、割り当て部とを備えたコンピュータが行うリソース割り当て方法において、
(1)リスト記憶部が、
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶し、
(2)優先度記憶部が、
前記リソース種別ごとに指定された優先度を記憶し、
(3)割り当て部が、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する
ことを特徴とする。
本発明により、統合対象となる統合対象サーバ装置を統合先の統合先サーバ装置に統合した後のリソース使用量が均一となるような、統合対象サーバ装置と、統合先の統合先サーバ装置との組み合わせを決定するリソース割り当て装置を提供できる。
実施の形態1.
図1は、コンピュータで実現されるリソース割り当て装置100の外観の一例を示す図である。図1において、リソース割り当て装置100は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワーク801に接続されている。
図1は、コンピュータで実現されるリソース割り当て装置100の外観の一例を示す図である。図1において、リソース割り当て装置100は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、FDD817(Flexible・Disk・ Drive)、コンパクトディスク装置818(CDD:Compact Disk Drive)、プリンタ装置819などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワーク801に接続されている。
図2は、コンピュータで実現されるリソース割り当て装置100のハードウェア資源の一例を示す図である。図2において、リソース割り当て装置100は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、プリンタ装置819、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813、プリンタ装置819などは、出力部、出力装置の一例である。
通信ボード816は、ネットワーク801(LAN等)に接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
上記プログラム群823には、以下に述べる実施の形態の説明において「~部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
ファイル群824には、以下に述べる実施の形態の説明において、「割り当て対象リストS」、「割り当て先リソース容量P’」、「優先度α」、「割り当て先リストS’」、「割り当て可能リストA」、あるいは「~テーブル」などとして説明する情報や、「~の判定結果」、「~の算出結果」、「~の抽出結果」、「~の生成結果」、「~の処理結果」として説明する情報や、データや信号値や変数値やパラメータなどが、「~ファイル」や「~データベース」の各項目として記憶されている。「~ファイル」や「~データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明においては、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において、「~部」として説明するものは、「手段」、「~回路」、「~機器」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。すなわち、「~部」として説明するものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以下に述べる「~部」としてコンピュータを機能させるものである。あるいは、以下に述べる「~部」の手順や方法をコンピュータに実行させるものである。
図3は、実施の形態1のリソース割り当て装置100の構成を示すブロック図である。以下に、図3の構成を説明する前に、以下で使用する用語を定義する。
(用語の定義)
(1)「統合対象サーバ装置」
実施の形態1のリソース割り当て装置100は、複数(m台)のサーバ装置の機能をn台(n<m)のサーバ装置に割り当てる(統合する)リソース割り当て装置である。この場合、統合される対象のサーバ装置(以下、サーバという)を、統合対象サーバ、割り当て対象サーバ、割り当て対象、あるいは元サーバという。個々の元サーバは、記号「Si」を用いて表す。
(2)「統合先サーバ」
統合先となるサーバ(複数の元サーバの機能を実現するサーバ)を、統合先サーバ、割り当て先サーバ、割り当て先、あるいは先サーバという。先サーバは、記号「S’j」を用いて表す(先サーバに関する記号には「’」(ダッシュ)を付す)。
(3)「元サーバのリソース使用量」
元サーバSiのCPU使用量(CPU負荷)、メモリ使用量(メモリ負荷)等を記号「P」を用いて、CPU使用量Pcpu,i、メモリ使用量:Pmem,iのようにあらわす。
(4)「先サーバのリソース容量」
先サーバS’jのCPU容量、メモリ容量等を記号「P’」を用いて、CPU容量P’cpu,j、メモリ容量P’mem,jのようにあらわす。
(1)「統合対象サーバ装置」
実施の形態1のリソース割り当て装置100は、複数(m台)のサーバ装置の機能をn台(n<m)のサーバ装置に割り当てる(統合する)リソース割り当て装置である。この場合、統合される対象のサーバ装置(以下、サーバという)を、統合対象サーバ、割り当て対象サーバ、割り当て対象、あるいは元サーバという。個々の元サーバは、記号「Si」を用いて表す。
(2)「統合先サーバ」
統合先となるサーバ(複数の元サーバの機能を実現するサーバ)を、統合先サーバ、割り当て先サーバ、割り当て先、あるいは先サーバという。先サーバは、記号「S’j」を用いて表す(先サーバに関する記号には「’」(ダッシュ)を付す)。
(3)「元サーバのリソース使用量」
元サーバSiのCPU使用量(CPU負荷)、メモリ使用量(メモリ負荷)等を記号「P」を用いて、CPU使用量Pcpu,i、メモリ使用量:Pmem,iのようにあらわす。
(4)「先サーバのリソース容量」
先サーバS’jのCPU容量、メモリ容量等を記号「P’」を用いて、CPU容量P’cpu,j、メモリ容量P’mem,jのようにあらわす。
リソース割り当て装置100は、割り当てプログラムが動作する装置である。図3に示すように、リソース割り当て装置100は、入力部110、割り当て部120、テーブル記憶部130、リスト記憶部140(優先度記憶部の一例、リソース容量記憶部の一例)を備える。
(入力部110)
入力部110は、後述のように、「割り当て対象リストS」(第1の入力情報という場合がある)、「割り当て先リソース容量P’」(第2の入力情報という場合がある)、「優先度α」(第3の入力情報という場合がある)を入力する。
入力部110は、後述のように、「割り当て対象リストS」(第1の入力情報という場合がある)、「割り当て先リソース容量P’」(第2の入力情報という場合がある)、「優先度α」(第3の入力情報という場合がある)を入力する。
(リスト記憶部140)
リスト記憶部140は、入力部110によって入力された「割り当て対象リストS」や、割り当て部120によって生成される「割り当て先リストS’」等を記憶する。
リスト記憶部140は、入力部110によって入力された「割り当て対象リストS」や、割り当て部120によって生成される「割り当て先リストS’」等を記憶する。
(テーブル記憶部130)
テーブル記憶部130は、構成情報テーブル121やCPU負荷テーブル131等を記憶する。構成情報テーブル121、及びCPU負荷テーブル131~ネットワーク負荷テーブル135の各テーブルは、予め所定のデータがセットされている。
テーブル記憶部130は、構成情報テーブル121やCPU負荷テーブル131等を記憶する。構成情報テーブル121、及びCPU負荷テーブル131~ネットワーク負荷テーブル135の各テーブルは、予め所定のデータがセットされている。
(テーブル)
図4は、構成情報テーブル121を示す。
図5は、割り当て対象(元サーバ)の負荷が格納されるCPU負荷テーブル131を示す。
図6は、メモリ使用量テーブル132を示す。
図7は、ディスク使用量テーブル133を示す。
図8は、ディスクアクセス帯域テーブル134を示す。
図9は、ネットワーク負荷テーブル135を示す。
図4は、構成情報テーブル121を示す。
図5は、割り当て対象(元サーバ)の負荷が格納されるCPU負荷テーブル131を示す。
図6は、メモリ使用量テーブル132を示す。
図7は、ディスク使用量テーブル133を示す。
図8は、ディスクアクセス帯域テーブル134を示す。
図9は、ネットワーク負荷テーブル135を示す。
(割り当て部120)
割り当て部120は、リソースの割り当てを行う。割り当て部120の機能は、後述する動作の説明で詳しく述べる。
割り当て部120は、リソースの割り当てを行う。割り当て部120の機能は、後述する動作の説明で詳しく述べる。
(動作)
次に動作を説明する。図10は、リソースの「割り当て動作」を示すフローチャートである。図10を参照してリソース割り当て装置100の動作を説明する。
次に動作を説明する。図10は、リソースの「割り当て動作」を示すフローチャートである。図10を参照してリソース割り当て装置100の動作を説明する。
(S500a:入力部110による入力)
ステップS500a(以下、単にS500a等と記す)において、まず、入力部110は、「割り当て対象リストS」、「割り当て先リソース容量P’」、割り当てにおける「優先度α」等の3つの入力情報を入力する。まず、これらの入力情報を説明する。
ステップS500a(以下、単にS500a等と記す)において、まず、入力部110は、「割り当て対象リストS」、「割り当て先リソース容量P’」、割り当てにおける「優先度α」等の3つの入力情報を入力する。まず、これらの入力情報を説明する。
(第1の入力情報:割り当て対象リストS)
図11は、第1の入力情報である「割り当て対象リストS」の例を示す図である。図11には、後の説明のため「総合値Pss、i」が記載されているが、入力時には、元サーバSi(図11のi=1~7)のみが記載される。このように、入力時には、割り当て対象Siをm個とし、「割り当て対象リストS」にはSi(i=1・・・m)の割り当て対象が記載されている。なお図11の「i=1~7」は一例である。
図11は、第1の入力情報である「割り当て対象リストS」の例を示す図である。図11には、後の説明のため「総合値Pss、i」が記載されているが、入力時には、元サーバSi(図11のi=1~7)のみが記載される。このように、入力時には、割り当て対象Siをm個とし、「割り当て対象リストS」にはSi(i=1・・・m)の割り当て対象が記載されている。なお図11の「i=1~7」は一例である。
(第2の入力情報:割り当て先リソース容量P’)
図12は、第2の入力情報である「割り当て先リソース容量P’」の例を示す図である。先サーバの割り当て先リソース容量P’は、次の様である。この第2の入力情報P’は、1台の先サーバS’jの容量の上限値P’を意味する。
「割り当て先リソース容量P’」は、例えば、
(1)CPU使用率(使用量)の上限値(%)、
(2)メモリ使用量の上限値(KB)、
(3)ディスク使用量の上限値(KB)、
(4)ディスクアクセス帯域の上限値(KB/秒)、
(5)ネットワークアクセス帯域の上限値(KB/秒)である。
1台の割り当て先サーバS’jについて、各リソース容量を、
(1)CPU使用率の上限値P’cpu,limit、
(2)メモリ使用量の上限値P’mem,limit、
(3)ディスク使用量の上限値P’disk,limit、
(4)ディスクアクセス帯域の上限値P’DA,limit、
(5)ネットワークアクセス帯域の上限値P’NA,limit
とする。これらの「割り当て先リソース容量P’」はCPU負荷テーブル131~ネットワーク負荷テーブル135に対応する容量である。なお、メモリ使用量、ディスク使用量の単位はKBでなくても良い。ディスクアクセス帯域、ネットワークアクセス帯域の単位もKB/秒でなくても良い。
図12は、第2の入力情報である「割り当て先リソース容量P’」の例を示す図である。先サーバの割り当て先リソース容量P’は、次の様である。この第2の入力情報P’は、1台の先サーバS’jの容量の上限値P’を意味する。
「割り当て先リソース容量P’」は、例えば、
(1)CPU使用率(使用量)の上限値(%)、
(2)メモリ使用量の上限値(KB)、
(3)ディスク使用量の上限値(KB)、
(4)ディスクアクセス帯域の上限値(KB/秒)、
(5)ネットワークアクセス帯域の上限値(KB/秒)である。
1台の割り当て先サーバS’jについて、各リソース容量を、
(1)CPU使用率の上限値P’cpu,limit、
(2)メモリ使用量の上限値P’mem,limit、
(3)ディスク使用量の上限値P’disk,limit、
(4)ディスクアクセス帯域の上限値P’DA,limit、
(5)ネットワークアクセス帯域の上限値P’NA,limit
とする。これらの「割り当て先リソース容量P’」はCPU負荷テーブル131~ネットワーク負荷テーブル135に対応する容量である。なお、メモリ使用量、ディスク使用量の単位はKBでなくても良い。ディスクアクセス帯域、ネットワークアクセス帯域の単位もKB/秒でなくても良い。
(第3の入力情報:優先度αk)
図13は、第3の入力情報である優先度αkの例を示す図である。ここで添え字の「k」はリソース種別を示す。「優先度αk」とは、例えば、CPU使用率の優先度αcpuを50、メモリ使用量の優先度αmemを20、ディスク使用量の優先度αdiskを10、ディスクアクセス帯域の優先度αDAを10、ネットワークアクセス帯域の優先度αN,Aを10のような形式で指定され、入力される。この場合、動作の説明で後述するように、優先度αcpuが「50」で一番大きい場合には、「CPU使用率の優先度αcpu」が、リソースの割り当てにおいて、最も優先されることとなる。
前記のように、割り当てにおける優先度αは、
(1)CPU使用率αcpu、
(2)メモリ使用量αmem、
(3)ディスク使用量αdisk、
(4)ディスクアクセス帯域αDA、
(5)ネットワークアクセス帯域αNA,
にそれぞれ存在する。各優先度αは、入力された値の比率で、他の優先度と比較される。
また、
(1)CPU使用率の優先度αcpuを50、
(2)メモリ使用量の優先度αmemを20、
(3)ディスク使用量の優先度αdiskを10、
(4)ディスクアクセス帯域の優先度αDAを10、
(5)ネットワークアクセス帯域の優先度をαNAを10
とした場合は、
「αcpu:αmem:αdisk:αDA:αNA」=「5:2:1:1:1」
の比率で扱われる。なお「優先度αk=0」とした場合は、そのリソース種別kが考慮されないことを示す。例えば、「αN,A=0」とした場合、ネットワークアクセス帯域の優先度は考慮されない。
図13は、第3の入力情報である優先度αkの例を示す図である。ここで添え字の「k」はリソース種別を示す。「優先度αk」とは、例えば、CPU使用率の優先度αcpuを50、メモリ使用量の優先度αmemを20、ディスク使用量の優先度αdiskを10、ディスクアクセス帯域の優先度αDAを10、ネットワークアクセス帯域の優先度αN,Aを10のような形式で指定され、入力される。この場合、動作の説明で後述するように、優先度αcpuが「50」で一番大きい場合には、「CPU使用率の優先度αcpu」が、リソースの割り当てにおいて、最も優先されることとなる。
前記のように、割り当てにおける優先度αは、
(1)CPU使用率αcpu、
(2)メモリ使用量αmem、
(3)ディスク使用量αdisk、
(4)ディスクアクセス帯域αDA、
(5)ネットワークアクセス帯域αNA,
にそれぞれ存在する。各優先度αは、入力された値の比率で、他の優先度と比較される。
また、
(1)CPU使用率の優先度αcpuを50、
(2)メモリ使用量の優先度αmemを20、
(3)ディスク使用量の優先度αdiskを10、
(4)ディスクアクセス帯域の優先度αDAを10、
(5)ネットワークアクセス帯域の優先度をαNAを10
とした場合は、
「αcpu:αmem:αdisk:αDA:αNA」=「5:2:1:1:1」
の比率で扱われる。なお「優先度αk=0」とした場合は、そのリソース種別kが考慮されないことを示す。例えば、「αN,A=0」とした場合、ネットワークアクセス帯域の優先度は考慮されない。
(S500b:割り当て対象リストSのセット)
S500b以降は、割り当て部120による動作である。次にS500bにおいて、割り当て部120は、CPU負荷テーブル131、メモリ使用量テーブル132、ディスク使用量テーブル133、ディスクアクセス帯域テーブル134、ネットワーク負荷テーブル135の各テーブルをもとに、それぞれのリソース使用量を計算し、「割り当て対象リストS」にセットする。詳細は後述する。
S500b以降は、割り当て部120による動作である。次にS500bにおいて、割り当て部120は、CPU負荷テーブル131、メモリ使用量テーブル132、ディスク使用量テーブル133、ディスクアクセス帯域テーブル134、ネットワーク負荷テーブル135の各テーブルをもとに、それぞれのリソース使用量を計算し、「割り当て対象リストS」にセットする。詳細は後述する。
(S501:割り当て先リストS’の生成)
次にS501にて、割り当て部120は、「割り当て対象リストS」にセットされたCPU使用量、メモリ使用量等の各リソース種別のリソース使用量と、「割り当て先リソース容量P’」(第2の入力情報)、「優先度αk」(第3の入力情報)とから、割り当て先(先サーバ)の初期台数nを求め、この初期台数nとリソース容量とをセットした「割り当て先リストS’」を生成する。
次にS501にて、割り当て部120は、「割り当て対象リストS」にセットされたCPU使用量、メモリ使用量等の各リソース種別のリソース使用量と、「割り当て先リソース容量P’」(第2の入力情報)、「優先度αk」(第3の入力情報)とから、割り当て先(先サーバ)の初期台数nを求め、この初期台数nとリソース容量とをセットした「割り当て先リストS’」を生成する。
図14は、「割り当て先リストS’」の例を示す図である。「割り当て先リストS’」生成の詳細は、後述する。
(S502:総合値PSS,iの算出)
S502において、割り当て部120は、図11に示した「割り当て対象リストS」において、各割り当て対象(元サーバ)の各リソース使用量の「総合値PSS,i」を計算する。「総合値PSS,i」の算出の詳細は、後述する。
S502において、割り当て部120は、図11に示した「割り当て対象リストS」において、各割り当て対象(元サーバ)の各リソース使用量の「総合値PSS,i」を計算する。「総合値PSS,i」の算出の詳細は、後述する。
(S503:「割り当て対象リストS」のソート)
S503において、割り当て部120は、S502で計算したリソース使用量の「総合値PSS,i」をもとに、「割り当て対象リストS」の元サーバSiを「総合値PSS,i」の降順にソートする。図15は、図11のソート後を示している。
S503において、割り当て部120は、S502で計算したリソース使用量の「総合値PSS,i」をもとに、「割り当て対象リストS」の元サーバSiを「総合値PSS,i」の降順にソートする。図15は、図11のソート後を示している。
S504からは、割り当て部120は、ソートされた各元サーバSiを順次、先サーバS’jに割り当てていく。この場合、総合値PSS,iの大きい順に元サーバSiを選択し、割り当て処理を実行する。
以降は、割り当て部120は、「割り当て対象リストS」と「割り当て先リストS’」とに基づき、元サーバSiのリソース使用量Pの先サーバS’jへの割り当て処理を実行する。
(リストS,S’を用いた割り当て処理)
まず、S504において、割り当て部120は、ソート後の「割り当て対象リストS」から、最も総合値の大きい元サーバSiを1つ選択する。例えば、図15の場合、まず元サーバS3が選択される。
まず、S504において、割り当て部120は、ソート後の「割り当て対象リストS」から、最も総合値の大きい元サーバSiを1つ選択する。例えば、図15の場合、まず元サーバS3が選択される。
次にS505において、割り当て部120は、「割り当て先リストS’」から割り当て先S’jを選択する。この場合は、選択される先サーバS’jはどれでもよい。先サーバS’jは、例えば、「j=1」から昇順に選択される。
(S506:割り当て可能性の判定)
S506において、割り当て部120は、割り当て先S’jの容量と「割り当て状況」とから、元サーバSiが先サーバS’jに割り当て可能かどうかを判定する。詳細は後述する。
S506において、割り当て部120は、割り当て先S’jの容量と「割り当て状況」とから、元サーバSiが先サーバS’jに割り当て可能かどうかを判定する。詳細は後述する。
(S507:ちらばり計算)
もし割り当て可能ならば、S507において、割り当て部120は、割り当てた場合のちらばりΡ’sd(散らばり値)を計算し、計算された散らばりΡ’sdと、元サーバSi、先サーバS’jの組み合わせを「割り当て可能リストA」に登録する。図16は「割り当て可能リストA」の例を示す図である。S507の詳細は後述する。
もし割り当て可能ならば、S507において、割り当て部120は、割り当てた場合のちらばりΡ’sd(散らばり値)を計算し、計算された散らばりΡ’sdと、元サーバSi、先サーバS’jの組み合わせを「割り当て可能リストA」に登録する。図16は「割り当て可能リストA」の例を示す図である。S507の詳細は後述する。
もし割り当て可能でない場合には、S507には進まずS508に進む。
S508では、割り当て部120は、「割り当て先リストS’」に、まだ割り当てを試していない割り当て先S’jがあるかを判定し、あるならばS505に進み、全ての割り当て先S’jに対してS506からS507を繰り返す。
割り当て部120は、全ての先サーバS’jに対して一つの元サーバSiの割り当てを試し、ちらばりを計算するとS509へ進む。S509では、「割り当て可能リストA」が空でないかどうかを判定する。「割り当て可能リストA」が空でない場合には、S510に進む。一方、「割り当て可能リストA」が空だった場合には、S511に進む。
S510において、割り当て部120は、「割り当て可能リストA」の中から、ちらばりP’sdがもっとも小さな元サーバSiと先サーバS’jとの組み合せを選択する。そして、その組の元サーバSiのリソース使用量をその組の先サーバS’jのリソース容量に割り当てることを確定し、S513に進む。
S511において、割り当て部120は、「割り当て可能リストA」が空であることから、割り当て先のリソース容量が足りず、割り当て対象Siが割り当てられない状況と判定する。そのため、割り当て部120は、割り当て先S’n+1を追加し、S512にてS’n+1とSiの組合せで割り当てを確定する。
S513において、割り当て部120は、「割り当て対象リストS」に割り当てていない元サーバSiが存在するかどうかを判定する。存在すると判定するとS504に進み、全ての割り当て対象(元サーバ)に対してS504からS512を繰り返す。全ての割り当て対象(元サーバ)を割り当てた場合は、終了する。
(S500bの詳細:「割り当て対象リストS」へのリソース使用量のセット)
S500bについて詳しく説明する。S500bは、割り当て部120が、「割り当て対象リストS」へリソース使用量をセットするステップである。S500bでは、割り当て部120は、第1の入力情報として入力した「割り当て対象リストS」に、リソース使用量をセットする。割り当て部120は、構成情報テーブル121を参照することにより、CPU負荷テーブル131、メモリ使用量テーブル132、ディスク使用量テーブル133、ディスクアクセス帯域テーブル134、ネットワーク負荷テーブル135から、各割り当て対象(元サーバ)ごとのリソース使用量の情報を取得し、「割り当て対象リストS」にセットする。構成情報テーブル121には、ホスト(サーバ装置)、システムID、CPU等の関係が記載されている。またテーブル131~135には、システムID等が記載されているので、割り当て部120は、構成情報テーブル121及び各種テーブル131~135により、「割り当て対象リストS」に使用量をセットすることができる。
割り当て部120は、例えば、図11の「割り当て対象リストS」のS1~S7の各セルにリソース使用量をセットする。
「割り当て対象リストS」にセットされた各負荷を、
(1)CPU使用量:Pcpu,i、
(2)メモリ使用量:Pmem,i、
(3)ディスク使用量:Pdisk,i、
(4)ディスクアクセス帯域:PDA,i、
(5)ネットワークアクセス帯域使用量:PNA,i
とする。割り当て部120が負荷を「割り当て対象リストS」にセットする場合は、各テーブル131~135に蓄積されているデータの中から、特定の期間の最大、最小、平均またはタイル値のいずれかを計算してセットする。
例えば、
(1)図5のCPU負荷テーブル131では、「CPU使用率(USER)」、「CPU使用率(SYSTEM)」を加えたものをCPU使用率Pcpu,i(使用量)とする。CPU使用率はCPU性能差が考慮されていないため、さらにCPU性能値を考慮したものをCPU使用量としてセットする。
(2)メモリ使用量Pmem,iには、図6のメモリ使用量テーブル132における「メモリ使用量」の値をセットする。
(3)ディスク使用量Pdisk,iには、図7のディスク使用量テーブル133における「ディスク使用量」の値をセットする。
(4)ディスクアクセス帯域PDA,iには、図8のディスクアクセス帯域テーブル134における「ディスク読込速度」と「ディスク書込速度」とを合算した値をセットする。
(5)ネットワークアクセス帯域PNA,iには、図9のネットワーク負荷テーブル135における「ネットワーク送信速度」と「ネットワーク受信速度」とを合算した値をセットする。
S500bについて詳しく説明する。S500bは、割り当て部120が、「割り当て対象リストS」へリソース使用量をセットするステップである。S500bでは、割り当て部120は、第1の入力情報として入力した「割り当て対象リストS」に、リソース使用量をセットする。割り当て部120は、構成情報テーブル121を参照することにより、CPU負荷テーブル131、メモリ使用量テーブル132、ディスク使用量テーブル133、ディスクアクセス帯域テーブル134、ネットワーク負荷テーブル135から、各割り当て対象(元サーバ)ごとのリソース使用量の情報を取得し、「割り当て対象リストS」にセットする。構成情報テーブル121には、ホスト(サーバ装置)、システムID、CPU等の関係が記載されている。またテーブル131~135には、システムID等が記載されているので、割り当て部120は、構成情報テーブル121及び各種テーブル131~135により、「割り当て対象リストS」に使用量をセットすることができる。
割り当て部120は、例えば、図11の「割り当て対象リストS」のS1~S7の各セルにリソース使用量をセットする。
「割り当て対象リストS」にセットされた各負荷を、
(1)CPU使用量:Pcpu,i、
(2)メモリ使用量:Pmem,i、
(3)ディスク使用量:Pdisk,i、
(4)ディスクアクセス帯域:PDA,i、
(5)ネットワークアクセス帯域使用量:PNA,i
とする。割り当て部120が負荷を「割り当て対象リストS」にセットする場合は、各テーブル131~135に蓄積されているデータの中から、特定の期間の最大、最小、平均またはタイル値のいずれかを計算してセットする。
例えば、
(1)図5のCPU負荷テーブル131では、「CPU使用率(USER)」、「CPU使用率(SYSTEM)」を加えたものをCPU使用率Pcpu,i(使用量)とする。CPU使用率はCPU性能差が考慮されていないため、さらにCPU性能値を考慮したものをCPU使用量としてセットする。
(2)メモリ使用量Pmem,iには、図6のメモリ使用量テーブル132における「メモリ使用量」の値をセットする。
(3)ディスク使用量Pdisk,iには、図7のディスク使用量テーブル133における「ディスク使用量」の値をセットする。
(4)ディスクアクセス帯域PDA,iには、図8のディスクアクセス帯域テーブル134における「ディスク読込速度」と「ディスク書込速度」とを合算した値をセットする。
(5)ネットワークアクセス帯域PNA,iには、図9のネットワーク負荷テーブル135における「ネットワーク送信速度」と「ネットワーク受信速度」とを合算した値をセットする。
(S501の詳細:「割り当て先リストS’」の生成)
S501について詳しく説明する。S501は、割り当て部120が図14の「割り当て先リストS’」を生成するステップである。割り当て部120は、「割り当て先リソース容量P’」(第2の入力情報)と、リソース使用量がセットされた「割り当て対象リストS」の前記リソース使用量(負荷)の合計値とから、割り当て先(先サーバ)の台数の初期値nを計算する。割り当て部120は、まずCPU使用量や、メモリ使用量などのリソース種別の使用量ごとに初期台数n’を計算し、最後に、リソース種別ごとの優先度αに基づいて、初期台数nを決定する。具体的には次のようである。例えば、割り当て部120は、次の(式1)に基づき、CPU使用量から決まる初期台数n’cpuを計算する。
S501について詳しく説明する。S501は、割り当て部120が図14の「割り当て先リストS’」を生成するステップである。割り当て部120は、「割り当て先リソース容量P’」(第2の入力情報)と、リソース使用量がセットされた「割り当て対象リストS」の前記リソース使用量(負荷)の合計値とから、割り当て先(先サーバ)の台数の初期値nを計算する。割り当て部120は、まずCPU使用量や、メモリ使用量などのリソース種別の使用量ごとに初期台数n’を計算し、最後に、リソース種別ごとの優先度αに基づいて、初期台数nを決定する。具体的には次のようである。例えば、割り当て部120は、次の(式1)に基づき、CPU使用量から決まる初期台数n’cpuを計算する。
(式1)のように、割り当て部120は、「割り当て対象リストS」の各CPU負荷の合計値を、「割り当て先リソース容量P’」(第2の入力情報)における割り当て先の容量P’cpu,limiで割ることにより、n’cpuを計算する。(式1)の分子は、図11におけるCPU使用量Pcpu,i列の合計値である。また、分母のP’cpu,limitは、第2の入力情報である「割り当て先リソース容量P’」における「CPU容量P’cpu,limi」(図12)である。CPU使用量の他、同様の計算により、割り当て部120は、各リソース種別の負荷ごとに、必要な割り当て先台数n’を求める。つまり、割り当て部120は、
(1)n’cpu、
(2)n’mem、
(3)n’disk、
(4)n’DA,
(5)n’NA
を算出する。
(1)n’cpu、
(2)n’mem、
(3)n’disk、
(4)n’DA,
(5)n’NA
を算出する。
(優先度を考慮した初期台数nの決定)
割り当て部120は、リソース種別ごとの負荷に対して計算した台数n’から、優先度αの一番大きな負荷(リソース種別)の台数n’を初期台数nとして決定する。すなわち、n’cpu等のうち、最も優先度の大きなn’を特定する。優先度最大のものが一つであれば、その優先度の示すリソース種別のn’が初期台数nとして決定される。一方、優先度最大のものが複数ある場合には、次の(式2)に示すように、割り当て部120は、同じ優先度の中で一番大きいn’を初期台数nとして決定する。なお(式2)はn’cpuとn’memとの優先度が同一かつ最大の場合である。
n=max(n’cpu,n’mem) (2)
例えば優先度が、
「αcpu:αmem:αdisk:αDA:αNA」=「5:5:1:1:1」
の場合、αcpu及びαmemに対応する「n’cpu」、「n’mem」が優先度の評価によって採用される。そして、上記(式2)によって、数値の大きいn’が最終的な初期台数nとして採用される。
割り当て部120は、リソース種別ごとの負荷に対して計算した台数n’から、優先度αの一番大きな負荷(リソース種別)の台数n’を初期台数nとして決定する。すなわち、n’cpu等のうち、最も優先度の大きなn’を特定する。優先度最大のものが一つであれば、その優先度の示すリソース種別のn’が初期台数nとして決定される。一方、優先度最大のものが複数ある場合には、次の(式2)に示すように、割り当て部120は、同じ優先度の中で一番大きいn’を初期台数nとして決定する。なお(式2)はn’cpuとn’memとの優先度が同一かつ最大の場合である。
n=max(n’cpu,n’mem) (2)
例えば優先度が、
「αcpu:αmem:αdisk:αDA:αNA」=「5:5:1:1:1」
の場合、αcpu及びαmemに対応する「n’cpu」、「n’mem」が優先度の評価によって採用される。そして、上記(式2)によって、数値の大きいn’が最終的な初期台数nとして採用される。
初期台数nが決定すると、割り当て部120は、「割り当て先リストS’」を生成する。「割り当て先リストS’」は、上記により決定したn台の先サーバS’j(j=1...n、m>n)からなるリストである。図14に示すように、「割り当て先リストS’」は、上記により決定したn台の先サーバS’jと、リソース容量とがセットされている。この場合、リソース容量は、図14に示すように、第2の入力情報である「割り当て先リソース容量P’」の各容量がセットされる。なお、図14は「初期台数n=3」が決定した場合を示している。
(S502:総合値Pss,iの算出)
S502について詳しく説明する。S502は、割り当て部120が、図11の「割り当て対象リストS」を対象として、リソース使用量の「総合値Pss,i」を計算するステップである。リソース使用量の「総合値Pss,i」とは、ある割り当て対象サーバSiのCPU負荷、メモリ使用量、ディスク使用量、ディスク負荷、ネットワーク負荷などのリソース種別ごとのリソース使用量を偏差値化すると共に、優先度の重みを付けて合計したものである。各リソース使用量は、単位が異なるため単純に合計する事ができない。このため、配置する全部の元サーバSiを母集団とし、各リソースの平均が0、標準偏差が1となる偏差値を求め、その合計を「リソース使用量の総合値」とする。このように、総合値Pss,iとは、元サーバSiごとの、リソース使用量の総和の要約値である。
S502について詳しく説明する。S502は、割り当て部120が、図11の「割り当て対象リストS」を対象として、リソース使用量の「総合値Pss,i」を計算するステップである。リソース使用量の「総合値Pss,i」とは、ある割り当て対象サーバSiのCPU負荷、メモリ使用量、ディスク使用量、ディスク負荷、ネットワーク負荷などのリソース種別ごとのリソース使用量を偏差値化すると共に、優先度の重みを付けて合計したものである。各リソース使用量は、単位が異なるため単純に合計する事ができない。このため、配置する全部の元サーバSiを母集団とし、各リソースの平均が0、標準偏差が1となる偏差値を求め、その合計を「リソース使用量の総合値」とする。このように、総合値Pss,iとは、元サーバSiごとの、リソース使用量の総和の要約値である。
例えば、考慮するリソースをCPU負荷(CPU使用量)、メモリ使用量、ディスク使用量と3つに限定(3次元に限定)した時、元サーバSiの「リソース使用量の総和」である総合値Pss,iは次のように求める。まず、割り当て部120は、統合対象サーバ間でのCPU負荷の平均Pcpu,avgと標準偏差Pcpu,sdとを、次の(式3)、(式4)で求める。メモリ使用量、ディスク使用量に関しても同様に平均と標準偏差を求める。
(総合値における優先度の考慮)
この時、各リソースの優先度をCPU負荷αcpu、メモリ使用量αmem、ディスク負荷αdiskとすると、ある元サーバSiの「リソース使用量の総合」である総合値Ρss,iは、次の(式5)~(式7)から(式8)のように求める。すなわち、(式8)のように、総合値Ρss,iは、各負荷の偏差値に重み(その負荷の優先度)を掛け合わせたものの合計として求める。一般的に偏差値は、平均50、標準偏差10となるように算出するが、ここでは不必要な計算を避けるため、平均0、標準偏差1となるように偏差値等を算出する。
Pcpu,score,i=(Pcpu,i-Pcpu,avg)/Pcpu,sd (5)
Pmem,score,i=(Pmem,i-Pmem,avg)/Pmem,sd (6)
Pdisk,score,i=(Pdisk,i-Pdisk,avg)/Pdisk,sd (7)
Pss,i=αcpu×Pcpu,score,i+αmem
×Pmem,score,i+αdisk×Pdisk,score,i (8)
この時、各リソースの優先度をCPU負荷αcpu、メモリ使用量αmem、ディスク負荷αdiskとすると、ある元サーバSiの「リソース使用量の総合」である総合値Ρss,iは、次の(式5)~(式7)から(式8)のように求める。すなわち、(式8)のように、総合値Ρss,iは、各負荷の偏差値に重み(その負荷の優先度)を掛け合わせたものの合計として求める。一般的に偏差値は、平均50、標準偏差10となるように算出するが、ここでは不必要な計算を避けるため、平均0、標準偏差1となるように偏差値等を算出する。
Pcpu,score,i=(Pcpu,i-Pcpu,avg)/Pcpu,sd (5)
Pmem,score,i=(Pmem,i-Pmem,avg)/Pmem,sd (6)
Pdisk,score,i=(Pdisk,i-Pdisk,avg)/Pdisk,sd (7)
Pss,i=αcpu×Pcpu,score,i+αmem
×Pmem,score,i+αdisk×Pdisk,score,i (8)
以下S503において、割り当て部120は、図15に示したように、「割り当て対象リストS」の元サーバSiを総合値Ρss,iの降順にソートする。
以上のS503までのステップにおいて、「割り当て対象リストS」と「割り当て先リストS’」とが準備される。S504以降、割り当て部120は、「割り当て対象リストS」と「割り当て先リストS’」とを用いて、元サーバSiの割り当て処理を実行する。具体的には、図10のフローチャートに示すように、割り当て部120は、iを固定してjを変化させ、順次、「元サーバSi」を切り替える。すなわち、割り当て部120は、ある一つの元サーバSiを選択し、この元サーバSiの先サーバS’j=1~先サーバS’j=nに対する割り当て状況をチェックしていく(S506、S507)。そして、割り当て部120は、元サーバSiを総合値の降順に切り替えていく。
(S504以降の処理)
S504以降の処理を説明する。以下の説明では、図15のソート後の「割り当て対象リストS」、及び図14の「割り当て先リストS’」を想定して説明する。
S504以降の処理を説明する。以下の説明では、図15のソート後の「割り当て対象リストS」、及び図14の「割り当て先リストS’」を想定して説明する。
S504において、割り当て部120は、「割り当て対象リストS」から、元サーバSiを選択する。割り当て部120は、「割り当て対象リストS」からある一つの元サーバSiを選択する場合には、前述のように、総合値の大きいものから選択していく。図15では、割り当て部120は、まずS3を選択し、順次、「S1,S5,・・・」の順に選択する。
S505において、割り当て部120は「割り当て先リストS’」から一つの先サーバS’jを選択する。図14の例では、割り当て部120は、例えば、まず先サーバS’1を選択し、順次、「j=2,3」と選択する。
(S506の詳細:割り当て可能判定)
S506について詳しく説明する。S506では、先サーバS’jのリソース容量P’(上限)と、先サーバS’jの現在のリソース使用量の「割り当て状況」とから、元サーバSiが先サーバS’jに割り当て可能かどうかを判定する。図14、図15の場合、割り当て部120は、まず、元サーバS3が先サーバS’1に割り当て可能かどうかを判定する。S506の判定では、元サーバSiの使用量を先サーバS’jに割り当てたとした場合における、先サーバS’jの各リソースごとの使用量合計が、各リソース容量以下かどうかを判定する。つまり、割り当て部120は、割り当て先S’jの各リソース容量を図14における「割り当て先リストS’」から、
CPUリソース容量P’cpu,limit,j、
メモリリソース容量P’mem,limit,j、
ディスクリソース容量P’disk,limit,j
等を取得し、次の(式9)~(式11)の各条件を満たしているかどうかを判定する。
P’cpu,j≦P’cpu,limit,j (9)
P’mem,j≦P’mem,limit,j (10)
P’disk,j≦P’disk,limit,j (11)
(式9)を例に説明する。
元サーバS3、先サーバS’1とすると、右辺の「P’cpu,limit,j」は、先サーバS’1の「CPU使用率の上限値」である。また、左辺の「P’cpu,j」は、先サーバS’1の「現在のCPU使用量」に、元サーバS3のCPU使用量(CPU使用率)を割り当てたと仮定した場合の、先サーバS’1の「CPU使用量」である。前記「現在のCPU使用量」とは、S510において割り当てが確定した場合の、先サーバS’1に現在割り当てられているCPU使用量の合計である。割り当て部120は、先サーバS’jに割り当てが確定すると、都度、割り当て量を記憶し、合計する。これにより、割り当て部120は、(式9)の判定が可能である。なお、先サーバS’1~サーバS’3にリソースの割り当てがされていない状態から処理を開始する場合、S506は「P’cpu,1=0」となるので、(式9)は成り立つ。(式10)、(式11)についても同様である。
S506について詳しく説明する。S506では、先サーバS’jのリソース容量P’(上限)と、先サーバS’jの現在のリソース使用量の「割り当て状況」とから、元サーバSiが先サーバS’jに割り当て可能かどうかを判定する。図14、図15の場合、割り当て部120は、まず、元サーバS3が先サーバS’1に割り当て可能かどうかを判定する。S506の判定では、元サーバSiの使用量を先サーバS’jに割り当てたとした場合における、先サーバS’jの各リソースごとの使用量合計が、各リソース容量以下かどうかを判定する。つまり、割り当て部120は、割り当て先S’jの各リソース容量を図14における「割り当て先リストS’」から、
CPUリソース容量P’cpu,limit,j、
メモリリソース容量P’mem,limit,j、
ディスクリソース容量P’disk,limit,j
等を取得し、次の(式9)~(式11)の各条件を満たしているかどうかを判定する。
P’cpu,j≦P’cpu,limit,j (9)
P’mem,j≦P’mem,limit,j (10)
P’disk,j≦P’disk,limit,j (11)
(式9)を例に説明する。
元サーバS3、先サーバS’1とすると、右辺の「P’cpu,limit,j」は、先サーバS’1の「CPU使用率の上限値」である。また、左辺の「P’cpu,j」は、先サーバS’1の「現在のCPU使用量」に、元サーバS3のCPU使用量(CPU使用率)を割り当てたと仮定した場合の、先サーバS’1の「CPU使用量」である。前記「現在のCPU使用量」とは、S510において割り当てが確定した場合の、先サーバS’1に現在割り当てられているCPU使用量の合計である。割り当て部120は、先サーバS’jに割り当てが確定すると、都度、割り当て量を記憶し、合計する。これにより、割り当て部120は、(式9)の判定が可能である。なお、先サーバS’1~サーバS’3にリソースの割り当てがされていない状態から処理を開始する場合、S506は「P’cpu,1=0」となるので、(式9)は成り立つ。(式10)、(式11)についても同様である。
(S507の詳細)
次に、S507について詳しく説明する。S507は、仮に元サーバSi(S3)を先サーバS’j(S’1)割り当てた場合に、先サーバS’jに関する「散らばりΡ’sd」を計算するステップである。そして、割り当て部120は、「散らばりΡ’sd」と元サーバSi、先サーバS’jの組み合せを図16に示した「割り当て可能リストA」に登録する。
次に、S507について詳しく説明する。S507は、仮に元サーバSi(S3)を先サーバS’j(S’1)割り当てた場合に、先サーバS’jに関する「散らばりΡ’sd」を計算するステップである。そして、割り当て部120は、「散らばりΡ’sd」と元サーバSi、先サーバS’jの組み合せを図16に示した「割り当て可能リストA」に登録する。
例えば、考慮するリソース種別をCPU負荷、メモリ使用量、ディスク使用量と3つのリソース種別に限定した場合、「散らばりΡ’sd」(散らばり値)は、次の(式12)~(式14)によって求める。
CPU使用量P’cpu,j、メモリ使用量P’mem,j、ディスク使用量P’disk,jは、割り当て先S’jの各リソース使用量である。ここで、割り当て先S’jのリソース使用量とは、S’jに割り当てられる割り当て対象(元サーバ)の集合をXjとした時、割り当て対象サーバSi(∈Xj)の各リソース使用量をリソースごとに合計したものである。なお、算出対象となる「j」の先サーバS’jの場合は、現在のリソース使用量に、処理対象となっている元サーバSiのリソース使用量を加えた量である。例えば、(式12)のP’cpu、1は、(式9)のP’cpu、1と同じである。
「散らばりΡ’sd」は、(式12)~(式14)のように、先サーバ間で、各リソースごとに使用量の標準偏差(sd)と平均(agv)を算出し、各リソース種別ごとの散らばり(変動係数)を算出し、算出された散らばりにリソース種別を同じくする優先度αを掛け合わせ和をとり、割り当て先全体のリソース使用量のばらつき具合を数値化したものである。「散らばりΡ’sd」は小さい程、割り当て先間でリソース使用量が均一であることを示し、完全に均一の場合は0となる。
考慮するリソース種別を前記のように3つとする場合、「散らばりΡ’sd」の算出については、まず、(式12)によって割り当て先間でのCPU負荷の平均「P’cpu,avg」を求め、次に、(式13)によって「標準偏差P’cpu,sd」を求める。メモリ使用量、ディスク使用量に関しても同様である。
そして、「散らばりΡ’sd」は、各リソース種別の標準偏差と重みとから(式14)によって求める。各リソース種別の標準偏差はスケールが異なるため、それを各平均値で割り「変動係数」を算出する。変動係数は平均と標準偏差との比から得られる値である。そして、変動係数と、この変動係数とリソース種別を同じくする優先度αとを乗じ、合算する。一般に変動係数は標準偏差を平均で割り100を掛け合わせた百分率で表現されるが、ここでは不必要な計算を避けるため、標準偏差を平均で割るのみとする。
(式12)~(式14)を用いた「散らばりΡ’sd」の算出を、S505~S508をループする場合を想定してさらに詳しく説明する。以下の説明では、図14、図15の「割り当て先リストS’」、「割り当て対象リストS」を想定し、また、CPU負荷、メモリ使用量、ディスク使用量の3つのリソース種別を先サーバに割り当てる場合を想定する。また、以下の説明では、CPU使用量を割り当てる場合を説明するが、メモリ使用量等の他のリソース種別についても同様である。
図17~図20を参照して説明する。
S504において、割り当て部120は、「割り当て対象リストS」から元サーバS3を選択する。
S505において、割り当て部120は、「割り当て先リストS’」から先サーバS’1を選択する。
S506において、割り当て部120は、割り当て可能かを判定する。この場合、まだ先サーバS’1には割り当てされておらず、S506はYESとなるとする。
S504において、割り当て部120は、「割り当て対象リストS」から元サーバS3を選択する。
S505において、割り当て部120は、「割り当て先リストS’」から先サーバS’1を選択する。
S506において、割り当て部120は、割り当て可能かを判定する。この場合、まだ先サーバS’1には割り当てされておらず、S506はYESとなるとする。
S507において、割り当て部120は、(式12)~(式14)に基づいて「散らばりΡ’sd」を計算する。図17は「i=3,j=1~3」の場合を説明するための図である。
(i=3,j=1)
割り当て部120は、S507(j=1)において、元サーバS3のCPU使用量、メモリ使用量、ディスク使用量等の各リソースの使用量を、仮に先サーバS’1に割り当てた場合の「散らばりΡ’sd」を、次のように算出する。図17の「j=1」に示すように、割り当て部120は、元サーバS3のCPU使用量<P3>を先サーバS’1に割り当てた場合の、先サーバS’1~S’3のCPU使用量の平均「P’cpu,avg」を算出する。「j=1」の場合、「P’cpu,avg」の右辺は、「P’cpu,1」以外は「0」である。次に、割り当て部120は、「P’cpu,avg」を元に、先サーバS’1~S’3のCPU使用量の標準偏差「P’cpu,sd」を計算する。割り当て部120は、標準偏差と平均とから「変動係数」を計算し、リソース種別ごとに、その優先度と変動係数とを乗じて和をとり、散らばり「P’sd」を計算し、「割り当て可能リストA」に登録する。
割り当て部120は、S507(j=1)において、元サーバS3のCPU使用量、メモリ使用量、ディスク使用量等の各リソースの使用量を、仮に先サーバS’1に割り当てた場合の「散らばりΡ’sd」を、次のように算出する。図17の「j=1」に示すように、割り当て部120は、元サーバS3のCPU使用量<P3>を先サーバS’1に割り当てた場合の、先サーバS’1~S’3のCPU使用量の平均「P’cpu,avg」を算出する。「j=1」の場合、「P’cpu,avg」の右辺は、「P’cpu,1」以外は「0」である。次に、割り当て部120は、「P’cpu,avg」を元に、先サーバS’1~S’3のCPU使用量の標準偏差「P’cpu,sd」を計算する。割り当て部120は、標準偏差と平均とから「変動係数」を計算し、リソース種別ごとに、その優先度と変動係数とを乗じて和をとり、散らばり「P’sd」を計算し、「割り当て可能リストA」に登録する。
(i=3,j=2)
図17の「j=2」は、S507の次のループの処理を示している。割り当て部120は、「j=2」において、元サーバS3の各リソースの使用量を、仮に先サーバS’2に割り当てた場合の「散らばりΡ’sd」を算出する。図17に示すように、今度は、元サーバS3のCPU使用量<P3>を、仮に先サーバS’2に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
図17の「j=2」は、S507の次のループの処理を示している。割り当て部120は、「j=2」において、元サーバS3の各リソースの使用量を、仮に先サーバS’2に割り当てた場合の「散らばりΡ’sd」を算出する。図17に示すように、今度は、元サーバS3のCPU使用量<P3>を、仮に先サーバS’2に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
(i=3,j=3)
図17の「j=3」は、S507の「j=3」のときの処理を示している。割り当て部120は、「j=3」において、元サーバS3の各リソースの使用量を、仮に先サーバS’3に割り当てた場合の「散らばりΡ’sd」を算出する。図17に示すように、今度は、元サーバS3のCPU使用量<P3>を、仮に先サーバS’3に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
図17の「j=3」は、S507の「j=3」のときの処理を示している。割り当て部120は、「j=3」において、元サーバS3の各リソースの使用量を、仮に先サーバS’3に割り当てた場合の「散らばりΡ’sd」を算出する。図17に示すように、今度は、元サーバS3のCPU使用量<P3>を、仮に先サーバS’3に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
j=3の処理が終了すると、S508ではYESとなりS509に進む。S509において、「割り当て可能リストA」にはデータが登録されているので、処理はS510に進む。「割り当て可能リストA」にはj=1~j=3の結果が登録されているが、図17の場合、散らばり「P’sd」はj=1~3のいずれの場合も同じ値になるので、割り当て部120は、S510において、元サーバS3の割り当て先として例えば先サーバS’1を確定する(散らばり「P’sd」は同一の値なのでどの先サーバでもよい)。
(i=1,j=1)
そして、処理はS513に進む。j=1~3の処理は終了したので、ステップはS504に戻る。S504では、元サーバS1か選択される。また、S505で先サーバS’1が選択される。図18は「i=1,j=1~3」の場合を説明するための図である。「i=3」では、先サーバS’1に元サーバS3の割り当てが確定している。このため、図18では、「P3」を枠で囲い、確定を示している。「j=1」の場合、図17の「j=1」の場合と同様に、割り当て部120は、「j=1」において、元サーバS1の各リソースの使用量を、仮に先サーバS’1に割り当てた場合の「散らばりΡ’sd」を算出する。図18に示すように、元サーバS1のCPU使用量<P1>を、仮に先サーバS’1に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、図17で説明したとおりである。割り当て部120は結果を「割り当て可能リストA」に登録する。
そして、処理はS513に進む。j=1~3の処理は終了したので、ステップはS504に戻る。S504では、元サーバS1か選択される。また、S505で先サーバS’1が選択される。図18は「i=1,j=1~3」の場合を説明するための図である。「i=3」では、先サーバS’1に元サーバS3の割り当てが確定している。このため、図18では、「P3」を枠で囲い、確定を示している。「j=1」の場合、図17の「j=1」の場合と同様に、割り当て部120は、「j=1」において、元サーバS1の各リソースの使用量を、仮に先サーバS’1に割り当てた場合の「散らばりΡ’sd」を算出する。図18に示すように、元サーバS1のCPU使用量<P1>を、仮に先サーバS’1に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、図17で説明したとおりである。割り当て部120は結果を「割り当て可能リストA」に登録する。
(i=1,j=2)
図18の「j=2」は、S507の「j=2」のループの処理を示している。割り当て部120は、「j=2」において、元サーバS1の各リソースの使用量を、仮に先サーバS’2に割り当てた場合の「散らばりΡ’sd」を算出する。図18に示すように、今度は、元サーバS1のCPU使用量<P1>を、仮に先サーバS’2に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
図18の「j=2」は、S507の「j=2」のループの処理を示している。割り当て部120は、「j=2」において、元サーバS1の各リソースの使用量を、仮に先サーバS’2に割り当てた場合の「散らばりΡ’sd」を算出する。図18に示すように、今度は、元サーバS1のCPU使用量<P1>を、仮に先サーバS’2に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
(i=1,j=3)
図18の「j=3」は、S507の「j=3」のループの処理を示している。割り当て部120は、「j=3」において、元サーバS1の各リソースの使用量を、仮に先サーバS’3に割り当てた場合の「散らばりΡ’sd」を算出する。図18に示すように、今度は、元サーバS1のCPU使用量<P1>を、仮に先サーバS’3に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
図18の「j=3」は、S507の「j=3」のループの処理を示している。割り当て部120は、「j=3」において、元サーバS1の各リソースの使用量を、仮に先サーバS’3に割り当てた場合の「散らばりΡ’sd」を算出する。図18に示すように、今度は、元サーバS1のCPU使用量<P1>を、仮に先サーバS’3に割り当てた場合を計算する。散らばり「P’sd」の計算方法は、「j=1」の場合と同様である。割り当て部120は結果を「割り当て可能リストA」に登録する。
「i=3」の場合と同様に、処理はS510に進む。S510において、散らばり「P’sd」は、未だ割り当てのない先サーバS’2と先サーバS’3とが最小値である。割り当て部120は、元サーバS1を先サーバS’2に割り当てる。
(i=5,j=1~3)
上記と同様に、ステップは、S513からS504に戻る。S504では元サーバS5が選択され、S505では先サーバS’1が選択される。図19は、「i=5,j=1~3」の場合を説明するための図である。「i=3」では、先サーバS’1に元サーバS3の割り当てが確定しており、「i=1」では、先サーバS’2に元サーバS1の割り当てが確定している。このため、図19では、「P3」および「P1」を枠で囲い、確定を示した。図19において、「j=1~3」の内容は、図17、図18と同様である。
上記と同様に、ステップは、S513からS504に戻る。S504では元サーバS5が選択され、S505では先サーバS’1が選択される。図19は、「i=5,j=1~3」の場合を説明するための図である。「i=3」では、先サーバS’1に元サーバS3の割り当てが確定しており、「i=1」では、先サーバS’2に元サーバS1の割り当てが確定している。このため、図19では、「P3」および「P1」を枠で囲い、確定を示した。図19において、「j=1~3」の内容は、図17、図18と同様である。
「i=1」の場合と同様に、処理はS510に進む。S510において、散らばり「P’sd」は、未だ割り当てのない先サーバS’3が最小値である。割り当て部120は、元サーバS5を先サーバS’3に割り当てる。
(i=2,j=1~3)
上記と同様に、ステップは、S513からS504に戻る。S504では元サーバS2が選択され、S505では先サーバS’1が選択される。図20は、「i=2,j=1~3」の場合を説明するための図である。「i=3」では先サーバS’1に元サーバS3の割り当てが確定し、「i=1」では先サーバS’2に元サーバS1の割り当てが確定し、「i=5」では先サーバS’3に元サーバS5の割り当てが確定した。このため、図20では、CPU使用量「P3」、「P1」および「P5」を枠で囲い、確定を示した。図20において、「j=1~3」の内容は、図17~図19と同様である。
上記と同様に、ステップは、S513からS504に戻る。S504では元サーバS2が選択され、S505では先サーバS’1が選択される。図20は、「i=2,j=1~3」の場合を説明するための図である。「i=3」では先サーバS’1に元サーバS3の割り当てが確定し、「i=1」では先サーバS’2に元サーバS1の割り当てが確定し、「i=5」では先サーバS’3に元サーバS5の割り当てが確定した。このため、図20では、CPU使用量「P3」、「P1」および「P5」を枠で囲い、確定を示した。図20において、「j=1~3」の内容は、図17~図19と同様である。
「i=5」の場合と同様に、処理はS510に進む。S510において、割り当て部120は、散らばり「P’sd」の最小値となる先サーバS’に元サーバS2を割り当てる。
以下、残りの元サーバS7、S4、S6の割り当てについても、同様の処理が実行される。以上の例では、計算に考慮するリソースをCPU使用量、メモリ使用量、ディスク使用量の3つに限定した場合を説明したが、ディスクアクセス帯域やネットワークアクセス帯域についても、同様の計算を用いて考慮することができる。
以上の実施の形態1では、リソース割り当て装置100を説明したが、リソース割り当て装置100が行う「リソース割り当て方法」の実施の形態として把握することもできる。また、リソース割り当て装置100を、コンピュータに実行させる「リソース割り当てプログラム」の実施の形態として把握することもできる。さらに、「リソース割り当てプログラム」を記録したコンピュータ実行可能な「記録媒体」の実施の形態として把握することも可能である。
実施の形態1のリソース割り当て装置100は、リソース使用量の偏差値から優先度を考慮した総合値を算出し、その総合値に基づいて割り当てる元サーバの順番を決定する。そして割り当て部120は、さらに割り当てた場合の各リソース使用量の「散らばりP’sd」を優先度αを考慮して計算する。割り当て部120は、「散らばりP’sd」を最小化する元サーバと先サーバとの組み合せを決定する。これにより、統合後のリソース使用量を均一化するような組み合せを算出することができる。さらに優先度を考慮することによって、柔軟に組み合せを算出することができる。
実施の形態2.
実施の形態1では、例えばCPUのように各リソースが複数のデバイスを持ち、それぞれのデバイスが独立した負荷を持つことを想定していない。実施の形態2では、各リソースが複数のデバイスを持つ場合に、各デバイスの負荷を考慮する場合を説明する。実施の形態2は、複数CPUの場合を例に説明する。以下ではCPUについて述べるが、他のリソースに関しても、同様に複数デバイスへ対応することができる。
実施の形態1では、例えばCPUのように各リソースが複数のデバイスを持ち、それぞれのデバイスが独立した負荷を持つことを想定していない。実施の形態2では、各リソースが複数のデバイスを持つ場合に、各デバイスの負荷を考慮する場合を説明する。実施の形態2は、複数CPUの場合を例に説明する。以下ではCPUについて述べるが、他のリソースに関しても、同様に複数デバイスへ対応することができる。
実施の形態2では、CPU負荷テーブル131-1が、図21のように、各CPUデバイスごとの負荷を格納している。
図22は、実施の形態2の動作を示すフローチャートである。図22のフローチャートは、図10のフローチャートにS600~S608を追加した。実施の形態1では、S506において単純に合算を行って判定した。これに対して実施の形態2では、さらに図22の「ステップ600からステップ608」に示すステップにより、割り当て対象(元サーバ)と割り当て先(先サーバ)との各CPUごとの使用量を考慮して、割り当て部120が、割り当て可能かどうかを判断する。各CPUの割り当ては、割り当て対象と割り当て先の使用量が、相補的になるように組み合わせる。すなわち、割り当て部120は、割り当て対象のCPU使用量が大きいCPUと、割り当て先のCPU使用量が小さいCPUとを組み合わせる。これにより、割り当て後の割り当て先の各CPUの使用量が均一になるように割り当てることができる。
(元サーバのCPU)
元サーバSiのCPU数をNi、
元サーバSiの各CPUを「Si,cpu,k、」(k=1...Ni)」、
各CPUごとのCPU使用量を「Pcpu,each,i,k」
とする。
元サーバSiのCPU数をNi、
元サーバSiの各CPUを「Si,cpu,k、」(k=1...Ni)」、
各CPUごとのCPU使用量を「Pcpu,each,i,k」
とする。
(先サーバのCPU)
割り当て先(先サーバ)のCPU数をN’j、
先サーバS’jの各CPUを「S’j,cpu,l、(l=1...N’j)、
各CPUごとのCPU使用量を「P’cpu,each,j,l」
とする。
割り当て先(先サーバ)のCPU数をN’j、
先サーバS’jの各CPUを「S’j,cpu,l、(l=1...N’j)、
各CPUごとのCPU使用量を「P’cpu,each,j,l」
とする。
割り当て対象サーバSiが割り当て先サーバS’jに割り当て可能かを判断するフローは次のようになる。以下は、割り当て部120による処理である。
(1)まずステップ600において、割り当て対象Siの各CPU、Si,cpuを使用量Pcpu,each,iにもとづいて、降順で並べ替える。
(2)ステップ601において、kを1にセットする。
(3)ステップ602において、割り当て先サーバS’jの各CPU、S’j,cpuを使用量P’cpu,jにもとづいて昇順で並べ替える。
(4)ステップ603において、lに1をセットする。
(5)ステップ604において、Pcpu,each,i,kとP’cpu,each,j,lの合計がP’cpu,limitを超えるかどうかを判定し、超える場合はS’j,cpu(先サーバのCPU)へのSi,cpu(元サーバのCPU)の割り当てが失敗し、かつ先サーバS’jへの元サーバSiの割り当ても失敗したと判断し、ステップ508へ進む。
(6)超えない場合は、ステップ605へ進み、k、lを1進める。
(7)ステップ606において、lがCPU数N’jを超えない場合は、ステップ608へ進み、kがCPU数Niを超えないかを判断する。超えない場合には、まだ割り当てていないSi,cpu(元サーバのCPU)があるのでステップ604へ進む。超える場合には、全てのSi,cpu(元サーバのCPU)を割り当てられたので、Si,cpu(元サーバのCPU)とS’j,cpu(先サーバのCPU)の組み合わせを「割り当て可能リストA」に追加して、ステップ507へ進む。
(8)ステップ606において、lがCPU数N’jを超える場合(Ni>N’jの場合のみ)は、ステップ607へ進み、S’j,cpu(先サーバのCPU)への割り当てを一時的に反映、ステップ602にて再び並べ替える。
(1)まずステップ600において、割り当て対象Siの各CPU、Si,cpuを使用量Pcpu,each,iにもとづいて、降順で並べ替える。
(2)ステップ601において、kを1にセットする。
(3)ステップ602において、割り当て先サーバS’jの各CPU、S’j,cpuを使用量P’cpu,jにもとづいて昇順で並べ替える。
(4)ステップ603において、lに1をセットする。
(5)ステップ604において、Pcpu,each,i,kとP’cpu,each,j,lの合計がP’cpu,limitを超えるかどうかを判定し、超える場合はS’j,cpu(先サーバのCPU)へのSi,cpu(元サーバのCPU)の割り当てが失敗し、かつ先サーバS’jへの元サーバSiの割り当ても失敗したと判断し、ステップ508へ進む。
(6)超えない場合は、ステップ605へ進み、k、lを1進める。
(7)ステップ606において、lがCPU数N’jを超えない場合は、ステップ608へ進み、kがCPU数Niを超えないかを判断する。超えない場合には、まだ割り当てていないSi,cpu(元サーバのCPU)があるのでステップ604へ進む。超える場合には、全てのSi,cpu(元サーバのCPU)を割り当てられたので、Si,cpu(元サーバのCPU)とS’j,cpu(先サーバのCPU)の組み合わせを「割り当て可能リストA」に追加して、ステップ507へ進む。
(8)ステップ606において、lがCPU数N’jを超える場合(Ni>N’jの場合のみ)は、ステップ607へ進み、S’j,cpu(先サーバのCPU)への割り当てを一時的に反映、ステップ602にて再び並べ替える。
図23は、Ni<N’j(元サーバCPU数<先サーバCPU数)の場合の割り当てを示している。図23は、元サーバ及び先サーバのCPU使用量でソートした後を示している。図においてハッチングにより色付けしている部分は、CPU使用量を示している。この場合、割り当て対象のCPU2(使用量最大)を割り当て先のCPU4(使用量最小)へ割り当て、また、割り当て対象のCPU1を割り当て先のCPU2へ割り当てることになる。
図24は、Ni>N’j(元サーバCPU数>先サーバCPU数)の場合の割り当てを示している。図24も図23と同様に元サーバ及び先サーバのCPU使用量でソートした後を示している。この場合、まず割り当て対象のCPU4(使用量最大)を割り当て先のCPU2(使用量最小)へ割り当て、また、割り当て対象のCPU1を割り当て先のCPU1へ割り当てる。次に一時的に割り当てを反映し(ステップ607)、割り当て先のCPUを並べ替え、割り当て対象のCPU2を割り当て先のCPU1(使用量最小)へ、割り当て対象のCPU3を割り当て先のCPU2へ割り当てる。
実施の形態2では、ステップ510にで割当てを確定する場合に、割り当て可能リストに追加したCPU割り当ての組合せも考慮する。
実施の形態1では、複数CPUのリソース使用量を平均で計算する。例えば2つのCPUを持つ割り当て先に同様に2つのCPUを持つ割り当て対象のCPU使用量の合計を求め、割り当て可能かを判定する場合を考えると、実施の形態1の場合、図25のようになる。割り当て先のCPU使用量は平均で見られるため、両CPUとも50%だという見方となる。割り当て対象も同様で両CPUとも40%とみなされ、この場合割り当て後90%となり、100%に収まるため割り当て可能である。ところが、実際は図26のように割り当て対象のCPU使用量は10%、70%と偏っており、割り当て可能ではない。実施の形態2では、図22のフローによって、複数デバイスを意識し、割り当て可能かどうかの判定を正確に行うことが可能となる。
S 割り当て対象リスト、S’ 割り当て先リスト、A 割り当て先可能リスト、α 優先度、100 リソース割り当て装置、110 入力部、120 割り当て部、130 テーブル記憶部、121 構成情報テーブル、131 CPU負荷テーブル、132 メモリ使用量テーブル、133 ディスク使用量テーブル、134 ディスクアクセス帯域テーブル、135 ネットワーク負荷テーブル、140 リスト記憶部。
Claims (7)
- 統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶するリスト記憶部と、
前記リソース種別ごとに指定された優先度を記憶する優先度記憶部と、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する割り当て部と
を備えたことを特徴とするリソース割り当て装置。 - 前記割り当て部は、
前記統合対象リストSに記載されたリソース種別ごとにそれぞれの前記統合対象サーバ装置のリソース使用量の偏差値を算出し、算出されたリソース種別ごとの前記偏差値と、前記偏差値のリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を総合値として前記統合対象サーバ装置ごとに算出すると共に、前記統合対象リストSから前記統合対象サーバ装置を選択するときには、前記算出した前記総合値の値に従って、前記統合対象リストSから前記統合対象サーバ装置を選択することを特徴とする請求項1記載のリソース割り当て装置。 - 前記リソース割り当て装置は、さらに、
前記統合先サーバ装置のリソース種別ごとのリソース容量を記憶するリソース容量記憶部を備え、
前記割り当て部は、
前記リソース容量記憶部に記憶された前記リソース容量と前記統合対象リストSに記載された前記リソース使用量とに基づいてリソース種別ごとに前記統合先サーバ装置の暫定的な台数を算出し、算出されたそれぞれの暫定的な台数のうち、最大の前記優先度の指定されたリソース種別と同一のリソース種別について算出された台数を前記統合先サーバ装置の台数nとして決定することを特徴とする請求項1記載のリソース割り当て装置。 - 前記統合対象サーバ装置と前記統合先サーバ装置とは、
互いの間における同一リソース種別のうちの少なくとも一種類の同一リソース種別について、互いに複数のデバイスを有し、
前記割り当て部は、
選択された前記統合対象サーバ装置の同一リソース種別のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てる場合には、選択された前記統合対象サーバ装置の前記複数のデバイスの各リソース使用量を、前記選択された前記統合先サーバ装置の前記複数のデバイスのいずれかに順次に割り当てるごとに、前記リソース使用量が割り当てられた前記デバイスの割り当て後の使用量が許容量以内かどうかを判定することを特徴とする請求項1記載のリソース割り当て装置。 - コンピュータを、
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶するリスト記憶部、
前記リソース種別ごとに指定された優先度を記憶する優先度記憶部、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する割り当て部、
として機能させることを特徴とするリソース割り当てプログラム。 - 前記請求項5記載のリソース割り当てプログラムを記録したコンピュータ読み取り可能な記録媒体。
- リスト記憶部と、優先度記憶部と、割り当て部とを備えたコンピュータが行うリソース割り当て方法において、
(1)リスト記憶部が、
統合対象となるm台(m:m≧3の整数)の統合対象サーバ装置ごとにリソース種別ごとのリソース使用量が記載された統合対象リストSと、前記統合対象リストSに記載された前記m台の統合対象サーバ装置の統合先となるn台(n:n<m、かつ、n≧2の整数)の統合先サーバ装置が記載された統合先リストS’とを記憶し、
(2)優先度記憶部が、
前記リソース種別ごとに指定された優先度を記憶し、
(3)割り当て部が、
前記統合対象リストSから一つの前記統合対象サーバ装置を選択すると共に前記統合先リストS’から一つの前記統合先サーバ装置を選択し、選択された前記統合対象サーバ装置のリソース使用量を選択された前記統合先サーバ装置に暫定的に割り当てた場合における選択された前記統合先サーバ装置の現在のリソース使用量と、前記統合先リストS’に記載された他のすべての前記統合先サーバ装置の現在のリソース使用量とを対象として、対象となる前記リソース使用量の平均と標準偏差との比として定義される変動係数をリソース種別ごとに算出し、算出されたリソース種別ごとの変動係数と、前記変動係数の対応するリソース種別と同一のリソース種別に指定された前記優先度とを乗じた和を散らばり値として算出し、
順次同様に、
前記統合先リストS’から別の前記統合先サーバ装置を選択することにより前記統合先サーバ装置を切り替えながら、選択された別の前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合における前記散らばり値を算出し、n台のそれぞれの前記統合先サーバ装置に選択された前記統合対象サーバ装置の前記リソース使用量を暫定的に割り当てた場合のそれぞれの前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された前記統合対象サーバ装置のリソース使用量を割り当てることを確定し、
順次同様に、
前記統合対象リストSから別の前記統合対象サーバ装置を選択することにより前記統合対象サーバ装置を切り替えながら、選択された別の前記統合対象サーバ装置のリソース使用量をn台のそれぞれの前記統合先サーバ装置に暫定的に割り当てた場合の前記散らばり値のうち最少となる前記散らばり値に対応する前記統合先サーバ装置を特定し、特定された前記統合先サーバ装置に選択された別の前記統合対象サーバ装置のリソース使用量を割り当てることを確定する
ことを特徴とするリソース割り当て方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010533732A JP5121936B2 (ja) | 2008-10-13 | 2008-10-13 | リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 |
EP08877391.6A EP2345964A4 (en) | 2008-10-13 | 2008-10-13 | RESOURCE ALLOCATION DEVICE, RESOURCE ALLOCATION PROGRAM, RECORDING MEDIUM, AND RESOURCE ALLOCATION METHOD |
PCT/JP2008/068508 WO2010044131A1 (ja) | 2008-10-13 | 2008-10-13 | リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 |
US13/122,425 US8452875B2 (en) | 2008-10-13 | 2008-10-13 | Resource allocation apparatus, resource allocation program and recording media, and resource allocation method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2008/068508 WO2010044131A1 (ja) | 2008-10-13 | 2008-10-13 | リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010044131A1 true WO2010044131A1 (ja) | 2010-04-22 |
Family
ID=42106309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2008/068508 WO2010044131A1 (ja) | 2008-10-13 | 2008-10-13 | リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8452875B2 (ja) |
EP (1) | EP2345964A4 (ja) |
JP (1) | JP5121936B2 (ja) |
WO (1) | WO2010044131A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012173869A (ja) * | 2011-02-18 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | 割当決定装置、割当決定方法、割当システム及び割当決定プログラム |
JP2013080346A (ja) * | 2011-10-03 | 2013-05-02 | Daiwa Securities Group Inc | 情報処理装置、保守作業支援方法および保守作業支援用プログラム |
CN111742299A (zh) * | 2018-02-28 | 2020-10-02 | 三菱电机株式会社 | 资源控制装置、资源控制方法和资源控制程序 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706880B2 (en) * | 2011-02-24 | 2014-04-22 | Hewlett-Packard Development Company, L.P. | Manage a shared computing resource based on resource use reports |
US8583799B2 (en) * | 2011-05-09 | 2013-11-12 | Oracle International Corporation | Dynamic cost model based resource scheduling in distributed compute farms |
JP2014116732A (ja) * | 2012-12-07 | 2014-06-26 | Toshiba Corp | 無線通信装置 |
US9568975B2 (en) * | 2013-08-13 | 2017-02-14 | Intel Corporation | Power balancing to increase workload density and improve energy efficiency |
US10990926B2 (en) * | 2015-10-29 | 2021-04-27 | International Business Machines Corporation | Management of resources in view of business goals |
US9996382B2 (en) | 2016-04-01 | 2018-06-12 | International Business Machines Corporation | Implementing dynamic cost calculation for SRIOV virtual function (VF) in cloud environments |
CN108572871B (zh) * | 2017-12-13 | 2021-03-26 | 北京金山云网络技术有限公司 | 一种资源分配方法、装置、电子设备及存储介质 |
US11025710B1 (en) * | 2020-10-26 | 2021-06-01 | Verizon Digital Media Services Inc. | Systems and methods for dynamic load balancing based on server utilization and content popularity |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192612A (ja) * | 2002-12-09 | 2004-07-08 | Internatl Business Mach Corp <Ibm> | 区分化されたデータ処理システムにおける電力節減 |
JP2005222539A (ja) * | 2004-01-30 | 2005-08-18 | Hewlett-Packard Development Co Lp | 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム |
JP2005234917A (ja) * | 2004-02-20 | 2005-09-02 | Hitachi Ltd | 障害時のサーバ決定方法 |
JP2008210001A (ja) * | 2007-02-23 | 2008-09-11 | Nec Corp | サーバ移行計画作成システム、サーバ移行計画作成方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5896393A (en) * | 1996-05-23 | 1999-04-20 | Advanced Micro Devices, Inc. | Simplified file management scheme for flash memory |
US6311068B1 (en) * | 1998-10-19 | 2001-10-30 | At&T Corp. | Method and apparatus for a high-capacity cellular network by improved sectorization and interleaved channel assignment |
US8219681B1 (en) * | 2004-03-26 | 2012-07-10 | Emc Corporation | System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
US6877035B2 (en) * | 2001-01-29 | 2005-04-05 | International Business Machines Corporation | System for optimal resource allocation and planning for hosting computing services |
US20040143945A1 (en) * | 2001-12-08 | 2004-07-29 | Tony Christianson | Hinge locking carabiner |
US20060173875A1 (en) * | 2003-03-19 | 2006-08-03 | Unisys Corporation | Server Consolidation Data Mdel |
US7346627B2 (en) * | 2003-06-25 | 2008-03-18 | Oracle International Corporation | Approaches for migrating portal objects from a source installation to a target installation |
JP3861087B2 (ja) * | 2003-10-08 | 2006-12-20 | 株式会社エヌ・ティ・ティ・データ | 仮想マシン管理装置及びプログラム |
JP4094560B2 (ja) | 2004-01-23 | 2008-06-04 | 株式会社エヌ・ティ・ティ・データ | リソース分割サーバ及びリソース分割サーバプログラム |
US8255516B1 (en) * | 2006-04-28 | 2012-08-28 | Hewlett-Packard Development Company, L.P. | Performance-data based server consolidation |
FI20070853A0 (fi) * | 2007-11-09 | 2007-11-09 | Glykos Finland Oy | Glykaania sitovat monoklonaaliset vasta-aineet |
US8082408B2 (en) * | 2008-06-30 | 2011-12-20 | Symantec Operating Corporation | System and method for resuming backup of a volume after a backup operation prematurely terminates |
-
2008
- 2008-10-13 EP EP08877391.6A patent/EP2345964A4/en not_active Withdrawn
- 2008-10-13 US US13/122,425 patent/US8452875B2/en not_active Expired - Fee Related
- 2008-10-13 JP JP2010533732A patent/JP5121936B2/ja not_active Expired - Fee Related
- 2008-10-13 WO PCT/JP2008/068508 patent/WO2010044131A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004192612A (ja) * | 2002-12-09 | 2004-07-08 | Internatl Business Mach Corp <Ibm> | 区分化されたデータ処理システムにおける電力節減 |
JP2005222539A (ja) * | 2004-01-30 | 2005-08-18 | Hewlett-Packard Development Co Lp | 複数のコントローラ間に仮想ストレージセグメントを割り当てる能力を有するストレージシステム |
JP2005234917A (ja) * | 2004-02-20 | 2005-09-02 | Hitachi Ltd | 障害時のサーバ決定方法 |
JP2008210001A (ja) * | 2007-02-23 | 2008-09-11 | Nec Corp | サーバ移行計画作成システム、サーバ移行計画作成方法 |
Non-Patent Citations (2)
Title |
---|
See also references of EP2345964A4 |
YASUHIRO AJIRO, ATSUHIRO TANAKA: "A Combinatorial Optimization Algorithm for Server Consolidation", THE 21ST ANNUAL CONFERENCE OF THE JAPANESE SOCIETY FOR ARTIFICIAL INTELLIGENCE, 2007 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012173869A (ja) * | 2011-02-18 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | 割当決定装置、割当決定方法、割当システム及び割当決定プログラム |
JP2013080346A (ja) * | 2011-10-03 | 2013-05-02 | Daiwa Securities Group Inc | 情報処理装置、保守作業支援方法および保守作業支援用プログラム |
CN111742299A (zh) * | 2018-02-28 | 2020-10-02 | 三菱电机株式会社 | 资源控制装置、资源控制方法和资源控制程序 |
Also Published As
Publication number | Publication date |
---|---|
US20110225300A1 (en) | 2011-09-15 |
JPWO2010044131A1 (ja) | 2012-03-08 |
EP2345964A4 (en) | 2013-11-20 |
EP2345964A1 (en) | 2011-07-20 |
US8452875B2 (en) | 2013-05-28 |
JP5121936B2 (ja) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5121936B2 (ja) | リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 | |
US11275609B2 (en) | Job distribution within a grid environment | |
US9197703B2 (en) | System and method to maximize server resource utilization and performance of metadata operations | |
CA2780231C (en) | Goal oriented performance management of workload utilizing accelerators | |
US9141432B2 (en) | Dynamic pending job queue length for job distribution within a grid environment | |
US8726290B2 (en) | System and/or method for balancing allocation of data among reduce processes by reallocation | |
JP4621999B2 (ja) | 情報処理システム | |
EP1564638B1 (en) | A method of reassigning objects to processing units | |
US9135040B2 (en) | Selecting provisioning targets for new virtual machine instances | |
KR101471749B1 (ko) | 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법 | |
JPWO2008102739A1 (ja) | 仮想サーバシステム及び物理サーバ選択方法 | |
US20100250734A1 (en) | Server reassignment support system and server reassignment support method | |
EP2255286A1 (en) | Routing workloads and method thereof | |
CN108153589B (zh) | 用于多线程的处理布置中的数据处理的方法和系统 | |
JP2016024612A (ja) | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 | |
US8819239B2 (en) | Distributed resource management systems and methods for resource management thereof | |
Perwej | The ambient scrutinize of scheduling algorithms in big data territory | |
CN114564313A (zh) | 负载调整方法、装置、电子设备及存储介质 | |
KR101595967B1 (ko) | 데드라인 부여된 작업의 분산 처리 성능 향상을 위한 맵리듀스 스케쥴링 시스템 및 방법 | |
Farzaneh et al. | A novel virtual machine placement algorithm using RF element in cloud infrastructure | |
Lin et al. | Joint deadline-constrained and influence-aware design for allocating MapReduce jobs in cloud computing systems | |
CN112685167A (zh) | 资源使用方法、电子设备和计算机程序产品 | |
KR101836743B1 (ko) | 복수의 모바일 단말을 이용한 태스크 분산 처리 시스템의 실패 태스크 재할당을 위한 단말 선택 기법 | |
WO2022168288A1 (ja) | リソース割当装置、リソース割当方法、制御回路および記憶媒体 | |
WO2023039711A1 (en) | Efficiency engine in a cloud computing architecture |
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: 08877391 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2010533732 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2008877391 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13122425 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |