WO2012105230A1 - 分散システム、装置、方法及びプログラム - Google Patents

分散システム、装置、方法及びプログラム Download PDF

Info

Publication number
WO2012105230A1
WO2012105230A1 PCT/JP2012/000605 JP2012000605W WO2012105230A1 WO 2012105230 A1 WO2012105230 A1 WO 2012105230A1 JP 2012000605 W JP2012000605 W JP 2012000605W WO 2012105230 A1 WO2012105230 A1 WO 2012105230A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
normal
power saving
state
nodes
Prior art date
Application number
PCT/JP2012/000605
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 JP2012555746A priority Critical patent/JP5786870B2/ja
Priority to US13/981,643 priority patent/US9201707B2/en
Publication of WO2012105230A1 publication Critical patent/WO2012105230A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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
    • 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 distributed system having a plurality of nodes, and more particularly to a distributed system that saves power of the entire distributed system when the plurality of nodes are operated as one distributed system.
  • a distributed system has several tens to thousands of nodes (computers and storage devices) each including a processor and a storage medium, and is used as one system by connecting with a network, and cannot be obtained by one node. It is a system that can obtain capacity and storage capacity.
  • a distributed storage system in which nodes are connected to a network and data is stored and used by using an HDD (hard disk drive) or a memory.
  • HDD hard disk drive
  • the computer in which data is allocated and the computer that performs processing are realized by software and special hardware, and the operation is dynamically changed according to the system status. Resource usage is adjusted to improve performance for system users (client computers).
  • the power consumption of one node constituting the distributed system is about 150 W / H.
  • the power consumption of the entire system becomes enormous. There is a problem.
  • the amount of load on the system changes from moment to moment, and there is not always a load that makes full use of all nodes.
  • the number of nodes required in the system varies with time, such as using 10% of the entire system at some times and 90% of the entire system at other times.
  • Patent Document 1 describes a cluster system that reduces power consumption by shifting an idle node that is not executing a job to a suspended state.
  • jobs are assigned to multiple nodes and executed, and when a job is completed, the next job is assigned to multiple nodes. Manage the job of attaching.
  • Patent Document 2 discloses a job management method for executing a job given to the system with low power consumption in a computer system such as the above-described supercomputer.
  • the job status for the system is held, the future job execution time and the number of nodes necessary for job execution are determined, and the necessary nodes for each job execution are determined in advance. Prepare before starting job execution, stop nodes that are not required for job execution, and reduce power consumption of the entire system.
  • Non-Patent Document 1 The node stop used in the above-mentioned prior art usually takes a stop state defined by ACPI: Advanced Configuration and Power Interface (Non-Patent Document 1).
  • the time required for node recovery is concealed by returning the stop node in advance based on the job execution schedule.
  • a system such as a super computer that processes jobs in the execution queue
  • it is effective in the case where one job is cooperatively operated by several hundred nodes and processed in an order of several tens of minutes (parallel processing).
  • a processing request to the system cannot be predicted as in a distributed storage system, or when there are many small jobs, or a large job is divided into small tasks and distributed to many nodes (distributed processing)
  • the time required for return cannot be concealed.
  • the present invention in a distributed system having a plurality of nodes, suppresses the reduction in processing performance when the load increases while suppressing the power consumption of the entire distributed system by shifting the nodes to a stopped state. It is an object of the present invention to provide a distributed system, an information processing apparatus, a distribution method, and a distributed program.
  • the distributed system includes a normal node having a plurality of power saving states with different return times to a normal operation state, and a management node that assigns the job to the normal node and executes the job, and the management node is in the power saving state.
  • a node selection unit that selects a normal node to be assigned and executed from a normal node, and a node control unit that controls the normal node selected by the node selection unit to return to a normal operation state.
  • the normal nodes are selected in order from the power saving state with a short time until returning to the normal operation state.
  • the distributed system includes a normal node including a power supply control unit and a task execution unit, a job reception unit that receives a job execution command, a job received by the job reception unit, and decomposes the job received into one or a plurality of tasks.
  • a distributed system comprising: a job management unit that causes one or a plurality of normal nodes to execute a task; and a management node that includes a node power control unit that manages and controls a power state of the normal node.
  • the job management means executes a task obtained by disassembling the job according to the amount of jobs accepted by the management node.
  • the node power control means has less than the number of normal nodes that execute the task determined by the job management means in the normal startup state among the normal nodes
  • a startup node selection function for selecting a normal node from a normal node in one or more of power saving states in a plurality of stages as much as the number of normal nodes for executing a task is satisfied.
  • a task execution instruction for instructing execution of a task is issued to a normal node that can be executed and a normal node that has returned to a normal activation state in accordance with the activation instruction issued by the node power supply control means.
  • a task is executed in accordance with a task execution instruction issued by the means.
  • An information processing apparatus is an information processing apparatus that assigns a job to a normal node and executes the job in a distributed system, and saves power among normal nodes having a plurality of power saving states with different return times to the normal operation state
  • Node selection means for selecting a normal node to be executed by assigning a job from a normal node in a state, and a node control means for controlling the normal node selected by the node selection means to return to a normal operation state.
  • the means is characterized in that a plurality of power saving states are selected in order from a normal node in a power saving state with a short time until returning to a normal operation state.
  • the distribution method according to the present invention is a distribution method in which a job is assigned to a normal node and executed, and is a normal node in a power saving state among a plurality of power saving states having different return times to the normal operation state.
  • select a normal node to allocate and execute a job from select the normal node to control the selected normal node to return to the normal operation state, and select a normal node to allocate and execute a job from the normal node in the power saving state
  • the selection is made in order from the normal node in the power saving state in which the time until returning to the normal operation state among the plurality of power saving states is short.
  • a distributed program according to the present invention is a distributed program for allocating a job to a normal node and executing the job in a distributed system, wherein the computer has a plurality of power saving states with different return times to the normal operation state.
  • Node selection processing for selecting a normal node to be executed by assigning a job from a normal node in the power saving state, and node control processing for controlling the selected normal node to return to the normal operation state.
  • the processing is characterized in that selection is made in order from a normal node in a power saving state with a short time until returning to a normal operation state among a plurality of power saving states.
  • the power consumption of the entire distributed system is suppressed by shifting the nodes to the stopped state, but the deterioration of the processing performance when the load increases is suppressed. Can be achieved.
  • FIG. 1 is a block diagram illustrating a configuration example of a distributed system according to the present embodiment.
  • the distributed system includes one or more client nodes 100, one or more management nodes 200, and one or more normal nodes 300 connected to a network having an access path determination unit.
  • the distributed system includes one or more client nodes 100, one or more management nodes 200, and one or more normal nodes 300 connected to a network having an access path determination unit.
  • one client node 100 and one management node 200 are shown, but a plurality of client nodes 100 and management nodes 200 may be included.
  • the normal node 300 has an individual node number (node 001 to node XXX) one by one. Specifically, the normal node 300 stores the node number in the storage unit.
  • the client node 100 is a node that requests job execution.
  • a job execution request issued by the client node 100 is transmitted to the management node 200 via the network.
  • the client node 100 transmits a job execution request to the management node 200 via the network.
  • the management node 200 includes a job reception unit 210, a job control unit 220, and a node power supply control unit 230.
  • the job receiving unit 210 has a function of receiving a job execution request issued by the client node 100. Specifically, the job receiving unit 210 receives a job execution request transmitted from the client node 100 via the network. Hereinafter, the expression that the client node 100 issues a job execution request is used. Specifically, the client node 100 transmits a job execution request to the management node 200 via the network.
  • the job control unit 220 has a function of dividing the job received by the job receiving unit 210 as a unit task that can be executed by each normal node 300 and requesting the normal node 300 to execute the task. Specifically, the job control unit 220 divides the job indicated by the job execution request received by the job receiving unit 210 into tasks that can be executed by the normal node 300, and then divides the job into the normal node 300 via the network. Send an execution request.
  • the node power control unit 230 has functions of managing the power state of the normal node 300, determining the normal node 300 that performs power control such as node stop / return, and issuing a power control request. Specifically, the node power control unit 230 transmits a power control request to the normal node 300 that performs power control via the network.
  • the expression that a power control request is issued is used. More specifically, the power control request is transmitted to the normal node 300 via the network.
  • the power control request issued by the management node 200 includes a stop command for stopping the normal node 300 in the power saving state (hereinafter also referred to as a node stop command) and a return command for returning the normal node 300 from the power saving state (hereinafter referred to as the node stop command).
  • a stop command for stopping the normal node 300 in the power saving state
  • the node stop command for returning the normal node 300 from the power saving state
  • an activated state for example, an execution state or an idle state, which will be described later, also referred to as a normal operation state or a normal activation
  • FIG. 2 is a block diagram illustrating a configuration example of the management node 200.
  • the job control unit 220 includes a job decomposition unit 221, a task placement determination unit 222, and an instruction notification unit 223.
  • the job decomposing unit 221 has a function of dividing a job as a unit task that can be executed by each normal node 300. Specifically, the job decomposing unit 221 divides the job indicated by the job execution request received by the job receiving unit 210 into units of tasks that can be executed by the normal node 300.
  • the task placement determination unit 222 has a function of determining which normal node 300 is to execute the task decomposed by the job decomposition unit 221.
  • the command notification unit 223 has a function of notifying the normal node 300 of a task execution command and a power control request according to the determination of the task placement determination unit 222.
  • the expression of issuing a task execution instruction is used.
  • the management node 200 transmits a task execution instruction to the normal node 300 via the network.
  • the node power control unit 230 includes a power control node determination unit 231.
  • the power control node determination unit 231 determines the normal node 300 to be subjected to power control and the power state to be transferred when a power control request (or a node activation request described later) is received from the job control unit 220 or every predetermined period. It has a function to do.
  • the management node 200 includes a storage unit 240.
  • the storage unit 240 spans the job control unit 220 and the node power supply control unit 230, task allocation information for managing the task distribution status for each normal node 300 and the task execution status of the normal node 300, and each normal node 300. And node state information for managing the power state of each node.
  • the normal node 300 includes a communication unit 310, a task execution unit 320, a return instruction reception unit 330, and a power supply control unit 340.
  • the communication unit 310 has a function of receiving a task execution command issued by the management node 200 and a stop command in the power control request.
  • the task execution unit 320 has a function of executing a task based on the task execution command received by the communication unit 310.
  • the return command receiving unit 330 has a function of receiving a return command in the power control request issued by the management node 200.
  • the power supply control unit 340 has a function of performing power supply control in accordance with a stop command received by the communication unit 310 and a return command received by the return command receiving unit 330.
  • a single normal node 300 can simultaneously process a predetermined number of tasks.
  • one task can be executed to simplify the explanation.
  • Fig. 3 shows a state transition diagram when power is controlled by a normal node.
  • the normal node 300 can shift to three types of power saving states (stop state level 1, stop state level 2, and stop state level 3) having different power saving effects. .
  • the power saving state there is a power saving state defined by ACPI (Advanced Configuration and Power Interface).
  • S1 defined by ACPI as stop state level 1 (processor power supply stop)
  • S3 defined by ACPI as stop state level 2 (power is supplied only to the memory)
  • S4 defined by ACPI as stop state level 3 Let's move to (Evacuate memory contents, stop all power supply).
  • electricity is supplied to the return command receiving unit 330, and the return command receiving unit 330 can always receive the return command.
  • the normal node 300 Even if the normal node 300 is not in the idle state but in the task execution state, the normal node 300 holds data indicating the execution state in a storage device such as a memory or a disk device, and enters the power saving state via the idle state. You can also migrate.
  • the power saving effect is smaller in the order of S1, S3, S4. That is, S1 is the smallest, S3 is the next smallest, and S4 is the largest.
  • the state transition time for shifting from the idle state to the power saving state or returning from the power saving state to the idle state is short in the order of S1, S3, and S4. That is, S1 is shortest, S3 is shortest, and S4 is longest. That is, the power saving effect is higher as the power saving state has a longer state transition time.
  • FIG. 4 shows an example of the power consumption of each state and the time taken for each state transition.
  • task placement information and node state information held by the management node 200 in the distributed system will be described.
  • the task placement information and the node state information are stored in the storage unit 240 of the management node 200.
  • FIG. 5 is a sequence diagram showing the flow of job execution.
  • the client node 100 transmits a job execution request to the management node 200.
  • the management node 200 that has received the job execution request from the client node 100 causes the job disassembly unit 221 to disassemble the received job into one or more tasks [job disassembly process shown in FIG. 5].
  • the accepted job is a job indicated by the received job execution request.
  • the management node 200 determines whether or not the disassembled task can be executed by the activated normal node 300 because a part of the ordinary node 300 is stopped in the low power consumption state. To do. When it is determined that the normal node 300 that is activated cannot be executed, the management node 200 restores part or all of the normal nodes 300 that are stopped in the low power consumption state [node restoration shown in FIG. processing].
  • the task placement determination unit 222 notifies the node power supply control unit 230 of the number of nodes to be returned together with the node activation request. Then, the node power supply control unit 230 determines a return target node and issues a node return command to the determined normal node 300 to be returned. Thereafter, the normal node 300 that has received the return command performs a node return process, and returns a node return response to the management node 200 after the return.
  • the node return process is, for example, controlling the normal node 300 to shift from the stopped state to the idle state.
  • the normal node 300 that has received the task execution instruction executes the task in accordance with the task execution instruction, and transmits a task completion notification to the management node 200 after the task execution is completed.
  • the management node 200 determines whether to stop the normal node 300 that has completed the task in a low power consumption state [power control determination processing]. When it is determined to stop in the low power consumption state, the management node 200 issues a node stop command to the corresponding normal node 300. Then, the normal node 300 that has received the node stop command stops in a low power consumption state. On the other hand, if it is determined in the power supply control determination process that the normal node 300 is not to be stopped, the management node 200 does nothing and the corresponding normal node 300 also stands by in an idle state.
  • job disassembly processing, task placement determination processing, node return processing, and power control determination processing in the management node 200 will be described.
  • a processing sequence between the management node 200 and the normal node 300 when the management node 200 issues each command of a node return command, a task execution command, and a node stop command will be described.
  • the job disassembling unit 221 disassembles one or more jobs into (number of all normal nodes 300 ⁇ number of normal nodes 300 executing tasks) or less tasks.
  • the job decomposing unit 221 decomposes the task as one task processed by one normal node 300 per unit. For example, when a process of merging a number sequence written in N files as a job and sorting them into one file is given, N-1 sort tasks, one (sort and file merge) task, The method of decomposing into two can be considered.
  • the task disassembling method in the job disassembling unit 221 is not limited.
  • the task allocation determination unit 222 determines the normal node 300 that executes the task decomposed in the job decomposition process. Specifically, the task placement determination unit 222 refers to the node state information stored in the storage unit 240 and determines whether or not the number of tasks is equal to or less than the number of normal nodes 300 in the idle state. If it is determined that the number of tasks is equal to or less than the number of normal nodes 300 in the idle state, the task placement determination unit 222 executes the tasks for the normal nodes 300 corresponding to the number of tasks among the normal nodes 300 in the idle state. Select as a node.
  • the task placement determination unit 222 selects all the idle normal nodes 300 as task execution nodes, and the remaining (number of tasks) -Number of normal nodes in the idle state)
  • the normal nodes 300 are activated by the node return process and are selected as the normal nodes 300 to execute tasks.
  • the normal node 300 selected as the task execution node starts task execution according to the task execution instruction immediately after the task placement determination process if it is in the idle state, and after transitioning to the idle state in the node return process if it is in the stop state. .
  • the method for determining which of the normal nodes 300 in the idle state to select as a node for executing the task is not limited. Further, the determination method as to which task is allocated to which normal node 300 is not limited.
  • FIG. 6 shows a procedure in which the node power supply control unit 230 receives a node activation request, selects the normal nodes 300 that are in the stopped state for the number of nodes to be activated, and issues a return command to the normal nodes 300.
  • the normal nodes 300 in the stopped state are selected in order from the stopped state level 1, that is, the nodes to be returned in order from the node having the low power saving effect and the fast return, and the return command is selected. Issuing.
  • the node power control unit 230 receives the node activation request output from the task placement determination unit 222 (step S10).
  • the node power supply control unit 230 receives a value n indicating the number of normal nodes to be activated together with the node activation request.
  • the node power supply controller 230 issues a return command to all the normal nodes 300 at the stop state level k (step S13). ). Then, the node power supply control unit 230 sets the value of x to x—the number of normal nodes 300 (stop state level k), and repeats the processing of steps S12 and S13 until the stop state level 3 is reached in order of increasing stop state level ( Steps S14, 15, 16). Thereafter, the node power supply control unit 230 waits for reception of nx node return responses (step S19), and completes the node activation process.
  • the node power supply controller 230 instructs the x of the normal nodes 300 at the stopped state level k to return. Is issued (step S17). Thereafter, the node power control unit 230 waits for reception of n node return responses (steps S18 and S19), and completes the node activation process.
  • the power supply control node determination unit 231 issues a return command specifying the node number of the normal node 300 to be returned.
  • the issued return command is notified to the return command receiving unit 330 of the normal node 300 to be returned via the command notification unit 223.
  • the return command receiving unit 330 of the normal node 300 When the return command receiving unit 330 of the normal node 300 receives the return command, it starts energizing the node and outputs a return request to the power supply control unit 340. Then, the power supply control unit 340 performs node return processing.
  • the node return process is, for example, controlling the normal node 300 to shift from the stopped state to the idle state.
  • the normal node 300 When the node return process by the power control unit 340 is completed, the normal node 300 notifies the management node 200 of a node return response indicating that the node return process is completed, together with its own node number, using the communication unit 310. .
  • the power supply control node determination unit 231 of the management node 200 receives the node return response, the node state information stored in the storage unit 240 is rewritten. Specifically, the power supply control node determination unit 231 rewrites the node state information to indicate that the normal node 300 that has received the node return response is being activated.
  • FIG. 8 is a sequence diagram illustrating an example of a flow from when the task placement determination unit 222 issues a task execution instruction to when the normal node 300 completes task execution.
  • the task placement determination unit 222 After the task placement information is rewritten, the task placement determination unit 222 notifies the task execution command to the normal node 300 that executes the task via the command notification unit 223.
  • the normal node 300 executes the task in the task execution unit 320 according to the received task execution command.
  • the normal node 300 uses the communication unit 310 to notify the management node 200 of the task completion notification together with the task execution result.
  • the task placement determination unit 222 of the management node 200 When the task placement determination unit 222 of the management node 200 receives the task completion notification, it rewrites the task placement information to the effect that the task has been completed. That is, the task placement determination unit 222 rewrites the task placement information so as to indicate that the target normal node 300 is not executing a task. Then, when the rewriting of task placement information is completed, the management node 200 executes a power supply control determination process.
  • idle state nodes (total number of nodes ⁇ number of execution state nodes) ⁇ 0%
  • stop state level 1 (total number of nodes ⁇ number of execution state nodes) ⁇ 10%
  • stop state level 2 There is also a method of calculating the required number of nodes from the number of nodes in each state at that time, such as: (total number of nodes ⁇ number of execution state nodes) ⁇ 30%.
  • FIG. 9 is a flowchart illustrating an example of a processing procedure of power supply control determination processing.
  • the power supply control node determination unit 231 sequentially determines the number of nodes stopped at the stop state level k from the stop state level 1 to the stop state level 2. Compare with the set number set in advance for each stop state level.
  • the power supply control node determination unit 231 determines whether or not the number of idle nodes is smaller than the set value of the stop state level k (here, stop state level 1) (steps S22 and S23). ).
  • step S23 when it is determined in step S23 that the number of idle nodes is greater than or equal to the set value, the power supply control node determination unit 231 repeats the process of step S23 until the stop state level 3 is reached (steps S25 and S26). . Thereafter, the power control node determination unit 231 determines to shift to the stop state level 3, issues a stop command to the target normal node 300 (step S27), and completes the power control determination process.
  • FIG. 10 is a sequence diagram illustrating an example of a flow from when the power supply control node determination unit 231 of the node power supply control unit 230 issues a stop command until the normal node 300 stops in the power saving state.
  • the power supply control node determination unit 231 first changes the node state information so that the state of the normal node 300 to be stopped indicates the stopped state. Thereafter, the power control node determination unit 231 notifies the stop target normal node 300 of the stop command via the command notification unit 223.
  • the normal node 300 that has received the stop command by the communication unit 310 outputs a stop command to the power supply control unit 340 and controls to stop at the specified stop level according to the stop command.
  • the distributed system of this embodiment executes a job.
  • the power supply control node determination unit 231 causes the normal node 300 that is in a stopped state to have more recovery time at a timing asynchronous with job execution so as to satisfy the required number of nodes set for each idle state and stopped state level. Change the state to a short stop state or idle state [node number adjustment processing].
  • FIG. 11 is a flowchart illustrating an example of a procedure in the case of adding n normal nodes 300 to the idle state or the stopped state level L in the node number adjustment process.
  • the idle state is described as a stop state level 0.
  • the power supply control node determination unit 231 determines that the number of normal nodes 300 at the stop state level k (here, stop state level 3) is higher than x (here, n) in descending order of the stop state level. It is determined whether it is small (steps S31 and S32).
  • the power supply control node determination unit 231 changes all the normal nodes 300 in the stopped state level k to the stopped state level L (step S1). S33). Then, the power control node determination unit 231 sets the value of x to x ⁇ the number of normal nodes 300 (stop state level k), and repeats the processes of steps S32 and S33 until the stop state level L is reached in order of increasing stop state level. (Steps S34, 35, 36). Thereafter, the power supply control node determination unit 231 completes the node adjustment process.
  • the power supply control node determination unit 231 determines x of the normal nodes 300 at the stop state level k to the stop state level. Change to L (step S37). Thereafter, the node power supply control unit 230 sets the value of x to 0 (step S38) and completes the node adjustment process.
  • the n normal nodes 300 among the normal nodes 300 in the higher stop state level can be shifted to the stop state level L.
  • the normal node 300 in the stopped state is shifted to a lower stopped state level, for example, it is returned to the idle state by a return command (for example, shown in FIG. 7), and after the return response is received, Stop in a stopped state (eg shown in FIG. 10).
  • timing at which the node number adjustment process is performed is arbitrary, for example, it is desirable to take a timing at which the node number adjustment process is performed after a predetermined period since the last power control request (stop command or return command) is issued. .
  • the distributed system according to the present invention suppresses the power consumption of the entire distributed system by shifting the node to the stopped state, but when the load becomes large, the stopped state level that quickly returns. It is possible to suppress a decrease in processing performance by causing tasks to be executed by returning them in order from the lowest node.
  • the normal node 300 can execute only one task at a time.
  • a plurality of tasks may be executed simultaneously. In this case, it is necessary to manage all assigned tasks in the task placement information.
  • the task placement determination unit 222 determines task placement, a task placement determination method may be used in which many tasks are placed on a node that is active and has a small number of running tasks.
  • FIG. 12 is a block diagram illustrating a minimum configuration example of the distributed system.
  • the distributed system includes, as minimum components, a normal node 10 having a plurality of power saving states with different return times to the normal operation state, and a management node that assigns and executes jobs to the normal node 10. 20.
  • the management node 20 includes a node selection unit 21 and a node control unit 22.
  • the node selection unit 21 selects a normal node 10 to which a job is assigned and executed from the normal node 10 in a power saving state.
  • the node selection means 21 selects in order from the normal node 10 in the power saving state in which the time until returning to the normal operation state among the plurality of power saving states is short. Then, the node control unit 22 controls the normal node 10 selected by the node selection unit 21 to return to the normal operation state.
  • the power consumption of the entire distributed system is suppressed by shifting the nodes to the stopped state, but when the load increases, the nodes in the order of the lower stop state level that are quicker to recover By returning and executing the task, it is possible to suppress a decrease in processing performance.
  • the distributed system performs normal jobs (for example, realized by the normal node 300) having a plurality of power saving states with different return times to normal operation states (for example, an execution state and an idle state) and jobs
  • a node selecting means for example, realized by the management node 200 that assigns and executes a job to a node, and the management node selects a normal node to be assigned and executed by a normal node in a power saving state (for example, the task placement determination unit 222 and the power control node determination unit 231) and node control means (for example, power control node determination) for controlling the normal node selected by the node selection unit to return to the normal operation state.
  • the node selection means includes a plurality of power saving states. And selecting from the ordinary node in the order in the power saving state is short time to return to the normal operation state.
  • a normal node includes at least a processor that executes arithmetic processing, a memory that stores information, and a non-volatile storage device, and stops only the power of the processor as a power-saving state that can be transferred.
  • a first power saving state for example, stop state level 1
  • a second power saving state for example, stop state level 2
  • the node selection means includes at least three kinds of power saving states such as a third power saving state (for example, a stopped state level 3) in which the context is stored in a nonvolatile storage device and all power supply is stopped.
  • a normal node in a first power saving state and a normal node in a second power saving state It may be configured to select with priority in the order of the ordinary node in the third power saving state.
  • the distributed system includes a normal node (for example, by the normal node 300) including power control means (for example, realized by the power control unit 340) and task execution means (for example, realized by the task execution unit 320).
  • a job receiving unit that receives a job execution command (for example, realized by the job receiving unit 210), and the job received by the job receiving unit is divided into one or a plurality of tasks.
  • Job management means for causing a plurality of normal nodes to execute tasks (for example, realized by the job control unit 220) and node power supply control means for managing and controlling the power state of the normal nodes (for example, realized by the node power supply control unit 230)
  • a management node e.g., realized by the management node 200
  • the power supply control means has a function of shifting the normal node to a plurality of power saving states in which the power consumption during the power saving state and the time for returning from the power saving state to the normal startup state are different from each other, and
  • the job management means determines the number of normal nodes that execute the task that decomposed the job according to the amount of jobs accepted by the management node.
  • the node power supply control means has the number of normal nodes that are in a normal activation state and can execute tasks among normal nodes.
  • the number of normal nodes for executing the task determined by the job management means is less than the normal node in one or more of the power saving states of a plurality of stages.
  • the start node From the start node, it has a startup node selection function that selects normal nodes as many as the number of normal nodes that execute the task, and in the startup node selection function, the time required to return to the normal startup state among the power saving states in multiple stages Are selected as normal nodes to be returned to the normal startup state in order from the normal node in the short power saving state, and issue a startup command that is an instruction to shift to the normal startup state to the selected normal node (
  • the power management node determination unit 231 executes the processing
  • the job management unit is a normal node that is in a normal activation state among normal nodes and that can execute tasks
  • the node power source control unit issues
  • a task execution command is issued to instruct the normal node that has returned to the normal startup state according to the startup command to execute the task.
  • the stage is characterized in that the task is executed in accordance with a task execution instruction issued by the job management means.
  • a normal node is equipped with at least a processor that executes arithmetic processing, a memory that stores information, and a non-volatile storage device.
  • a first power saving state in which only the power supply is stopped (for example, a stopped state level 1) and a second power saving state (for example, a stopped state level 2) in which a calculation context is stored in the memory and power supply other than the memory is stopped.
  • at least three kinds of power saving states such as a third power saving state (for example, a stopped state level 3) in which the operation context is stored in a nonvolatile storage device and all power supply is stopped. May be.
  • the distributed system according to the present invention can be applied to distributed computers, distributed databases, distributed storage, parallel data processing systems, parallel file systems, parallel databases, data grids, and cluster computers.

Abstract

 通常動作状態への復帰時間が異なる複数の省電力状態を有する通常ノードと、ジョブを通常ノードに割り当てて実行させる管理ノードとを備え、管理ノードは、省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択するノード選択手段と、選択した通常ノードを通常動作状態に復帰させるように制御するノード制御手段とを含み、ノード選択手段は、複数の省電力状態のうちの通常動作状態に復帰する時間が短い省電力状態にある通常ノードから順に選択する。

Description

分散システム、装置、方法及びプログラム
 本発明は、複数のノードを有する分散システムに関し、特に、複数のノードを1つの分散システムとして動作させる際に、分散システム全体の省電力化をはかる分散システムに関する。
 分散システムは、プロセッサおよび記憶媒体を備えたノード(計算機・記憶装置)を数十台から数千台規模備え、ネットワークで接続することで1つのシステムとして利用し、1ノードでは得ることのできない計算能力や記憶容量を得ることができるシステムである。
 分散システムの一例として、ノードをネットワーク結合し、そのHDD(ハードディスクドライブ)やメモリを用いてデータ格納・利用する分散ストレージシステムが存在する。分散ストレージシステムでは、データをどの計算機に配置するか、処理をどの計算機で行うかをソフトウェアや特別なハードウェアにより実現し、システムの状態に対し動作を動的に変更することで、システム内のリソース使用量を調整し、システム利用者(クライアント計算機)に対する性能を向上している。
 分散システムを構成するノード1台の消費電力は150W/H程度であるが、大規模な分散システムでは、数百・数千ものノードを備えているために、システム全体の消費電力が膨大になるという問題がある。
 しかし、システムに対する負荷量は時々刻々と変化するものであり、常に全てのノードを100%活用するような負荷がかかっているわけではない。ある時にはシステム全体の10%を利用し、またある時にはシステム全体の90%を利用するというように、システム内で必要となるノード数は時間によって変動する。
 このような負荷量の変動に応じ、ジョブを実行していないアイドル状態のノードが偶発的に発生したり、また、負荷量に応じて処理ノード数を変化させることでアイドル状態のノードを意図的に作り出したりすることができる。例えば特許文献1には、ジョブ実行中でないアイドル状態のノードを、サスペンド状態へ移行させることで消費電力を削減するクラスタシステムが記載されている。
 スーパーコンピュータのような複数の計算機を接続して大規模な計算を行う計算機システムでは、複数のノードにジョブを割り当てて実行させ、あるジョブが完了すると次のジョブを複数のノードに計算ジョブを割りつけるというジョブ管理をする。
 特許文献2では、上述のスーパーコンピュータのような計算機システムにおいて、システムに与えられたジョブを低消費電力で実行するジョブ管理方法が開示されている。特許文献2に記載されたジョブ管理方法では、システムに対するジョブ状況を保持しておき、未来のジョブ実行時期やジョブ実行に必要なノード数を決定し、個々のジョブ実行ごとに必要なノードをあらかじめジョブ実行開始前に準備し、一方でジョブ実行に必要のないノードを停止し、システム全体の消費電力の削減をはかる。
 上記先行技術で利用されるノード停止には、通常、ACPI : Advanced Configuration and Power Interface(非特許文献1)で規定される停止状態がとられることが多い。
特開2003-162515号公報 特開2008-225639号公報
「ADVANCED CONFIGURATION AND POWER INTERFACE SPECIFICATION 4.0」 ヒューレットパッカード、インテル、マイクロソフト、フェニックステクノロジー、東芝 2009年6月16日
 しかし、上記特許文献1に記載された技術では、一度サスペンド状態などの停止状態に移行させたノードを再度利用するには、ノードに通電し、OSを起動して利用が可能になるまでの待ち時間が必要となる。
 また、上記特許文献2に記載されたジョブ管理方法では、ジョブの実行予定に基づいて停止ノードをあらかじめ復帰させてくことで、ノード復帰にかかる時間を隠蔽している。スーパーコンピュータのようにジョブを実行キューにためて処理を行うようなシステムにおいては隠蔽効果がある。特に、1ジョブを数百ノードで協調動作して数十分以上のオーダーで処理する場合(並列処理)においては効果的である。しかし、分散ストレージシステムのようにシステムに対する処理要求が予想できない場合や、小さなジョブが多数あったり、大きなジョブを小さなタスクに分割して多くのノードに分配したりして処理する場合(分散処理)、復帰にかかる時間の隠蔽ができないという問題がある。
 このように上記の技術では、消費電力を抑制するためにノードを停止させるとノード復帰にかかる待ち時間のために、処理性能(処理時間)が低下するという問題がある。
 そこで本発明は、複数のノードを備えた分散システムにおいて、ノードを停止状態に移行させることで分散システム全体の消費電力を抑制しながらも、負荷が大きくなった時の処理性能の低下の抑制を図ることができる分散システム、情報処理装置、分散方法及び分散プログラムを提供することを目的とする。
 本発明による分散システムは通常動作状態への復帰時間が異なる複数の省電力状態を有する通常ノードと、ジョブを通常ノードに割り当てて実行させる管理ノードとを備え、管理ノードは、省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択するノード選択手段と、ノード選択手段が選択した通常ノードを通常動作状態に復帰させるように制御するノード制御手段とを含み、ノード選択手段は、複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択することを特徴とする。
 本発明による分散システムは、電源制御手段とタスク実行手段とを備える通常ノードと、ジョブの実行命令を受け付けるジョブ受信手段と、ジョブ受信手段が受け付けたジョブを1つまたは複数のタスクに分解し、1台または複数台の通常ノードにタスクを実行させるジョブ管理手段と、通常ノードの電源状態を管理制御するノード電源制御手段とを備える管理ノードとを備えた分散システムであって、電源制御手段は、省電力状態中の消費電力と省電力状態から通常起動状態に復帰する時間とがそれぞれ異なる複数段階の省電力状態に通常ノードを移行させる機能と、省電力状態にある通常ノードを通常起動状態に復帰させる機能とを有し、ジョブ管理手段は、管理ノードが受け付けたジョブの量に応じて、ジョブを分解したタスクを実行させる通常ノード数を決定し、ノード電源制御手段は、通常ノードのうち通常起動状態にありタスク実行が可能な通常ノード数が、ジョブ管理手段が決定したタスクを実行させる通常ノード数に満たない場合に、複数段階の省電力状態のうちの1つ以上の状態にある通常ノードから、タスクを実行させる通常ノード数を満たすだけ通常ノードを選択する起動ノード選択機能を有し、起動ノード選択機能において、複数段階ある省電力状態のうちの通常起動状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に、通常起動状態に復帰させる通常ノードとして選択し、選択した通常ノードに対して、通常起動状態への移行を指示する命令である起動命令を発行し、ジョブ管理手段は、通常ノードのうち通常起動状態にありタスク実行が可能な通常ノードと、ノード電源制御手段が発行した起動命令に従って通常起動状態に復帰した通常ノードとに対してタスクの実行を指示するタスク実行命令を発行し、タスク実行手段は、ジョブ管理手段が発行したタスク実行命令に従ってタスクを実行することを特徴とする。
 本発明による情報処理装置は、分散システムにおいてジョブを通常ノードに割り当てて実行させる情報処理装置であって、通常動作状態への復帰時間が異なる複数の省電力状態を有する通常ノードのうちの省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択するノード選択手段と、ノード選択手段が選択した通常ノードを通常動作状態に復帰させるように制御するノード制御手段とを含み、ノード選択手段は、複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択することを特徴とする。
 本発明による分散方法は、ジョブを通常ノードに割り当てて実行させる分散方法であって、通常動作状態への復帰時間が異なる複数の省電力状態を有する通常ノードのうちの省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択し、選択した通常ノードを通常動作状態に復帰させるように制御し、省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択する際に、複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択することを特徴とする。
 本発明による分散プログラムは、分散システムにおいてジョブを通常ノードに割り当てて実行させるための分散プログラムであって、コンピュータに、通常動作状態への復帰時間が異なる複数の省電力状態を有する通常ノードのうちの省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択するノード選択処理と、選択した通常ノードを通常動作状態に復帰させるように制御するノード制御処理とを実行させ、ノード選択処理で、複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択させることを特徴とする。
 本発明によれば、複数のノードを備えた分散システムにおいて、ノードを停止状態に移行させることで分散システム全体の消費電力を抑制しながらも、負荷が大きくなった時の処理性能の低下の抑制を図ることができる。
本実施形態における分散システムの構成例を示すブロック図である。 分散システムおける管理ノードの構成例を示すブロック図である。 分散システムおける通常ノードの電源状態の一例を示す状態遷移図である。 分散システムおける通常ノードの各電源状態の消費電力と、各状態遷移にかかる時間との一例を示す表である。 分散システムのジョブ実行の一例を表すシーケンス図である。 分散システムにおける管理ノードのノード電源制御部が処理する復帰ノード選択手順の一例を表すフローチャートである。 分散システムにおいて電源制御ノード決定部が復帰命令を発行した際の一例を示すシーケンス図である。 分散システムおいてタスク配置決定部222がタスク実行命令を発行した際の一例を示すシーケンス図である。 分散システムにおけるノード電源制御部が処理する電源制御判定処理の処理手順の一例を表すフローチャートである。 分散システムにおいてノード電源制御部が停止命令を発行した際の一例を示すシーケンス図である。 分散システムにおけるノード電源制御部が処理するノード数調整処理の処理手順の一例を表すフローチャートである。 分散システムの最小の構成例を示すブロック図である。
 以下、本発明による分散システムの実施形態について、図面を参照して説明する。図1は、本実施形態における分散システムの構成例を示すブロック図である。図1に示すように、分散システムは、アクセス経路決定手段を有するネットワークに接続された1つ以上のクライアントノード100と、1つ以上の管理ノード200と、1つ以上の通常ノード300とを含む。図1に示す例では、1つのクライアントノード100と1つの管理ノード200とが示されているが、複数のクライアントノード100と管理ノード200とを含んでいてもよい。
 通常ノード300は、1ノードずつ個別のノード番号(ノード001~ノードXXX)を有している。具体的には、通常ノード300は、ノード番号を記憶部に記憶している。
 クライアントノード100は、ジョブ実行を要求するノードである。クライアントノード100が発行したジョブ実行要求がネットワークを介して管理ノード200に伝えられる。具体的には、クライアントノード100は、ネットワークを介して管理ノード200にジョブ実行要求を送信する。
 管理ノード200は、ジョブ受信部210、ジョブ制御部220およびノード電源制御部230を備えている。
 ジョブ受信部210は、クライアントノード100が発行したジョブ実行要求を受け付ける機能を備えている。具体的には、ジョブ受信部210は、クライアントノード100がネットワークを介して送信したジョブ実行要求を受信する。以下、クライアントノード100がジョブ実行要求を発行するとの表現を用いるが、具体的には、クライアントノード100がネットワークを介して管理ノード200にジョブ実行要求を送信することである。
 ジョブ制御部220は、ジョブ受信部210が受け付けたジョブを各通常ノード300が実行できる単位のタスクとして分割し、通常ノード300にタスク実行を要求する機能を備えている。具体的には、ジョブ制御部220は、ジョブ受信部210が受信したジョブ実行要求によって示されるジョブを通常ノード300が実行できる単位のタスクに分割し、ネットワークを介して通常ノード300に分割したタスクの実行要求を送信する。
 ノード電源制御部230は、通常ノード300の電源状態を管理したり、ノード停止/復帰といった電源制御を行う通常ノード300を決定し、電源制御要求を発行したりする機能を備えている。具体的には、ノード電源制御部230は、電源制御を行う通常ノード300に対して、ネットワークを介して電源制御要求を送信する。以下、電源制御要求を発行するとの表現を用いるが、具体的には、ネットワークを介して通常ノード300に電源制御要求を送信することである。
 管理ノード200が発行する電源制御要求には、通常ノード300を省電力状態へ停止させる停止命令(以下、ノード停止命令ともいう)と、通常ノード300を省電力状態から復帰させる復帰命令(以下、ノード復帰命令ともいう)との2種類ある。すなわち、通常ノード300は、停止命令を受信すると起動状態(例えば、後述する実行状態またはアイドル状態。また、通常動作状態や通常起動状態ともいう)から省電力状態に移行し、復帰命令を受信すると省電力状態から起動状態に移行するように制御する。
 図2は、管理ノード200の構成例を示すブロック図である。図2に示すようにジョブ制御部220は、ジョブ分解部221と、タスク配置決定部222と、命令通知部223とを備えている。
 ジョブ分解部221は、ジョブを各通常ノード300が実行できる単位のタスクとして分割する機能を備えている。具体的には、ジョブ分解部221は、ジョブ受信部210が受信したジョブ実行要求によって示されるジョブを、通常ノード300が実行できる単位のタスクに分割する。
 タスク配置決定部222は、ジョブ分解部221が分解したタスクをどの通常ノード300に実行させるかを決定する機能を備えている。
 命令通知部223は、タスク配置決定部222の決定に従って、通常ノード300に対して、タスク実行命令や電源制御要求を通知する機能を備えている。以下、タスク実行命令を発行するとの表現を用いるが、具体的には、管理ノード200が、ネットワークを介して通常ノード300にタスク実行命令を送信することである。
 また、ノード電源制御部230は、電源制御ノード決定部231を備えている。電源制御ノード決定部231は、ジョブ制御部220から電源制御要求(または後述するノード起動要求)を受けた際、または所定期間ごとに、電源制御対象とする通常ノード300および移行する電源状態を決定する機能を備えている。
 また、管理ノード200は、記憶部240を備えている。記憶部240は、ジョブ制御部220およびノード電源制御部230にまたがって、各通常ノード300に対するタスクの分配状況や通常ノード300のタスク実行状況を管理するためのタスク配置情報と、各通常ノード300の電源状態を管理するためのノード状態情報とを記憶している。
 また、図1に示すように、通常ノード300は、通信部310、タスク実行部320、復帰命令受信部330および電源制御部340を備えている。
 通信部310は、管理ノード200が発行したタスク実行命令や、電源制御要求のうちの停止命令を受信する機能を備えている。
 タスク実行部320は、通信部310が受信したタスク実行命令に基づいてタスクを実行する機能を備えている。
 復帰命令受信部330は、管理ノード200が発行した電源制御要求のうちの復帰命令を受信する機能を備えている。
 電源制御部340は、通信部310が受信した停止命令や復帰命令受信部330が受信した復帰命令に従って電源制御を行う機能を備えている。
 なお、本実施形態では、1つの通常ノード300において、あらかじめ定められた数のタスクを同時処理可能である。以下の例では説明を簡略化するため1つのタスクを実行できるようにする。
 図3に、通常ノードで電源制御を行う場合の状態遷移図を示す。通常ノード300は、タスクを実行していないアイドル状態である場合、省電力効果の異なる3種類の省電力状態(停止状態レベル1、停止状態レベル2、停止状態レベル3)に移行することができる。
 省電力状態の例として、ACPI(Advanced Configuration and Power Interface)で規定される省電力状態がある。本実施形態では、停止状態レベル1としてACPIで規定されるS1(プロセッサ給電停止)、停止状態レベル2としてACPIで規定されるS3(メモリのみ給電)、停止状態レベル3としてACPIで規定されるS4(メモリ内容のディスク退避、全電源供給停止)に移行するものとする。ただし、これらの省電力状態でも、復帰命令受信部330には電気供給されており、復帰命令受信部330は、常に復帰命令を受信できる。また、通常ノード300は、アイドル状態でなくタスク実行状態であったとしても、実行状態を示すデータをメモリやディスク装置などの記憶装置に保持しておき、アイドル状態を経由して省電力状態に移行することもできる。
 ACPIで規定される電源状態S1、S3、S4では、省電力効果はS1、S3、S4の順に小さい。すなわち、S1が最も小さく、次にS3が小さく、S4が最も大きい。一方でアイドル状態から省電力状態に移行したり、省電力状態からアイドル状態に復帰したりする状態遷移時間はS1、S3、S4の順に短い。すなわち、S1が最も短く、次にS3が短く、S4が最も長い。つまり、状態遷移時間が長い省電力状態ほど省電力効果が高い。参考として、図4に各状態の消費電力と各状態遷移にかかる時間との一例を示す。
 本実施形態では、省電力状態をACPIで規定される3状態としたが、状態数は複数であればよく、また、省電力にさせるACPIで規定される方式である必要もなく、本発明で制限するものではない。
 次に、本実施形態における分散システムにおける管理ノード200が保持する、タスク配置情報、および、ノード状態情報について説明する。上述のように、タスク配置情報およびノード状態情報は、管理ノード200の記憶部240に記憶されている。
 タスク配置情報には、各通常ノード300がタスク実行中であるか否かを示す情報が含まれる。ノード状態情報には、各通常ノード300が省電力状態として停止中であるか、または起動中であるかを示す情報が含まれる。例えば、ある通常ノード300が省電力状態として停止中であれば、ノード状態情報には、その通常ノード300が停止状態であることを示す情報が含まれる。また、ノード状態情報には、状態ごとに該当する通常ノード300の個数を示す情報が含まれる。
 次に、本実施形態における分散システムのジョブ実行の処理フローについて説明する。
 図5は、ジョブ実行の流れを示すシーケンス図である。まず、クライアントノード100は、ジョブ実行要求を管理ノード200に送信する。すると、クライアントノード100からジョブ実行要求を受信した管理ノード200は、ジョブ分解部221において、受け付けたジョブを1つ以上のタスクに分解する[図5に示されるジョブ分解処理]。ここで受け付けたジョブとは、受信したジョブ実行要求によって示されるジョブである。
 ジョブ分解処理が完了すると、管理ノード200は、タスク配置決定部222において、分解したタスクをどの通常ノード300で実行するかを決定する[図5に示されるタスク配置決定処理]。
 このタスク配置決定処理では、管理ノード200は、通常ノード300の一部が低消費電力状態で停止中であることにより、分解したタスクが起動中の通常ノード300では実行しきれるか否かを判断する。そして、起動中の通常ノード300では実行しきれないと判断した場合、管理ノード200は、低消費電力状態で停止中の通常ノード300の一部または全てを復帰させる[図5に示されるノード復帰処理]。
 ノード復帰処理では、タスク配置決定部222は、ノード電源制御部230に対して、ノード起動要求とともに復帰すべきノード数を通知する。すると、ノード電源制御部230は、復帰対象ノードを決定し、決定した復帰対象の通常ノード300宛にノード復帰命令を発行する。その後、復帰命令を受信した通常ノード300は、ノード復帰処理を行い、復帰後にノード復帰応答を管理ノード200に返信する。ここでのノード復帰処理とは、例えば、通常ノード300が停止状態からアイドル状態に移行するように制御することである。
 また、ノード復帰処理と同時に、タスク配置決定部222は、その時点で起動中の通常ノード300に対して、命令通知部223を通じてタスク実行命令を発行する。一方、ノード復帰処理によって復帰させた通常ノード300に対しては、タスク配置決定部222は、ノード復帰応答を受信後に、タスク実行命令を発行する。
 タスク実行命令を受信した通常ノード300は、タスク実行命令に従って、タスクを実行し、タスク実行完了後にタスク完了通知を管理ノード200に送信する。
 管理ノード200は、タスク完了通知を受信すると、タスクが完了した通常ノード300を低消費電力状態で停止させるか否かを判定する [電源制御判定処理]。そして、低消費電力状態で停止させると判定した場合には、管理ノード200は、該当する通常ノード300に対してノード停止命令を発行する。すると、ノード停止命令を受信した通常ノード300は、低消費電力状態で停止する。一方で、電源制御判定処理で通常ノード300を停止しないと判定した場合には、管理ノード200はそのまま何もせず、該当する通常ノード300もアイドル状態で待機する。
 以下に、管理ノード200における、ジョブ分解処理、タスク配置決定処理、ノード復帰処理および電源制御判定処理について説明する。また、管理ノード200がノード復帰命令・タスク実行命令・ノード停止命令の各命令を発行した場合の、管理ノード200と通常ノード300との間の処理シーケンスについて説明する。
 ジョブ分解処理では、ジョブ分解部221は、ジョブを1つ以上、(全通常ノード300の数-タスク実行中の通常ノード300の数)個以下のタスクに分解する。このときジョブ分解部221は、1つあたり通常ノード300が1台で処理するタスクとして分解する。例えば、ジョブとしてN個のファイルに書かれた数列を1つのファイルにマージしてソートするという処理が与えられたとき、N-1個のソートタスクと1個の(ソートandファイルマージ)タスクとに分解するという方法が考えられる。
 タスク数を小さくして、1タスクの処理量を多くすれば、タスク実行する通常ノード300が少なくなり、他の通常ノード300を低消費電力状態に停止することができるので、省電力効果が高い。しかし、ジョブ実行にかかる時間は増大する。逆に、1タスクの処理量を少なくし、タスク数を多くすると、多くの通常ノード300がタスク実行を処理するので、ジョブ実行にかかる時間は短くなるものの、省電力効果は低くなる。なお、本発明においては、ジョブ分解部221でのタスク分解の方法については限定しない。
 タスク配置決定処理では、タスク配置決定部222は、ジョブ分解処理で分解したタスクを実行する通常ノード300を決定する。具体的には、タスク配置決定部222は、記憶部240が記憶するノード状態情報を参照し、タスク数がアイドル状態の通常ノード300の数以下であるか否か判断する。そして、タスク数がアイドル状態の通常ノード300の数以下であると判断した場合には、タスク配置決定部222は、アイドル状態の通常ノード300のうち、タスク数個の通常ノード300をタスク実行するノードとして選択する。
 一方、タスク数がアイドル状態の通常ノード300の数より多いと判断した場合には、タスク配置決定部222は、アイドル状態の通常ノード300全てをタスク実行するノードとして選択し、残りの(タスク数-アイドル状態の通常ノード数)個の通常ノード300をノード復帰処理により起動し、タスク実行する通常ノード300として選択する。
 タスク実行ノードとして選択された通常ノード300は、アイドル状態であればタスク配置決定処理直後に、停止状態であればノード復帰処理にてアイドル状態に移行した後に、タスク実行命令に従ってタスク実行を開始する。なお、本発明においては、アイドル状態の通常ノード300のうち、どの通常ノード300をタスク実行するノードとして選択するかについての決定方法は限定しない。また、どのタスクをどの通常ノード300に配置するかについての決定方法も限定しない。
 ノード復帰処理では、タスク配置決定部222は、ノード電源制御部230に対して、ノード起動要求とともに起動するノード数を通知する。図6に、ノード電源制御部230が、ノード起動要求を受信し、起動するノード数分の停止状態の通常ノード300を選択し、復帰命令を通常ノード300に対して発行する手順を示す。図6に示す復帰ノード選択手順では、停止状態にある通常ノード300のうち、停止状態レベル1から順に、つまり、省電力効果が低く復帰が早いノードから順に復帰させるノードとして選択し、復帰命令を発行している。
 図6に示すように、ノード電源制御部230は、タスク配置決定部222が出力したノード起動要求を受信する(ステップS10)。ここでは、ノード電源制御部230は、ノード起動要求とともに、起動する通常ノードの数を示す値nを受信する。
 次いで、ノード電源制御部230は、停止状態レベルが低い順に、停止状態レベルk(ここでは停止状態レベル1)の通常ノード300の数が、x個(受信した値n)より少ないか否かを判断する(ステップS11、12)。
 停止状態レベルkの通常ノード300の数がx個より少ないと判断した場合には、ノード電源制御部230は、全ての停止状態レベルkの通常ノード300に対して復帰命令を発行する(ステップS13)。そして、ノード電源制御部230は、xの値をx-通常ノード300数(停止状態レベルk)とし、停止状態レベルが低い順に停止状態レベル3に至るまで、ステップS12、13の処理を繰り返す(ステップS14、15、16)。その後、ノード電源制御部230は、n-x個のノード復帰応答の受信待ちをし(ステップS19)、ノード起動処理を完了する。
 一方、停止状態レベルkの通常ノード300の数がx個以上であると判断した場合には、ノード電源制御部230は、停止状態レベルkの通常ノード300のうちのx個に対して復帰命令を発行する(ステップS17)。その後、ノード電源制御部230は、n個のノード復帰応答の受信待ちをし(ステップS18、19)、ノード起動処理を完了する。
 図7は、電源制御ノード決定部231が復帰命令を発行して、通常ノード300が復帰するまでの流れの一例を示すシーケンス図である。
 電源制御ノード決定部231は、復帰させる通常ノード300のノード番号を指定して復帰命令を発行する。発行した復帰命令は、命令通知部223を経由して、復帰させる対象の通常ノード300の復帰命令受信部330に通知される。
 具体的には、電源制御ノード決定部231は、復帰させる通常ノードを特定し、特定した通常ノードのノード番号を含む復帰命令を命令通知部223に出力する。すると、命令通知部223は、ネットワークを介して、ノード番号によって特定される通常ノード300の復帰命令受信部330に復帰命令を送信する。
 通常ノード300の復帰命令受信部330は、復帰命令を受信すると、ノードの通電を開始し、電源制御部340に対して復帰要求を出力する。すると、電源制御部340は、ノード復帰処理を行う。ここでのノード復帰処理とは、例えば、通常ノード300が停止状態からアイドル状態に移行するように制御することである。
 電源制御部340によるノード復帰処理が完了すると、通常ノード300は、通信部310を用いて、管理ノード200に対して、ノード復帰処理が完了したことを示すノード復帰応答を自ノード番号とともに通知する。
 管理ノード200の電源制御ノード決定部231は、ノード復帰応答を受信すると、記憶部240が記憶するノード状態情報を書き換える。具体的には、電源制御ノード決定部231は、ノード復帰応答を受信した通常ノード300が起動中であることを示すようにノード状態情報を書き換える。
 また同時に、電源制御ノード決定部231は、タスク配置決定部222に対して、停止状態にあった通常ノード300が復帰したことを通知する。すると、タスク配置決定部222は、該当する通常ノード300に対してタスク実行命令を発行する。
 図8は、タスク配置決定部222がタスク実行命令を発行して、通常ノード300がタスク実行を完了するまでの流れの一例を示すシーケンス図である。
 タスク配置決定部222は、タスクを実行させる通常ノード300に対してタスク実行命令を通知する前に、タスク配置情報を書き換える。具体的には、タスク配置決定部222は、対象の通常ノード300がタスク実行中であることを示すようにタスク配置情報を書き換える。
 タスク配置情報の書き換え後、タスク配置決定部222は、命令通知部223を介して、タスクを実行させる通常ノード300に対してタスク実行命令を通知する。
 通常ノード300は、通信部310でタスク実行命令を受信すると、受信したタスク実行命令に従って、タスク実行部320でタスクを実行する。
 タスク実行部320によるタスク実行が完了すると、通常ノード300は、通信部310を用いて、タスク完了通知をタスクの実行結果とともに管理ノード200に通知する。
 管理ノード200のタスク配置決定部222は、タスク完了通知を受信すると、タスク配置情報を、タスクが完了した旨に書き換える。すなわち、タスク配置決定部222は、対象の通常ノード300がタスク実行中でないことを示すようにタスク配置情報を書き換える。そして、タスク配置情報の書き換えが完了すると、管理ノード200は、電源制御判定処理を実行する。
 電源制御判定処理では、管理ノード200は、アイドル状態、停止状態レベル1、停止状態レベル2の優先度順に、あらかじめ設定しておいた各状態の必要ノード数を満たすように停止状態を決定する。アイドル状態、停止状態レベル1、停止状態レベル2の各状態においても必要ノード数を満たしている場合には、停止状態3に停止する。
 電源制御ノード決定部231は、あらかじめ電源制御判定処理におけるアイドル状態および停止状態レベルごとの必要ノード数の設定値を保持している。この設定値は、固定値でも非固定値でもよい。例えば、固定値で、アイドル状態ノード:0ノード、停止状態レベル1:5ノード、停止状態レベル2:15ノードというように設定する。また、例えば、非固定値で、アイドル状態ノード:(全ノード数-実行状態ノード数)×0%、停止状態レベル1:(全ノード数-実行状態ノード数)×10%、停止状態レベル2:(全ノード数-実行状態ノード数)×30%というように、その時点における各状態におけるノード数から必要ノード数を計算させるという方法もある。
 次に、電源制御判定処理の処理手順について説明する。図9は、電源制御判定処理の処理手順の一例を示すフローチャートである。
 まず、電源制御ノード決定部231は、アイドル状態のノード数とあらかじめ設定しておいた設定値とを比較し、アイドル状態のノード数が設定値よりも小さいか否かを判定する(ステップS21)。そして、設定値よりも小さいと判定した場合には、電源制御ノード決定部231は、何も処理を行わずに、電源制御判定処理を完了する。
 一方、アイドル状態のノード数が設定値以上であると判定した場合、電源制御ノード決定部231は、停止状態レベル1から停止状態レベル2へと順に、停止状態レベルkにおいて停止中のノード数とあらかじめ停止状態レベルごとに設定しておいた設定数とを比較する。
 そして、停止状態レベルkにおいて停止中のノード数が停止状態レベルkの設定数に満たない場合には、電源制御ノード決定部231は、停止状態レベルkで停止することを決定する。停止状態レベル1から停止状態レベル2で停止すると決定しなかった場合には、電源制御ノード決定部231は停止状態レベル3で停止すると決定する。停止させる状態が決定すると、ノード電源制御部230は、停止命令を対象の通常ノード300に対して発行する。
 図9に示す例では、電源制御ノード決定部231は、アイドル状態のノード数が停止状態レベルk(ここでは停止状態レベル1)の設定値よりも小さいか否かを判定する(ステップS22、23)。
 ステップS23においてアイドル状態の通常ノード数が設定値よりも小さいと判定した場合には、電源制御ノード決定部231は、停止状態レベルk(ここでは停止状態レベル1)に移行させることを決定し、対象の通常ノード300に対して停止命令を発行する(ステップS24)。その後、電源制御ノード決定部231は、電源制御判定処理を完了する。
 一方、ステップS23においてアイドル状態のノード数が設定値以上であると判定した場合には、電源制御ノード決定部231は、停止状態レベル3に至るまでステップS23の処理を繰り返す(ステップS25、26)。その後、電源制御ノード決定部231は、停止状態レベル3に移行させることを決定し、対象の通常ノード300に対して停止命令を発行する(ステップS27)、電源制御判定処理を完了する。
 図10は、ノード電源制御部230の電源制御ノード決定部231が停止命令を発行して、通常ノード300が省電力状態で停止するまでの流れの一例を示すシーケンス図である。
 電源制御ノード決定部231は、まず停止対象の通常ノード300の状態が停止状態を示すようにノード状態情報を変更する。その後、電源制御ノード決定部231は、命令通知部223を介して、停止対象の通常ノード300に停止命令を通知する。通信部310で停止命令を受信した通常ノード300は、電源制御部340に停止命令を出力し、停止命令に従って指定された停止レベルで停止するように制御する。
 以上の実行フローで、本実施形態の分散システムはジョブを実行する。
 なお、電源制御ノード決定部231は、アイドル状態および停止状態レベルごとに設定した必要ノード数を満たすように、ジョブ実行とは非同期のタイミングで、停止状態にある通常ノード300を、より復帰時間の短い停止状態、およびアイドル状態に状態変更をする[ノード数調整処理]。
 図11は、ノード数調整処理で、アイドル状態または停止状態レベルLにn個の通常ノード300を追加する場合の手順の一例を示すフローチャートである。なお、図11では簡単化のため、アイドル状態を停止状態レベル0と記すものとする。
 図11に示すように、電源制御ノード決定部231は、停止状態レベルの高い順に、停止状態レベルk(ここでは停止状態レベル3)の通常ノード300の数がx個(ここではn個)より小さいか否か判定する(ステップS31、32)。
 停止状態レベルkの通常ノード300の数がx個より少ないと判断した場合には、電源制御ノード決定部231は、全ての停止状態レベルkの通常ノード300を停止状態レベルLに変更する(ステップS33)。そして、電源制御ノード決定部231は、xの値をx-通常ノード300数(停止状態レベルk)とし、停止状態レベルが高い順に停止状態レベルLに至るまで、ステップS32、33の処理を繰り返す(ステップS34、35、36)。その後、電源制御ノード決定部231は、ノード調整処理を完了する。
 一方、停止状態レベルkの通常ノード300の数がx個以上であると判断した場合には、電源制御ノード決定部231は、停止状態レベルkの通常ノード300のうちのx個を停止状態レベルLに変更する(ステップS37)。その後、ノード電源制御部230は、xの値を0とし(ステップS38)、ノード調整処理を完了する。
 図11に示す手順により、より高い停止状態レベルにある通常ノード300のうちのn個の通常ノード300を停止状態レベルLに移行させることができる。なお、停止状態にある通常ノード300を、より低い停止状態レベルに移行させる場合には、例えば、復帰命令によりアイドル状態に復帰させ(例えば図7に示される)、復帰応答受信後に、停止命令により停止状態に停止させる(例えば図10に示される)。
 ノード数調整処理が実施されるタイミングは任意であるが、例えば最後に電源制御要求(停止命令や復帰命令)が発行されてから所定期間後にノード数調整処理を実施するというタイミングをとることが望ましい。
 以上が本実施形態における分散システムの説明である。このような形態をとることにより、本発明による分散システムは、ノードを停止状態に移行させることで分散システム全体の消費電力を抑制しながらも、負荷が大きくなった時には、復帰の早い停止状態レベルの低いノードから順に復帰させてタスク実行させることで、処理性能の低下を抑制することができる。
 なお、本発明による分散システムは、本実施形態に限定されるわけではなく、下記のような変更も可能である。
 上記実施形態の分散システムでは、通常ノード300では、同時に1つのタスクしか実行できない例について説明したが、複数のタスクを同時に実行できてもよい。その場合、タスク配置情報では、割り当て中のタスクを全て管理する必要がある。また、タスク配置決定部222がタスクの配置を決定する際には、起動中のノードで実行中タスク数の少ないノードにタスクを多く配置するタスク配置決定方法をとることもできる。
 以上の記載は実施形態に基づいて行ったが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更を加えることができる。
 次に、本発明による分散システムの最小構成について説明する。図12は、分散システムの最小の構成例を示すブロック図である。図12に示すように、分散システムは、最小の構成要素として、通常動作状態への復帰時間が異なる複数の省電力状態を有する通常ノード10と、ジョブを通常ノード10に割り当てて実行させる管理ノード20とを備えている。また、管理ノード20は、ノード選択手段21と、ノード制御手段22とを含む。
 図12に示す最小構成の分散システムでは、ノード選択手段21は、省電力状態にある通常ノード10からジョブを割り当てて実行させる通常ノード10を選択する。ここで、ノード選択手段21は、複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノード10から順に選択する。そして、ノード制御手段22は、ノード選択手段21が選択した通常ノード10を通常動作状態に復帰させるように制御する。
 従って、最小構成の分散システムによれば、ノードを停止状態に移行させることで分散システム全体の消費電力を抑制しながらも、負荷が大きくなった時には、復帰の早い停止状態レベルの低いノードから順に復帰させてタスク実行させることで、処理性能の低下を抑制することができる。
 なお、本実施形態では、以下の(1)~(7)に示すような分散システムの特徴的構成が示されている。
 (1)分散システムは、通常動作状態(例えば、実行状態やアイドル状態)への復帰時間が異なる複数の省電力状態を有する通常ノード(例えば、通常ノード300によって実現される)と、ジョブを通常ノードに割り当てて実行させる管理ノード(例えば、管理ノード200によって実現される)とを備え、管理ノードは、省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択するノード選択手段(例えば、タスク配置決定部222および電源制御ノード決定部231によって実現される)と、ノード選択手段が選択した通常ノードを通常動作状態に復帰させるように制御するノード制御手段(例えば、電源制御ノード決定部231によって実現される)とを含み、ノード選択手段は、複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択することを特徴とする。
 (2)分散システムにおいて、通常ノードは、演算処理を実行するプロセッサと、情報を記憶するメモリおよび不揮発性の記憶装置とを少なくとも搭載し、移行可能な省電力状態として、プロセッサの電源のみ停止する第1の省電力状態(例えば、停止状態レベル1)と、演算のコンテキストをメモリに保存し、メモリ以外の給電を停止する第2の省電力状態(例えば、停止状態レベル2)と、演算のコンテキストを不揮発性の記憶装置に保存し、全ての給電を停止する第3の省電力状態(例えば、停止状態レベル3)との3種類の省電力状態とを少なくとも含み、ノード選択手段は、省電力状態にある通常ノードからタスクを実行させる通常ノードを選択する際に、第1の省電力状態にある通常ノード、第2の省電力状態にある通常ノード、第3の省電力状態にある通常ノードの順に優先して選択するように構成されていてもよい。
 (3)分散システムは、電源制御手段(例えば、電源制御部340によって実現される)とタスク実行手段(例えば、タスク実行部320によって実現される)とを備える通常ノード(例えば、通常ノード300によって実現される)と、ジョブの実行命令を受け付けるジョブ受信手段(例えば、ジョブ受信部210によって実現される)と、ジョブ受信手段が受け付けたジョブを1つまたは複数のタスクに分解し、1台または複数台の通常ノードにタスクを実行させるジョブ管理手段(例えば、ジョブ制御部220によって実現される)と、通常ノードの電源状態を管理制御するノード電源制御手段(例えば、ノード電源制御部230によって実現される)とを備える管理ノード(例えば、管理ノード200によって実現される)とを備えた分散システムであって、電源制御手段は、省電力状態中の消費電力と省電力状態から通常起動状態に復帰する時間とがそれぞれ異なる複数段階の省電力状態に通常ノードを移行させる機能と、省電力状態にある通常ノードを通常起動状態に復帰させる機能とを有し、ジョブ管理手段は、管理ノードが受け付けたジョブの量に応じて、ジョブを分解したタスクを実行させる通常ノード数を決定し(例えば、ジョブ分解部221とタスク配置決定部222が処理を実行することによって実現される)、ノード電源制御手段は、通常ノードのうち通常起動状態にありタスク実行が可能な通常ノード数が、ジョブ管理手段が決定したタスクを実行させる通常ノード数に満たない場合に、複数段階の省電力状態のうちの1つ以上の状態にある通常ノードから、タスクを実行させる通常ノード数を満たすだけ通常ノードを選択する起動ノード選択機能を有し、起動ノード選択機能において、複数段階ある省電力状態のうちの通常起動状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に、通常起動状態に復帰させる通常ノードとして選択し、選択した通常ノードに対して、通常起動状態への移行を指示する命令である起動命令を発行し(例えば、電源制御ノード決定部231が処理を実行することによって実現される)、ジョブ管理手段は、通常ノードのうち通常起動状態にありタスク実行が可能な通常ノードと、ノード電源制御手段が発行した起動命令に従って通常起動状態に復帰した通常ノードとに対してタスクの実行を指示するタスク実行命令を発行し、タスク実行手段は、ジョブ管理手段が発行したタスク実行命令に従ってタスクを実行することを特徴とする。
 (4)分散システムにおいて、通常ノードは、演算処理を実行するプロセッサと、情報を記憶するメモリおよび不揮発性の記憶装置とを少なくとも搭載し、電源制御手段は、制御する省電力状態として、プロセッサの電源のみ停止する第1の省電力状態(例えば、停止状態レベル1)と、演算のコンテキストをメモリに保存し、メモリ以外の給電を停止する第2の省電力状態(例えば、停止状態レベル2)と、演算のコンテキストを不揮発性の記憶装置に保存し、全ての給電を停止する第3の省電力状態(例えば、停止状態レベル3)との3種類の省電力状態とを少なくとも含むように構成されていてもよい。
 (5)分散システムにおいて、ノード電源制御手段は、通常起動状態に復帰させる通常ノードを、第1の省電力状態にある通常ノードから選択し、次に、第2の省電力状態にある通常ノードから選択し、次に、第3の省電力状態にある通常ノードから選択するように構成されていてもよい。
 (6)分散システムにおいて、ノード電源制御手段は、タスク実行が完了した通常ノードを、複数段階の省電力状態のうちのいずれかの状態に移行させることを決定し、通常ノードに対し、決定した省電力状態への移行を指示するノード停止命令を発行するように構成されていてもよい。
 (7)分散システムにおいて、ノード電源制御手段は、タスク実行が完了した通常ノードに対してノード停止命令を発行するにあたり、各省電力状態ごとに予め設定された所定数に満たない省電力状態のうち、通常起動状態に復帰するまでの時間が短い省電力状態に移行させることを決定するように構成されていてもよい。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)ノード電源制御手段は、省電力状態にある通常ノードのうち、通常起動状態に復帰するまでの時間が短い省電力状態にある通常ノード数が所定数以下のときに、通常起動状態に復帰するまでの時間が長い省電力状態にある通常ノードのうちの1つまたは複数を、前記通常起動状態に復帰するまでの時間が短い省電力状態に移行させることを決定し、決定した移行対象の通常ノードに対して復帰命令を発行し、該通常ノードが通常起動状態に復帰後に、該通常ノードに対して、ノード停止命令を発行する請求項3から請求項7のうちのいずれか1項に記載の分散システム。
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2011年2月2日に出願された日本特許出願2011-020949を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明に係る分散システムは、分散コンピュータや分散データベース、分散ストレージ、並列データ処理システム、並列ファイルシステム、並列データベース、データグリッド、クラスタコンピュータに適用することができる。
 10 通常ノード
 20 管理ノード
 21 ノード選択手段
 22 ノード制御手段
 100 クライアントノード
 200 管理ノード
 210 ジョブ受信部
 220 ジョブ制御部
 221 ジョブ分解部
 222 タスク配置決定部
 223 命令通知部
 230 ノード電源制御部
 231 電源制御ノード決定部
 240 記憶部
 300 通常ノード
 310 通信部
 320 タスク実行部
 330 復帰命令受信部
 340 電源制御部

