WO2013140532A1 - 電源投入制御装置、電源投入制御方法およびプログラム - Google Patents

電源投入制御装置、電源投入制御方法およびプログラム Download PDF

Info

Publication number
WO2013140532A1
WO2013140532A1 PCT/JP2012/057081 JP2012057081W WO2013140532A1 WO 2013140532 A1 WO2013140532 A1 WO 2013140532A1 JP 2012057081 W JP2012057081 W JP 2012057081W WO 2013140532 A1 WO2013140532 A1 WO 2013140532A1
Authority
WO
WIPO (PCT)
Prior art keywords
power
power consumption
value
domain
electronic device
Prior art date
Application number
PCT/JP2012/057081
Other languages
English (en)
French (fr)
Inventor
耕太朗 塩田
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2012/057081 priority Critical patent/WO2013140532A1/ja
Publication of WO2013140532A1 publication Critical patent/WO2013140532A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a power-on control device, a power-on control method, and a program for a plurality of electronic devices.
  • a large-scale information processing apparatus including a plurality of system boards (SB: System Board) equipped with a processor (CPU: Central Processing Unit), a memory, and the like may be used.
  • SB System Board
  • CPU Central Processing Unit
  • FIG. 23 illustrates a server 300 including a plurality of SBs 10 as a large-scale information processing apparatus.
  • the server 300 includes a plurality of SBs 10 and a crossbar (XB) 310 that connects the SBs 10. Furthermore, a control device 320 that manages the operation of the server 300 is connected to the server 300.
  • XB crossbar
  • the server 300 has a domain including one or a plurality of SBs 10.
  • a domain is obtained by connecting one or a plurality of SBs 10 by, for example, XB310. Domains are provided according to services provided by the server 300, for example, and have an appropriate number of SBs 10 according to the performance of services required for each domain.
  • the domain can also be referred to as a resource of the server 300.
  • the control device 320 manages the operation of the server 300 by turning on the power to the domain.
  • the control device 320 may be an information processing device for computer system management exemplified by the server 300 called a service processor.
  • a power-on method for each port in a system having a plurality of ports is known.
  • the next port (#n) is waited for a response of completion of power-on from the port (# n-1).
  • the first method has a problem that it takes a long time to turn on the power in a large-scale system.
  • the second method divides a plurality of devices in the system into partial pieces.
  • the divided parts are connected to each port as a power-on unit, and the timing between each port is set so that the power consumption peaks for each device or each port do not overlap. It has been proposed to shift the power on.
  • an object of the present invention is to perform control in consideration of power consumption in each of a plurality of processes executed in a startup process after power-on in an apparatus including a plurality of electronic devices.
  • the power-on control device is configured based on the power consumption values in the respective periods corresponding to the multi-stage processing executed in the startup process after power-on in the plurality of electronic devices to be powered on.
  • the execution timings of a plurality of stages in a plurality of electronic devices are specified within a range in which the total power consumption of the electronic devices does not exceed a predetermined allowable value. Then, the power-on control device instructs a plurality of electronic devices to execute a plurality of processes at a designated timing.
  • the power-on control device in an apparatus including a plurality of electronic devices, it is possible to perform control in consideration of power consumption in each of a plurality of stages of processing executed in the startup process after power-on. .
  • FIG. 1 is a configuration diagram of a server 100 including a power-on control device 20 according to the present embodiment.
  • the server 100 in FIG. 1 includes a plurality of system boards (hereinafter also referred to as “SB”) 10.
  • the server 100 constructs a domain with a single or a plurality of SBs 10.
  • the server 100 can be operated by being divided into a plurality of domains according to the operation mode of the service to be provided. That is, the domain of the server 100 is a resource unit that provides the service or function of the server 100, and the SB 10 can be considered as a resource unit that constructs the domain.
  • one SB 10 may be one domain.
  • the SB 10 is an example of an electronic device.
  • the domain is an example of a plurality of electronic devices.
  • a single SB 10 constructs a single domain.
  • SB # 0 corresponds to domain #
  • SB # 1 corresponds to domain # 1
  • SB # 2 corresponds to domain # 2.
  • Each SB 10 of the server 100 illustrated in FIG. 1 can be connected to each other by a crossbar switch 31 or the like.
  • Each SB 10 constructs a domain according to the service form by constructing a connection in the domain via the crossbar switch 31.
  • the server 100 in FIG. 1 includes a power meter 11 and a power-on control device 20 in addition to the SB 10.
  • the server 100 receives power supply from a power source (not shown).
  • the power supplied to the server 100 is branched in the server 100 and supplied to the SB 10, the power-on control device 20, and the like.
  • power-on of the power supplied to each SB 10 is performed on a domain basis. In each domain, the SB 10 can be incorporated / separated while power is supplied to the domain.
  • the server 100 is not limited to the configuration of FIG.
  • the server 100 is an information processing apparatus that functions as a database server, a file server, a Web server, a server for executing application programs, or the like.
  • the server 100 may be part of a cloud that is a group of computers on the Internet.
  • the server 100 may be an information processing apparatus such as a control computer, a weather observation computer, or an experimental facility management computer provided in a plant or factory.
  • the server 100 may be an information processing device including a plurality of devices to be powered on.
  • the SB 10 includes one or more processors (CPU: Central Processing Unit), a main storage device, an external storage device, and the like.
  • the SB 10 includes a power-on circuit having a switch such as a transistor. In the power-on circuit of the SB 10, power-on control is performed by a command, an instruction signal, etc. from the power-on control device 20.
  • One or more processors of the SB 10 perform processing according to various programs stored in the main storage device or the like.
  • the processor of the SB 10 stores various programs and data.
  • the main storage device includes, for example, a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the external storage device stores various programs and various data.
  • the external storage device includes an HDD (Hard Disk Drive) and a solid state drive.
  • the solid state drive includes, for example, a flash memory.
  • the SB 10 provides a required function by introducing an OS (Operating System) and various programs into an external storage device or ROM. Note that the SB 10 may be able to increase or decrease the number of processors, memories, etc. according to the service form. The resources of the SB 10 can be increased or decreased by a memory unit or a processor unit that can be inserted into and removed from the SB 10.
  • OS Operating System
  • ROM Read Only Memory
  • the power meter 11 measures the power consumed by the SB.
  • the wattmeter 11 may detect a current flowing to the SB 10 after the power is turned on, and convert the detected current value into a power value.
  • the wattmeter 11 is mounted on, for example, the power supply path of the SB 10, and the power consumption values measured by the SB 10 and the wattmeter 11 are associated one-on-one.
  • the power meter 11 only needs to be able to measure the power consumption value of the corresponding SB 10.
  • the power meter 11 may be installed on a branch path in the server 100 and the power consumption of each SB 10 may be measured.
  • the SB 10 includes a management table or the like in which the identification information of the SB 10 and the identification information of the power meter 11 are associated in advance, and the power consumption value measured by the power meter 11 and the identification information of the corresponding SB 10 May be associated one-to-one.
  • the power meter 11 measures the power consumption of the associated SB 10 at a predetermined time interval.
  • the predetermined time interval is a time interval that can be measured by following a time-series change in power consumption until the startup operation of the server 100 from the power-on to the operation state is completed.
  • an appropriate one can be selected according to the scale, capacity, processing speed, etc. of the resources provided in the server 100.
  • the power consumption value for each SB 10 measured by the power meter 11 is notified to the power-on control device 20 together with the identification information of the power meter 11, for example.
  • the power-on control device 20 may specify the power consumption value for each SB 10 based on the identification information of the wattmeter 11 from the management table in which the identification information of the SB 10 and the identification information of the wattmeter 11 are associated with each other.
  • the power consumption value notified to the power-on control device 20 may be notified to the power-on control device 20 at a constant cycle after being stored in the wattmeter 11, for example.
  • the power consumption value measured by the wattmeter 11 may be transferred to the corresponding SB 10 and notified from the SB 10 to the power-on control device 20 at a constant cycle.
  • the power-on control device 20 may acquire the power consumption value for each SB 10 from the SB 10 together with the identification information of the SB 10.
  • the fixed period may be a time interval that is equal to or greater than the time interval of power consumption measured by the wattmeter 11.
  • the power-on control device 20 includes a central processing unit (CPU) 21, a main storage unit 22, an auxiliary storage unit 23, and a communication unit 24.
  • the CPU 21, the main storage unit 22, the auxiliary storage unit 23, and the communication unit 24 are connected to the connection bus BUS1, and exchange various data with each other via the connection bus BUS1.
  • the CPU 21 develops the program stored in the auxiliary storage unit 23 in the work area of the main storage unit 22 so as to be executable, and performs power-on control through execution of the program.
  • the CPU 21 controls the entire power-on control device 20.
  • the CPU 21 performs processing in accordance with a program that is developed to be executable in the main storage unit 22.
  • the main storage unit 22 stores a program executed by the CPU 21 or data processed by the CPU 21.
  • the main storage unit 22 includes, for example, a RAM and a ROM.
  • the auxiliary storage unit 23 stores various programs and various data.
  • the auxiliary storage unit 23 stores an OS, various programs, various data, and the like.
  • the OS includes a communication interface program, and transmits / receives data to / from the SB 10 or the like connected via the communication unit 24.
  • the auxiliary storage unit 23 is, for example, an HDD, an SSD, or the like.
  • the power-on control device 20 can include a drive device for a portable recording medium.
  • the communication unit 24 is an interface with the SB 10 or an external connection device.
  • the external connection device includes, for example, other information processing devices and storage devices on a LAN connected via a network switch
  • the power-on control device 20 executes start-up control that shifts the power-on timing for each domain based on the time series change of the power consumption value measured for each SB 10.
  • the power load is leveled by the power-on control device 20 so that the power consumption peak of the entire server 100 does not exceed the allowable value or the target value.
  • FIG. 2 illustrates a functional block diagram of the power-on control device 20.
  • the power-on control device 20 includes functional units of a domain configuration control unit 201, a power measurement unit 202, a power change calculation unit 203, a power-on timing generation unit 204, and a power-on control unit 205.
  • the processing by each functional unit described above is provided by the CPU 21 of the power-on control device 20 executing a computer program that is executed on the main storage unit 22 so as to be executable.
  • the power-on control device 20 has tables such as an SB configuration / power table 211 and an allowable peak power table 212 when a plurality of domains are turned on, as data to be referred to or managed by each of the above functional units.
  • the table such as the SB configuration / power table 211 is, for example, the external storage of the main storage unit 22, the auxiliary storage unit 23 of the power-on control device 20, or another storage device on the network or other information processing device that provides a database function. Stored in a device or the like.
  • an allowable peak power value set by a system administrator or the like is stored.
  • a system administrator or the like may operate a management terminal on a network connected via a network switch so that an allowable peak power value can be set in the allowable peak power table 212 when a plurality of domains are input.
  • the allowable peak power value stored in the allowable peak power table 212 when a plurality of domains are input is, for example, a peak power value of allowable power consumption as the server 100.
  • the power change calculation unit 203 described later calculates the power-on timing using the allowable peak power value as a threshold value.
  • the allowable peak power value is an example of a predetermined allowable value.
  • the domain configuration control unit 201 changes the domain according to the set system request and performs domain connection construction by the operation of the system administrator or the like.
  • the server 100 including the power-on control device 20 can be operated by being divided into a plurality of domains in accordance with the operation mode of the provided service.
  • the server 100 is connected to a management terminal on the network connected via a network switch (not shown).
  • a system administrator or the like sets the domain of the server 100 according to the scale, processing amount, processing load, etc. of the system in a service provided to other clients on the network via a management terminal or the like.
  • the domain configuration control unit 201 constructs a domain connection with the SB 10 as a minimum configuration unit according to the set domain.
  • the server 100 includes a plurality of domains, and each domain has a single or a plurality of SBs 10.
  • domain # 0 is associated with SB10 (SB # 0)
  • domain #n is associated with SB10 (SB # m).
  • the domain identification information for identifying the domain is stored in the SB configuration / power table 211 described later together with the identification information of the SB 10 that constructs the domain.
  • the server 100 illustrated in FIG. 2 “domain # 0”, “domain #n”, etc. are examples of domain identification information, and “SB # 0”, “SB # m”, etc. are examples of identification information of SB10. is there.
  • the domain identification information and the identification information of the SB 10 are identification information uniquely specified in the server 100.
  • the power measurement unit 202 communicates with the power meter 11 mounted on each SB 10, acquires the power consumption value of the SB 10 measured by the power meter 11 at a constant period, and stores it in the SB configuration / power table 211.
  • the power consumption value acquired by the power measuring unit 202 is stored in the SB configuration / power table 211 together with the identification information (SB identification information) of the SB 10 associated with the power meter 11 in a one-to-one relationship, as will be described later. .
  • the power consumption value of the SB 10 is stored in the SB configuration / power table 211 at time intervals measured by the wattmeter 11.
  • the power measurement unit 202 acquires the power consumption value at the time interval measured by the wattmeter 11 and stores the acquired power consumption value in the SB configuration / power table 211 at a period different from the time interval measured by the wattmeter 11. You may make it do.
  • the power measurement unit 202 acquires SB configuration information such as a CPU and the number of installed memories for each SB 10 on which the power meter 11 is mounted, and identification information of the SB 10 associated with the power meter 11 in a one-to-one relationship. At the same time, it is stored in the SB configuration / power table 211.
  • the power consumption value and the SB configuration information for each SB acquired by the power measurement unit 202 may be acquired via, for example, the processor of the SB 10.
  • the processor of the SB 10 stores the power consumption value acquired by the power meter 11 at a predetermined time interval in the memory, adds the SB configuration information to the stored power consumption value, and measures the power at a predetermined cycle.
  • the unit 202 may be notified.
  • the power measurement unit 202 may acquire the power consumption value and the SB configuration information notified via the processor of the SB 10 and store them in the SB configuration / power table 211 in association with the identification information of the SB 10.
  • the power change calculation unit 203 calculates the total power consumption value when the SBs 10 are simultaneously input based on the power consumption value for each SB 10 stored in the SB configuration / power table 211. Then, the power change calculation unit 203 compares the calculated total power consumption value with the allowable peak power value stored in the allowable peak power table 212 when the multiple domains are turned on, thereby powering on the multiple domains. Find the timing.
  • the power change calculation unit 203 sets the power-on timing of a plurality of domains at the same time when the total value of the calculated power consumption values is less than the allowable peak power value.
  • “simultaneously” means that the power-on timing of a plurality of domains is set as usual, and the power is turned on to the plurality of domains without providing a time difference.
  • the power change calculation unit 203 is configured so that the total value of the calculated power consumption values is less than the allowable peak power value.
  • the power change calculation unit 203 sets a time difference by an integral multiple of the unit time t, calculates a total value of power consumption values when power is applied to each domain, and calculates the total value and the allowable peak power value. Perform the comparison again.
  • the power change calculation unit 203 sets the time difference by an integral multiple of the unit time t, and when the total power consumption value is less than the allowable peak power value, the power change calculation unit 203 converts the set multiple of the unit time t to a plurality of domains. The difference in turn-on time when power is turned on.
  • the power change calculation unit 203 when the total value of the calculated power consumption values is equal to or greater than the allowable peak power value, the power change calculation unit 203 further adds an integer multiple of the unit time t to the power-on timing between multiple domains, The process of calculating the total power consumption value and comparing it with the allowable peak power value is repeated. The power change calculation unit 203 repeats the above processing until the total value of the calculated power consumption values becomes less than the allowable peak power value, and obtains a power-on time difference for power-on. The power-on time difference obtained by the power change calculation unit 203 is delivered to the power-on timing generation unit 204.
  • the time difference in power-on timing may be set for one of a plurality of domains, for example.
  • the process for obtaining the power-on timing may be executed for the two domains.
  • the power change calculation unit 203 selects a domain having the largest peak power value from among a plurality of domains, sets the time difference, and calculates the total power consumption value. What is necessary is just to repeat the process which calculates
  • the power change calculation unit 203 may select a domain having the next highest peak power value among a plurality of domains. In this way, the power change calculation unit 203 may obtain the power-on timing difference sequentially for three or more domains. Then, the power change calculation unit 203 may repeat the selection of the domain for setting the input time difference and the process for obtaining the input time difference until the total value of the calculated power consumption values becomes less than the allowable peak power value.
  • the power-on timing generation unit 204 generates power-on timing for a plurality of domains based on the power-on time difference obtained by the power change calculation unit 203.
  • the power-on timing generation unit 204 has a timer function, and may generate a power-on trigger at a timing at which the timer time counted by the timer function matches the power-on time difference obtained by the power change calculation unit 203.
  • a power-on trigger is generated for each domain.
  • the power-on trigger generated by the power-on timing generation unit 204 is delivered to the power-on control unit 205 together with the identification information of the domain to be powered on.
  • the power-on control unit 205 powers on a domain to be powered on based on the power-on trigger generated by the power-on timing generation unit 204.
  • the power-on control unit 205 acquires domain identification information stored in the SB configuration / power table 211 and SB identification information associated with the domain identification information. Then, the power-on control unit 205 identifies the SB identification information associated with the domain identification information from the identification information of the domain to be powered on delivered from the power-on timing generation unit 204.
  • the power-on control unit 205 powers on the SB 10 having the specified SB identification information based on the power-on trigger generated by the power-on timing generation unit 204.
  • FIG. 3 illustrates a table 211 indicating the relationship between the SB configuration and power.
  • the SB configuration / power table 211 in FIG. 3 stores the domain identification information set via the domain configuration control unit 201 and the SB identification information associated with the domain identification information.
  • the SB configuration / power table 211 stores the SB configuration information acquired via the power measuring unit 202. Furthermore, in the SB configuration / power table 211, the power consumption value acquired via the power measuring unit 202 is stored in association with the SB identification information.
  • the SB configuration / power table 211 includes the same number of records as the SB 10 stored in the server 100.
  • the SB configuration / power table 211 stores the domain identification information, the SB identification information, the number of CPUs, the number of installed memories, and the power consumption value measured at every predetermined measurement time interval from power-on in each SB. And a power value field. Therefore, in the present embodiment, the SB 10 included in each domain is specified by the correspondence relationship between the domain identification information and the SB identification information in the SB configuration / power table 211.
  • the domain identification information is identification information that uniquely identifies the domain of the server 100.
  • the SB identification information is identification information of the SB 10 that constructs the domain.
  • the SB identification information is identification information uniquely defined in the server 100, for example.
  • the SB identification information may be identification information unique on the network to which the server 100 is connected, for example. Examples of the SB identification information include information including a serial number in the server 100, an IP (Internet Protocol) address of the SB 10, a MAC (Media Access Control) address, and the like.
  • the number of CPUs is the number of CPU units mounted on the SB 10 specified by the SB identification information.
  • the number of mounted memories is the number of memory units mounted on the SB 10 specified by the SB identification information.
  • the CPU, memory, and the like can be increased or decreased in the SB 10 according to the service form, and the power consumption value increases or decreases depending on the number of CPUs mounted in the SB 10 and the number of memories installed. Note that the memory capacity may be specified instead of the number of installed memories.
  • the power consumption value measured by the wattmeter 11 from when the power to each SB 10 is turned on is stored for a predetermined storage period at the measurement time interval of the wattmeter 11.
  • the storage period of the power consumption value stored in the SB configuration / power table 211 can be, for example, a period from when the target SB 10 is powered on until the start-up operation of the server 100 is completed.
  • FIG. 4 is an example of a flowchart of a process for measuring the power consumption value for each domain by the power-on control device 20.
  • the power-on control device 20 executes a power consumption value measurement process for each domain by a computer program that is executably deployed in the main storage unit 22.
  • the measurement process illustrated in FIG. 4 is mainly executed by the power measurement unit 202. In the flowchart of FIG. 4, for example, when the measurement process is started, the process of the domain configuration control unit 201 is completed.
  • the power-on control device 20 acquires domain identification information stored in the SB configuration / power table 211 by the domain configuration control unit 201 and SB identification information associated with the domain identification information. Then, the power-on control device 20 executes power-on for each domain (S11). There is no limitation in the order of powering on multiple domains. For example, the power-on control device 20 may turn on the power in ascending order of identification numbers given as domain identification information. In the example of the server 100 in FIG. 1, the power-on control device 20 may perform power-on in the order of domain # 0, domain # 1, and domain # 2.
  • the power-on control device 20 identifies the SB 10 constructing the domain from the domain identification information acquired from the SB configuration / power table 211.
  • the power-on control device 20 instructs the identified SB 10 to power on.
  • the power-on circuit of the SB 10 executes power-on according to the power-on instruction.
  • the power consumption value after the power is turned on is measured by the mounted wattmeter 11.
  • the wattmeter 11 measures, for example, a time series change of the power consumption value at a predetermined measurement time interval during a measurement period from when the power is turned on until the startup operation of the server 100 is completed.
  • the power-on control device 20 acquires the power consumption value of the domain that has been powered on in S11. For example, the power-on control device 20 communicates with the power meter 11 mounted on each SB 10 included in the domain, and acquires the power consumption value of the SB 10 measured by the power meter 11. In addition, the power-on control device 20 acquires SB configuration information such as the CPU and the number of installed memories for each SB 10 in which the wattmeter 11 is mounted. The power-on control device 20 stores the acquired SB configuration information and the power consumption value in the corresponding SB identification information record of the SB configuration / power table 211. Note that the power-on control device 20 may acquire the power consumption value measured by the wattmeter 11 at a constant cycle via the processor of the corresponding SB 10.
  • the power consumption value stored in the SB configuration / power table 211 is stored for each measurement time interval measured by the wattmeter 11.
  • the storage period of the power consumption value stored in the SB configuration / power table 211 may be, for example, the above-described measurement period, that is, the period from when the power is turned on until the startup operation of the server 100 is completed.
  • the power-on control device 20 determines whether there is a domain that has not been powered on. If there is an unpowered domain (S13, “Yes”), the power-on control device 20 designates the next domain to be powered on (S14), and repeatedly executes the processing of S11-S13. . On the other hand, when there is no domain that has not been turned on (S13, “No”), the power-on control device 20 ends the power consumption value measurement process.
  • the power-on control device 20 can acquire the power consumption values of all the SBs 10 stored in the server 100 illustrated in FIG. 1, for example.
  • the power consumption value for each SB 10 is stored in the SB configuration / power table 211 in association with the domain identification information, the SB identification information, and the SB configuration information.
  • FIG. 5 and 6 illustrate the transition of the power consumption value of the SB 10 acquired in the power consumption value measurement process of FIG.
  • FIG. 5 is a columnar graph illustrating the transition of the chronological order in the measurement time interval of the wattmeter 11 of the power consumption value acquired in SB # 0 illustrated in FIG.
  • FIG. 6 is a record example of the power consumption value of SB # 0 stored in the SB configuration / power table 211.
  • the domain # 0 has a single SB 10
  • the SB identification information of the SB 10 that the domain # 0 has SB # 0.
  • the vertical axis represents the power value (W), and the horizontal axis represents the time normalized by the measurement time interval (unit time) t of the power meter 11.
  • the power value at each time is the power consumption value of SB # 0 measured by the wattmeter 11 at each measurement time interval t.
  • t0 is when the power is turned on
  • t25 is when the startup operation of the server 100 is completed.
  • the power-on timing for each domain is calculated based on the power consumption value for each domain obtained by the power consumption value measurement process illustrated in FIG. For example, the power-on timing is calculated so that the total value of power consumption illustrated in FIG. 5 as the entire server 100 does not exceed a predetermined threshold.
  • the predetermined threshold is an allowable power peak value stored in the allowable peak power table 212 when a plurality of domains are input.
  • FIG. 7 illustrates a flowchart of the power-on timing calculation processing for each domain by the power-on control device 20.
  • the power-on control device 20 executes a power-on timing calculation process for each domain by a computer program that is expanded in the main storage unit 22 in an executable manner.
  • the power-on timing calculation process is mainly executed by the power change calculation unit 203.
  • the start of the power-on timing calculation process for each domain can be exemplified by, for example, the end of the power consumption value measurement process for each domain illustrated in FIG.
  • the power-on control device 20 checks the domain identification information stored in the SB configuration / power table 211 and the SB identification information associated with the domain identification information (S15). Specifically, the power-on control device 20 obtains a correspondence relationship between each domain and the SB 10 belonging to each domain. Then, the power-on control device 20 acquires the power consumption value for each SB 10 from the record of the SB identification information associated with the domain identification information, and calculates the power change for each domain (S16). The calculation of the power change for each domain executed in S16 is a process of adding the power consumption values measured by the SBs 10 belonging to the domain to obtain the power consumption value as the domain.
  • the power-on control device 20 may sum up the power consumption values measured for each section designated by the measurement time interval of each SB 10 belonging to the domain in order to obtain the power consumption value for each domain.
  • SB # X and SB # Y belong to a domain.
  • the power consumption value as a domain is obtained. It can be calculated.
  • the power consumption value at time t1 as a domain is (pX + pY).
  • the power consumption value of SB # X and the power consumption value of SB # Y at each time By adding the power consumption value of SB # X and the power consumption value of SB # Y at each time, the power consumption value as a domain in the measurement period from when the power is turned on until the startup operation of the server 100 is completed.
  • Time series data can be acquired. The time may be, for example, the beginning, center, or end of the section specified by the measurement time interval. Similarly, when the number of SBs 10 in one domain is three or more, the power consumption at the same time may be added together.
  • each domain has one SB 10.
  • the power-on control device 20 may omit the process of S16.
  • the power-on control device 20 calculates a power change when simultaneously powering on multiple domains.
  • the calculation of the power change at the time of simultaneous input of a plurality of domains executed in S17 is a process of adding the power consumption values measured in each domain of the server 100 to obtain the power consumption value of the entire server 100.
  • the power consumption value for each domain has already been obtained in S16.
  • the power-on control device 20 adds the power consumption value for each domain obtained in S ⁇ b> 16 for each section specified by the measurement time interval.
  • the power-on control device 20 acquires time-series data of power consumption values as the server 100 during the measurement period from when the power is turned on until the startup operation of the server 100 is completed.
  • domain # 0 and domain # 1 illustrated in FIG. By adding the power consumption value p0 at the time t1 of the domain # 0 and the power consumption value p1 at the time t1 of the domain # 1, the power consumption value of the entire server 100 at the time t1 is calculated.
  • the power consumption value of the entire server 100 at time t1 is (p0 + p1).
  • time series data of the power consumption value as the server 100 from the power-on to the completion of the startup operation of the server 100 is obtained. You can get it.
  • the measurement times of the power consumption values do not have to be completely the same between the multiple domains.
  • the power consumption value of domain # 0 and the power consumption value of domain # 1 in the same section divided by the measurement time interval may be added. That is, the power consumption measured in the same section may be regarded as being measured at the same time.
  • the power consumption value calculated in S17 is the same as domain # 0. It can be said that this is the power consumption value when the domain # 1 is powered on at the same time. That is, it can be said that the time series of the power consumption values calculated in S ⁇ b> 17 is the power consumption transition when power is simultaneously turned on for each domain constructed in the server. Similarly, when the number of domains in the server 100 is three or more, the power consumption at the same time (the same section) may be added together.
  • FIG. 8 and FIG. 9 illustrate the calculation results when the domain # 0 and the domain # 1 illustrated in FIG.
  • domain # 0 is one SB #
  • domain # 1 is one SB # 1.
  • the power consumption values of SB # 0 and SB # 1 are added as the calculation results of domain # 0 and domain # 1.
  • the power consumption value is extracted from the records of SB # 0 and SB # 1 stored in the SB configuration / power table 211.
  • FIG. 9 is a diagram illustrating the transition of the power consumption value when a plurality of domains are simultaneously input as a columnar graph by adding the power consumption values of SB # 0 (domain # 0) and SB # 1 (domain # 1). is there.
  • the power consumption value stored in SB # 0 is the power consumption value of domain # 0
  • the power consumption value stored in SB # 1 is the power consumption value of domain # 1.
  • Each power consumption value is stored in a time series measured from the time of power-on at each time normalized with the measurement time interval of the wattmeter 11 as a unit time.
  • a period from time t0 to time t25 is, for example, a period from when the power is turned on until the startup operation of the server 100 is completed.
  • the bottom row of FIG. 8 (“sum of power” in the example) stores a power consumption value obtained by adding the power consumption value of SB # 0 and the power consumption value of SB # 1 measured at each time. Yes. It can be said that the power consumption value stored in the bottom row is a power consumption value measured when a plurality of domains are simultaneously turned on.
  • the vertical axis represents the power value (W), and the horizontal axis represents the time normalized by the measurement time interval of the wattmeter 11.
  • the region G1 is a transition of the power consumption value of SB # 0
  • the region G2 is the power consumption value at the time of simultaneous input of a plurality of domains calculated by adding the power consumption values of SB # 0 and SB # 1. It is a transition of.
  • the power consumption value added at time t16 is a value that exceeds the allowable power peak value Pa. In other words, it can be seen from the calculation result of S17 that the power consumption value when the domains in the server 100 are simultaneously turned on exceeds the allowable power peak value.
  • the power-on control device 20 searches for a location that exceeds the threshold when multiple domains are simultaneously turned on.
  • the threshold value is an allowable power peak value stored in the allowable peak power table 212 when a plurality of domains are input.
  • the power-on control device 20 acquires the allowable power peak value stored in the allowable peak power table 212 when a plurality of domains are input, and uses it as a threshold for search. And the time series data of the power consumption value calculated
  • the search processing of S18 for example, a location (time) exceeding the allowable power peak value Pa illustrated in FIG. 8 can be detected.
  • the power-on control device 20 determines whether there is a location that exceeds the threshold when multiple domains are simultaneously turned on.
  • the power-on control device 20 proceeds to S20 when there is a location exceeding the threshold value as a result of the processing of S18 (S19, “Yes”).
  • the power-on control device 20 ends the power-on timing calculation process when there is no portion exceeding the threshold value as a result of the process of S18 (S19, “No”).
  • the total value of the power consumption values of the entire server 100 can be suppressed within the allowable power peak value.
  • the power-on control device 20 designates a power-on time difference between a plurality of domains, and repeats the processing of S17-S19.
  • the time difference between the power consumption values stored in the SB configuration / power table 211 can be used as the unit time for the input time difference specified in S20.
  • the time interval of the power consumption values stored in the SB configuration / power table 211 is a normalized time interval t.
  • the power-on control device 20 designates a power-on time difference DT between a plurality of domains using the normalized time interval t as a unit time.
  • the normalized time interval t may be the same as the measurement time interval at which the power system 1 measures power. Further, it may be longer than the measurement time interval, for example, an integer multiple of the measurement time interval.
  • the power consumption values of the SBs are stored in a time series aligned with the normalized time interval t.
  • the turn-on time difference nt is designated in S20
  • the power-on control device 20 relatively shifts the stored time between SBs by nt and adds up the power consumption.
  • the power-on control device 20 designates the power-on time difference as an integer multiple of the time interval of the power consumption value stored in the SB configuration / power table 211, and powers on multiple domains at the designated power-on time difference. Calculate the power consumption value. Then, again using the allowable power peak value as a threshold value, a determination process is performed to determine whether or not there is a location where the total power consumption value calculated with the specified difference in input time exceeds the allowable power peak value.
  • the power-on control device 20 can acquire the power-on time difference when powering on a plurality of domains under the condition that the total power consumption does not exceed the allowable power peak value.
  • the power-on control device 20 can hold the power-on time difference designated in S20 in, for example, the work area of the main storage unit 22 or the like.
  • the power-on time difference stored in the work area of the main storage unit 22 is transferred to the power-on timing generation unit 204 of the power-on control device 20.
  • the power-on timing generation unit 204 generates power-on timing for a plurality of domains based on the power-on time difference obtained by the power change calculation unit 203 and passes it to the power-on control unit 205.
  • the power-on control unit 205 may execute power-on of the target domain based on the power-on timing generated by the power-on timing generation unit 204.
  • the power-on control device 20 can keep the power consumption value of the entire server 100 below the allowable peak power value.
  • FIG. 10 and 11 illustrate processing results of S17 to S20.
  • FIG. 10 is a processing example in which the time of the power consumption value of SB # 1 is relatively delayed with respect to SB # 0 with the insertion time difference T being 3t in the calculation example of FIG.
  • FIG. 11 shows the transition of power consumption values when power is turned on in a plurality of domains in a columnar graph by adding the power consumption values of SB # 0 (domain # 0) and SB # 1 (domain # 1) in FIG.
  • FIG. 10 is a processing example in which the time of the power consumption value of SB # 1 is relatively delayed with respect to SB # 0 with the insertion time difference T being 3t in the calculation example of FIG.
  • FIG. 11 shows the transition of power consumption values when power is turned on in a plurality of domains in a columnar graph by adding the power consumption values of SB # 0 (domain # 0) and SB # 1 (domain # 1) in FIG.
  • FIG. 10 is a processing example in which the time of the power consumption value of SB
  • the bottom row of FIG. 10 (“sum of power” in the example) stores a power consumption value that is the sum of the power consumption value of SB # 1 delayed by the input time difference and the power consumption value of SB # 0. Yes.
  • the power consumption values stored at times t0, t1, and t2 in the bottom row are the same as the power consumption values stored at times t0, t1, and t2 of SB # 0.
  • the power consumption value of SB # 1 delayed by the input time difference specified in S20 and the power consumption value of SB # 0 are added together. .
  • a power consumption value is calculated in which the power-on is delayed by the power-on time difference.
  • the power consumption value illustrated in the bottom row is a power consumption value measured when powering on a plurality of domains.
  • a region G1 is a transition of the power consumption value of SB # 0.
  • the region G3 includes a power supply value of a plurality of domains calculated by adding the power consumption value of SB # 0 and the power consumption value of SB # 1 delayed in power-on timing by the power-on time difference specified in S20. It is the transition of the power consumption value at the time of input.
  • the power consumption value at the time of power-on of a plurality of domains is a permissible power peak value Pa in a period from power-on to completion of the startup operation of the server 100 (period from time t0 to time t25). It can be seen that does not exceed.
  • the power consumption value of the entire server 100 can be set to the allowable peak power value. The following can be suppressed.
  • the power-on control device 20 acquires the power consumption value for each domain in the period from when the power is turned on until the startup operation of the server 100 is completed, and is stored in the SB configuration / power table 211. Store. Acquisition of a power consumption value is performed at predetermined time intervals. Then, the power-on control device 20 calculates a change in the power consumption value at the time of simultaneous power-on of a plurality of domains from the power consumption value for each domain stored in the SB configuration / power table 211.
  • the power-on control device 20 uses the allowable peak power value stored in the allowable peak power table 212 at the time of turning on multiple domains as a threshold, and the calculated power consumption value at the time of simultaneous power-on of multiple domains is an allowable peak power value. Judgment is made as to whether or not. If the power consumption value at the time of simultaneous power-on of a plurality of domains does not exceed the allowable peak power value as a result of the determination, the power-on control device 20 powers on multiple domains simultaneously, that is, powers on between domains. Execute normal power-on without setting the time difference.
  • the power-on time difference is calculated in order to shift the power-on timing between the plurality of domains.
  • the power-on time difference is set so that the power consumption value at the time of power-on of a plurality of domains does not exceed the allowable peak power value.
  • the power-on control device 20 can suppress the power consumption value of the entire server 100 to an allowable peak power value or less by executing power-on at a timing based on the calculated power-on time difference at the time of power-on of a plurality of domains.
  • the time difference between the two domains # 0 and # 1 is calculated by the processing of S19-S20. If the number of domains is three or more, for example, the first domain may be selected in descending order of power consumption, and the input time difference may be set by the processing of S19-20. If the total power consumption value exceeds the allowable power peak value even if the input time difference is set to a predetermined limit for the first domain, the second domain having the next largest power consumption after the first domain. And set the time difference. With the above processing, the input time difference may be set to a predetermined limit sequentially for a plurality of domains.
  • the predetermined limit for setting the input time difference for example, the end of the storage period shown in FIG.
  • the power-on control device 20 according to the first embodiment calculates the power-on timing of a plurality of domains when the total power consumption exceeds a threshold when the plurality of domains are simultaneously turned on. Then, power is turned on to a plurality of domains at the calculated timing, that is, the power-on time difference.
  • Example 2 (hereinafter, also referred to as this embodiment), power consumption in each of a series of processes to be executed by each domain is considered in the startup process period from power-on until the startup operation of the server 100 is completed. The execution timing of the processed process is controlled.
  • the execution timing of each process in each domain is adjusted based on the power consumption of each process executed in each of a plurality of domains performed in the course of the startup process.
  • each period in which a series of processes performed in the startup process period is performed is referred to as a phase. Accordingly, after the power is turned on, the startup process is completed through a plurality of phases. Processing performed in each phase is also referred to as intra-phase processing. Each phase process is executed by a command from the power-on control device 20 to the SB 10. When each intra-phase process is completed, the SB 10 reports the completion of the intra-phase process to the power-on control device 20.
  • a phase is an example of multi-stage processing, and intra-phase processing is an example of processing at each stage.
  • the period in which each phase is executed is an example of each period corresponding to a plurality of stages of processing.
  • the power-on control device 20 may control the execution timing of the intra-phase processing between a plurality of domains for a phase with higher power consumption than other phases.
  • phase Examples of phases that are executed step by step during the startup processing period of the server 100 when the power is turned on include power-on, POST (Power-On Self Test), and boot phases.
  • POST Power-On Self Test
  • boot phases For example, in the power-on phase, power-on and initialization processing for a plurality of processors and memories included in the SB 10 is performed.
  • POST Power-On Self Test
  • boot phase a self-diagnosis test process is performed on the resources of the SB 10.
  • the OS and various programs are activated.
  • the SB 10 notifies the power-on control device 20 of the completion of processing every time the intra-phase processing of each phase is completed.
  • each power consumption peak value in FIG. 5 corresponds to a power consumption peak value in the power-on phase, the POST phase, and the boot phase, respectively.
  • the power consumption peak value measured at time t7 corresponds to the power-on phase
  • the power consumption peak value at time t15 corresponds to the POST phase
  • the power consumption peak value at time t22 corresponds to the boot phase.
  • the magnitude of each power consumption peak value is in the order of t15> t22> t7.
  • the power-on control device 20 of this embodiment detects the power consumption peak value for each phase based on, for example, the processing completion notification for each phase notified from the SB 10. Then, the power-on control device 20 calculates the execution timing of the in-phase processing for a plurality of domains based on the power consumption peak value for each phase. For example, in a phase where the power consumption of a plurality of domains is less than the allowable power peak value Pa, intra-phase processing is executed in parallel for the plurality of domains. On the other hand, in the phase where the power consumption of the multiple domains exceeds the allowable power peak value Pa, the execution of the intra-phase process timing is delayed until the intra-phase process in the other domain is completed for one or more domains of the multiple domains.
  • FIG. 12 illustrates a flowchart of the measurement processing of the power consumption value for each domain in the present embodiment.
  • the measurement process flowchart illustrated in FIG. 12 is different from the measurement process according to the first embodiment illustrated in FIG. 4 in that the process of S21 is performed.
  • the processing of S11-S14 has already been described in the flowchart of FIG.
  • the power-on control device 20 extracts the power consumption peak value for each phase of the corresponding domain from the power consumption values stored in the SB configuration / power table 211.
  • the power consumption peak value is extracted for each SB 10 associated with the corresponding domain.
  • the power consumption peak value for each phase of the domain is obtained by adding the power consumption peak values for each phase extracted for each SB 10 to the plurality of SBs 10 associated with the domain.
  • the power-on control device 20 acquires the power consumption value stored in the SB configuration / power table 211 at the timing of the process completion notification for each phase notified from the SB 10, for example. Then, the power-on control device 20 performs a mutual comparison between the times of the acquired power consumption values, and extracts the largest power consumption value. Furthermore, the power-on control device 20 records the extracted largest power consumption value together with identification information for identifying the processing phase as the power consumption peak value of the processing phase for which the processing completion notification has been performed. The identification information for identifying the processing phase only needs to be able to specify, for example, the power-on phase, the POST phase, and the boot phase. The power-on control device 20 may temporarily record the extracted power consumption peak value as a record of the power consumption value for each phase, for example, in the work area of the main storage unit 22 or the like.
  • the power-on control device 20 may execute the process of S21 in parallel with the process of S12. That is, the power-on control device 20 may obtain the power consumption peak value when acquiring power consumption in S12. For example, with the storage of the power consumption value acquired in S12, the power-on control device 20 sequentially performs mutual comparison between times in time series order to extract the largest power consumption value. The power-on control device 20 temporarily records the extracted largest power consumption value in the work area or the like of the main storage unit 22 at the timing of the process completion notification, and starts a mutual comparison in the next processing phase. The power-on control device 20 may record the extracted maximum power consumption value as the power consumption peak value of the processing phase for which the processing completion notification has been performed, together with identification information for identifying the processing phase. The power-on device 20 can acquire the power consumption peak value for each phase by executing the above process in parallel with the process of S12 at the timing of the process completion notification.
  • the SB 10 may execute the process of S21.
  • the power-on control device 20 can omit the process of S21 illustrated in FIG.
  • the power-on control device 20 may acquire the power consumption peak value for each phase from SB10 in the power consumption acquisition process of S12, instead of executing the process of S21.
  • the power-on control device 20 may obtain the power consumption peak value for each phase for each domain from the power consumption peak value for each phase acquired for each SB 10.
  • FIG. 13 illustrates a record example of the power consumption value for each phase acquired in the process of S21.
  • a record is formed for each SB identification information (SB # 0, SB # 1,..., SB # n), and a power consumption peak value is stored.
  • the power consumption peak value is stored for each phase.
  • “power-on” corresponds to the power-on phase
  • “POST” corresponds to the POST phase
  • “Boot” corresponds to the boot phase.
  • the same number of records of power consumption values for each phase as the SB 10 of the server 100 can be acquired.
  • the record of the power consumption value for each phase may have the same configuration as the record (each row in FIG. 3) of the SB configuration / power table 211 illustrated in FIG.
  • FIG. 14 illustrates the transition of the power consumption peak value of SB # 0 in FIG.
  • FIG. 14 is a columnar graph illustrating the transition of the power consumption peak value for each phase in time series order.
  • the vertical axis represents the power value (W)
  • the horizontal axis represents the time normalized in units of phases.
  • the power consumption peak values acquired in S21 are arranged in time series of the power-on phase, the POST phase, and the boot phase.
  • the power consumption peak value illustrated in FIG. 14 is the largest power consumption value among the power consumption values measured in each phase. In FIG. 14, it can be seen that the power consumption peak value in the POST phase is the largest, the power consumption peak value in the boot phase is next largest, and the power consumption peak value is the smallest in the power-on phase.
  • FIG. 15 illustrates the transition of the total power consumption peak value obtained by superimposing the power consumption peak value of SB # 0 and the power consumption peak value of SB # 1 in FIG. 13 for each phase.
  • FIG. 15 is a columnar graph in which the power consumption peak values for each phase of each SB are superimposed in time series of the power-on phase, the POST phase, and the boot phase.
  • the vertical axis in FIG. 15 is the power value (W), and the horizontal axis is the time normalized in units of phases.
  • the region G4 is the transition of the power consumption peak value for each phase of SB # 0
  • the region G5 is the transition of the power consumption peak value for each phase of SB # 1.
  • a region G6 is a transition in which the power consumption peak values of the respective phases of SB # 0 and SB # 1 are overlapped. That is, the region G6 can be said to be the transition of the power consumption peak value when the power is turned on simultaneously for SB # 0 and SB # 1.
  • the domain and the SB 10 are associated with each other on a one-to-one basis, it can be said that the transition of the power consumption peak value for each phase when power is simultaneously applied to a plurality of domains. In the case of FIG.
  • the sum of the power consumption peak value in the power-on phase of SB # 0 and the power consumption peak value in the power-on phase of SB # 1 is equal to or less than the allowable power peak value Pa, and there is a margin up to the allowable power peak value Pa.
  • the total value of the power consumption peak value of the boot phase of SB # 0 and the power consumption peak value of the boot phase of SB # 1 is equal to or less than the allowable power peak value Pa.
  • the margin to the allowable power peak value Pa is smaller than that in the power-on phase.
  • the domain # 0 (SB # 0), the domain # 1 (SB # 1), and the execution timing of the POST phase processing are determined so as not to exceed the allowable power peak value Pa in the POST phase. It can be seen that a time difference may be set between the two. This is because even if the power is turned on at the same time for a plurality of domains, the total power consumption of the plurality of domains may be reduced if the processing periods to be executed are shifted from each other. On the other hand, it can be seen that the power-on phase and the boot phase with the allowable power peak value Pa or less can be executed in parallel without adjusting the execution timing.
  • the term “simultaneously turned on” is used for power-on between multiple domains, and the term “parallel execution” is used for processing for each phase executed in multiple domains. . This is because even if the processing for each phase starts simultaneously among a plurality of domains, it does not always end at the same time.
  • FIG. 16 illustrates a flowchart of the calculation processing of the execution timing of each phase for each domain based on the power consumption peak value for each phase.
  • the power-on timing calculation process is mainly executed by the power change calculation unit 203.
  • the start of the execution timing calculation process of each phase for each domain based on the peak power consumption value for each phase is, for example, at the end of the measurement process of the power consumption value for each domain illustrated in FIG. be able to.
  • the power-on control device 20 checks the domain identification information stored in the SB configuration / power table 211 and the SB identification information associated with the domain identification information (S22). Specifically, the correspondence between each domain and the SB 10 belonging to each domain is obtained. And the power consumption peak value for every phase acquired by SB10 which belongs to each domain is acquired from SB identification information matched with domain identification information, and the power change for every domain is calculated (S23).
  • the power consumption peak value for each phase for each SB 10 is acquired in S21.
  • the power-on control device 20 acquires the power consumption peak value for each phase for the SB 10 belonging to each domain, adds the power consumption peak value of the SB 10 belonging to the domain for each phase, and consumes the power for each phase for each domain. Calculate power peak value.
  • the power consumption value for each phase is stored in the SB configuration / power table 211.
  • the power-on control device 20 calculates a power change at the time of simultaneous power-on of a plurality of domains. That is, the power-on control device 20 adds the power consumption peak value for each phase for each domain calculated in S23 for each phase for the domain in the server 100, and totals the power consumption peak value for the server 100 as a whole. Calculate As a result of the processing of S24, for example, when each domain has a single SB 10, the total of power consumption peak values exemplified in the columnar graph of FIG. 15 is obtained.
  • the power-on control device 20 searches for a location that exceeds the threshold when multiple domains are simultaneously turned on.
  • the threshold value is an allowable power peak value stored in the allowable peak power table 212 when a plurality of domains are input.
  • the power-on control device 20 acquires the allowable power peak value stored in the allowable peak power table 212 when a plurality of domains are input, and uses it as a threshold value for search. Then, the power-on control device 20 performs a mutual comparison between the total power consumption peak value for each phase obtained in S24 and a threshold value, and searches for a location (phase) exceeding the threshold value.
  • the power-on control device 20 can detect, for example, a POST phase exceeding the allowable power peak value Pa in FIG.
  • the power-on control device 20 determines whether there is a processing phase in which the total power consumption peak value exceeds the threshold when multiple domains are simultaneously turned on. In the determination of S26, the power-on control device 20 proceeds to S27 when there is a processing phase exceeding the threshold as a result of the processing of S25 (S26, “Yes”). On the other hand, if there is no processing phase exceeding the threshold value as a result of the processing of S25 (S26, “No”), the power-on control device 20 ends the power-on timing calculation processing. Even if multiple domains are powered on simultaneously, there is no processing phase exceeding the threshold allowable power peak value, so the total power consumption peak value of the entire server 100 can be kept within the allowable power peak value. .
  • the sequential execution flag is a flag indicating whether or not simultaneous processing of a plurality of domains is executed for each phase, and is given for each phase.
  • the sequential execution flag will be described using a columnar graph in which the power consumption peak value of SB # 0 and the power consumption peak value of SB # 1 are superimposed as illustrated in FIG.
  • FIG. 15 is an example of the power consumption peak value when each domain has a single SB 10.
  • the total power consumption peak value exceeds the allowable power peak value Pa in the POST phase, and therefore the processing in the POST phase cannot be executed in parallel.
  • the power-on phase and the boot phase after simultaneous power-on of a plurality of domains can be executed in parallel.
  • the power-on control device 20 determines whether or not the phases can be executed in parallel, and assigns a sequential execution flag to a phase in which the total power consumption peak value exceeds the allowable power peak value Pa.
  • the intra-phase processing is not executed in parallel between the plurality of domains, and the intra-phase processing is sequentially executed for each domain.
  • intra-phase processing can be performed in parallel, so that a sequential execution flag is not assigned.
  • the processes are executed in parallel between the plural domains.
  • the CPU 21 of the power-on control device 20 executes the processes of S25 to S27 as a designation unit.
  • the sequential execution flag is not assigned to the power-on phase and the boot phase, and the total power consumption peak value exceeds the allowable power peak value Pa in the POST phase.
  • the power-on control device 20 performs simultaneous power-on of a plurality of domains in the power-on phase after performing simultaneous power-on of a plurality of domains.
  • the power-on control device 20 sequentially executes the POST phase for each domain.
  • one domain starts the POST phase process and waits for the completion of the POST phase process in the domain.
  • the power-on control device 20 waits for the POST phase process in another domain. Then, the power-on control device 20 activates the POST phase process of another domain after completing the POST phase process of one domain. Further, after the processing of the POST phase of another domain is completed, the power-on control device 20 again executes the processing in parallel between the plurality of domains in the boot phase to be processed next.
  • FIG. 17 illustrates the transition of the power consumption peak value for each phase when the POST phase is sequentially executed.
  • FIG. 17 is a processing example in the configuration having the sum of the power consumption peak values exemplified in FIG. 15 as described above. That is, FIG. 17 is an example in which processing is executed in parallel in the power-on phase and the boot phase, and processing is sequentially executed for each domain in the POST phase.
  • regions G4a, G4b, and G4c are power consumption peak values in the respective processing phases of power-on, POST, and boot of SB # 0, respectively.
  • Regions G5a, G5b, and G5c are the power consumption peak values of the SB # 1 power-on, POST, and boot processing phases, respectively.
  • the POST phase process of SB # 0 is executed.
  • the SB # 1 POST phase process is executed.
  • the boot phase is executed in parallel after the completion of the SB # 1 POST phase processing. It can be seen that the power consumption value in each phase changes below the allowable power peak value Pa.
  • FIG. 18 illustrates a detailed flowchart of the sequential execution flag assignment process (S27 in FIG. 16).
  • the sequential execution flag assignment process is executed for a phase in which the total power consumption peak value of a plurality of domains exceeds the allowable power peak value.
  • the power-on control device 20 searches for a domain having the largest power consumption peak value from among the domains not assigned with the sequential execution flag. Then, the power-on control device 20 gives a sequential execution flag to the searched domain.
  • the power-on control device 20 obtains the total value of the power consumption peak values of a plurality of domains for the domains not assigned with the sequential execution flag. In S273, the power-on control device 20 determines whether or not the total value of the power consumption peak values of the plurality of domains exceeds the threshold value.
  • the threshold value is an allowable power peak value.
  • the power-on control device 20 sets a combination in which the total power consumption peak value does not exceed the allowable power peak value by combining a plurality of domains with sequential execution flags. For example, the power-on control device 20 adds the power consumption peak values of a plurality of domains to which the sequential execution flag has been added in ascending order, so that the total power consumption peak value does not exceed the allowable power peak value. It is sufficient to set a pair. A plurality of domains having small power consumption peak values are combined and executed in parallel. On the contrary, the power-on control device 20 adds the power consumption peak values of the plurality of domains to which the sequential execution flag is given in descending order so that the total power consumption peak value does not exceed the allowable power peak value. Domain combinations may be set. In this process, domains having a large allowable power peak value are preferentially combined.
  • execution order may be set for multiple domains combined by the above processing. There is no particular limitation on the execution order setting.
  • FIG. 19 illustrates the result of assigning the sequential execution flag by the processing of FIG. 16 and FIG.
  • FIG. 19 is a diagram illustrating the relationship between the sequential execution phase designation table 215 and the sequential execution schedule table 216.
  • the sequential execution phase designation table 215 holds a sequential execution flag for each phase.
  • the sequential execution phase designation table 215 is set by the processing of FIG. 16 and designates phases to be sequentially executed.
  • the sequential execution phase designation table 215 has sequential execution flags for the power-on phase, the POST phase, and the boot phase.
  • 1 is set for phases that are sequentially executed in a plurality of domains
  • 0 is set for phases that are executed in parallel in a plurality of domains.
  • the sequential execution schedule table 216 defines the execution timing of intra-phase processing in each domain for the phases specified for sequential execution in the sequential execution phase specification table 215.
  • the sequential execution schedule table 216 is set by linking to a phase for which sequential execution is designated in the sequential execution phase designation table 215. In the example of FIG. 19, sequential execution is specified for the POST phase by the sequential execution phase specification table 215, and the sequential execution schedule table 216 is linked.
  • Each row of the sequential execution schedule table 216 has an execution order field and a parallel execution domain field.
  • the execution order field numbers indicating the execution order such as 1, 2, and 3 are set.
  • the parallel execution domain field a domain to be executed in parallel is specified for each execution order. Accordingly, in the example of FIG. 19, sequential execution is specified in the POST phase, and in the execution order 1, it is specified that the domains # 0, # 1, and # 2 are executed in parallel. When the POST phases of the domains # 0, # 1, and # 2 are completed, the POST phase of the domain # 3 is executed in the execution order 2.
  • the sequential execution schedule table 216 specifies that the timing when the intra-phase processing in the domain specified in the execution order 1 is completed becomes the execution start timing of the intra-phase processing in the domain specified in the execution order 2 To do. Furthermore, when the POST phase of domain # 3 is completed, in the execution order 3, the POST phases of domains # 4 and # 5 are executed in parallel. In other words, the timing at which the intra-phase processing in the domain specified in the execution order 2 is completed becomes the execution start timing of the intra-phase processing in the domain specified in the execution order 3. As described above, the sequential execution schedule table 216 specifies the in-phase process completion timing in the domain specified in each execution order as the in-phase process start timing in the domain specified in the next execution order.
  • the power-on control device 20 determines each phase according to the sequential execution flag for each phase stored in the sequential execution phase designation table 215 and the execution order of the sequential execution schedule table 216, which are obtained by the above processing.
  • the in-phase processing of the plurality of domains is executed in parallel or sequentially within a range where the sum of the peak power values of the plurality of domains does not exceed the allowable peak power value.
  • FIG. 20 exemplifies a flowchart of the power-on processing for multiple domains using the sequential execution flag.
  • the power-on process illustrated in FIG. 20 is mainly executed by the power-on control unit 205 after the power is simultaneously turned on to each domain of the server 100.
  • the CPU 21 of the power-on control device 20 executes the process of FIG. 20 as an execution control unit.
  • the power-on control device 20 refers to the sequential execution phase designation table 215 temporarily created in the work area of the main storage unit 22, and determines whether or not to sequentially execute the power-on phases of a plurality of target domains. Determine (S30).
  • the power-on control device 20 When the sequential execution flag value of the power-on phase stored in the sequential execution phase specification table 215 is “0” (S30, “No”), the power-on control device 20 performs power-on phases of the target multiple domains. Are executed in parallel (S31). On the other hand, when the sequential execution flag value of the power-on phase stored in the sequential execution phase designation table 215 is “1” (S30, “Yes”), the power-on control device 20 The charging phase is sequentially executed (S32). More specifically, in the process of S ⁇ b> 32, the power-on control device 20 sequentially executes the power-on phases of a plurality of domains in the execution order of the sequential execution schedule table 216.
  • a plurality of domains may execute the power-on phase in parallel as far as possible.
  • the power-on control device 20 receives a completion notification from the domain specified in the execution order 1, for example, it next activates the domain specified in the execution order 2.
  • the power-on control device 20 acquires the processing completion notification of the power-on phase from the target multiple domains executed in S31-32. Thereafter, the power-on control device 20 refers to the sequential execution phase designation table 215 temporarily created in the work area of the main storage unit 22 and determines whether or not to sequentially execute the POST phases of the target multiple domains. (S33).
  • the power-on control device 20 acquires the POST phase processing completion notification from the target multiple domains executed in S34-35. Thereafter, the power-on control device 20 refers to the sequential execution phase designation table 215 temporarily created in the work area of the main storage unit 22 and determines whether or not to sequentially execute the boot phases of the target multiple domains. (S36).
  • the power-on control device 20 of the present embodiment can determine whether or not the in-phase processing of a plurality of domains can be executed in parallel based on the power consumption peak value for each phase. For this reason, the power-on control device 20 of this embodiment controls the power consumption after power-on by simultaneously powering on the domains and controlling the execution timing of subsequent processing. More specifically, among the phases after power-on, in a phase exceeding the allowable peak power value, processing of a plurality of domains is sequentially executed. On the other hand, in a phase that does not exceed the allowable peak power value, processing of a plurality of domains is executed in parallel.
  • the power-on control device 20 can finely control sequential execution and parallel execution in units of phases, and suppresses an increase in the period from power-on to completion of the startup operation of the server 100 as a whole,
  • the power consumption when the server 100 is powered on can be controlled to be less than the allowable peak power value.
  • the total power consumption of a plurality of domains is the allowable peak power for the domain for which the sequential execution flag is designated in the sequentially executed phase.
  • the execution order and the parallel execution domain are set so that the processes of a plurality of domains are executed in parallel within a range not exceeding the value. Therefore, even in the phase to which the sequential execution flag is assigned, the processing of a large number of domains is executed in parallel as much as possible. Therefore, it is possible to further increase the possibility of shortening the period from when the power is turned on until the startup operation of the server 100 is completed as the entire server 100.
  • the power-on control device 20 may perform a display prompting the user to reset the allowable peak power value.
  • the power-on control device 20 acquires the peak power for each phase for each SB 10 and adds them for each domain to obtain the domain peak power. Then, as illustrated in FIG. 15, the power-on control device 20 determines whether or not the total peak power during parallel execution of processes in a plurality of domains exceeds the power consumption peak value. Instead of such processing, the power-on control device 20 may collect the power consumption measured by the SB 10 at the measurement time interval as in the first embodiment. Further, the total power consumption for each domain may be obtained by adding the power consumption measured at the measurement time interval in SB10, and it may be determined whether or not the total power consumption exceeds the power consumption peak value.
  • the power consumption values measured at the measurement time intervals may be summed as in the first embodiment.
  • the power-on control device 20 sums up the transitions of power consumption acquired at the measurement time intervals exemplified in FIG. 5 or FIG. 9, and whether the total power consumption exceeds the power consumption peak value for each phase. It may be determined. Then, in the phase in which the total power consumption exceeds the power consumption peak value, the process of setting the execution order of each domain and the parallel execution domain may be executed in the phase given the sequential execution flag as shown in FIG. .
  • the power consumption value measured at the measurement time interval it can be finely determined whether or not the total power consumption exceeds the power consumption peak value.
  • Example 3 the power-on control device 20 according to the third embodiment will be described with reference to the drawings in FIGS.
  • the power-on control device 20 executes a power-on control process according to the changed domain configuration state.
  • the power-on control process in the third embodiment either the process of the first embodiment or the process of the second embodiment may be applied.
  • the configurations of the power-on control device 20 and the server 100 according to the third embodiment are the same as those in the first and second embodiments.
  • the configuration diagram of FIG. 1 and the functional block diagram of FIG. 1 are the same as those in the first and second embodiments.
  • FIG. 21 illustrates the server 100 when the domain configuration is changed.
  • FIG. 21 is an example in which SB # 2 of domain # 2 illustrated in FIG. 1 is transferred to domain # 0.
  • domain # 0 has a single SB #
  • domain # 1 has a single SB # 1
  • domain # 2 has a single SB # 2.
  • SB # 0 and SB # 2 are associated with domain # 0.
  • the server 100 of FIG. 21 does not include the domain # 2.
  • the domain configuration change as shown in FIG. 21 is executed according to the user's designation through the power-on control device 20, for example.
  • the power-on control device 20 has a function as a service processor of the server 100, an operation screen for changing the domain configuration is provided to the user.
  • the power-on control device 20 executes processing at the time of configuration change in order to recalculate the domain power consumption value. It is assumed that the power-on control device 20 stores the SB configuration / power table 211 before the domain configuration change in the main storage unit 22 or the auxiliary storage unit 23 as a premise for executing the process at the time of the configuration change.
  • FIG. 22 is a flowchart illustrating the processing when the domain configuration is changed.
  • the process of FIG. 22 is applied to a domain whose domain configuration has been changed. Therefore, for example, when the SB 10 of the domain # 2 moves to the domain # 0, the process of FIG. 22 is executed for both the domain # 0 and the domain # 2.
  • the power-on control device 20 first determines whether or not the domain configuration change is the disconnection of the SB 10 (S41). When the domain configuration change is SB disconnection (“YES” in S41), the power-on control device 20 deletes the disconnected SB in the corresponding domain from the SB configuration / power table 211. Then, the power-on control device 20 adds the power of the remaining SB and recalculates the power change of the domain from which the SB is disconnected (S42). For example, the power consumption value of the separated SB 10 may be subtracted from the power change of the domain obtained before the SB is separated to obtain a new power change calculation result.
  • the power-on control device 20 determines that the change in the domain configuration is the connection of the SB 10 to the domain. Therefore, the power-on control device 20 acquires the configuration information of the connection target SB 10 connected to the domain (S43). For example, the power-on control device 20 may inquire about the configuration information of the SB 10 from the OS of the SB 10. In SB10, configuration information such as the number of CPUs and the number of installed memories is stored in the main storage unit, the auxiliary storage unit, and the like as system parameters by the OS, for example.
  • the OS when there is a change in the configuration information such as the number of CPUs and the number of installed memories, the OS updates the system parameters indicating the configuration information and saves them in the main storage unit, the auxiliary storage unit, and the like.
  • the OS of the SB 10 may read the system parameters stored in the main storage unit, the auxiliary storage unit, etc. and respond to the power-on control device 20.
  • the CPU 21 of the power-on control device 20 executes the process of S43 as a configuration acquisition unit.
  • the configuration information acquired from the SB 10 is compared with the configuration information of the SB 10 stored in the SB configuration / power table 211 before the change. Then, the power-on control device 20 determines whether or not the SB configuration / power table 211 has been changed (S44).
  • the CPU 21 of the power-on control device 20 performs the process of S44 as a comparison unit.
  • the power-on control device 20 When there is a change in the configuration information of the SB 10 (“YES” in S44), the power-on control device 20 inputs initial power to the connected target SB 10 and measures power consumption. Then, the power-on control device 20 stores the measured power consumption value (transition) together with the identification information of SB10 and the configuration information of SB10 in the domain where SB10 has been added in the SB configuration / power table 211 (S45). ). Next, the power-on control device 20 advances the process to S47. The CPU 21 of the power-on control device 20 executes the process of S45 as a power value acquisition unit.
  • the power-on control device 20 changes the configuration in accordance with the change of the configuration information by measuring the power consumption of the SB 10 whose configuration information has been changed.
  • the power consumption of the domain to which the SB 10 is added can be calculated.
  • the power-on control device 20 acquires the power table of the connection target SB and the connection destination SB from the SB configuration / power table before the change. Then, a modified SB configuration / power table is created for the domain to which the SB is connected (S46). Therefore, when there is no change in the configuration information of the SB 10, the power-on control device 20 can effectively use the change in the measured power value.
  • the power-on control device 20 recalculates the power change for the domain to which the SB 10 is connected in accordance with the SB configuration / power table 211 created in S45 or S46 (S47). Furthermore, after the process of S42 or the process of S47, the power-on control device 20 calculates the power change at the time of simultaneous power-on of a plurality of domains, for example, after S17 in FIG. 7 or S24 in FIG. What is necessary is just to perform a process. As a result, when the domain configuration is changed, the power-on control device 20 recalculates the power change of the domain whose configuration has been changed, and the execution timing of each phase according to the processing of FIG. 7 or FIG. Can be specified.
  • the power-on control device 20 changes the domain configuration for each domain that has already completed the power consumption value measurement process when executing the power-on timing calculation process. If so, the power change of the changed domain is calculated again. For this reason, even when the domain configuration is changed, the power consumption of the server 100 can be controlled to the allowable power peak value.
  • the processing procedure differs between when the SB 10 is added to the domain and when the SB 10 is disconnected from the domain.
  • the power-on control device 20 acquires the power consumption of the added SB 10. More specifically, the power-on control device 20 compares the acquired configuration information with the configuration information of the SB 10 stored in the SB configuration / power table 211 before the change. When the configuration information of the SB configuration / power table 211 is changed, the power-on control device 20 inputs initial power to the connected target SB 10 and measures power consumption. On the other hand, when there is no change in the configuration information of the SB configuration / power table 211, the power-on control device 20 acquires the power table of the connection target SB and the connection destination SB from the SB configuration / power table before the change. By such a procedure, the power-on control device 20 can effectively utilize the data of the already measured power table.
  • the power-on control device 20 adds the power of the remaining SB 10 and recalculates the power change of the domain from which the SB is disconnected. Therefore, even when the power-on control device 20 is deleted, the power-on control device 20 can effectively utilize the data of the already measured power table.
  • the power-on control device 20 calculates the power change at the time of simultaneous power-on of a plurality of domains described in the first and second embodiments, for example, the processing after S17 in FIG. 7 or S24 in FIG.
  • the timing for leveling the power consumption when the power to the server 100 is turned on can be designated.
  • the timing is a time difference in power-on between a plurality of domains.
  • the timing is defined by the execution order specified by the sequential execution phase specification table 215 and the sequential execution schedule table 216.
  • Computer-readable recording medium A program for causing a computer or other machine or device (hereinafter, a computer or the like) to realize any of the above functions can be recorded on a recording medium that can be read by the computer or the like.
  • the function can be provided by causing a computer or the like to read and execute the program of the recording medium.
  • a computer-readable recording medium is a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like.
  • Examples of such recording media that can be removed from a computer or the like include memories such as a flexible disk, a magneto-optical disk, a CD-ROM, a CD-R / W, a DVD, a Blu-ray disc, a DAT, an 8 mm tape, and a flash memory.
  • cards There are cards.
  • a recording medium fixed to a computer or the like there are a hard disk, a ROM (read only memory), and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

電源投入制御装置は、電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、複数の電子機器における複数段階の処理の実行タイミングを指定する。そして、本電源投入制御装置は、複数段階の処理の指定されたタイミングでの実行を複数の電子機器に指示する。

Description

電源投入制御装置、電源投入制御方法およびプログラム
 本発明は、複数の電子機器の電源投入制御装置、電源投入制御方法およびプログラムに関する。
 プロセッサ(CPU:Central Processing Unit)、メモリ等を搭載したシステムボード(SB:System Board)を複数備えた大規模な情報処理装置が利用されることがある。
 図23に、大規模な情報処理装置として、複数のSB10を備えたサーバ300を例示する。サーバ300は、複数のSB10と、SB10間を接続するクロスバー(XB)310とを有する。さらに、サーバ300には、サーバ300の運用を管理する制御装置320が接続される。
 サーバ300では、1または複数個のSB10を含むドメインを有している。ドメインは、1または複数個のSB10を例えばXB310で接続したものである。ドメインは、例えば、サーバ300が提供するサービスに応じて設けられ、各ドメインに要求されるサービスの性能等に応じて、適切な数のSB10を有する。ドメインは、サーバ300のリソースということもできる。
 制御装置320は、ドメインへの電源の投入等を実行し、サーバ300の運用を管理する。制御装置320は、サービスプロセッサと呼ばれる、サーバ300で例示されるコンピュータシステム管理用の情報処理装置であってもよい。
特公平6-100949号公報 特開昭61-294530号公報 特開昭60-258624号公報
 従来、サーバ300のような大規模な構成のシステムにおいて、合計の消費電力を制御する第1の方法としては、複数のポートを有するシステムでのポート毎の電源投入方法が知られている。この方法では、ポート(#n-1)に連なる入出力装置に電源投入指示を与えた後、そのポート(#n-1)からの投入完了の応答を待って、次のポート(#n)の電源投入指示を与える。しかし、第1の方法では、大規模システムにおいては電源の投入に長時間を要するという問題がある。
 この問題を解決するため、第2の方法は、システム内の複数個の装置を部分個に分割する。そして、第2の方法は、分割された部分個を電源の投入単位として、それぞれのポートに接続し、装置毎、またはポート毎の電力消費のピークが重ならないように、各ポート間でタイミングをずらして、電源を投入することが提案されている。
 しかし、単に電源を投入するタイミングをずらす処理を行う場合、電源投入後の起動処理の過程で実行される複数段階の処理それぞれにおける消費電力についての配慮が十分でないため、起動処理の遅延量が大きくなってしまう場合がある。
 1つの側面では、本発明は、複数の電子機器を含む装置において、電源投入後の起動処理過程で実行される複数段階の処理それぞれにおける消費電力に配慮した制御を行うことを目的とする。
 1つの案では、次の電源投入制御装置の構成によって例示される。すなわち、本電源投入制御装置は、電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、複数の電子機器における複数段階の処理の実行タイミングを指定する。そして、本電源投入制御装置は、複数段階の処理の指定されたタイミングでの実行を複数の電子機器に指示する。
 1実施形態による、電源投入制御装置によれば、複数の電子機器を含む装置において、電源投入後の起動処理過程で実行される複数段階の処理それぞれにおける消費電力に配慮した制御を行うことができる。
本実施形態の電源投入制御装置を備えたサーバの構成を例示する図である。 電源投入制御装置の機能ブロック図の例示である。 SB構成/電力テーブルの構成を例示する図である。 電源投入制御装置によるドメイン毎の消費電力値の計測処理を例示するフローチャートである。 正規化された時間間隔で計測された消費電力値の時系列順の推移を例示する柱状グラフの図である。 SB構成/電力テーブルの消費電力値のレコードを例示する図である。 電源投入制御装置によるドメイン毎の電源投入タイミングの算出処理を例示するフローチャートである。 複数ドメインの消費電力値を足し合わせた結果を例示する図である。 図8の足し合わせた消費電力値の時系列順の推移を例示する柱状グラフの図である。 複数ドメインの消費電力値を、投入時間差を与えて足し合わせた結果を例示する図である。 図10の足し合わせた消費電力値の時系列順の推移を例示する柱状グラフの図である。 電源投入制御装置によるドメイン毎の消費電力値の計測処理を例示するフローチャートである。 図12の処理で取得された、フェーズ毎の消費電力値のレコードを例示する図である。 フェーズ毎の消費電力ピーク値の時系列順の推移を例示する柱状グラフの図である。 複数ドメインのフェーズ毎の消費電力ピーク値を重ね合わせた結果の時系列順の推移を例示する柱状グラフの図である。 フェーズ毎の消費電力ピーク値に基づく、ドメイン毎の各フェーズの実行タイミングの算出処理を例示するフローチャートである。 所定のフェーズを逐次実行した場合の、フェーズ毎の消費電力ピーク値の時系列順の推移を例示する柱状グラフの図である。 逐次実行フラグの付与処理の詳細を例示するフローチャートである。 逐次実行フェーズ指定テーブルと逐次実行スケジュールテーブルとの関連を例示する図である。 逐次実行フラグによる複数ドメインの電源投入処理を例示するフローチャートである。 ドメイン構成が変更された場合のサーバ構成を例示する図である。 ドメイン構成変更時の処理を例示するフローチャートである。 従来のサーバの概略構成図である。
 以下、図面を参照して、一実施形態に係る電源投入制御装置について説明する。以下の実施形態の構成は例示であり、本電源投入制御装置は実施形態の構成には限定されない。
 以下、図1から図22の図面に基づいて、電源投入制御装置を説明する。
<実施例1>
〔サーバ構成〕
 図1は、本実施形態の電源投入制御装置20を備えたサーバ100の構成図である。図1のサーバ100は、複数のシステムボード(以下、“SB”とも称す)10を備える。サーバ100は、単一あるいは複数のSB10により、ドメインを構築する。サーバ100は、例えば、提供するサービスの運用形態に応じて、複数のドメインに分割して運用できる。つまり、サーバ100のドメインは、サーバ100のサービス、あるいは機能を提供するリソースの単位であり、SB10は、ドメインを構築するリソースの単位と考えることができる。ただし、一つのSB10が一つのドメインであってもよい。SB10が電子機器の一例である。また、ドメインが複数の電子機器の一例である。
 図1に例示するサーバ100では、単一のSB10が単一のドメインを構築している。例えば、SB#0がドメイン#0、SB#1がドメイン#1、SB#2がドメイン#2にそれぞれ対応している。図1に例示するサーバ100の各SB10は、クロスバースイッチ31等により、相互に接続可能である。各SB10はクロスバースイッチ31を介してドメイン内の接続構築を行うことにより、サービス形態に応じたドメインを構築する。
 図1のサーバ100は、SB10の他、電力計11、電源投入制御装置20を含む。サーバ100は、図示しない電源から電力供給を受ける。サーバ100に供給された電力は、サーバ100内で分岐され、SB10、電源投入制御装置20等に供給される。本実施形態の電源投入制御装置20を備えたサーバ100では、各SB10に供給される電力の電源投入は、ドメイン単位で行われる。各ドメインでは、ドメインに電力が供給されている状態で、SB10の組み込み/切り離しが行える。ただし、サーバ100が図1の構成に限定されるわけではない。
 また、サーバ100の用途としては様々なシステムを例示できる。例えば、サーバ100は、データベースサーバ、ファイルサーバ、Webサーバ、アプリケーションプログラムの実行用のサーバ等として機能する情報処理装置である。また、サーバ100は、インターネット上のコンピュータ群であるクラウドの一部であってもよい。また、サーバ100は、プラントや工場等に設けられた制御用コンピュータ、気象観測用コンピュータ、実験設備管理用のコンピュータ等の情報処理装置であってもよい。サーバ100は、電源投入対象となる複数の装置を備える情報処理装置であればよい。
 SB10は、1以上のプロセッサ(CPU:Central Processing Unit)、主記憶装置、外部記憶装置等を含む。また、SB10は例えばトランジスタ等のスイッチを有する電源投入回路を含む。SB10の電源投入回路では、電源投入制御装置20からのコマンド、指示信号等により電源投入制御が行われる。
 SB10の1以上のプロセッサは、主記憶装置等に格納された各種プログラムにしたがって処理を行う。主記憶装置は、SB10のプロセッサが各種プログラムやデータを記憶する。主記憶装置は、例えば、RAM(Random Access Memory)やROM(Read Only Memory)を含む。外部記憶装置は、各種のプログラムおよび各種のデータ等を格納する。外部記憶装置は、HDD(Hard Disk Drive)、ソリッドステートドライブを含む。ソリッドステートドライブは、例えば、フラッシュメモリを含む。
 SB10は、外部記憶装置、あるいはROMにOS(Operating System)および各種プログラムが導入されることにより、要求される機能を提供する。なお、SB10は、サービス形態に応じてプロセッサ、メモリ等を増減可能としてもよい。SB10に挿抜可能なメモリユニットやプロセッサユニット等によって、SB10の資源を増減可能とすることができる。
 電力計11は、SBで消費される電力を計測する。電力計11は、例えば電源投入以降にSB10へ流れる電流を検知し、検知された電流値を電力値に換算するようにしてもよい。
 本実施形態では、電力計11は、例えば、SB10の電力供給路に実装され、SB10と電力計11で計測された消費電力値とは一対一で対応付けられている。なお、電力計11は、対応するSB10の消費電力値が計測できればよく、例えば、サーバ100内の分岐路に電力計11を設置し、SB10毎の消費電力を計測する形態であってもよい。この場合、例えば、SB10は、予めSB10の識別情報と電力計11の識別情報とを対応付けた管理テーブル等を備え、電力計11で計測された消費電力値と、対応するSB10の識別情報とを一対一で対応付けるようにすればよい。
 電力計11は、対応付けられたSB10の消費電力を所定の時間間隔で計測する。ここで所定の時間間隔とは、電源投入から運用状態に至るサーバ100の起動動作が完了するまでの消費電力の時系列変化を追従して計測できる時間間隔である。この所定の時間間隔として、サーバ100が備える資源の規模、容量、処理速度等に応じて適正なものが選択できる。
 電力計11で計測されたSB10毎の消費電力値は、例えば、電力計11の識別情報ととともに、それぞれ電源投入制御装置20に通知される。電源投入制御装置20は、SB10の識別情報と電力計11の識別情報とを対応付けた管理テーブルから、電力計11の識別情報を基に、SB10毎の消費電力値を特定すればよい。ただし、電源投入制御装置20へ通知される消費電力値は、例えば、電力計11内に保存された後、一定の周期で電源投入制御装置20に通知されるようにしてもよい。また、電力計11で計測した消費電力値を対応するSB10に引き渡し、該SB10から一定の周期で電源投入制御装置20に通知するようにしてもよい。この場合には、電源投入制御装置20は、SB10の識別情報とともに、SB10毎の消費電力値をSB10から取得すればよい。なお、一定の周期とは、電力計11で計測する消費電力の時間間隔以上の時間間隔であればよい。
 電源投入制御装置20は、CPU(Central Processing Unit)21、主記憶部22、補助記憶部23、通信部24を含む。CPU21、主記憶部22、補助記憶部23、通信部24は、接続バスBUS1に接続され、接続バスBUS1を介して相互に各種データの授受を行う。
 電源投入制御装置20では、CPU21が補助記憶部23に記憶されたプログラムを主記憶部22の作業領域に実行可能に展開し、プログラムの実行を通じて電源投入制御を行う。
 CPU21は電源投入制御装置20全体を制御する。CPU21は、主記憶部22に実行可能に展開されたプログラムにしたがって処理を行う。主記憶部22は、CPU21が実行するプログラム、あるいは、CPU21が処理するデータを記憶する。主記憶部22は、例えば、RAMやROMを含む。補助記憶部23は、各種のプログラムおよび各種のデータを格納する。補助記憶部23には、OS、各種プログラム、各種データ等が格納される。OSは、通信インターフェースプログラムを含み、通信部24を介して接続されるSB10等との間でデータを送受信する。補助記憶部23は、例えば、HDD、SSD等である。また、電源投入制御装置20は、可搬記録媒体の駆動装置を含むことができる。通信部24は、SB10や外部の接続装置等とのインターフェースである。外部の接続装置には、例えば、ネットワークスイッチを介して接続されたLAN上の、他の情報処理装置、記憶装置が含まれる。
 電源投入制御装置20は、SB10毎に計測された消費電力値の時系列変化に基づいて、ドメイン毎に電源投入のタイミングをずらす起動制御を実行する。サーバ100では、電源投入制御装置20により、サーバ100全体の消費電力のピークが許容値、あるいは目標値を超過しないように電力負荷が平準化される。
〔電源投入制御装置の機能ブロック構成〕
 図2に、電源投入制御装置20の機能ブロック図を例示する。電源投入制御装置20は、ドメイン構成制御部201、電力計測部202、電力変化計算部203、電源投入タイミング生成部204、電源投入制御部205の各機能部を有する。以上の各機能部による処理は、電源投入制御装置20のCPU21が、主記憶部22上に実行可能に展開されたコンピュータプログラムを実行することで提供される。
 また、電源投入制御装置20は、上記各機能部が参照し、あるいは、管理するデータとして、SB構成/電力テーブル211、複数ドメイン投入時の許容ピーク電力テーブル212等のテーブルを有する。SB構成/電力テーブル211等のテーブルは、例えば、電源投入制御装置20の主記憶部22、補助記憶部23、あるいは、ネットワーク上の記憶装置またはデータベース機能を提供する他の情報処理装置の外部記憶装置等に格納される。
 複数ドメイン投入時の許容ピーク電力テーブル212には、例えば、システム管理者等によって設定された許容ピーク電力値が格納される。システム管理者等が、ネットワークスイッチを介して接続されたネットワーク上の管理端末等を操作し、複数ドメイン投入時の許容ピーク電力テーブル212に許容ピーク電力値を設定できるようにすればよい。複数ドメイン投入時の許容ピーク電力テーブル212に格納される許容ピーク電力値は、例えば、サーバ100としての許容できる消費電力のピーク電力値である。後述の電力変化計算部203により、許容ピーク電力値を閾値として、電源投入のタイミングが算出される。許容ピーク電力値が所定の許容値の一例である。
 ドメイン構成制御部201は、システム管理者等の操作により、設定されたシステム要求に応じてドメインを変更し、ドメインの接続構築を行う。図1で既に説明したように、電源投入制御装置20を備えるサーバ100は、提供するサービスの運用形態に応じて、複数のドメインに分割して運用が可能である。サーバ100は、図示しないネットワークスイッチを介して接続されたネットワーク上の管理端末等と接続する。システム管理者等は管理端末等を介し、ネットワーク上の他のクライアントに提供するサービスでのシステムの規模、処理量、処理負荷等に応じてサーバ100のドメインを設定する。ドメイン構成制御部201は、設定されたドメインにしたがい、SB10を最小構成単位とするドメインの接続構築を行う。サーバ100は複数のドメインを備え、各ドメインは単一または複数のSB10を有する。図2のサーバ100は、ドメイン#0がSB10(SB#0)に対応付けられ、ドメイン#nがSB10(SB#m)に対応付けられている。
 なお、システム管理者等により設定されたドメインは、ドメインを識別するドメイン識別情報がドメインを構築するSB10の識別情報と共に、後述するSB構成/電力テーブル211に格納される。図2に例示するサーバ100では、“ドメイン#0”、“ドメイン#n”等がドメイン識別情報の例示であり、“SB#0”、“SB#m”等がSB10の識別情報の例示である。ドメイン識別情報およびSB10の識別情報は、サーバ100において、一意に特定される識別情報である。
 電力計測部202は、各SB10に実装された電力計11と通信し、電力計11が計測したSB10の消費電力値を一定の周期で取得し、SB構成/電力テーブル211に格納する。電力計測部202が取得した消費電力値は、後述するように、電力計11と一対一の関係で対応付けられたSB10の識別情報(SB識別情報)と共にSB構成/電力テーブル211に格納される。なお、SB10の消費電力値は、電力計11が計測した時間間隔でSB構成/電力テーブル211に格納される。電力計測部202は、電力計11が計測する時間間隔で消費電力値を取得し、取得した消費電力値を、電力計11が計測する時間間隔とは異なる周期でSB構成/電力テーブル211に格納するようにしてもよい。
 また、電力計測部202は、電力計11が実装されたSB10毎に、CPU,メモリ搭載数等といったSB構成情報を取得し、電力計11と一対一の関係で対応付けられたSB10の識別情報と共にSB構成/電力テーブル211に格納する。電力計測部202が取得するSB毎の消費電力値とSB構成情報は、例えば、SB10のプロセッサを介して取得するようにしてもよい。この場合、例えば、SB10のプロセッサが、電力計11で所定の時間間隔で取得した消費電力値をメモリに格納し、格納された消費電力値にSB構成情報を付加して所定の周期で電力計測部202に通知すればよい。電力計測部202は、SB10のプロセッサを介して通知された消費電力値とSB構成情報とを取得し、SB10の識別情報に対応付けてSB構成/電力テーブル211に格納すればよい。
 電力変化計算部203は、SB構成/電力テーブル211に格納されたSB10毎の消費電力値に基づいて、各SB10が同時投入された場合の消費電力値の合計値を算出する。そして、電力変化計算部203は、算出された消費電力値の合計値と複数ドメイン投入時の許容ピーク電力テーブル212に格納された許容ピーク電力値との比較を行うことで、複数ドメインの電源投入タイミングを求める。
 具体的には、電力変化計算部203は、算出された消費電力値の合計値が許容ピーク電力値未満の場合には、複数ドメインの電源投入タイミングを同時とする。ここで、「同時とする」とは、複数ドメインの電源投入タイミングを通常通りとし、時間差を設けないで複数ドメインに電源投入することをいう。
 一方、電力変化計算部203は、算出された消費電力値の合計値が許容ピーク電力値以上の場合には、算出された消費電力値の合計値が許容ピーク電力値未満となるように、複数ドメイン間での投入時間差を設定する。例えば、消費電力値を計測する所定の時間間隔(以下、計測時間間隔)を単位時間tとし、複数ドメイン間での電源投入タイミングに、単位時間tの整数倍の時間差を設定する。そして、電力変化計算部203は、単位時間tの整数倍で時間差を設定して、各ドメインに電源投入した場合の消費電力値の合計値を算出し、この合計値と許容ピーク電力値との比較を再び行う。電力変化計算部203は、単位時間tの整数倍で時間差を設定して、消費電力値の合計値が許容ピーク電力値未満となる場合には、設定した単位時間tの整数倍を、複数ドメインの電源投入を行う投入時間差とする。ここで、電力変化計算部203は、算出された消費電力値の合計値が許容ピーク電力値以上の場合には、複数ドメイン間での電源投入タイミングにさらに単位時間tの整数倍を追加し、消費電力値の合計値を算出し、許容ピーク電力値と比較する処理を繰り返す。電力変化計算部203は、算出された消費電力値の合計値が許容ピーク電力値未満となるまで以上の処理を繰り返し、電源投入のための投入時間差を求める。電力変化計算部203で求められた投入時間差は、電源投入タイミング生成部204に引き渡される。
 なお、電源投入タイミングの時間差は、例えば、複数ドメインの一つに対して、設定すればよい。例えば、サーバ100が2つのドメインを有する場合には、2つのドメインに対して、上記電源投入タイミングを求める処理を実行すればよい。また、ドメインが3以上の場合には、電力変化計算部203は、例えば、複数のドメイン中で、ピーク電力値が最も大きいドメインを選択し、上記時間差を設定して、消費電力値の合計値を算出する処理を繰り返せばよい。そして、時間がシステムで設定される最大時間差に達しても、算出された消費電力値の合計値が許容ピーク電力値以上の場合には、電力変化計算部203は、さらに投入時間差を設定する次のドメインを選択すればよい。さらに投入時間差を設定する次のドメインとしては、電力変化計算部203は、例えば、複数のドメイン中で、ピーク電力値が次に大きいドメインを選択すればよい。このようにして、電力変化計算部203は、3以上のドメインに対しても、順次、電源投入タイミングの投入時間差を求めればよい。そして、電力変化計算部203は、算出された消費電力値の合計値が許容ピーク電力値未満となるまで、投入時間差を設定するドメインの選択と投入時間差を求める処理とを繰り返せばよい。
 電源投入タイミング生成部204は、電力変化計算部203で求められた投入時間差に基づいて、複数ドメインに対する電源投入タイミングを生成する。例えば、電源投入タイミング生成部204は、タイマ機能を備え、タイマ機能により計数されたタイマ時間と電力変化計算部203で求められた投入時間差とが一致するタイミングで電源投入トリガを生成すればよい。例えば、電源投入トリガは、ドメイン毎に生成される。電源投入タイミング生成部204で生成された電源投入トリガは、電源投入の対象となるドメインの識別情報と共に電源投入制御部205に引き渡される。
 電源投入制御部205は、電源投入タイミング生成部204で生成された電源投入トリガに基づいて、電源投入対象となるドメインの電源投入を行う。電源投入制御部205は、SB構成/電力テーブル211に格納されたドメイン識別情報と、該ドメイン識別情報に対応付けられたSB識別情報を取得する。そして、電源投入制御部205は、電源投入タイミング生成部204から引き渡された、電源投入の対象となるドメインの識別情報から該ドメイン識別情報に対応付けられたSB識別情報を特定する。電源投入制御部205は、特定されたSB識別情報を有するSB10に対し、電源投入タイミング生成部204で生成された電源投入トリガに基づき電源投入を行う。
〔テーブルの構成〕
 図3に、SB構成と電力との関係を示すテーブル211を例示する。図3のSB構成/電力テーブル211には、ドメイン構成制御部201を介して設定されたドメイン識別情報および、ドメイン識別情報に対応付けられたSB識別情報が格納される。また、SB構成/電力テーブル211には、電力計測部202を介して取得したSB構成情報が格納される。さらに、SB構成/電力テーブル211には、電力計測部202を介して取得した消費電力値がSB識別情報に関連付けて格納される。
 SB構成/電力テーブル211は、サーバ100に収納されるSB10と同数のレコードを備える。SB構成/電力テーブル211は、ドメイン識別情報と、SB識別情報と、CPU数と、メモリ搭載数と、各SBで電源投入から所定の計測時間間隔毎に計測された消費電力値を格納する消費電力値フィールドとを有する。したがって、本実施形態では、SB構成/電力テーブル211のドメイン識別情報とSB識別情報との対応関係により、各ドメインに含まれるSB10が特定される。
 ドメイン識別情報は、サーバ100のドメインを一意に特定する識別情報である。また、SB識別情報は、ドメインを構築するSB10の識別情報である。本実施形態では、SB識別情報は、例えば、サーバ100内でユニークに定義される識別情報である。ただし、SB識別情報は、例えば、サーバ100が接続されるネットワーク上でユニークな識別情報であってもよい。SB識別情報として、サーバ100内の通し番号を含む情報、SB10のIP(Internet Protocol)アドレス、あるいはMAC(Media Access Control)アドレス等が例示できる。
 CPU数は、SB識別情報で特定されるSB10に搭載されるCPUユニットの数である。メモリ搭載数は、SB識別情報で特定されるSB10に搭載されるメモリユニットの数である。図1で説明したように、SB10は、サービス形態に応じてCPU、メモリ等が増減可能であり、SB10に搭載されるCPU数、メモリ搭載数に応じて消費電力値が増減する。なお、メモリ搭載数に代えて、メモリ容量を特定するようにしてもよい。
 図3の消費電力値のフィールドには、各SB10への電源投入時から電力計11で計測された消費電力値が、電力計11の計測時間間隔で所定の格納期間分格納される。SB構成/電力テーブル211に格納される消費電力値の格納期間は、例えば、対象となるSB10の電源投入から運用状態に至るサーバ100の起動動作が完了するまでの期間とすることができる。
〔処理フロー〕
 以下、図4から図11を参照し、本実施形態の電源投入制御処理について説明する。図4は、電源投入制御装置20によるドメイン毎の消費電力値の計測処理のフローチャートの例示である。電源投入制御装置20は、主記憶部22に実行可能に展開されたコンピュータプログラムによりドメイン毎の消費電力値の計測処理を実行する。図4に例示の計測処理は、主に電力計測部202で実行される。図4のフローチャートにおいて、計測処理の開始時としては、例えば、ドメイン構成制御部201の処理完了時を例示できる。
 電源投入制御装置20は、ドメイン構成制御部201によってSB構成/電力テーブル211に格納されたドメイン識別情報と該ドメイン識別情報と対応付けられたSB識別情報の取得を行う。そして、電源投入制御装置20は、ドメイン毎の電源投入を実行する(S11)。複数ドメインの電源投入の順に限定はない。例えば、電源投入制御装置20は、ドメイン識別情報として付与された識別番号が若い順に電源投入すればよい。図1のサーバ100の例では、電源投入制御装置20は、ドメイン#0、ドメイン#1、ドメイン#2の順に電源投入を行えばよい。
 電源投入制御装置20は、SB構成/電力テーブル211から取得したドメイン識別情報から、該ドメインを構築しているSB10を特定する。電源投入制御装置20は、特定したSB10に対し電源投入を指示する。電源投入指示を受けたSB10の電源投入回路は、電源投入指示に応じて電源投入を実行する。
 電源投入が行われたSB10では、例えば、実装された電力計11により電源投入以降の消費電力値が計測される。電力計11は、例えば、電源投入からサーバ100の起動動作が完了するまでの計測期間、所定の計測時間間隔で消費電力値の時系列変化を計測する。
 次に、S12では、電源投入制御装置20は、S11で電源投入を行ったドメインの消費電力値の取得を行う。電源投入制御装置20は、例えば、ドメインに含まれる各SB10に実装された電力計11と通信し、電力計11が計測した該SB10の消費電力値を取得する。また、電源投入制御装置20は、電力計11が実装されたSB10毎に、CPU,メモリ搭載数等のSB構成情報を取得する。電源投入制御装置20は、取得したSB構成情報と消費電力値とを、SB構成/電力テーブル211の該当するSB識別情報のレコードに格納する。なお、電源投入制御装置20は、電力計11で計測した消費電力値を、対応するSB10のプロセッサを介して一定の周期で取得するとしてもよい。SB構成/電力テーブル211に格納される消費電力値は、電力計11が計測した計測時間間隔毎に格納される。また、SB構成/電力テーブル211に格納される消費電力値の格納期間は、例えば、上記計測の期間、すなわち、電源投入からサーバ100の起動動作が完了するまでの期間とすればよい。 次に、S13では、電源投入制御装置20は、電源未投入のドメインが存在するか否かを判定する。電源投入制御装置20は、電源未投入のドメインが存在する場合(S13、“Yes”)には、次に電源投入を行うドメインを指定し(S14)、S11-S13の処理を繰り返して実行する。一方、電源投入制御装置20は、電源未投入のドメインが存在しない場合(S13、“No”)には、消費電力値の計測処理を終了する。
 S11-S14の処理により、電源投入制御装置20は、例えば、図1に例示するサーバ100に収納される全SB10の消費電力値を取得できる。S11-S14の処理により、SB10毎の消費電力値は、ドメイン識別情報およびSB識別情報、SB構成情報に対応付けられてSB構成/電力テーブル211に格納される。
 図5、6に、図4の消費電力値の計測処理で取得されたSB10の消費電力値の推移を例示する。図5は、図1に例示するSB#0で取得された消費電力値の電力計11の計測時間間隔での時系列順の推移を例示する柱状グラフである。図6は、SB構成/電力テーブル211に格納されたSB#0の消費電力値のレコード例である。なお、図1の例では、ドメイン#0は単一のSB10を有しており、ドメイン#0が有するSB10のSB識別情報はSB#0である。
 図5において、縦軸は電力値(W)であり、横軸は電力計11の計測時間間隔(単位時間)tで正規化された時刻である。各時刻での電力値は、計測時間間隔t毎に電力計11で計測されたSB#0の消費電力値である。図5では、t0が電源投入のときであり、t25がサーバ100の起動動作の完了のときである。
 図5に例示されたSB#0の消費電力値の推移から、電源投入からサーバ100の起動動作が完了するまでの期間に、3つの消費電力ピーク値が存在することがわかる。すなわち、時系列順に最初の消費電力ピーク値は時刻t7、次の消費電力ピーク値は時刻t15、最後の消費電力ピーク値は時刻t22で計測されている。また各消費電力ピーク値の大きさは、t15>t22>t7の時刻で計測された順である。
 本実施形態の電投入制御処理では、図4に例示する消費電力値の計測処理で得られたドメイン毎の消費電力値に基づいて、ドメイン毎の電源投入のタイミングを計算する。電源投入のタイミングは、例えば、サーバ100全体として図5に例示する消費電力の合計値が、所定の閾値を超えないように算出する。ここで所定の閾値は、複数ドメイン投入時の許容ピーク電力テーブル212に格納された許容電力ピーク値である。
 図7に、電源投入制御装置20によるドメイン毎の電源投入タイミングの算出処理のフローチャートを例示する。電源投入制御装置20は、主記憶部22に実行可能に展開されたコンピュータプログラムによりドメイン毎の電源投入タイミングの算出処理を実行する。電源投入タイミングの算出処理は、主に電力変化計算部203で実行される。
 図7のフローチャートにおいて、ドメイン毎の電源投入タイミング算出処理の開始は、例えば、図4に例示するドメイン毎の消費電力値の計測処理の終了時を例示できる。
 電源投入制御装置20は、SB構成/電力テーブル211に格納されたドメイン識別情報と該ドメイン識別情報に対応付けられたSB識別情報とを確認する(S15)。具体的には、電源投入制御装置20は、各ドメインと各ドメインに所属するSB10との対応関係を求める。そして、電源投入制御装置20は、ドメイン識別情報に対応付けられたSB識別情報のレコードから、SB10毎の消費電力値を取得し、ドメイン毎の電力変化を計算する(S16)。S16で実行されるドメイン毎の電力変化の計算は、ドメインに所属するSB10で計測された消費電力値を足し合わせ、ドメインとしての消費電力値を求める処理である。
 図6のレコード例に示されるように、SB10の消費電力値は、電力計11が計測する計測時間間隔毎に格納されている。したがって、電源投入制御装置20は、ドメイン毎の消費電力値を求めるため、ドメインに所属する各SB10の、計測時間間隔で指定される区間毎に計測された消費電力値を合計すればよい。説明例としてドメインにSB#X、SB#Yが所属するとする。この場合、SB#Xのレコードに格納された時刻t1の消費電力値pXと、SB#Yのレコードに格納された時刻t1の消費電力値pYを足し合わせることで、ドメインとしての消費電力値が算出できる。ドメインとしての時刻t1の消費電力値は(pX+pY)となる。各時刻での、SB#Xの消費電力値とSB#Yの消費電力値を足し合わせることにより、電源投入からサーバ100の起動動作が完了するまでの計測期間の、ドメインとしての消費電力値の時系列データが取得できる。時刻は、例えば、計測時間間隔で指定される区間の先頭、中央、あるいは末尾等とすればよい。1ドメイン内のSB10の数が3以上の場合も、同様に、同一時刻での消費電力を足し合わせればよい。
 また、例えば、図1の構成例では、各ドメインは一つのSB10を有する。図1のドメイン構成場合には、電源投入制御装置20は、S16の処理を省略してもよい。 図7に例示するフローチャートに戻り、S17では、電源投入制御装置20は、複数ドメインの同時電源投入時の電力変化の計算を行う。S17で実行される複数ドメインの同時投入時の電力変化の計算は、サーバ100が有する各ドメインで計測された消費電力値を足し合わせ、サーバ100全体の消費電力値を求める処理である。
 ドメイン毎の消費電力値は既にS16で求められている。S17では、電源投入制御装置20は、S16で求められたドメイン毎の消費電力値を計測時間間隔で指定される区間毎に足し合わせる。その結果として、電源投入制御装置20は、電源投入からサーバ100の起動動作が完了するまでの計測期間の、サーバ100としての消費電力値の時系列データを取得する。ここで、図1に例示するドメイン#0とドメイン#1を説明例とする。ドメイン#0の時刻t1の消費電力値p0と、ドメイン#1の時刻t1の消費電力値p1を足し合わせることで、時刻t1におけるサーバ100全体の消費電力値が算出される。時刻t1におけるサーバ100全体の消費電力値は(p0+p1)である。各時刻のドメイン#0の消費電力値とドメイン#1の消費電力値を足し合わせることにより、電源投入からサーバ100の起動動作が完了するまでの、サーバ100としての消費電力値の時系列データが取得できる。なお、S17の処理において、複数ドメイン間で、消費電力値の計測時刻が完全には一致しなくてもよい。例えば、計測時間間隔で区切られた同一の区間中のドメイン#0の消費電力値とドメイン#1の消費電力値を足し合わせればよい。つまり、同一区間で計測された消費電力を同一時刻で計測されたものと見なしてもよい。S17では、例えば、同一時刻(計測時間間隔で区切られた同一区間)で計測されたドメイン#0、ドメイン#1の消費電力値を加算したため、S17で算出した消費電力値は、ドメイン#0とドメイン#1の電源投入を同時タイミングで行った場合の消費電力値と言うことができる。つまり、S17で計算された消費電力値の時系列は、サーバに構築された各ドメインについて同時に電源投入したときの消費電力推移といえる。サーバ100内のドメイン数が3以上の場合も、同様に、同一時刻(上記同一区間)での消費電力を足し合わせればよい。
 図8、図9に、図1に例示するドメイン#0とドメイン#1を説明例とした場合の算出結果を例示する。図1の例では、ドメイン#0は一つのSB#0であり、ドメイン#1は一つのSB#1である。このため、図8、図9の算出結果の例では、ドメイン#0とドメイン#1の算出結果として、SB#0とSB#1の消費電力値を足し合わせている。なお、図8の算出例は、SB構成/電力テーブル211に格納されたSB#0、SB#1のレコードから、消費電力値を抽出したものである。また、図9は、SB#0(ドメイン#0)とSB#1(ドメイン#1)の消費電力値を足し合わせ、複数ドメイン同時投入時の消費電力値の推移を柱状グラフで例示した図である。
 図8の算出例において、SB#0に格納された消費電力値がドメイン#0の消費電力値であり、SB#1に格納された消費電力値がドメイン#1の消費電力値である。それぞれの消費電力値は、電力計11の計測時間間隔を単位時間として正規化された時刻毎に、電源投入時から計測された時系列で格納されている。時刻t0から時刻t25までの期間が、例えば、電源投入からサーバ100の起動動作が完了するまでの期間である。
 図8の最下行(図例では“電力和”)には、各時刻で計測されたSB#0の消費電力値とSB#1の消費電力値とを足し合せた消費電力値が格納されている。最下行に格納された消費電力値は、複数ドメイン同時投入時に計測される消費電力値ということができる。
 図9において、縦軸は電力値(W)であり、横軸は電力計11の計測時間間隔で正規化された時刻である。図中、領域G1はSB#0の消費電力値の推移であり、領域G2はSB#0とSB#1との消費電力値を足し合わせて算出された、複数ドメイン同時投入時の消費電力値の推移である。図9の柱状グラフにおいて、時刻t16で足し合された消費電力値は、許容電力ピーク値Paを超える値である。つまり、S17の計算結果から、サーバ100内の各ドメインについて同時に電源投入したときの消費電力値は、許容電力ピーク値を超えてしまうことがわかる。
 図7に例示するフローチャートに戻り、S18では、電源投入制御装置20は、複数ドメインの同時投入時に閾値を超えている箇所の検索を行う。ここで、閾値は、複数ドメイン投入時の許容ピーク電力テーブル212に格納された許容電力ピーク値である。
 電源投入制御装置20は、複数ドメイン投入時の許容ピーク電力テーブル212に格納された許容電力ピーク値を取得し、検索のための閾値とする。そして、S17で求めた消費電力値の時系列データと閾値との相互比較を行い、閾値を超えている箇所(時刻)を検索する。S18の検索処理により、例えば、図8に例示する、許容電力ピーク値Paを超える箇所(時刻)が検知できる。
 次に、S19では、電源投入制御装置20は、複数ドメインの同時投入時に閾値を超えている箇所が存在するかを判定する。電源投入制御装置20は、S18の処理の結果、閾値を超えている箇所が存在する場合(S19、“Yes”)には、S20に移行する。一方、電源投入制御装置20は、S18の処理の結果、閾値を超えている箇所が存在しない場合(S19、“No”)には、電源投入タイミングの算出処理を終了する。閾値を超えている箇所が存在しない場合には、複数ドメインの同時投入を行っても、閾値である許容電力ピーク値を超える箇所が存在しない。このため、サーバ100全体の消費電力値の合計値は、許容電力ピーク値内に抑えることができる。
 S20では、電源投入制御装置20は、複数ドメイン間における電源投入の投入時間差を指定し、S17-S19の処理を繰り返す。S20で指定される投入時間差は、例えば、SB構成/電力テーブル211に格納される消費電力値の時間間隔を単位時間とすることができる。SB構成/電力テーブル211に格納される消費電力値の時間間隔は、正規化された時間間隔tである。電源投入制御装置20は、正規化された時間間隔tを単位時間として複数ドメイン間における電源投入の投入時間差DTを指定する。S20で指定される投入時間差TDは、n=1を初期値として、S17-S20の処理を繰り返す度に、一つインクリメントした数nで算出され、投入時間差TD=ntとすればよい。なお、正規化された時間間隔tは、電力系1が電力を測定する計測時間間隔と同一でもよい。また、計測時間間隔よりも長い時間、例えば、計測時間間隔の整数倍でもよい。
 図8に例示するように、各SB(ドメイン)の消費電力値は、正規化された時間間隔tで時系列に整列し、格納されている。S20で投入時間差ntが指定された場合、電源投入制御装置20は、格納されているSB間の時刻を相対的にntだけずらし、消費電力の足し合わせを行う。 このように、電源投入制御装置20は、投入時間差をSB構成/電力テーブル211に格納される消費電力値の時間間隔の整数倍で指定し、指定された投入時間差での複数ドメインの電源投入時の消費電力値を計算する。そして、再び、許容電力ピーク値を閾値として、指定された投入時間差で計算された合計消費電力値に許容電力ピーク値を超えている箇所が存在するか否かの判定処理を行う。
 判定処理の結果、許容電力ピーク値を超えている箇所が存在する場合には、指定する投入時間差ntの単位時間数nを一つインクリメントし、複数ドメインの合計消費電力が許容電力ピーク値を超えている箇所が存在しなくなるまで、S17-S19の処理を繰り返す。この結果、電源投入制御装置20は、合計消費電力が許容電力ピーク値を超えない条件で、複数ドメインの電源投入時の投入時間差を取得できる。
 なお、電源投入制御装置20は、S20で指定した投入時間差を、例えば、主記憶部22の作業領域等に保持することができる。主記憶部22の作業領域等に保持された投入時間差は、電源投入制御装置20の電源投入タイミング生成部204に引き渡される。電源投入タイミング生成部204は、電力変化計算部203で求められた投入時間差に基づいて、複数ドメインに対する電源投入タイミングを生成し、電源投入制御部205に引き渡す。そして、電源投入制御部205は、電源投入タイミング生成部204で生成された電源投入タイミングに基づいて対象となるドメインの電源投入を実行すればよい。この結果、電源投入制御装置20は、サーバ100全体の消費電力値を許容ピーク電力値以下に抑えることができる。
 図10,11に、S17-S20の処理結果を例示する。図10は、図8の算出例において、投入時間差Tを3tとして、SB#0に対して、SB#1の消費電力値の時刻を相対的に遅らせた処理例である。図11は、図10のSB#0(ドメイン#0)とSB#1(ドメイン#1)の消費電力値を足し合わせ、複数ドメインの電源投入時の消費電力値の推移を柱状グラフで例示した図である。
 図10の処理例において、SB#1の消費電力値では、時刻t0、t1、t2の消費電力値として“0”が格納されている。そして、時刻t3の消費電力値として、“0.65”が格納されている。SB#1の時刻t3の消費電力値は、図8に例示されたSB#1の消費電力値で、時刻t0で計測された消費電力値である。
 図10の最下行(図例では“電力和”)には、投入時間差分遅らせたSB#1の消費電力値と、SB#0の消費電力値とを足し合わせた消費電力値が格納されている。最下行の、時刻t0、t1、t2に格納された消費電力値は、SB#0の時刻t0、t1、t2に格納された消費電力値と同じ値である。図10の最下行に例示されるように、S17-S20の処理では、S20で指定された投入時間差分遅らせたSB#1の消費電力値と、SB#0の消費電力値とが足し合わされる。その結果、最下行に例示するように、投入時間差分だけ電源投入を遅らせた、消費電力値が計算される。最下行に例示する消費電力値は、複数ドメインの電源投入時に計測される消費電力値となる。
 図11において、縦軸は電力値(W)であり、横軸は正規化された時刻である。図中、領域G1はSB#0の消費電力値の推移である。また、領域G3は、SB#0の消費電力値と、S20で指定された投入時間差で電源投入のタイミングを遅らせたSB#1の消費電力値とを足し合わせて算出された、複数ドメインの電源投入時の消費電力値の推移である。図11の柱状グラフでは、電源投入からサーバ100の起動動作が完了するまでの期間(時刻t0から時刻t25までの期間)において、複数ドメインの電源投入時の消費電力値は、許容電力ピーク値Paを超えないことがわかる。
 図10、11に例示するように、投入時間差DTを3tとして複数ドメインのうちの一つの電源投入タイミングを他のドメインから相対的に遅らせることにより、サーバ100全体の消費電力値を許容ピーク電力値以下に抑えることができる。
 以上、説明したように、本実施形態の電源投入制御装置20は、電源投入からサーバ100の起動動作が完了するまでの期間でドメイン毎の消費電力値を取得し、SB構成/電力テーブル211に格納する。消費電力値の取得は、所定の時間間隔で行われる。そして、電源投入制御装置20は、SB構成/電力テーブル211に格納されたドメイン毎の消費電力値から、複数ドメインの同時電源投入時の消費電力値の変化を計算する。そして、電源投入制御装置20は、複数ドメイン投入時の許容ピーク電力テーブル212に格納された許容ピーク電力値を閾値として、計算された複数ドメインの同時電源投入時の消費電力値が許容ピーク電力値を超えるか否かの判定を行う。そして、判定の結果、複数ドメインの同時電源投入時の消費電力値が許容ピーク電力値を超えない場合には、電源投入制御装置20は、複数ドメインの同時電源投入、すなわち、ドメイン間に電源投入の時間差を設定しない通常の電源投入を実行する。一方、判定の結果、複数ドメインの同時電源投入時の消費電力値が許容ピーク電力値を超える場合では、複数ドメイン間で電源投入タイミングをずらすため、電源投入時間差を計算する。電源投入時間差は、複数ドメインの電源投入時の消費電力値が許容ピーク電力値を超えない値とする。電源投入制御装置20は、複数ドメインの電源投入時の計算された投入時間差に基づくタイミングで電源投入を実行することにより、サーバ100全体の消費電力値を許容ピーク電力値以下に抑えることができる。
 なお、図7では、S19-S20の処理により、例えば、2つのドメイン#0とドメイン#1との間の投入時間差を算出した。ドメイン数が3以上の場合には、例えば、消費電力の大きい順に、第1のドメインを選択して、S19-20の処理によって、投入時間差を設定すればよい。そして、第1のドメインについて、投入時間差を所定限度まで設定しても、合計消費電力値が許容電力ピーク値を超える場合に、さらに、第1のドメインの次に消費電力の大きい第2のドメインを選択し、投入時間差を設定すればよい。以上の処理によって、複数のドメインに対して、順次、投入時間差を所定限度まで設定すればよい。ここで、投入時間差設定する所定限度は、例えば、図6に示した格納期間の末尾(図6では、t25)を例示できる。
<実施例2>
 次に、図12から図20の図面に基づいて、実施例2の電源投入制御装置20を説明する。実施例1の電源投入制御装置20は、複数ドメインの同時投入時に合計の消費電力が閾値を超えている場合に、複数ドメインの電源投入時のタイミングを計算する。そして、計算されたタイミング、すなわち、電源投入時間差で複数のドメインへ電源を投入する。
 実施例2(以下、本実施形態とも称する)では、電源投入からサーバ100の起動動作が完了するまでの起動処理期間において、各ドメインがそれぞれ実行すべき一連の複数の処理それぞれにおける消費電力を考慮した処理の実行タイミングの制御を行うこととする。
 すなわち、起動処理の過程で行われる複数のドメインのそれぞれで実行される各処理の消費電力に基づいて、各ドメインにける各処理の実行タイミングを調整する。
 なお、起動処理期間において行われる一連の複数の処理を行う各期間をフェーズと称することとする。従って、電源投入後、複数のフェーズを経て、起動処理が完了する。各フェーズで行われる処理をフェーズ内処理ともいう。各フェーズ内処理は、電源投入制御装置20からSB10への指令によって実行される。また、各フェーズ内処理が完了すると、SB10は、フェーズ内処理の完了を電源投入制御装置20へ報告する。フェーズが、複数段階の処理の一例であり、フェーズ内処理が各段階の処理の一例である。また、各フェーズが実行される期間が複数段階の処理に対応するそれぞれの期間の一例である。
 フェーズ毎に処理内容が異なるため、消費電力もフェーズ間で相違する。複数ドメインの合計消費電力のピーク値を抑制するためには、フェーズ(フェーズ内処理)ごとの消費電力に着目することが効果的である。したがって、電源投入制御装置20は、他のフェーズと比較して消費電力の多いフェーズについて、複数ドメイン間でフェーズ内処理の実行タイミングを制御すればよい。
 電源投入時のサーバ100の起動処理期間に段階的に実行されるフェーズとしては、実行順に、電源投入、POST(Power-On Self Test)、bootの各フェーズを例示できる。例えば、電源投入フェーズでは、SB10に含まれる複数のプロセッサ、メモリ等への電源投入および初期化処理が行われる。POSTフェーズでは、SB10の資源に対する自己診断テスト処理が行われる。bootフェーズでは、OSや各種プログラムの起動処理が行われる。SB10は、各フェーズのフェーズ内処理完了毎に、電源投入制御装置20に処理完了を通知する。
 図5の例では、電源投入からサーバ100の起動動作が完了するまでの期間に、3つの消費電力ピーク値が存在する。図5の各消費電力ピーク値は、それぞれ電源投入フェーズ、POSTフェーズ、bootフェーズでの消費電力ピーク値に対応する。時刻t7で計測された消費電力ピーク値が電源投入フェーズに対応し、時刻t15の消費電力ピーク値がPOSTフェーズに対応し、時刻t22の消費電力ピーク値がbootフェーズに対応している。各消費電力ピーク値の大きさは、t15>t22>t7の順である。
 本実施形態の電源投入制御装置20は、例えば、SB10から通知されるフェーズ毎の処理完了通知に基づいて、フェーズ毎の消費電力ピーク値を検出する。そして、電源投入制御装置20は、フェーズ毎の消費電力ピーク値に基づいて、複数ドメインのフェーズ内処理の実行タイミングを計算する。例えば、複数ドメインの消費電力が許容電力ピーク値Pa未満のフェーズでは、複数ドメインについて、フェーズ内処理が並列で実行される。一方、複数ドメインの消費電力が許容電力ピーク値Paを超えるフェーズでは、複数ドメインの1以上ドメインについて、フェーズ内処理のタイミングの実行が、他のドメインでの当該フェーズ内処理完了まで遅延される。
 以上のようなフェーズ毎に分割された処理を起動するタイミングを計算する点以外の構成については、実施例2の電源投入制御装置20およびサーバ100の構成は、実施例1の場合と同様である。例えば、図1の構成図および図2の機能ブロック図等は、実施例2においてもそのまま適用される。
〔実施例2の処理フロー〕
 図12に、本実施形態におけるドメイン毎の消費電力値の計測処理のフローチャートを例示する。図12に例示する計測処理のフローチャートは、S21の処理を行う点で図4に例示する実施例1の計測処理と相違する。図12のフローチャートでは、S11-S14の処理は、図4のフローチャートで既に説明しているため、説明を省略する。
 S21では、電源投入制御装置20は、SB構成/電力テーブル211に格納された消費電力値から、該当するドメインのフェーズ毎の消費電力ピーク値を抽出する。実施例2では、消費電力ピーク値の抽出は、該当するドメインに対応付けられたSB10毎に行われる。SB10毎に抽出されたフェーズ毎の消費電力ピーク値を、ドメインに対応付けられた複数SB10について足し合わせることにより、ドメインのフェーズ毎の消費電力ピーク値が求められる。
 電源投入制御装置20は、例えば、SB10から通知されるフェーズ毎の処理完了通知のタイミングでSB構成/電力テーブル211に格納された消費電力値を取得する。そして、電源投入制御装置20は、取得した消費電力値の時刻間の相互比較を行い、最も大きい消費電力値を抽出する。さらに、電源投入制御装置20は、抽出された最も大きな消費電力値を、処理完了通知が行われた処理フェーズの消費電力ピーク値として処理フェーズを識別する識別情報とともに記録する。処理フェーズを識別する識別情報は、例えば、電源投入フェーズ、POSTフェーズ、bootフェーズを特定できればよい。電源投入制御装置20は、抽出された消費電力ピーク値を、例えば、主記憶部22の作業領域等にフェーズ毎の消費電力値のレコードとして一時的に記録すればよい。
 電源投入制御装置20は、S21の処理をS12の処理と並列して実行してもよい。つまり、電源投入制御装置20は、S12での消費電力取得時に、消費電力ピーク値を求めてもよい。例えば、電源投入制御装置20は、S12で取得する消費電力値の格納に伴い、時刻間の相互比較を時系列順で逐次実行し、最も大きい消費電力値を抽出する。電源投入制御装置20は、抽出された最も大きな消費電力値を処理完了通知のタイミングで主記憶部22の作業領域等に一時的に記録するとともに、次の処理フェーズでの相互比較を開始する。電源投入制御装置20は、抽出された最も大きな消費電力値を処理完了通知が行われた処理フェーズの消費電力ピーク値として処理フェーズを識別する識別情報とともに記録すればよい。電源投入装置20は、以上の処理を処理完了通知のタイミングでS12の処理と並列して実行することにより、フェーズ毎の消費電力ピーク値を取得できる。
 また、SB10が、S21の処理を実行してもよい。SB10がS21の処理を実行する場合、電源投入制御装置20は、図12に例示のS21の処理を省略できる。例えば、電源投入制御装置20は、S21の処理を実行する代わりに、S12の消費電力の取得処理において、SB10からフェーズ毎の消費電力ピーク値を取得すればよい。電源投入制御装置20は、SB10毎に取得したフェーズ毎の消費電力ピーク値から、ドメイン別のフェーズ毎の消費電力ピーク値を求めればよい。
 S21の処理で取得された、フェーズ毎の消費電力値のレコード例を図13に例示する。図13のレコード例では、SB識別情報(SB#0,SB#1,・・・,SB#n)毎にレコードが形成され、消費電力ピーク値が格納される。消費電力ピーク値は、フェーズ毎に格納される。図中、「電源投入」は電源投入フェーズ、「POST」はPOSTフェーズ、「Boot」はbootフェーズに対応する。図12の計測処理の結果、サーバ100のSB10と同数の、フェーズ毎の消費電力値のレコードが取得できる。
 なお、S21の処理をSB10に実行させた場合では、図13に例示するフェーズ毎の消費電力値のレコード例に、ドメイン識別情報、SB識別情報、SB構成情報を追加したレコードが、SB構成/電力テーブル211に格納される。すなわち、フェーズ毎の消費電力値のレコードは、図3に例示するSB構成/電力テーブル211のレコード(図3の各行)と同様の構成とすればよい。
 図14に、図13のSB#0の消費電力ピーク値の推移を例示する。図14は、フェーズ毎の消費電力ピーク値の時系列順の推移を例示する柱状グラフである。図14において、縦軸は電力値(W)であり、横軸はフェーズ単位で正規化した時間である。S21で取得された消費電力ピーク値は、電源投入フェーズ、POSTフェーズ、bootフェーズの時系列順に配列されている。図14に例示する消費電力ピーク値は、それぞれのフェーズで計測された消費電力値の内で最も大きな消費電力値である。図14において、POSTフェーズの消費電力ピーク値が最も大きく、次いでbootフェーズの消費電力ピーク値が大きく、電源投入フェーズが最も消費電力ピーク値が小さいことがわかる。
 図15に、図13のSB#0の消費電力ピーク値とSB#1の消費電力ピーク値とをフェーズ毎に重ね合わせた合計の消費電力ピーク値の推移を例示する。図15は、各SBのフェーズ毎の消費電力ピーク値を電源投入フェーズ、POSTフェーズ、bootフェーズの時系列順に重ね合わせた柱状グラフである。図15の縦軸は電力値(W)であり、横軸はフェーズ単位で正規化した時間である。
 図15中、領域G4はSB#0のフェーズ毎の消費電力ピーク値の推移であり、領域G5はSB#1のフェーズ毎の消費電力ピーク値の推移である。領域G6は、SB#0とSB#1との各フェーズの消費電力ピーク値を重ね合わせた推移である。領域G6は、つまり、SB#0とSB#1に対して、同時に電源投入した場合の消費電力ピーク値の推移といえる。図1に例示するように、ドメインとSB10とが一対一で対応付けられる場合では、複数ドメインへの電源同時投入時のフェーズ毎の消費電力ピーク値の推移といえる。また、図15の場合には、SB#0とSB#1に対して、同時に電源投入した後、各フェーズの処理の実行タイミングは調整されていない。したがって、各フェーズの処理は、SB#0とSB#1とにおいて、並列に実行されることになる。なお、以降、図15の説明では、ドメインとSB10とは一対一で対応付けられているとして説明する。
 図15の柱状グラフにおいて、SB#0のPOSTフェーズの消費電力ピーク値とSB#1のPOSTフェーズの消費電力ピーク値の合計値は、許容電力ピーク値Paを超えることがわかる。つまり、ドメイン#0であるSB#0とドメイン#1であるSB#1とを同時に電源投入させた場合、足し合わされた消費電力ピーク値は、POSTフェーズで許容電力ピーク値Paを超える値となることがわかる。
 一方、SB#0の電源投入フェーズの消費電力ピーク値とSB#1の電源投入フェーズの消費電力ピーク値の合計値は、許容電力ピーク値Pa以下であり、許容電力ピーク値Paまでマージンがあることがわかる。同様に、SB#0のbootフェーズの消費電力ピーク値とSB#1のbootフェーズの消費電力ピーク値の合計値は、許容電力ピーク値Pa以下である。ただし、bootフェーズでは、許容電力ピーク値Paまでのマージンは、電源投入フェーズよりも少ないことがわかる。
 図15に例示する柱状グラフから、POSTフェーズで許容電力ピーク値Paを超えないように、POSTフェーズの処理の実行タイミングに、ドメイン#0(SB#0)とドメイン#1(SB#1)との間で時間差を設定すればよいことがわかる。複数ドメインに対して、電源投入が同時であったとしても、実行される処理の期間が互いにずれていると、複数ドメインの合計の消費電力が低減できる場合があるからである。一方、許容電力ピーク値Pa以下の電源投入フェーズ、bootフェーズは、実行タイミングを調整しないで、並列実行が可能であることがわかる。なお、本実施例では、複数ドメイン間での電源投入に対して、「同時投入」という用語を使用し、複数ドメインで実行されるフェーズごとの処理については、「並列実行」という用語を使用する。フェーズごとの処理は、複数ドメイン間で仮に同時に開始しても、同時に終了するとは限らないからである。
 図16に、フェーズ毎の消費電力ピーク値に基づく、ドメイン毎の各フェーズの実行タイミングの算出処理のフローチャートを例示する。電源投入タイミングの算出処理は、主に電力変化計算部203で実行される。
 図16のフローチャートにおいて、フェーズ毎の消費電力ピーク値に基づくドメイン毎の各フェーズの実行タイミング算出処理の開始は、例えば、図12に例示するドメイン毎の消費電力値の計測処理の終了時とすることができる。
 電源投入制御装置20は、SB構成/電力テーブル211に格納されたドメイン識別情報と該ドメイン識別情報と対応付けられたSB識別情報の確認を行う(S22)。具体的には、各ドメインと各ドメインに所属するSB10との対応関係を求める。そして、ドメイン識別情報に対応付けられたSB識別情報から、各ドメインに所属するSB10で取得されたフェーズ毎の消費電力ピーク値を取得し、ドメイン毎の電力変化の計算を行う(S23)。
 SB10毎の、フェーズ毎の消費電力ピーク値は、S21で取得されている。電源投入制御装置20は、各ドメインに所属するSB10について、フェーズ毎の消費電力ピーク値を取得し、フェーズ毎にドメインに所属するSB10の消費電力ピーク値を足し合わせ、ドメイン別のフェーズ毎の消費電力ピーク値を計算する。なお、既に、図12で説明したように、S21の処理をSB10に実行させる場合では、SB構成/電力テーブル211に、フェーズ毎の消費電力値が格納される。
 S24では、電源投入制御装置20は、複数ドメインの同時電源投入時の電力変化の計算を行う。すなわち、電源投入制御装置20は、S23で計算されたドメイン別のフェーズ毎の消費電力ピーク値を、サーバ100内のドメインについて、フェーズ毎に足し合わせ、サーバ100全体としての消費電力ピーク値の合計を計算する。S24の処理の結果としては、例えば、各ドメインが単一のSB10を有する場合には、図15の柱状グラフで例示される消費電力ピーク値の合計が求められる。
 図16のフローチャートに戻り、S25では、電源投入制御装置20は、複数ドメインの同時投入時に閾値を超えている箇所を検索する。ここで、閾値は、複数ドメイン投入時の許容ピーク電力テーブル212に格納された許容電力ピーク値である。電源投入制御装置20は、複数ドメイン投入時の許容ピーク電力テーブル212に格納された許容電力ピーク値を取得し、検索のための閾値とする。そして、電源投入制御装置20は、S24で求めたフェーズ毎の消費電力ピーク値の合計と閾値との相互比較を行い、閾値を超えている箇所(フェーズ)を検索する。S25の検索処理により、電源投入制御装置20は、例えば、図15の許容電力ピーク値Paを超えるPOSTフェーズを検知できる。
 図16のフローチャートに戻り、S26では、電源投入制御装置20は、複数ドメインの同時投入時に消費電力ピーク値の合計が閾値を超えている処理フェーズが存在するか否かを判定する。電源投入制御装置20は、S26の判定において、S25の処理の結果、閾値を超えている処理フェーズが存在する場合(S26、“Yes”)には、S27に移行する。一方、電源投入制御装置20は、S25の処理の結果、閾値を超えている処理フェーズが存在しない場合(S26、“No”)には、電源投入タイミングの算出処理を終了する。複数ドメインの同時電源投入を行っても、閾値である許容電力ピーク値を超える処理フェーズが存在しないため、サーバ100全体の消費電力ピーク値の合計値は、許容電力ピーク値内に抑えることができる。
 S27では、S271-S273で詳述するように、電源投入制御装置20は、逐次実行フラグの付与処理を行う。逐次実行フラグは、フェーズ毎に複数ドメインの同時処理を実行するか否かのフラグであり、フェーズ毎に付与される。例えば、図15に例示された、SB#0の消費電力ピーク値とSB#1の消費電力ピーク値とを重ね合わせた柱状グラフを用いて、逐次実行フラグを説明する。既に述べたように、図15は、各ドメインが単一のSB10を有する場合の消費電力ピーク値の例である。図15において、複数ドメインの同時電源投入を行った場合、POSTフェーズでは消費電力ピーク値の合計が許容電力ピーク値Paを超えるため、POSTフェーズの処理は並列実行できない。しかしながら、電源投入フェーズおよびbootフェーズでは、消費電力ピーク値の合計が許容電力ピーク値Paを超えないため、複数ドメインの同時電源投入後の電源投入フェーズおよびbootフェーズは、並列実行可能である。
 図16のS27では、電源投入制御装置20は、フェーズの並列実行の可否を判定し、消費電力ピーク値の合計が許容電力ピーク値Paを超えるフェーズには、逐次実行フラグの付与を行う。逐次実行フラグが付与されたフェーズでは、複数ドメイン間でフェーズ内処理が並列に実行されず、ドメイン毎に逐次フェーズ内処理が実行される。一方、消費電力ピーク値の合計が許容電力ピーク値Paを超ないフェーズには、フェーズ内処理の並列実行が可能なため、逐次実行フラグの付与は行わない。逐次実行フラグが付与されていないフェーズでは、複数ドメイン間で処理が並列実行される。電源投入制御装置20のCPU21は、指定部として、上記S25-S27の処理を実行する。
 図15の例では、電源投入フェーズおよびbootフェーズには、逐次実行フラグは付与されず、POSTフェーズでは消費電力ピーク値の合計が許容電力ピーク値Paを超えてしまうため、逐次実行フラグが付与される。図15の例では、電源投入制御装置20は、複数ドメインの同時電源投入を行った上で、電源投入フェーズでは複数ドメイン間で処理を並列実行する。次に処理されるPOSTフェーズでは、電源投入制御装置20は、ドメイン毎に逐次POSTフェーズを実行する。電源投入制御装置20は、一のドメインがPOSTフェーズ処理を起動し、そのドメインでのPOSTフェーズ処理の完了を待つ。そして、一のドメインがPOSTフェーズ処理を実行している期間、電源投入制御装置20は、他のドメインのPOSTフェーズ処理を待機させる。そして、電源投入制御装置20は、一のドメインのPOSTフェーズの処理完了後に他のドメインのPOSTフェーズ処理を起動する。さらに、他のドメインのPOSTフェーズの処理完了後に、電源投入制御装置20は、次に処理させるbootフェーズおいて、再び、複数ドメイン間で処理を並列実行する。
 図17に、POSTフェーズを逐次実行した場合の、フェーズ毎の消費電力ピーク値の推移を例示する。図17は、上述したように、図15で例示される消費電力ピーク値の合計を有する構成での処理例である。すなわち、図17は、電源投入フェーズおよびbootフェーズで処理を並列実行し、POSTフェーズではドメイン毎に処理を逐次実行した例である。
 図17中、領域G4a、G4b、G4cは、それぞれSB#0の電源投入、POST、bootの各処理フェーズの消費電力ピーク値である。領域G5a、G5b、G5cは、それぞれSB#1の電源投入、POST、bootの各処理フェーズの消費電力ピーク値である。図17において、電源投入フェーズの並列実行後に、SB#0のPOSTフェーズ処理が実行されている。そして、SB#0のPOSTフェーズ処理の処理完了後にSB#1のPOSTフェーズ処理が実行されている。bootフェーズは、SB#1のPOSTフェーズ処理の処理完了後に、並列実行されている。各フェーズでの消費電力値は、許容電力ピーク値Pa以下で推移することがわかる。
 図18に、逐次実行フラグの付与処理(図16のS27)の詳細なフローチャートを例示する。逐次実行フラグの付与処理は、複数ドメインの消費電力ピーク値の合計が許容電力ピーク値を超えているフェーズに対して実行される。図18のフローチャートにおいて、S271では、電源投入制御装置20は、逐次実行フラグが付与されていないドメインの内、最も消費電力ピーク値が大きいドメインを検索する。そして、電源投入制御装置20は、検索されたドメインに逐次実行フラグを付与する。
 次に、S272では、電源投入制御装置20は、逐次実行フラグが付与されていないドメインについて複数ドメインの消費電力ピーク値の合計値を求める。そして、S273では、電源投入制御装置20は、複数ドメインの消費電力ピーク値の合計値が閾値を超えているか否かの判定を行う。ここで、閾値は許容電力ピーク値である。
 逐次実行フラグが付与されていないドメインについて、消費電力ピーク値の合計値が閾値を超えていない場合(S273、“No”)には、逐次実行フラグの付与処理を終了する。一方、逐次実行フラグが付与されていないドメインについて、消費電力ピーク値の合計値が閾値を超えている場合(S273、“Yes”)には、電源投入制御装置20は、逐次実行フラグが付与されていないドメインを対象に、S271-272の処理を繰り返す。
 このようにして、S271-273の処理によって、逐次実行されるドメインが選択される。次に、S274の処理において、電源投入制御装置20は、逐次実行フラグが付与されたドメインの実行タイミングを再設定する。S271-273の処理の結果、逐次実行フラグが付与されたドメインでのフェーズ内処理を逐次実行することも可能である。しかしながら、許容電力ピーク値を超えない範囲で、逐次実行フラグが付与されたドメインを可能な範囲で並列実行することが望ましい。サーバ100への電源投入後の起動処理が早期に完了するからである。
 そこで、電源投入制御装置20は、逐次実行フラグが付与された複数のドメインを組み合わせて、消費電力ピーク値の合計が許容電力ピーク値を超えない組みを設定する。例えば、電源投入制御装置20は、逐次実行フラグが付与された複数のドメインの消費電力ピーク値を小さい順に、足し合わせて、消費電力ピーク値の合計が許容電力ピーク値を超えない範囲で、ドメインの組みを設定すればよい。小さな消費電力ピーク値を有するドメインが複数組み合わせられ、並列実行されることになる。逆に、電源投入制御装置20は、逐次実行フラグが付与された複数のドメインの消費電力ピーク値を大きい順に、足し合わせて、消費電力ピーク値の合計が許容電力ピーク値を超えない範囲で、ドメインの組みを設定してもよい。この処理では、許容電力ピーク値の大きいドメインが優先して組み合わせられる。
 そして、以上の処理によって組み合わせた複数ドメインに実行順を設定すればよい。実行順の設定には、特に限定はない。
 図16および図18の処理による逐次実行フラグの付与結果を図19に例示する。図19は、逐次実行フェーズ指定テーブル215と逐次実行スケジュールテーブル216との関連を例示する図である。
 逐次実行フェーズ指定テーブル215は、各フェーズに対する逐次実行フラグを保持する。逐次実行フェーズ指定テーブル215は、図16の処理によって設定され、逐次実行されるフェーズを指定する。図19の例では、逐次実行フェーズ指定テーブル215は、電源投入フェーズ、POSTフェーズ、bootフェーズに対する逐次実行フラグを有している。図19の例では、逐次実行フェーズ指定テーブル215は、複数ドメインで逐次実行されるフェーズに1が設定され、複数ドメインで並列実行されるフェーズに0が設定される。
 また、逐次実行スケジュールテーブル216は、逐次実行フェーズ指定テーブル215で逐次実行が指定されたフェーズについて、各ドメインでのフェーズ内処理の実行タイミングを規定する。逐次実行スケジュールテーブル216は、逐次実行フェーズ指定テーブル215で逐次実行が指定されたフェーズにリンクして、設定される。図19の例では、逐次実行フェーズ指定テーブル215によりPOSTフェーズに逐次実行が指定され、逐次実行スケジュールテーブル216がリンクされる。
 逐次実行スケジュールテーブル216の各行は、実行順のフィールドと、並列実行ドメインのフィールドを有する。実行順のフィールドには、1、2、3のように、実行順を示す番号が設定される。また、並列実行ドメインのフィールドには、各実行順について、並列実行されるドメインが指定される。したがって、図19の例では、POSTフェーズにおいて、逐次実行が指定され、実行順1において、ドメイン#0、#1、#2が並列実行されることが指定されている。そして、ドメイン#0、#1、#2のPOSTフェーズが完了すると、実行順2において、ドメイン#3のPOSTフェーズが実行される。つまり、逐次実行スケジュールテーブル216は、実行順1で指定されるドメインでのフェーズ内処理が完了したタイミングが、実行順2で指定されるドメインでのフェーズ内処理の実行開始タイミングとなることを指定する。さらに、ドメイン#3のPOSTフェーズが完了すると、実行順3において、ドメイン#4、#5のPOSTフェーズが並列実行される。すなわち、実行順2で指定されるドメインでのフェーズ内処理が完了したタイミングが、実行順3で指定されるドメインでのフェーズ内処理の実行開始タイミングとなる。以上のように、逐次実行スケジュールテーブル216は、各実行順で指定されるドメインでのフェーズ内処理完了タイミングを次の実行順で指定されるドメインでのフェーズ内処理開始タイミングとして指定する。
 本実施形態の電源投入制御装置20は、以上の処理で求められた、逐次実行フェーズ指定テーブル215に格納されたフェーズ毎の逐次実行フラグと、逐次実行スケジュールテーブル216の実行順にしたがい、各フェーズにおいて、複数ドメインのピーク電力値の合計が許容ピーク電力値を超えない範囲で、複数ドメインのフェーズ内処理を並列実行、あるいは逐次実行する。
 図20に、逐次実行フラグによる複数ドメインの電源投入処理のフローチャートを例示する。図20に例示の電源投入処理は、主に電源投入制御部205で、サーバ100の各ドメインへの電源同時投入後に実行される。電源投入制御装置20のCPU21は、実行制御部として、図20の処理を実行する。
 まず、電源投入制御装置20は、主記憶部22の作業領域に一時的に作成された逐次実行フェーズ指定テーブル215を参照し、対象となる複数ドメインの電源投入フェーズを逐次実行するか否かを判定する(S30)。
 電源投入制御装置20は、逐次実行フェーズ指定テーブル215に格納された電源投入フェーズの逐次実行フラグ値が“0”の場合(S30、“No”)には、対象となる複数ドメインの電源投入フェーズを並列実行する(S31)。一方、逐次実行フェーズ指定テーブル215に格納された電源投入フェーズの逐次実行フラグ値が“1”の場合(S30、“Yes”)には、電源投入制御装置20は、対象となる複数ドメインの電源投入フェーズを逐次実行する(S32)。より具体的には、S32の処理では、電源投入制御装置20は、逐次実行スケジュールテーブル216の実行順に、複数ドメインの電源投入フェーズを逐次実行する。ただし、図19に例示した逐次実行スケジュールテーブル216の実行順1、3のように、可能な範囲で、複数のドメインが電源投入フェーズを並列実行してよい。電源投入制御装置20は、例えば、実行順1で指定されたドメインから、完了通知を受けると、次に、実行順2で指定されたドメインを起動する。
 電源投入制御装置20は、S31-32で実行した、対象となる複数ドメインからの電源投入フェーズの処理完了通知を取得する。その後、電源投入制御装置20は、主記憶部22の作業領域に一時的に作成された逐次実行フェーズ指定テーブル215を参照し、対象となる複数ドメインのPOSTフェーズを逐次実行するか否かを判定する(S33)。
 電源投入制御装置20は、逐次実行フェーズ指定テーブル215に格納されたPOSTフェーズの逐次実行フラグ値が“0”の場合(S33、“No”)には、対象となる複数ドメインのPOSTフェーズを並列実行する(S34)。一方、逐次実行フェーズ指定テーブル215に格納されたPOSTフェーズの逐次実行フラグ値が“1”の場合(S33、“Yes”)には、電源投入制御装置20は、対象となる複数ドメインのPOSTフェーズを逐次実行する(S35)。S35の処理は、S32の処理と同様である。
 電源投入制御装置20は、S34-35で実行した、対象となる複数ドメインからのPOSTフェーズの処理完了通知を取得する。その後、電源投入制御装置20は、主記憶部22の作業領域に一時的に作成された逐次実行フェーズ指定テーブル215を参照し、対象となる複数ドメインのbootフェーズを逐次実行するか否かを判定する(S36)。
 電源投入制御装置20は、逐次実行フェーズ指定テーブル215に格納されたbootフェーズの逐次実行フラグ値が“0”の場合(S36、“No”)には、対象となる複数ドメインのbootフェーズを並列実行する(S37)。一方、逐次実行フェーズ指定テーブル215に格納されたbootフェーズの逐次実行フラグ値が“1”の場合(S36、“Yes”)には、電源投入制御装置20は、対象となる複数ドメインのbootフェーズを逐次実行する(S38)。S38の処理も、S32の処理と同様である。
 本実施形態の電源投入制御装置20は、フェーズ毎の消費電力ピーク値に基づいて、複数ドメインのフェーズ内処理が並列実行可能か否かを判定できる。このため、本実施形態の電源投入制御装置20は、各ドメインの電源を同時投入し、その後の処理の実行タイミングを制御することで、電源投入後の消費電力を制御する。より具体的には、電源投入後の各フェーズのうち、許容ピーク電力値を超えるフェーズでは、複数ドメインの処理が逐次実行される。一方、許容ピーク電力値を超えないフェーズでは、複数ドメインの処理が並列実行される。したがって、電源投入制御装置20は、フェーズ単位で逐次実行と並列実行とがきめ細かく制御可能であり、サーバ100全体として電源投入からサーバ100の起動動作が完了するまでの期間の増加を抑制して、サーバ100への電源投入時の消費電力を許容ピーク電力値未満に制御することができる。
 さらに、図18のS274および図19の逐次実行スケジュールテーブル216に示したように、逐次実行されるフェーズにおいて逐次実行フラグが指定されたドメインに対して、複数ドメインの合計の消費電力が許容ピーク電力値を超えない範囲で、複数ドメインの処理を並列実行するように、実行順と並列実行ドメインとが設定される。したがって、逐次実行フラグが付与されたフェーズにおいても、可能な範囲で多数のドメインの処理が並列実行される。したがって、サーバ100全体として電源投入からサーバ100の起動動作が完了するまでの期間を短縮する可能性をさらに高めることができる。
 なお、以上の処理は、特定のドメインが単独では、許容ピーク電力値を超えない場合を想定している。特定のドメインが単独では、許容ピーク電力値を超える場合には、電源投入制御装置20は、許容ピーク電力値の再設定をユーザに促す表示を行ってもよい。
 さらに、本実施例では、電源投入制御装置20は、図13に示したように、SB10毎にフェーズ毎のピーク電力を取得し、ドメインごとに足し合わせて、ドメインのピーク電力とした。そして、電源投入制御装置20は、図15のように、複数ドメインでの処理の並列実行時の合計のピーク電力が、消費電力ピーク値を超えるか否かを判定した。このような処理に代えて、電源投入制御装置20は、実施例1と同様、SB10で計測した消費電力を計測時間間隔で収集してもよい。また、SB10において計測時間間隔で計測した消費電力を足し合わせてドメインごとの合計消費電力を求め、合計の消費電力が、消費電力ピーク値を超えるか否かを判定してもよい。すなわち、合計の消費電力を求める場合に、実施例1と同様に、計測時間間隔で計測した消費電力値を用いて合計してもよい。例えば、電源投入制御装置20は、図5あるいは図9で例示される、計測時間間隔で取得された消費電力の推移を合計し、フェーズごとに、合計消費電力が消費電力ピーク値を超えるか否かを判定してもよい。そして、合計消費電力が消費電力ピーク値を超えるフェーズにおいて、図18のような逐次実行フラグを付与されたフェーズで、各ドメインの実行順と、並列実行ドメインを設定する処理を実行してもよい。計測時間間隔で計測した消費電力値を用いることで、合計消費電力が消費電力ピーク値を超えるか否かをきめ細かく判定できる。
<実施例3>
 次に、図21から図22の図面に基づいて、実施例3の電源投入制御装置20を説明する。実施例3(以下、本実施形態とも称する)では、SB構成/電力テーブル211に格納されたドメイン構成と、電源投入タイミングの計算処理で取得したドメイン構成とが相違する場合の電源投入制御処理を例示する。
 サーバ100を運用する場合、例えば、ドメインを構築しているSB10の切り離し、組み込み等によるドメイン構成の変更の場面が想定できる。また、既に述べたように、SB10の資源であるプロセッサやメモリ等の増設、取り外し等も想定できる。本実施形態の電源投入制御装置20は、このようなドメイン構成の変更時に、変更されたドメイン構成の状態に応じて電源投入制御処理を実行する。
 なお、実施例3における電源投入制御処理としては、実施例1の処理、および実施例2の処理のいずれを適用してもよい。また、実施例3の電源投入制御装置20およびサーバ100の構成は、実施例1、実施例2の場合と同様である。例えば、図1の構成図および図2の機能ブロック図等は、実施例3においてもそのまま適用される。
 図21に、ドメインの構成が変更された場合のサーバ100を例示する。図21は、図1に例示するドメイン#2のSB#2がドメイン#0に移行された例である。図1の構成例では、ドメイン#0が単一のSB#0を有し、ドメイン#1が単一のSB#1を有し、ドメイン#2が単一のSB#2を有していた。図21の変更例では、ドメイン#0にはSB#0、SB#2が対応付けられている。一方、図21のサーバ100では、ドメイン#2は含まれない。
 図21のようなドメインの構成変更は、例えば、電源投入制御装置20を通じて、ユーザの指定にしたがって実行される。例えば、電源投入制御装置20が、サーバ100のサービスプロセッサとしての機能を有する場合には、ユーザにドメインの構成変更ための操作画面を提供する。本実施形態の電源投入制御装置20は、ドメインの構成が変更されたときに、ドメインの消費電力値を再計算するために、構成変更時の処理を実行する。なお、構成変更時の処理を実行する前提として、電源投入制御装置20は、ドメイン構成変更前のSB構成/電力テーブル211を主記憶部22または補助記憶部23に保存しているものとする。
 図22は、ドメイン構成変更時の処理を例示するフローチャートである。図22の処理は、ドメイン構成に変更があったドメインに適用される。したがって、例えば、ドメイン#2のSB10が、ドメイン#0に移動した場合には、ドメイン#0とドメイン#2の両方に、図22の処理が実行される。
 この処理では、電源投入制御装置20は、まず、ドメイン構成変更がSB10の切り離しか否かを判定する(S41)。ドメイン構成変更が、SBの切り離しの場合(S41で“YES”)、電源投入制御装置20は、SB構成/電力テーブル211から、該当のドメインにおいて、切り離されたSBを削除する。そして、電源投入制御装置20は、残りのSBの電力を加算し、SBが切り離されたドメインの電力変化を再計算する(S42)。例えば、SBが切り離される前に求めていたドメインの電力変化から、切り離されたSB10の消費電力値を減算して、新たな電力変化の計算結果とすればよい。
 一方、ドメイン構成変更が、SBの切り離しでない場合(S41で“NO”)、電源投入制御装置20は、ドメイン構成の変化がドメインへのSB10の接続であると判定する。そこで、電源投入制御装置20は、ドメインに接続される接続対象のSB10の構成情報を取得する(S43)。例えば、電源投入制御装置20は、SB10の構成情報をSB10のOSに問い合わせればよい。SB10において、CPU数、メモリ搭載数等の構成情報は、例えば、OSによってシステムパラメータとして、主記憶部、補助記憶部等に保存されている。また、SB10において、CPU数、メモリ搭載数等の構成情報に変更があると、OSは、構成情報を示すシステムパラメータを更新し、主記憶部、補助記憶部等に保存している。SB10のOSは、電源投入制御装置20から構成情報の問い合わせを受信したときに、主記憶部、補助記憶部等に保存されているシステムパラメータを読み出し、電源投入制御装置20に応答すればよい。電源投入制御装置20のCPU21は、構成取得部として、S43の処理を実行する。
 電源投入制御装置20は、SB10から構成情報を取得すると、SB10から取得した構成情報と、変更前のSB構成/電力テーブル211に格納されたSB10の構成情報とを比較する。そして、電源投入制御装置20は、SB構成/電力テーブル211に変更があったか否かを判定する(S44)。電源投入制御装置20のCPU21は、比較部として、S44の処理を実行する。
 SB10の構成情報に変更があった場合(S44で“YES”)、電源投入制御装置20は、接続された対象SB10に初回電力の投入し、消費電力を計測する。そして、電源投入制御装置20は、SB構成/電力テーブル211において、SB10の追加があったドメインに、SB10の識別情報、SB10の構成情報とともに、計測した消費電力値(推移)を格納する(S45)。電源投入制御装置20は、次に、S47へ処理を進める。電源投入制御装置20のCPU21は、電力値取得部として、S45の処理を実行する。したがって、SB10の構成情報に変更があった場合には、電源投入制御装置20は、構成情報が変更されたSB10の消費電力を測定することで、構成情報の変更に追従して、構成変更されたSB10が追加されたドメインの消費電力を計算できる。
 また、SB10の構成情報に変更がなかった場合、電源投入制御装置20は、変更前のSB構成/電力テーブルから、接続対象SB、接続先SBの電力テーブルを取得する。そして、SBが接続されたドメインについて、変更後のSB構成/電力テーブル作成する(S46)。したがって、SB10の構成情報に変更がなかった場合には、電源投入制御装置20は、計測済みの電力値の変化を有効利用できる。
 そして、電源投入制御装置20は、S45の処理、あるいはS46の処理で作成されたSB構成/電力テーブル211にしたがって、SB10が接続されたドメインについて、電力変化を再計算する(S47)。さらに、S42の処理、あるいは、S47の処理の後、電源投入制御装置20は、複数ドメインの同時電力投入時の電力変化の計算、例えば、図7のS17、あるいは、図16のS24の以降の処理を実行すればよい。その結果、電源投入制御装置20は、ドメインの構成が変更された場合に、構成が変更されたドメインの電力変化を再度計算し、図7あるいは、図16の処理にしたがって、各フェーズの実行タイミングを指定できる。
 以上、説明したように、本実施形態では、電源投入制御装置20は、電源投入タイミングの計算処理の実行に際して、既に消費電力値の計測処理が終了した各ドメインに対して、ドメインの構成が変更された場合、変更されたドメインの電力変化を再度計算する。このため、ドメイン構成が変更された場合も、サーバ100の消費電力を許容電力ピーク値に制御できる。ただし、ドメインにSB10が追加された場合と、ドメインからSB10が切り離された場合とで処理の手順が異なる。
 ドメインにSB10が追加された場合には、電源投入制御装置20は、追加されたSB10の消費電力を取得する。より具体的には、電源投入制御装置20は、取得した構成情報と、変更前のSB構成/電力テーブル211に格納されたSB10の構成情報とを比較する。そして、SB構成/電力テーブル211の構成情報に変更があった場合に、電源投入制御装置20は、接続された対象SB10に初回電力の投入し、消費電力を計測する。一方、SB構成/電力テーブル211の構成情報に変更がなかった場合に、電源投入制御装置20は、変更前のSB構成/電力テーブルから、接続対象SB、接続先SBの電力テーブルを取得する。このような手順によって、電源投入制御装置20は、既に計測済みの電力テーブルのデータを有効活用できる。
 また、ドメインからSB10が切り離されたされた場合には、電源投入制御装置20は、残りのSB10の電力を加算し、SBが切り離されたドメインの電力変化を再計算する。したがって、削除された場合にも、電源投入制御装置20は、既に計測済みの電力テーブルのデータを有効活用できる。
 そして、電源投入制御装置20は、実施例1、実施例2で説明した複数ドメインの同時電力投入時の電力変化の計算、例えば、図7のS17、あるいは、図16のS24の以降の処理を実行することで、サーバ100への電源投入時の消費電力を平準化するためのタイミングを指定できる。ここで、タイミングは、実施例1の場合には、複数ドメイン間での電源投入の時間差である。また、実施例の場合には、タイミングは、逐次実行フェーズ指定テーブル215と、逐次実行スケジュールテーブル216とで指定される実行順で規定される。
《コンピュータが読み取り可能な記録媒体》
 コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
 ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM(リードオンリーメモリ)等がある。
 10 システムボード(SB)
 11 電力計
 20 電源投入制御装置
 21 CPU
 22 主記憶部
 23 補助記憶部
 24 通信部
 31 クロスバースイッチ
100 サーバ
201 ドメイン構成制御部
202 電力計測部
203 電力変化計算部
204 電源投入タイミング生成部
205 電源投入制御部
211 SB構成/電力テーブル
212 複数ドメイン投入時の許容ピーク電力テーブル
300a,300b,300c ドメイン
310 クロスバー(XB)
320 制御装置

Claims (13)

  1.  電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定部と、
     前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示する実行制御部と、
     を備える電源投入制御装置。
  2.  電源投入対象の電子機器が追加されたときに、追加された電子機器での前記それぞれの期間での消費電力値を取得する取得部をさらに備え、前記指定部は、前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定することを特徴とする請求項1に記載の電源投入制御装置。
  3.  前記取得部は、
      前記追加された電子機器の構成情報を取得する構成取得部と、
      前記取得した構成情報と前記追加された電子機器について過去に前記消費電力値を取得したときの構成情報とを比較する比較部と、
      前記取得した構成情報と前記過去に前記消費電力値を取得したときの構成情報とが一致しない場合に、前記追加された電子機器の前記それぞれの期間での消費電力値を新たに取得する電力値取得部と、を有し、
     前記指定部は、前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定することを特徴とする請求項2に記載の電源投入制御装置。
  4.  前記指定部は、前記電源投入対象の電子機器が削除されたときに、削除された電子機器以外の電子機器での前記それぞれの期間での消費電力値を基に、前記削除された電子機器以外の電子機器における前記複数段階の処理の実行タイミングを再度指定することを特徴とする請求項1に記載の電源投入制御装置。
  5.  電源の投入対象の複数の電子機器と、
     電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定部と、
     前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示する実行制御部と、
     を備える情報処理装置。
  6.  コンピュータが、
     電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定ステップと、
     前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示するステップと、
     を実行する電源投入制御方法。
  7.  電源投入対象の電子機器が追加されたときに、追加された電子機器での前記それぞれの期間での消費電力値を取得するステップをさらに実行し、
     前記指定ステップでは、前記コンピュータは前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する、請求項6に記載の電源投入制御方法。
  8.  前記追加された電子機器の構成情報を取得するステップと、
     前記取得した構成情報と前記追加された電子機器について過去に前記消費電力値を取得したときの構成情報とを比較するステップと、
     前記取得した構成情報と前記過去に前記消費電力値を取得したときの構成情報とが一致しない場合に、前記追加された電子機器の前記それぞれの期間での消費電力値を新たに取得するステップと、をさらに実行し、
     前記指定ステップでは、前記コンピュータは前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する、請求項7に記載の電源投入制御方法。
  9.  前記電源投入対象の電子機器が削除されたときに、削除された電子機器以外の電子機器での前記それぞれの期間での消費電力値を基に、前記削除された電子機器以外の電子機器における前記複数段階の処理の実行タイミングを再度指定するステップをさらに実行する請求項6に記載の電源投入制御方法。
  10.  コンピュータに、
     電源の投入対象の複数の電子機器において電源投入後の起動処理過程で実行される複数段階の処理に対応するそれぞれの期間での消費電力値を基に、前記複数の電子機器の消費電力の合計値が所定の許容値を超えない範囲で、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定する指定ステップと、
     前記複数段階の処理の前記指定されたタイミングでの実行を前記複数の電子機器に指示するステップと、
     を実行させるためのプログラム。
  11.  電源投入対象の電子機器が追加されたときに、追加された電子機器での前記それぞれの期間での消費電力値を取得するステップをさらに実行させ、
     前記指定ステップでは、前記コンピュータに前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定させる、ための請求項10に記載のプログラム。
  12.  前記追加された電子機器の構成情報を取得するステップと、
     前記取得した構成情報と前記追加された電子機器について過去に前記消費電力値を取得したときの構成情報とを比較するステップと、
     前記取得した構成情報と前記過去に前記消費電力値を取得したときの構成情報とが一致しない場合に、前記追加された電子機器の前記それぞれの期間での消費電力値を新たに取得するステップと、をさらに実行させ、
     前記指定ステップでは、前記コンピュータに前記取得した消費電力値を基に、前記複数の電子機器において前記複数段階の処理を実行するタイミングを指定させる、ための請求項11に記載のプログラム。
  13.  前記電源投入対象の電子機器が削除されたときに、削除された電子機器以外の電子機器での前記それぞれの期間での消費電力値を基に、前記削除された電子機器以外の電子機器における前記複数段階の処理の実行タイミングを再度指定するステップをさらに実行させるための請求項10に記載のプログラム。 
PCT/JP2012/057081 2012-03-19 2012-03-19 電源投入制御装置、電源投入制御方法およびプログラム WO2013140532A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/057081 WO2013140532A1 (ja) 2012-03-19 2012-03-19 電源投入制御装置、電源投入制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/057081 WO2013140532A1 (ja) 2012-03-19 2012-03-19 電源投入制御装置、電源投入制御方法およびプログラム

Publications (1)

Publication Number Publication Date
WO2013140532A1 true WO2013140532A1 (ja) 2013-09-26

Family

ID=49222026

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/057081 WO2013140532A1 (ja) 2012-03-19 2012-03-19 電源投入制御装置、電源投入制御方法およびプログラム

Country Status (1)

Country Link
WO (1) WO2013140532A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468126A (zh) * 2015-12-14 2016-04-06 联想(北京)有限公司 一种设备控制方法、装置及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195945A (ja) * 2004-12-14 2006-07-27 Matsushita Electric Ind Co Ltd 電子装置及びそのピーク電力制御方法
JP2007310791A (ja) * 2006-05-22 2007-11-29 Hitachi Ltd 計算機システムの消費電力低減方法、及びそのプログラム
JP2009271637A (ja) * 2008-05-01 2009-11-19 Hitachi Ltd ストレージ装置及びそのドライブ起動方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195945A (ja) * 2004-12-14 2006-07-27 Matsushita Electric Ind Co Ltd 電子装置及びそのピーク電力制御方法
JP2007310791A (ja) * 2006-05-22 2007-11-29 Hitachi Ltd 計算機システムの消費電力低減方法、及びそのプログラム
JP2009271637A (ja) * 2008-05-01 2009-11-19 Hitachi Ltd ストレージ装置及びそのドライブ起動方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105468126A (zh) * 2015-12-14 2016-04-06 联想(北京)有限公司 一种设备控制方法、装置及电子设备

Similar Documents

Publication Publication Date Title
TWI598744B (zh) 雲端資源之管理系統及其管理方法
CN103731295B (zh) 用于运行虚拟整合设备的方法和系统
JP5976946B2 (ja) 仮想マシンテストシステム、仮想マシンテスト方法
JP2010165193A (ja) 負荷分散装置、負荷分散方法および負荷分散プログラム
US9632809B2 (en) Migration between virtual machines
JP2004192233A (ja) サーバ負荷分散プログラム、サーバ負荷分散方法、およびサーバ負荷分散装置
JP2012027614A (ja) 情報提供装置、情報提供方法及びプログラム
US20150317174A1 (en) Host providing system and host providing method
US9274593B2 (en) Change the destination physical machine information such that the destination candidate of the certain virtual machine includes at least a physical machine belonging to the second physical machine group
CA2813596A1 (en) Automatic selection of secondary backend computing devices for virtual machine image replication
CN111522744A (zh) 业务测试方法、装置及计算机可读存储介质
KR101626067B1 (ko) 슬레이브 노드들 사이에서 컨테이너의 이전을 용이하게 하기 위한 장치 및 방법
CN108200151B (zh) 一种分布式存储系统中ISCSI Target负载均衡方法和装置
CN106412075A (zh) 一种基于云计算的资源配置方法及装置
WO2013140532A1 (ja) 電源投入制御装置、電源投入制御方法およびプログラム
JPWO2018163280A1 (ja) 予兆検知装置及び予兆検知方法
Liu et al. Towards a community cloud storage
JP6933155B2 (ja) オペレーション装置およびオペレーション方法
JPWO2013140532A1 (ja) 電源投入制御装置、電源投入制御方法およびプログラム
JP5483784B1 (ja) 制御装置、計算資源管理方法及び計算資源管理プログラム
JP5304972B1 (ja) 情報処理装置、情報処理方法、及びプログラム
Hawilo et al. Towards an elasticity framework for legacy highly available applications in the cloud
KR20200086393A (ko) 클라우드 서버의 자동 스케일링 방법, 장치 및 컴퓨터-판독가능기록매체
JP2017182435A (ja) 仮想化システム、管理サーバ及びマイグレーション方法
CN111444062B (zh) 管理云数据库的主节点和从节点的方法及装置

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: 12871621

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014505863

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12871621

Country of ref document: EP

Kind code of ref document: A1