Claims (10)

  1.  通常動作状態への復帰時間が異なる複数の省電力状態を有する通常ノードと、
     ジョブを前記通常ノードに割り当てて実行させる管理ノードとを備え、
     前記管理ノードは、
     前記省電力状態にある通常ノードから前記ジョブを割り当てて実行させる通常ノードを選択するノード選択手段と、
     前記ノード選択手段が選択した通常ノードを前記通常動作状態に復帰させるように制御するノード制御手段とを含み、
     前記ノード選択手段は、前記複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択する
     ことを特徴とする分散システム。
  2.  通常ノードは、演算処理を実行するプロセッサと、情報を記憶するメモリおよび不揮発性の記憶装置とを少なくとも搭載し、移行可能な省電力状態として、前記プロセッサの電源のみ停止する第1の省電力状態と、演算のコンテキストを前記メモリに保存し、前記メモリ以外の給電を停止する第2の省電力状態と、演算のコンテキストを前記不揮発性の記憶装置に保存し、全ての給電を停止する第3の省電力状態との3種類の省電力状態とを少なくとも含み、
     ノード選択手段は、前記省電力状態にある通常ノードからジョブを割り当てて実行させる通常ノードを選択する際に、前記第1の省電力状態にある通常ノード、前記第2の省電力状態にある通常ノード、前記第3の省電力状態にある通常ノードの順に優先して選択する
     請求項1記載の分散システム。
  3.  電源制御手段とタスク実行手段とを備える通常ノードと、
     ジョブの実行命令を受け付けるジョブ受信手段と、前記ジョブ受信手段が受け付けたジョブを1つまたは複数のタスクに分解し、1台または複数台の前記通常ノードに該タスクを実行させるジョブ管理手段と、前記通常ノードの電源状態を管理制御するノード電源制御手段とを備える管理ノードとを備えた分散システムであって、
     前記電源制御手段は、省電力状態中の消費電力と前記省電力状態から通常起動状態に復帰する時間とがそれぞれ異なる複数段階の省電力状態に該通常ノードを移行させる機能と、省電力状態にある該通常ノードを通常起動状態に復帰させる機能とを有し、
     前記ジョブ管理手段は、該管理ノードが受け付けたジョブの量に応じて、該ジョブを分解したタスクを実行させる通常ノード数を決定し、
     前記ノード電源制御手段は、前記通常ノードのうち通常起動状態にありタスク実行が可能な通常ノード数が、前記ジョブ管理手段が決定したタスクを実行させる通常ノード数に満たない場合に、前記複数段階の省電力状態のうちの1つ以上の状態にある通常ノードから、前記タスクを実行させる通常ノード数を満たすだけ通常ノードを選択する起動ノード選択機能を有し、前記起動ノード選択機能において、前記複数段階ある省電力状態のうちの通常起動状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に、通常起動状態に復帰させる通常ノードとして選択し、選択した通常ノードに対して、通常起動状態への移行を指示する命令である起動命令を発行し、
     前記ジョブ管理手段は、前記通常ノードのうち通常起動状態にありタスク実行が可能な通常ノードと、前記ノード電源制御手段が発行した前記起動命令に従って通常起動状態に復帰した通常ノードとに対してタスクの実行を指示するタスク実行命令を発行し、
     前記タスク実行手段は、前記ジョブ管理手段が発行した前記タスク実行命令に従ってタスクを実行する
     ことを特徴とする分散システム。
  4.  通常ノードは、演算処理を実行するプロセッサと、情報を記憶するメモリおよび不揮発性の記憶装置とを少なくとも搭載し、
     電源制御手段は、制御する省電力状態として、前記プロセッサの電源のみ停止する第1の省電力状態と、演算のコンテキストを前記メモリに保存し、前記メモリ以外の給電を停止する第2の省電力状態と、演算のコンテキストを前記不揮発性の記憶装置に保存し、全ての給電を停止する第3の省電力状態との3種類の省電力状態とを少なくとも含む
     請求項3記載の分散システム。
  5.  ノード電源制御手段は、通常起動状態に復帰させる通常ノードを、第1の省電力状態にある通常ノードから選択し、次に、第2の省電力状態にある通常ノードから選択し、次に、第3の省電力状態にある通常ノードから選択する
     請求項4記載の分散システム。
  6.  ノード電源制御手段は、タスク実行が完了した通常ノードを、複数段階の省電力状態のうちのいずれかの状態に移行させることを決定し、前記通常ノードに対し、決定した省電力状態への移行を指示するノード停止命令を発行する
     請求項3から請求項5のうちのいずれか1項に記載の分散システム。
  7.  ノード電源制御手段は、タスク実行が完了した通常ノードに対してノード停止命令を発行するにあたり、各省電力状態ごとに予め設定された所定数に満たない省電力状態のうち、通常起動状態に復帰するまでの時間が短い省電力状態に移行させることを決定する
     請求項6記載の分散システム。
  8.  分散システムにおいてジョブを通常ノードに割り当てて実行させる情報処理装置であって、
     通常動作状態への復帰時間が異なる複数の省電力状態を有する前記通常ノードのうちの該省電力状態にある通常ノードから前記ジョブを割り当てて実行させる通常ノードを選択するノード選択手段と、
     前記ノード選択手段が選択した通常ノードを前記通常動作状態に復帰させるように制御するノード制御手段とを含み、
     前記ノード選択手段は、前記複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択する
     ことを特徴とする情報処理装置。
  9.  ジョブを通常ノードに割り当てて実行させる分散方法であって、
     通常動作状態への復帰時間が異なる複数の省電力状態を有する前記通常ノードのうちの該省電力状態にある通常ノードから前記ジョブを割り当てて実行させる通常ノードを選択し、
     選択した通常ノードを前記通常動作状態に復帰させるように制御し、
     前記省電力状態にある通常ノードから前記ジョブを割り当てて実行させる通常ノードを選択する際に、前記複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択する
     ことを特徴とする分散方法。
  10.  分散システムにおいてジョブを通常ノードに割り当てて実行させるための分散プログラムであって、
     コンピュータに、
     通常動作状態への復帰時間が異なる複数の省電力状態を有する前記通常ノードのうちの該省電力状態にある通常ノードから前記ジョブを割り当てて実行させる通常ノードを選択するノード選択処理と、
     選択した通常ノードを前記通常動作状態に復帰させるように制御するノード制御処理とを実行させ、
     前記ノード選択処理で、前記複数の省電力状態のうちの通常動作状態に復帰するまでの時間が短い省電力状態にある通常ノードから順に選択させる
     ための分散プログラム。
PCT/JP2012/000605 2011-02-02 2012-01-31 分散システム、装置、方法及びプログラム WO2012105230A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012555746A JP5786870B2 (ja) 2011-02-02 2012-01-31 分散システム、装置、方法及びプログラム
US13/981,643 US9201707B2 (en) 2011-02-02 2012-01-31 Distributed system, device, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-020949 2011-02-02
JP2011020949 2011-02-02

Publications (1)

Publication Number Publication Date
WO2012105230A1 true WO2012105230A1 (ja) 2012-08-09

Family

ID=46602454

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/000605 WO2012105230A1 (ja) 2011-02-02 2012-01-31 分散システム、装置、方法及びプログラム

Country Status (3)

Country Link
US (1) US9201707B2 (ja)
JP (1) JP5786870B2 (ja)
WO (1) WO2012105230A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018106472A (ja) * 2016-12-27 2018-07-05 日立オートモティブシステムズ株式会社 制御装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006343955A (ja) * 2005-06-08 2006-12-21 Canon Inc 情報処理装置およびその制御方法
JP2010165193A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 負荷分散装置、負荷分散方法および負荷分散プログラム
JP2011257834A (ja) * 2010-06-07 2011-12-22 Ricoh Co Ltd 分散処理システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10187636A (ja) * 1996-12-24 1998-07-21 Nec Corp 消費電力低減クラスタシステム
JPH11170666A (ja) 1997-12-12 1999-06-29 Ricoh Co Ltd ネットワーク用プリンタ装置
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
JP2003162515A (ja) 2001-11-22 2003-06-06 Fujitsu Ltd クラスタシステム
WO2003073185A2 (en) * 2002-02-28 2003-09-04 Zetacon Corporation Predictive control system and method
US6977528B2 (en) * 2002-09-03 2005-12-20 The Regents Of The University Of California Event driven dynamic logic for reducing power consumption
US7334142B2 (en) * 2004-01-22 2008-02-19 International Business Machines Corporation Reducing power consumption in a logically partitioned data processing system with operating system call that indicates a selected processor is unneeded for a period of time
US7088141B2 (en) * 2004-10-14 2006-08-08 International Business Machines Corporation Multi-threshold complementary metal-oxide semiconductor (MTCMOS) bus circuit and method for reducing bus power consumption via pulsed standby switching
US7539882B2 (en) * 2005-05-30 2009-05-26 Rambus Inc. Self-powered devices and methods
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
JP4370336B2 (ja) 2007-03-09 2009-11-25 株式会社日立製作所 低消費電力ジョブ管理方法及び計算機システム
US8006111B1 (en) * 2007-09-21 2011-08-23 Emc Corporation Intelligent file system based power management for shared storage that migrates groups of files based on inactivity threshold
JP5207792B2 (ja) * 2008-02-19 2013-06-12 キヤノン株式会社 情報処理装置及び情報処理方法
WO2011121869A1 (ja) * 2010-03-29 2011-10-06 日本電気株式会社 データアクセス場所選択システム、方法およびプログラム
US8516284B2 (en) * 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006343955A (ja) * 2005-06-08 2006-12-21 Canon Inc 情報処理装置およびその制御方法
JP2010165193A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 負荷分散装置、負荷分散方法および負荷分散プログラム
JP2011257834A (ja) * 2010-06-07 2011-12-22 Ricoh Co Ltd 分散処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018106472A (ja) * 2016-12-27 2018-07-05 日立オートモティブシステムズ株式会社 制御装置
WO2018123707A1 (ja) * 2016-12-27 2018-07-05 日立オートモティブシステムズ株式会社 制御装置

Also Published As

Publication number Publication date
US20130312004A1 (en) 2013-11-21
JP5786870B2 (ja) 2015-09-30
US9201707B2 (en) 2015-12-01
JPWO2012105230A1 (ja) 2014-07-03

Similar Documents

Publication Publication Date Title
JP4370336B2 (ja) 低消費電力ジョブ管理方法及び計算機システム
US20230259530A1 (en) Multi-cluster warehouse
US8893148B2 (en) Performing setup operations for receiving different amounts of data while processors are performing message passing interface tasks
JP2008257578A (ja) 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US8312464B2 (en) Hardware based dynamic load balancing of message passing interface tasks by modifying tasks
US8108876B2 (en) Modifying an operation of one or more processors executing message passing interface tasks
US20090064165A1 (en) Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
JP2003067351A (ja) 分散型コンピュータの構成制御システム
JP2008257572A (ja) 論理区画に動的に資源割り当てを行うストレージシステム及びストレージシステムの論理分割方法
US20090064166A1 (en) System and Method for Hardware Based Dynamic Load Balancing of Message Passing Interface Tasks
JP4912927B2 (ja) タスク割当装置、及びタスク割当方法
WO2016092856A1 (ja) 情報処理装置、情報処理システム、タスク処理方法、及び、プログラムを記憶する記憶媒体
KR20130137503A (ko) 리소스 모니터링을 이용한 동적 데이터 처리 장치 및 그 방법
JP6115575B2 (ja) データセット多重度変更装置、サーバ、データセット多重度変更方法、およびコンピュータ・プログラム
US10928883B2 (en) System management device
JP6477260B2 (ja) アプリケーションを実行する方法及びリソースマネジャ
JP5810918B2 (ja) スケジューリング装置、スケジューリング方法及びプログラム
JP2008217575A (ja) ストレージ装置及びその構成最適化方法
JP2016126426A (ja) マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム
JP5786870B2 (ja) 分散システム、装置、方法及びプログラム
CN100397345C (zh) 用于管理资源元素队列的方法和控制器
JPWO2011118424A1 (ja) マシン稼動計画作成装置、マシン稼動計画作成方法、及びマシン稼動計画作成用プログラム
JP6928263B2 (ja) 情報処理装置、計算機制御方法、および計算機制御プログラム
JP2018151968A (ja) 管理装置、分散システム、管理方法、及びプログラム

Legal Events

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

Ref document number: 12741541

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012555746

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13981643

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12741541

Country of ref document: EP

Kind code of ref document: A1