WO2012124295A1 - コンピュータシステム、制御システム、制御方法および制御プログラム - Google Patents

コンピュータシステム、制御システム、制御方法および制御プログラム Download PDF

Info

Publication number
WO2012124295A1
WO2012124295A1 PCT/JP2012/001563 JP2012001563W WO2012124295A1 WO 2012124295 A1 WO2012124295 A1 WO 2012124295A1 JP 2012001563 W JP2012001563 W JP 2012001563W WO 2012124295 A1 WO2012124295 A1 WO 2012124295A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
data
task
computer system
characteristic
Prior art date
Application number
PCT/JP2012/001563
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 US14/003,846 priority Critical patent/US20130346983A1/en
Priority to JP2013504552A priority patent/JP5692355B2/ja
Publication of WO2012124295A1 publication Critical patent/WO2012124295A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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

Definitions

  • the present invention relates to a computer system, a control system, a control method, and a control program.
  • Patent Document 1 describes a system in a distributed storage system that calculates a no-access probability based on access statistical information to a distributed storage node, and relocates data using the calculated no-access probability. ing.
  • the system described in Patent Document 1 can lengthen the time during which each disk node is in the power saving mode by performing data arrangement so that the expected value of no-access time is high.
  • Patent Document 2 describes a computer system that appropriately distributes an I / O (Input / Output) load.
  • the computer system described in Patent Literature 2 calculates an average of I / O access frequencies for each integrated device as an expected value of I / O access frequencies.
  • Non-Patent Document 1 describes a time-series analysis technique for capturing and expressing characteristics of data from time-series data such as temperature and earthquake.
  • the most essential problem in realizing computer system control is that there is a lack of information for controlling jobs (applications) and data.
  • the above-described technical approach has a problem that data access unknown to the computer system cannot be predicted.
  • the above-described technical approach has a problem that it cannot cope with fluctuations in access load and the like that have no precursor information for a computer system.
  • a computer system provides a service related to some real world. Therefore, it is common for humans to monitor and judge the situation in the real world to cope with predictable load fluctuations on the computer system.
  • a simple example would be to increase server capacity or expand applications for the Christmas season at a shopping site. That is, it can be said that a change in the external environment of the computer system can suggest a change in usage pattern expected in the near future of the system.
  • the current computer system performance problem is often caused by a bottleneck for data I / O (Input / Output). For this reason, if problems associated with data I / O can be avoided, it is considered that many performance problems can be solved and adaptable to changes. For example, it is conceivable to realize control in which data is distributed and stored in advance so that data I / O caused by the load is distributed as the load increases.
  • the data structure has advantages and disadvantages depending on the pattern of access to the data, so the data structure can also be controlled. It is preferable. In addition, it is necessary to be able to control task placement that appropriately leveles the CPU load and does not cause a network bottleneck associated with data I / O. Furthermore, in order to continue operating the system with power according to the required performance, it is preferable that control over system components (such as stopping the power supply of the node) is also possible. Thus, in order to adapt flexibly to changes in the usage pattern of computer systems, it is necessary to be able to autonomously control not only data placement but also data structure, task placement, or system components. It is believed that there is.
  • the problem with the computer system is that the computer system cannot flexibly adapt to changes in usage patterns and external environments.
  • the reason is that the operating status of the system (computer load, the characteristics of the running application, the characteristics of the data being held and managed, etc.) is automatically changed according to changes in the usage form and changes in the external environment. This is because the control function for flexibly adapting the computer system to the usage form in response to changes in the external environment is not provided more than necessary (more than necessary and sufficient for the computer system).
  • a computer system to flexibly adapt to changes in the system usage form and changes in the external environment. More specifically, a computer system, a control system, a control method, and a control program capable of performing control related to system components, task arrangement, data arrangement, or data structure of a computer system based on future access characteristics to data The purpose is to provide.
  • the control system is a characteristic estimation means for estimating the characteristics of a task or data based on characteristic estimation source data related to a task operating on a computer system to be controlled or data held by the computer system. And one or more control execution means for performing stop / operation control on the system components of the computer system, changing the task placement, changing the data placement or changing the data structure according to the issued control command, and by the characteristic estimation means
  • a control strategy to be executed based on the operation status of the computer system at a predetermined or specified time in the future derived from the estimated task or data characteristics stop / operation control and task for the system components of the computer system Change placement, change data placement, data structure Control strategy determining means for determining the control processing contents combining any one or more of the changes of the control, and a control instruction for issuing a control command to the control execution means in accordance with the control processing contents determined by the control strategy determining means And issuing means.
  • the computer system is a characteristic estimation means for estimating a characteristic of a task or data based on characteristic estimation source data which is information related to a task operating on the computer system or data held by the computer system.
  • one or more control execution means for performing stop / operation control on the system components of the computer system, changing task placement, changing data placement, or changing data structure in accordance with the issued control command, and characteristic estimation means
  • control strategy to be executed based on the operation status of the computer system at a predetermined or specified time in the future derived from the task or data characteristics estimated by Change of arrangement, change of data arrangement, data structure
  • Control strategy determining means for determining the control processing contents combining any one or more of the further, and control instruction issuing for issuing control instructions to the control execution means in accordance with the control processing contents determined by the control strategy determining means Means.
  • control method provides a task or data characteristic based on characteristic estimation source data that is information related to a task operating on a computer system to be controlled or data held by the computer system.
  • a control strategy to execute based on the computer system's operational status at a predetermined or specified time in the future derived from the estimated task or data characteristics -Determine the control processing content that combines any one or more of operation control, task allocation change, data allocation change, and data structure change, and in accordance with the determined control processing content, to the system components of the computer system Stop / operation control, task placement change, data placement change or For one or more control execution means for changing the data structure, and issues a control command.
  • control program allows a computer to execute a task or a task based on characteristic estimation source data that is information related to a task operating on a computer system to be controlled or data held by the computer system.
  • the system of the computer system as a control strategy to be executed based on the operation status of the computer system at a predetermined or specified time in the future derived from the process of estimating the characteristics of the data, the estimated task or the characteristics of the data Processing for determining control processing contents combining any one or more of stop / operation control for component, task placement change, data placement change, data structure change, and computer according to the determined control processing content Stop / operation control for system components Changing Task arrangement, for one or more control execution means for changing the change or the data structure of the data arrangement, characterized in that to execute a process for issuing a control command.
  • the present invention estimates the characteristics of data and tasks using arbitrary characteristic estimation source data, and uses data or task characteristic models with similar characteristics when the characteristic estimation source data is insufficient. It is characterized by tentatively estimating characteristics of target data or tasks. Further, the present invention is characterized in that control execution is determined using the model information and information from an external information source, and a control command is issued to each component of the system.
  • FIG. 1 is a block diagram illustrating a configuration example of a control system of a computer system according to an embodiment of this invention.
  • the control system of the computer system shown in FIG. 1 includes four types of control strategy execution as a data / task characteristic estimation unit 1, a characteristic record management unit 2, a control strategy determination / command issue unit 3, and a control strategy execution unit group 4.
  • Means that is, system component element control execution means 41, task arrangement strategy control execution means 42, data arrangement strategy control execution means 43, and data structure strategy control execution means 44).
  • the data / task characteristic estimation means 1 estimates the data held and managed by the computer system to be controlled and the characteristics of the task processed on the computer system.
  • the data / task characteristic estimation unit 1 includes a characteristic estimation source data acquisition / holding unit 11 and a characteristic estimation process execution unit 12. These may be implemented as software operating on a computer. Further, the data / task characteristic estimation means 1 may include a plurality of characteristic estimation source data acquisition / holding means 11 and a plurality of characteristic estimation processing execution means 12.
  • a task refers to a processing execution unit of an application or service realized on a computer system to be controlled.
  • data characteristics or task characteristics may include current or future usage or behavior of the data or task (e.g., when it will be executed, when it will be accessed), and the tendency of access to that data (e.g., Read excessive, Write excessive, sequential access, random access).
  • a method, a calculation formula, and a calculation program for expressing these data and task characteristics are called a characteristic model.
  • the characteristic estimation source data acquisition / holding means 11 acquires and stores (stores) data for performing characteristic estimation (characteristic estimation source data).
  • the characteristic estimation source data acquisition / holding unit 11 is realized by, for example, software that acquires data and task history logs, software that records the history logs, and a recording medium.
  • the characteristic estimation source data may be data indicating one end of a task or data characteristic such as information indicating an actual usage state, and no special requirement is provided.
  • the characteristic estimation source data may be at least data related to the estimation target data or task.
  • the characteristic estimation processing execution means 12 estimates the characteristic model representing the characteristics of the data or the task using the data (history log etc.) stored in the characteristic estimation source data income / holding means 11, and the estimation result Is stored in the characteristic record management unit 2. Note that only one or more characteristic models are held on the system. Note that the characteristic model to be an estimation candidate may be prepared in advance or may be generated by the model generation unit 123 described later during the execution of the estimation process.
  • the characteristic estimation processing execution unit 12 uses, for example, the characteristic estimation source data obtained from the characteristic estimation source data acquisition / holding unit 11, and uses the most as one of one or more arbitrary characteristic models as future data and task characteristics. Choose a suitable model, or a combination of such characteristic models. As the selection criterion, the probability of the characteristic model, that is, the degree (likelihood) suitable for the model representing not only the present data but also the future characteristic of the data or task as the estimation target is used.
  • the “likelihood” includes a likelihood (function) obtained by capturing a numerical value indicating the value as a function.
  • the characteristic record management unit 2 holds and manages characteristic information that is information of the characteristic model estimated by the characteristic estimation processing execution means 12.
  • the characteristic record management unit 2 is realized by, for example, database software, a computer that operates the database software, and a storage medium.
  • FIG. 2 is a block diagram showing a more detailed configuration example of the characteristic estimation processing execution means 12.
  • the characteristic estimation process execution unit 12 may include a matching model finding unit 121, a model set recording unit 122, and a model generation unit 123.
  • the conforming model finding means 121 selects a characteristic model or combination of characteristic models most suitable for the target data or task from the characteristic model group stored in the model set recording unit 122 as the conforming model.
  • the matching model finding unit 121 receives data from the property estimation source data acquisition / holding unit 11, performs likelihood calculation, and selects a characteristic model showing the best likelihood above a threshold as a matching model.
  • the adaptive model selected in this way is stored in the characteristic record management unit 2 as a characteristic model estimation result.
  • the model set recording unit 122 holds and manages information on characteristic models that are candidates for likelihood calculation, that is, characteristic models that are candidates for data or task characteristic models of the system to be controlled.
  • the model set recording unit 122 is realized by, for example, database software, a computer that operates the database software, and a storage medium.
  • the model generation unit 123 generates a new model and stores it in the model set recording unit 122 when there is no model suitable for the characteristic estimation source data in the existing characteristic model. Note that this system can also be configured by omitting the model generation means 123.
  • FIG. 3 is a block diagram showing another configuration example of the characteristic estimation processing execution means 12.
  • the characteristic estimation process execution unit 12 may include a model set recording unit 122, a class matching state model finding unit 124, and a data matching model finding unit 125.
  • FIG. 2 the configuration example of FIG. 2 described above is based on the premise that there is a one-to-one correspondence between the data or task whose characteristics are to be estimated and the corresponding characteristic model. However, there are cases where it is better not to treat data or tasks and characteristic models as one-to-one, but treat data or tasks as a set. For example, when the access time zone for data is determined for each user, it is expected that a characteristic model should be applied to each metadata (for example, the owner user) attached to such data. .
  • class such a set of data is referred to as a “class” in the present invention.
  • the class include a user, a group, or a similar set clustered by content similarity (for example, a document describing a topic of XX).
  • the class conformity state model finding means 124 selects an appropriate characteristic model or a combination of the characteristic models from the characteristic model group stored in the model set recording unit 122, similarly to the conforming model finding means 121 shown in FIG. To do.
  • the class conformity state model finding unit 124 receives data from the property estimation source data obtaining / holding unit 11, performs likelihood calculation, and selects a characteristic model that shows the best likelihood above a threshold as an application model.
  • the class conformity state model finding unit 124 stores the characteristic model thus selected in the characteristic record management unit 2 as an estimation result.
  • the likelihood calculation of the adaptive characteristic model is not performed for each data, but using the characteristic estimation source data of the data set belonging to the class to which the data that is the target of characteristic estimation belongs, A matching characteristic model for the class is found (estimated) and stored in the characteristic record management unit 2.
  • the data matching model finding unit 125 calculates a characteristic model for each data from the characteristic model found by the class matching state model finding unit 124. Data may belong to multiple classes. Therefore, the data matching model finding unit 125 estimates a characteristic model for each data using a method such as taking the sum of the matching characteristic models or selecting a model with the highest likelihood. The data matching model finding unit 125 may analyze individual characteristic estimation source data of the target data, and may estimate a data-specific characteristic model if it is not suitable for any of the class matching models.
  • the characteristic record management unit 2 holds and manages characteristic information (in this embodiment, characteristic model) estimated by the characteristic estimation processing execution means 12.
  • the characteristic record management unit 2 is realized by, for example, database software, a computer that operates the database software, and a storage medium.
  • FIG. 4 is an explanatory diagram showing an example of a data holding format of the characteristic record management unit 2.
  • the characteristic record management unit 2 may store an identifier (“Oid”) that specifies data and a characteristic model (“compatible state model”) that matches the identifier.
  • Oid identifier
  • compatible state model characteristic model
  • characteristic models A and B are characteristic models expressing states 1 and 2, respectively.
  • the characteristic model A (state 1) is a model like a linear equation indicating the characteristic that the access amount increases in proportion to time
  • the characteristic model B (state 2) has many accesses during the day. It may be a model such as a trigonometric function showing characteristics such that there are few nights.
  • the characteristic model information is not stored as it is, but may be stored as one-stage converted information (information on a control instruction that can be derived using the characteristic model).
  • FIG. 5 is an explanatory diagram showing another example of the data holding format of the characteristic record management unit 2. For example, a control that estimates a time zone (Idle time zone) in which future data is not used, stores the unused time in a specific node, and stops the specific node in the time zone. When performing the above, information on the Idle time zone may be stored for each data identifier. Thereby, the calculation at the time of control becomes easy.
  • Idle time zone time zone in which future data is not used
  • Idle time zone information can be derived from the estimated characteristic model (in this example, “characteristic model A”). Accordingly, such calculation for derivation only needs to be performed before the storage in the characteristic record management unit 2.
  • the control strategy determining / command issuing means 3 determines a control strategy that meets the conditions based on the data or task characteristic information estimated by the data / task characteristic estimating means 1 and performs control to execute the determined control strategy.
  • a control command is issued to the strategy execution means group.
  • the control strategy determination / command issuing means 3 includes a control strategy determination / command issuing means 31.
  • the control strategy determination / command issuing means 31 is a control strategy execution means provided in the system for determining a control strategy using the characteristic information stored in the characteristic record management unit 2 and providing a control instruction based on the control strategy. It is appropriately issued to the system component control execution means 41, the task arrangement strategy control execution means 42, the data arrangement strategy control execution means 43, and the data structure strategy control execution means 44.
  • the control strategy determination / instruction issue means 31 is realized by software operating on a computer, for example.
  • the control strategy execution means group 4 is realized by, for example, software that runs on a computer and hardware such as a computer device that is controlled in conjunction with the software.
  • the physical operation execution location of the control strategy execution means 41 to 44 varies depending on the application system.
  • the control strategy execution means 41 to 44 need not necessarily be configured to operate on the same computer.
  • a plurality of control strategy execution means 41 to 44 may exist, and in such a case, each may operate on a different computer.
  • the control strategy execution means 41 to 44 may be any means that can actually control the system to be controlled, and any method for mounting the means may be used.
  • a configuration provided in the control target system may be used, or a configuration provided in another system (such as a management system for managing the control target system) different from the control target system may be used.
  • the other system refers to another system having a function such that the state of the control target system is changed by controlling the other system.
  • the system component control execution means 41 controls the operating state of the elements constituting the system to be controlled (hereinafter referred to as system component elements) in accordance with the control command from the control strategy determination / command issuing means 31.
  • system component elements include software that changes an operation mode defined in ACPI (Advanced Configuration and Power Interface) in a node computer constituting a distributed computer system.
  • the system component to be controlled may be not only a computer but also a smaller unit such as a hard disk. For example, stopping the rotation of the platter by the driver software on the hard disk or stopping the power supply of the entire hard disk also corresponds to the control of the system components.
  • changing the rotation frequency of the CPU or starting and stopping the GPU board also corresponds to the control of the system components.
  • the task placement strategy control execution means 42 determines which of the system components to execute a task executed on the system, The method (determination destination) is controlled.
  • the task allocation strategy control execution means 42 controls the task allocation method for the task allocation function unit (software) in the distributed computer system.
  • the task placement strategy control execution means 42 sets an operation algorithm when a plurality of task assignment algorithms are implemented in software.
  • the task allocation strategy control execution means 42 may be changed from a setting assigned by the round robin algorithm to a setting for changing the assignment ratio depending on the load state of each node being measured.
  • a method of preferentially allocating a node storing data used by a task may be considered.
  • task placement determination control it may be possible to enable control such as changing the placement node according to an identifier assigned to a task.
  • a placement node for example, a node on which hardware (such as GPGPU or GPGA) capable of executing a specific process at high speed or a node on which software with high-speed processing is installed is installed.
  • the identifier given to the task may be given by any job execution middleware, for example.
  • the data arrangement strategy control execution means 43 determines in which system component the data is stored in the realized system according to the control command from the control strategy determination / command issuing means 31. It should be noted that the determination of the data storage destination preferably includes a function of moving the arranged data or increasing the number of replicas.
  • the data placement strategy control execution means 43 is realized by software for placing data in a distributed storage system, for example. Further, for example, in the data arrangement algorithm of the distributed storage system, it can be realized by mounting a plurality of arrangement algorithms and changing which one is used.
  • the data arrangement strategy control execution unit 43 receives a data movement command from the control strategy determination / command issuing unit 31 and executes various control processes such as a process of moving data.
  • the data structure strategy control execution means 44 changes the method of determining the storage method for the means for determining which structure is used when data can be stored in a plurality of structures in the computer system. , Change the storage method of existing data.
  • An instruction to change the storage data storage method is issued to the data structure strategy control execution means 44 by the control strategy determination / instruction issue means 31, and the data structure strategy control execution means 44 executes the data storage method in accordance with the instructions.
  • the data structure strategy control execution means 44 executes processing such as storing data stored in the hard disk on the memory, or changing the stored database (data migration).
  • FIG. 6 is a block diagram showing a more detailed configuration example of the control strategy determination / command issuing means 31.
  • the control strategy determination / instruction issue means 31 may include an instruction issue means 311, a processing rule pair control process content storage unit 312, an information acquisition means 313, and a condition determination means 314. Good.
  • the instruction issuing means 311 is a system component control execution means 41, a task placement strategy control execution means 42, a data placement strategy control execution means 43, a data structure strategy, which are four types of control strategy execution means provided in the system.
  • a control command is actually issued to the control execution means 44.
  • the instruction issuing unit 311 generally transmits an instruction to each of the strategy control execution units 41 to 44 operating on a computer different from the computer on which the instruction issuing unit 311 operates via a network interface.
  • the control command to be issued is passed from the condition determining unit 314 to the command issuing unit 311.
  • the processing rule pair control processing content storage unit 312 is a storage device that stores a condition (rule) for performing arbitrary control and information on control command content in association with each other. Note that a rule pair control processing content input / output unit 315 may be further provided as means for editing the contents of the processing rule pair control processing content storage unit 312.
  • the information acquisition unit 313 acquires information necessary for the condition determination by the condition determination unit 314 from the characteristic record management unit 2 and the other information management unit 21. Information such as what information is acquired from where may be determined in advance by a setting file or the like. The information acquisition unit 313 acquires not only information indicating the status of the computer system to be controlled but also information indicating the real-world status that can be acquired via the other information management unit 21, for example.
  • the other information management unit 21 is any information holding unit or information providing unit other than the characteristic record management unit 2.
  • Examples of information provided by the other information management unit 21 include the following. -Weather forecast-Power information of the data center where the system is operating-Load information of the computer nodes that make up the system-Log information of any services that run on the computer nodes that make up the system-On the WWW (World Wide Web) Information (such as services called web pages, microblogs) ⁇ TV broadcast contents, TV broadcast caption information
  • the system can be flexibly adapted to changes in the real world.
  • the condition determination unit 314 uses the contents of the processing rule pair control process content storage unit 312 and the information obtained from the information acquisition unit 313 to store the characteristics of each task or each data stored in the characteristic storage management unit 2. Based on the model, it is determined whether or not the control processing content stored in the processing rule pair control processing content storage unit 312 should be executed as a control strategy. Specifically, the condition determination unit 314 stores the status indicated by the information obtained from the information acquisition unit 313 (including not only the system status but also the real world status) in the processing rule pair control processing content storage unit 312. A control strategy to be executed is determined by determining whether or not a condition (rule) for performing arbitrary control is satisfied. When the condition determining unit 314 determines that the condition is satisfied, the condition determining unit 314 issues an instruction to each of the strategy control executing units 41 to 44 so that the instruction issuing unit 311 executes the control content indicated by the control processing content. Ask.
  • control conditions rules
  • control processing contents are described with examples.
  • a case where a recent node with a small access amount is stopped for power saving will be described as an example.
  • a rule “when there is a node whose access amount in the most recent time is below a certain value” applies.
  • the control instruction set (control processing content) is “stop nodes whose access amount is below a certain value”.
  • the operation is provided as access log information for each node as the other information management unit 21, and the information acquisition unit 313 acquires the access log information. Then, the condition determination unit 314 detects a node whose access amount in the latest ⁇ time is equal to or less than a certain value from the access log information.
  • the control instruction set is issued to the strategic control execution means that can control the target node.
  • the instruction issuing unit 311 instructs the system component element control execution unit 41 (for example, a power control program) that can control the node No. 1 to stop the power supply. Issue.
  • the determination as to whether or not the conditions for performing the control are met not only uses the information obtained from the information acquisition unit 313 directly, but also a certain time in the future (a time specified by a rule, a predetermined time, etc.) Is determined together with the situation of the control target system derived by fitting to the characteristic model. For example, a condition for performing control by assigning a variable name to data obtained by the information obtaining unit 313 in advance or time information (or elapsed time from the present time) indicating a certain date and time in the future to the characteristic model. By giving conditional expressions expressed using these variables, the condition determining means 314 can determine whether or not the control target system matches the conditions for controlling at that time by function calculation. It may be.
  • condition for performing control in addition to the conditional expression, date / time information as a determination criterion, data to be used, information indicating a task identifier or range, and the like may be given. Further, not the conditional expression but the determination processing program itself may be given to the system. For example, an address where the determination processing program is actually stored may be given as rule information, and the condition determination means 314 may execute the determination processing program.
  • the characteristic model of the data held by the node 1 is acquired from the characteristic record management unit 2, and the data identifier (the above data A) having a high data access probability is extracted from the acquired characteristic model. Then, a process for instructing the data placement strategy control means 34 to move the data A to another node may be added before node 1 stops.
  • the command issuing means 311 may instruct the task placement strategy control executing means 42 to use a node other than node 1 as the task placement strategy related to the data A. Further, the command issuing means 311 does not necessarily move the data, but only READ as the characteristic model of the data A, that is, if it is known that the access method to the data A is limited to the READ, the data A An instruction may be issued to the data placement strategy control unit 34 and the task placement strategy control execution unit 42 so that the READ target node is a different node.
  • the control strategy determination instruction issue means 31 is a system component control execution means 41, a task placement strategy control means 33, a data placement strategy control execution means 43, and a data structure strategy control execution.
  • system control such as power saving can be performed.
  • the processing rule pair control processing content storage unit 312 can hold a plurality of rules as described above. Each rule may be stored in association with a corresponding control instruction set.
  • the rule there is system control such that when a product name handled in TV caption information is displayed in a shopping site of a certain product, resources of the shopping site are increased.
  • the rule is “when a specific product name is detected in the external information recording unit that is subtitle information of TV”, and the control instruction set is “increase the number of computers for shopping sites (increase computer nodes, load Change the data placement algorithm to be distributed, distribute the shopping site data, create replicas for load balancing, and change the task placement algorithm for the shopping site to accommodate the increased number of computers) ” This is true.
  • the rule is “the power consumption monitor value of the entire data center has been recorded above a certain level”
  • the control instruction set is “degenerate the number of operation computers (task data supported by nodes with low load). It is also possible to consolidate to other nodes, that is, change the data arrangement and task arrangement to increase the number of nodes that can be stopped, and issue a node stop instruction). In this way, power saving can be achieved.
  • FIG. 7 is a flowchart illustrating an example of a process flow of the characteristic estimation process of the present embodiment.
  • the characteristic estimation process is executed periodically, for example.
  • the execution cycle may be any time.
  • step S101 data (characteristic estimation source data) used when performing characteristic estimation while an arbitrary service or computer operating on a computer system to be controlled by the control system of the present embodiment executes a predetermined function.
  • Generate step S101 in FIG. 7.
  • an access log to a storage node generated (updated) when a storage access occurs in a distributed storage system can be cited.
  • Step S101 is regularly executed irrespective of the characteristic estimation process in the control system. Therefore, the characteristic estimation process starts substantially from step S102.
  • the characteristic estimation source data acquisition / holding means 11 acquires the characteristic estimation source data generated in step S101 at a predetermined timing (such as regular or updated timing) (step S102).
  • a predetermined timing such as regular or updated timing
  • the software that implements the characteristic estimation source data acquisition / holding unit 11 performs the storage access log data reading process described above.
  • the characteristic estimation source data is not limited to storage access log data, and is not limited to one type.
  • the characteristic estimation process execution means 12 uses the characteristic estimation source data obtained in step S102 to perform tasks on the computer system to be controlled and data held by the system.
  • a characteristic model expressing the characteristic is estimated (calculated) (step S103). Details of step S103 will be described later.
  • the characteristic estimation processing execution unit 12 associates the task or data that is the target of characteristic estimation with characteristic model information that is information indicating the estimated characteristic estimation model (characteristic model). Then, it is recorded in the characteristic record management unit 2 (step S104).
  • the characteristic estimation process execution unit 12 writes (updates) the content of the estimated characteristic model in, for example, a database that implements the characteristic record management unit 2.
  • steps S102 to S104 are repeatedly executed.
  • FIG. 8 is a flowchart showing an example of a more detailed processing flow of the feature model estimation processing (step S103 in FIG. 7).
  • the matching model discovery unit 121 of the characteristic estimation process execution unit 12 first receives the characteristic estimation source data from the characteristic estimation source data acquisition / holding unit 11 (step S201), and the task or data to be estimated In step S202, it is determined whether or not there is characteristic estimation source data of a certain amount or more. Here, if there is characteristic estimation source data of a certain amount or more, the process proceeds to step S203, and if not, the process proceeds to step S209.
  • the matching model finding unit 121 acquires information on candidate characteristic models from the model set recording unit 122 (step S203). Then, the matching model finding unit 121 performs likelihood calculation using the acquired characteristic estimation source data for each acquired model and each combination of models (step S204). Next, the matching model finding unit 121 determines whether any of the calculated likelihoods is equal to or greater than a predetermined threshold value (step S205). If there is one or more models with a likelihood equal to or greater than the threshold, the matching model finding unit 121 selects the model with the best likelihood among them as the characteristic model of the task or data that is the current estimation target (step S206). ). If there is no model with a likelihood equal to or greater than the threshold, the model generation unit 123 creates a new model from the characteristic estimation source data and records it in the model set recording unit 122 (step S207).
  • step S208 the model information selected or estimated in steps S206, S207, and S209 is recorded in the characteristic record management unit 2 in association with the data or task information that is the estimation target. If there is no model generation unit 123, the characteristic may be unknown in step S207, and information indicating the characteristic unknown may be recorded in the characteristic record management unit 2. Further, for example, a characteristic model for characteristic unknown data / characteristic unknown task may be prepared and recorded.
  • step S209 a process of temporarily applying some model is performed.
  • the following are examples of the provisional model determination process.
  • a model for unknown characteristics is prepared, which is provisionally applied. This may be the same as the case where there is no model generation unit 123 described above.
  • ⁇ ⁇ ⁇ Others are methods that apply a conforming model of other data or tasks from the data given to the estimation target or metadata attached to the tasks. For example, any suitable model of data or task to which the same metadata is assigned may be selected. Further, for example, in the case of a task exclusively for data or data access, the same conformity model as that of data having similar contents may be applied by comparing the content similarity of data.
  • FIG. 9 is a flowchart illustrating an example of a processing flow of control strategy determination / execution processing according to the present embodiment.
  • the information acquisition unit 313 acquires information from the characteristic record management unit 2 and other information management unit 21 and passes the information to the condition determination unit 314.
  • the information acquisition unit 313 acquires various pieces of information from the characteristic record management unit 2 and other information management units 21 according to a predetermined method, for example.
  • the condition determination unit 314 may request the information acquisition unit 313 to acquire necessary information based on the condition (processing rule) stored in the processing rule pair control processing content storage unit 312.
  • condition determination unit 314 passes information for specifying necessary information described in the rule to the information acquisition unit 313, and the information acquisition unit 313 performs the characteristic record management unit 2 based on the information.
  • information may be acquired from other information management unit 21.
  • the condition determination means 314 determines whether the passed information or the computer system or other situation indicated by the information is suitable for any of the conditions stored in the processing rule vs. control processing content storage unit 312. Determination is made (step S302). If the condition is met (Yes in step S303), the condition determining unit 314 determines the control processing content with the highest priority among the matched conditions as a control strategy to be executed, and controls the instruction issuing unit 311 to control it. Request to issue an order. In response to the request from the condition determining unit 314, the command issuing unit 311 issues necessary control commands to the strategy control executing units 41 to 44 in accordance with the control processing content determined as the control strategy to be executed (step S304). ).
  • step S303 if there is no matching condition (No in step S303), the process is terminated without doing anything.
  • FIG. 10 is a block diagram illustrating a configuration example of the present embodiment.
  • the distributed storage system control system shown in FIG. 10 includes a network 500, data node computers 51 (51-1 to 51-3), a characteristic record DB node computer 54, a control command node computer 55, and a job scheduler computer 56. And a meta database node 57.
  • the network 500 is a network that connects elements (computers) constituting the system, and is realized by Ethernet (registered trademark) or the like. All other computers are IA servers equipped with a CPU and a storage device.
  • a program or software is shown as one of the components of the present embodiment, but the program or software more specifically refers to a CPU that operates according to the program. To do. Therefore, when the expression “XX program does” is used, it means that the CPU provided in the computer executes processing related to the operation according to the program.
  • the data node computer 51 is a computer that performs the function of holding the data of the distributed storage system.
  • the data node computer 51-1 includes a distributed storage server realization program 511, an access log acquisition unit 512, an access log recording unit 513, a data recording unit 514, a data structure control unit 515, a data movement unit 516, a data Node computer power supply control means 517.
  • the other data node computers 51 (51-2 and 51-3 in this example) have basically the same configuration as the data node computer 51-1, but may have different configurations. .
  • the distributed storage server realization program 511 is a program for realizing a distributed storage node in the data node computer, and is a program for processing a data access request from a client.
  • the access log acquisition means 512 is a program that generates and records an access log that is a history of access to the distributed storage node (more specifically, the data recording unit 514 provided in the data node computer).
  • the access log recording unit 513 is a storage medium that stores the access log generated by the access log acquisition unit 512.
  • the access log acquisition unit 512 and the access log recording unit 513 correspond to an example of the characteristic estimation source data acquisition / holding unit 11 described above.
  • the data recording unit 514 is a storage medium and software that actually stores data held and stored in the distributed storage.
  • the data structure control unit 515 is software that controls the storage format of the data stored in the data recording unit 514 in accordance with instructions from the control command issuing unit 551 of the control command node computer 55.
  • the data structure control means 515 corresponds to an embodiment of the data structure strategy control execution means 44 described above.
  • the data moving means 516 is software that performs a process of moving the data stored in the data node computer 51 to another node.
  • the data moving means 516 includes communication means for exchanging data with other data node computers 51.
  • the data moving unit 516 corresponds to an example of a part of the above-described data arrangement strategy control executing unit 43 (in this example, the movement source side). Further, in this embodiment, it is assumed that the information held and managed by the access destination determination unit 571 of the meta-database node 57 needs to be changed at the time of data movement.
  • the data node computer power supply control means 517 is a program for shifting a node to a stopped state (or starting another node) using an OS command of the data node computer 51 or the like.
  • the data node computer power supply control means 517 corresponds to an embodiment of the system component control execution means 41 described above.
  • the characteristic record DB node computer 54 is a computer that performs the functions of the characteristic recording unit 2 and the characteristic estimation processing means 12.
  • the characteristic record DB node computer 54 includes an estimation processing unit 541, a DB access processing unit 542, and a characteristic record management DB 543.
  • the characteristic estimation processing means 541 is a program that operates on the characteristic record DB node computer 54, and estimates a characteristic model for each data and job on the distributed storage system to be controlled.
  • the characteristic estimation processing unit 541 corresponds to an embodiment of the characteristic estimation processing unit 12 described above.
  • the characteristic record management DB 543 is a storage medium and database infrastructure software that stores data and jobs on the distributed storage system in association with their identifiers and characteristic model information.
  • the DB access processing means 542 is an access program for the database. In the present embodiment, the characteristic recording management DB 543 and the DB access processing means 542 realize the characteristic recording unit 2.
  • the control command node computer 55 is a computer that realizes the control strategy determination / command issue means 31. More specifically, the control command issuing unit 551 performs the process. Although not shown, it is assumed that the control command issuing unit 551 has the configuration shown in FIG. 6, for example.
  • the job scheduler computer 56 is a computer that performs a process of assigning a job to be processed on the distributed storage system to be controlled to each computer. Actually, the task assignment means 561 performs the processing.
  • the job scheduler computer 56 includes task allocation strategy control means 562 in addition to task assignment means 561.
  • the task allocation strategy control unit 562 is instructed by the control command issuing unit 551 of the control command node computer 55 and performs control related to job allocation (task allocation) to the task allocation unit 561.
  • the task placement strategy control means 562 corresponds to an embodiment of the task placement strategy control execution means 33 described above.
  • the meta database node 57 is a computer that determines the access destination of the distributed storage, and the access destination determination means 571 is software that performs its function. As a specific example, the access destination determination unit 571 calculates a data node that is actually stored from a global file path, or calculates a node to be accessed from a global block address.
  • the information acquisition means 313 of the control instruction issuing means 551 of the control instruction node computer 55 sends information indicating what data is stored for each node to the other information management unit 21. Acquired from the access destination determination means 571 of the corresponding meta database node 57. When the data list for each node is acquired, future access amount information for each data is calculated from the characteristic model for each data. At this point, it is assumed that the characteristic model has already been estimated based on the access log for each data and each job.
  • the control command issuing unit 551 (more specifically, the information acquiring unit 313) of the control command node computer 55 searches the characteristic record management DB 543 via the DB access processing unit 542 of the characteristic record DB node computer 54 for each data. And obtain a characteristic model.
  • the control command issuing unit 551 (more specifically, the condition determining unit 314) calculates the future access amount (access amount of the latest ⁇ time) of each data using the acquired characteristic model.
  • the future access amount may be calculated in advance.
  • the future access amount information for each data is not calculated by acquiring the characteristic model, but is searched from the table calculated and held when the characteristic model is estimated, for example, as shown in FIG. Get it.
  • FIG. 11 is an explanatory diagram showing another example of characteristic information stored in the characteristic record management DB 543.
  • FIG. 11 shows an example in which access amount information at a future time is stored for each data.
  • the access amount of the latest ⁇ time is calculated for each node, and it is determined whether or not the result is below a specified constant value. That's fine. As a result, if there is a node that is below a certain value, it is assumed that the condition is met. What is necessary is just to determine as a control strategy which performs the control processing content with the highest priority among the conditions finally matched.
  • the rule “when there is a node whose access amount is less than a certain value in recent ⁇ time” is “predicting access before stopping the node, stopping the node whose access amount is less than a certain value”
  • the control command issuing unit 551 executes the control processing content to be executed. Determine as a strategy and issue necessary control instructions.
  • the control command issuing means 551 again calculates the access tendency (accessed presence / absence of access) from the characteristic model of the data to the future time for the data stored in the data computer node 51-1, If there is expected data, a control instruction to that effect is issued to the data moving means 516 in order to move the data to another node (other data computer nodes 51-2, 51-3, etc.). At that time, the control command issuing unit 551 issues a control command for changing the information to be stored and managed to the access destination determining unit 571 of the meta database node 57.
  • control command issuing unit 551 issues a control command to the task allocation strategy control unit 562 in the job scheduler computer 56 so as not to assign a task to the data computer node 51-1.
  • control command issuing means 551 issues a power stop command to the data node computer power control 517 of the data computer node 51-1.
  • control rules such as “when there is data that will not be accessed for a certain time in the future” and “compress the relevant data”, and if it is the control processing content with the highest priority,
  • the control command issuing unit 551 issues a control command for compressing the corresponding data as a data structure change command to the data structure control unit 515.
  • control execution means classified into four types according to the control target are used.
  • present invention is not limited to this, and there may be at least one type of desired control execution means.
  • FIG. 12 is a block diagram showing an outline of a control system according to the present invention.
  • the control system according to the present invention includes characteristic estimation means 701, one or more control execution means 702, control strategy determination means 703, and control command issue means 704.
  • the characteristic estimation unit 701 (for example, the characteristic estimation process execution unit 12) is configured to execute a task or a task based on characteristic estimation source data related to a task operating on a computer system to be controlled or data held by the computer system. Estimate the characteristics of the data.
  • the control execution means 702 (for example, the system component control execution means 41, the task arrangement strategy control execution means 42, the data arrangement strategy control execution means 43 or the data structure strategy control execution means 44) is executed by the computer according to the issued control command. Stop / operate control for system components, change task allocation, change data allocation, or change data structure.
  • the control strategy determining unit 703 (for example, the control strategy determining / command issuing unit 31 and the condition determining unit 314) operates the computer system at a future time derived from the task or data characteristics estimated by the characteristic estimating unit 701. As a control strategy to be executed based on the situation, one or more of stop / operation control, task allocation change, data allocation change, and data structure change for the system components of the computer system to be controlled The content of the control process combining the above is determined.
  • the control command issuing unit 704 (for example, the control strategy determining / command issuing unit 31 and the command issuing unit 311) issues a control command to the control execution unit 701 according to the control processing content determined by the control strategy determining unit 706.
  • FIG. 13 is a block diagram showing another configuration example of the control system according to the present invention.
  • the control system according to the present invention has four types of control: system component control execution means 721, task placement control execution means 722, data placement control execution means 723, and data structure control execution means 724.
  • Execution means 702 may be provided.
  • the control instruction issuing unit 704 according to the control processing content determined by the control strategy determining unit 706, task allocation control execution unit 702, task allocation control execution unit 703, data allocation control execution unit 704, A control command may be issued to the data structure control execution unit 705.
  • the system component control execution unit 722 (for example, the system component control execution unit 41) performs stop / operation control on the system component of the computer system to be controlled.
  • Task allocation strategy control execution unit 723 (for example, task allocation strategy control execution unit 42) changes the task allocation of the computer system to be controlled.
  • the data arrangement strategy control execution means 724 (for example, the data arrangement strategy control execution means 43) changes the data arrangement of the computer system to be controlled.
  • Data structure strategy control execution means 725 changes the data structure of the computer system to be controlled.
  • the control system further includes external environment information acquisition means (for example, information acquisition means 313) that acquires external environment information that is information indicating the real-world situation from a predetermined information source, and the control strategy determination means includes characteristic estimation. Based on the condition of the computer system at a future time derived from the task or data characteristics estimated by the means and the real-world situation indicated by the external environment information acquired by the external environment information acquisition means The control strategy to be executed may be determined.
  • external environment information acquisition means for example, information acquisition means 313
  • control system includes a condition pair control process content storage unit (for example, process rule pair control process content storage unit 312) that associates the control process contents to be executed as the control strategy with the conditions for executing the control process contents.
  • the control strategy determining means is indicated by the operating status of the computer system at a future time, derived from the task or data characteristics estimated by the characteristic estimating means, or external environment information acquired by the external environment information acquiring means
  • the control strategy to be executed may be determined by determining whether the real-world situation or a combination thereof matches the condition stored in the condition-control processing content storage unit.
  • the control system also includes classifying means for classifying and classifying data or tasks held by the computer system to be controlled according to the degree of similarity with other data or tasks, and estimating characteristics.
  • the means may estimate characteristics for each class classified by the classifying means.
  • the characteristic estimation means calculates a model likelihood based on the characteristic estimation source data for one or more arbitrary characteristic models, which are models representing the use of data or tasks or behavior, and the model likelihood is predetermined.
  • the characteristics of the data or task may be estimated by selecting one characteristic model or a combination thereof that is greater than or equal to the threshold.
  • one or more computer systems to be controlled perform stop / operation control, change task arrangement, change data arrangement, or change data structure for system components of the computer system according to the issued control command.
  • the control execution means may be provided.
  • the control command issuing means may issue a control command to the control execution means included in the computer system to be controlled according to the control processing content determined by the control strategy determining means.
  • the present invention can be suitably applied to uses such as a distributed computing system, a distributed storage system, and a cloud computing back-end system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 制御システムは、特性推定元データを基に、制御対象とされたコンピュータシステム上のタスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更を行う1つ以上の制御実行手段と、推定されたタスクまたはデータの特性から導出される将来の時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、上記4種の制御のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備える。

Description

コンピュータシステム、制御システム、制御方法および制御プログラム
 本発明は、コンピュータシステム、制御システム、制御方法および制御プログラムに関する。
 近年、コンピュータシステムが扱うデータ量が増大している。そのため、大規模なコンピュータシステムにおいては、複数のストレージノードにデータが分散して格納される分散ストレージシステムが利用されている。このような技術では、データをどの計算機に配置するか、処理をどの計算機で行うかをソフトウェアや特別なハードウェアにより実現し、システムの状態に応じて動作を動的に変更することで、システム内のリソース使用量を調整してシステム利用者(クライアント計算機)に対する性能を向上させている。例えば、アクセス負荷に応じてサーバ台数を変動させ、アクセス負荷に対応するという技術がある。
 また、別の課題として、システムの大規模化による消費電力量の増大がある。特許文献1には、分散ストレージシステムにおいて、分散ストレージノードへのアクセス統計情報をもとに無アクセス確率を算出し、算出された無アクセス確率を利用してデータの再配置を行うシステムが記載されている。特許文献1に記載されているシステムは、無アクセス時間の期待値が高くなるようにデータ配置を行うことにより、個々ディスクノードが省電力モードになる時間を長くすることができる。
 また、特許文献2には、I/O(Input/Output)負荷を適切に分散する計算機システムが記載されている。特許文献2に記載されている計算機システムは、各統合デバイスに対するI/Oアクセス頻度の平均を、I/Oアクセス頻度の予想値として算出する。
 また、非特許文献1には、気温や地震などの時系列データから、そのデータの特徴を捉え表現するための時系列解析技術が記載されている。
特開2009-157571号公報 特開2008-59315号公報
北川源四郎、「時系列解析入門」、岩波書店、2005年、p.125-141.
 コンピュータシステムの制御の実現において最も本質的な課題は、ジョブ(アプリケーション)やデータを制御するための情報が不足していることにある。例えば、前述したような技術のアプローチでは、コンピュータシステムにとって未知であるデータアクセスを予測することが出来ないという問題があった。また、前述したような技術のアプローチでは、コンピュータシステムに対して前兆となる情報が無いアクセス負荷変動などには対応できないという問題があった。
 本来、コンピュータシステムは、何らかの実世界に関係するサービスを提供するものである。従って、コンピュータシステムに対する予測可能な負荷変動に対する対応は、実世界の状況を人間が監視、判断して制御を行うことが一般的であった。単純な例としては、ショッピングサイトにおいて、クリスマスシーズンに向けてサーバ能力を増強したりアプリケーションを拡張するなどが挙げられる。すなわち、コンピュータシステムの外部の環境の変化は、当該システムに近い将来に見込まれる利用形態の変化を示唆しうるものであると言える。
 しかし、近年のグローバル化や情報伝達速度の向上は、このような人手の対応が困難になっていく可能性を増加させている。例えば、地球の裏側で起きた現象がコンピュータシステムのある特定の負荷を増大させるような事象が起こりうる。
 現在のコンピュータシステムの性能問題は、データのI/O(Input/Output)に対するボトルネックが原因であることが多い。そのため、データI/Oに伴う問題を回避できれば性能問題の多くは解消し変化に適合できると考えられる。例えば、負荷の増加に対し、負荷によって引き起こされるデータI/Oが分散されるよう事前にデータを分散して格納させておく制御を実現することが考えられる。
 しかし、データI/Oの量的な観点でいえば十分と思えるような対応であっても、データへのアクセスのパターンによってデータ構造には有利不利があるため、データ構造についても制御可能であることが好ましい。また、CPU負荷を適切に平準化させ、かつデータI/Oに伴うネットワークボトルネックを引き起こさないようなタスク配置についても制御可能である必要がある。さらに、必要性能に応じた電力でシステムを動作させ続けるためには、システム構成要素に対する制御(ノードの電源を停止するなど)も可能であることが好ましい。このように、コンピュータシステムの利用形態の変化に柔軟に適合していくためには、データ配置だけでなく、データ構造、タスク配置、または、システム構成要素に対する制御を自律的に行えることが必要であると考えられる。
 すなわち、上記コンピュータシステムの問題点は、コンピュータシステムが、利用形態の変化や外部環境の変化に柔軟に適応できないことにある。その理由は、利用形態の変化や外部環境の変化に合わせて自動でシステムの稼働状態(計算機負荷、動作しているアプリケーションの特性、保持・管理しているデータの特性など)を変化させるといった、そのコンピュータシステムを利用形態へ外部環境の変化に柔軟に適応させるための制御機能を必要十分以上(そのコンピュータシステムにとって必要十分以上)に備えていないからである。
 そこで、本発明は、システムの利用形態の変化や外部環境の変化にコンピュータシステムが柔軟に適応できるようにすることを目的とする。より具体的には、データに対する将来のアクセス特性に基づいた、コンピュータシステムのシステム構成要素、タスク配置、データ配置またはデータ構造に関する制御を行うことが可能なコンピュータシステム、制御システム、制御方法および制御プログラムを提供することを目的とする。
 本発明による制御システムは、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係する特性推定元データを基に、タスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の所定または指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備えることを特徴とする。
 本発明によるコンピュータシステムは、当該コンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間における当該コンピュータシステムの稼働状況を基に、実行する制御戦略として、システム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備えることを特徴とする。
 また、本発明による制御方法は、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定し、推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定し、決定した制御処理内容に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行することを特徴とする。
 また、本発明による制御プログラムは、コンピュータに、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定する処理、推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する処理、および決定した制御処理内容に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行する処理を実行させることを特徴とする。
 本発明によれば、コンピュータシステムをその利用形態の変化や外部環境の変化に柔軟に適応させることができる。
本発明の実施形態のコンピュータシステムの制御システムの構成例を示すブロック図である。 特性推定処理実行手段の構成例を示すブロック図である。 特性推定処理実行手段の他の構成例を示すブロック図である。 特性記録管理部が保持するデータ形式の一例を示す説明図である。 特性記録管理部が保持するデータ形式の他の例を示す説明図である。 制御戦略決定・命令発行手段の構成例を示すブロック図である。 特性推定処理の処理フローの一例を示すフローチャートである。 特性モデル推定処理の処理フローの一例を示すフローチャートである。 制御戦略決定・実行処理の処理フローの一例を示すフローチャートである。 本発明の実施例である分散ストレージシステム制御システムの構成例を示すブロック図である。 実施例における特性記録管理DBに記憶される特性情報の他の例を示す説明図である。 本発明による制御システムの概要を示すブロック図である。 本発明による制御システムの他の構成例を示すブロック図である。
 まず、本発明の実施形態の概要を説明する。本発明は、任意の特性推定元データを用いてデータやタスクの特性を推定し、また、特性推定元データが不足している場合には類似特徴を備えるデータやタスクの特性モデルを利用して対象のデータまたはタスクの特性を暫定的に推定することを特徴とする。また、本発明は、このモデル情報および外部情報源の情報を用いて制御の実行可否を判定し、システムの各構成要素に制御命令を発行することを特徴とする。
 以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明の実施形態のコンピュータシステムの制御システムの構成例を示すブロック図である。図1に示すコンピュータシステムの制御システムは、データ・タスク特性推定手段1と、特性記録管理部2と、制御戦略決定・命令発行手段3と、制御戦略実行手段群4として4種類の制御戦略実行手段(すなわちシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、およびデータ構造戦略制御実行手段44)とを備える。
 データ・タスク特性推定手段1は、制御対象とされたコンピュータシステムが保持、管理するデータや該コンピュータシステム上で処理するタスクの特性を推定する。図1に示す例では、データ・タスク特性推定手段1は、特性推定元データ取得・保持手段11と、特性推定処理実行手段12とを含む。これらはコンピュータ上で動作するソフトウェアとして実装されてもよい。また、データ・タスク特性推定手段1は、特性推定元データ取得・保持手段11と、特性推定処理実行手段12とを、それぞれ複数含んでいてもよい。
 なお、タスクは、制御対象とされたコンピュータシステム上で実現するアプリケーションやサービスの処理実行単位を指す。また、データの特性またはタスクの特性は、現在または将来の当該データまたはタスクの利用や動作の傾向(例えば、いつ実行されるか、いつアクセスされるか)、当該データに対するアクセスの傾向(例えば、Read過多、Write過多、シーケンシャルアクセス、ランダムアクセス)を表すものである。これらのデータやタスク特性を表現する手法、計算式、計算プログラムを特性モデルと呼ぶ。
 特性推定元データ取得・保持手段11は、特性推定を行うためのデータ(特性推定元データ)を取得し、保持(記憶)する。特性推定元データ取得・保持手段11は、例えば、データやタスクの履歴ログの取得を行うソフトウェアとその履歴ログの記録を行うソフトウェアおよび記録媒体とによって実現される。なお、特性推定元データは、例えば、実際の使用状況を示す情報といったタスクまたはデータの特性の一端を示すデータであればよく、特別な要件は設けられていない。特性推定元データは、少なくとも推定対象とされたデータまたはタスクに関係のあるデータであればよい。
 特性推定処理実行手段12は、特性推定元データ所得・保持手段11に記憶されているデータ(履歴ログ等)を用いて、データまたはタスクの特性を表現する特性モデルの推定を行い、その推定結果を特性記録管理部2に格納する。なお、特性モデルは、1つ以上の任意の数だけ、本システム上で保持される。なお、推定候補となる特性モデルは、予め用意されていてもよいし、後述のモデル生成手段123によって推定処理の実行のなかで生成されてもよい。
 特性推定処理実行手段12は、例えば、特性推定元データ取得・保持手段11から得られる特性推定元データを用いて、1つ以上の任意の特性モデルの中から将来にわたるデータやタスクの特性として最も適したモデル、またはそのような特性モデルの組み合わせを選択する。選択基準として、特性モデルの確からしさ、すなわち当該特性モデルが推定対象としたデータまたはタスクの現在だけでなく将来にわたる特性を表すモデルとして適している度合い(尤度)が用いられる。なお、「尤度」は、その値を示す数値を関数で捉えた尤度(関数)も含む。
 特性記録管理部2は、特性推定処理実行手段12によって推定された特性モデルの情報である特性情報を保持、管理する。特性記録管理部2は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
 図2は、特性推定処理実行手段12のより詳細な構成例を示すブロック図である。図2に示すように、特性推定処理実行手段12は、適合モデル発見手段121と、モデルセット記録部122と、モデル生成手段123とを含んでいてもよい。
 適合モデル発見手段121は、モデルセット記録部122に格納される特性モデル群から、適合モデルとして、対象とされたデータまたはタスクに最も適した特性モデルまたは特性モデルの組み合わせを選択する。例えば、適合モデル発見手段121は、特性推定元データ取得・保持手段11からデータを受け取り、尤度計算を行い、閾値以上で最も優れた尤度を示す特性モデルを適合モデルとして選択する。このように選択された適合モデルは、特性モデルの推定結果として特性記録管理部2に格納される。
 モデルセット記録部122は、尤度計算の対象となる特性モデル、すなわち制御対象のシステムが有するデータまたはタスクの特性モデルの候補となる特性モデルの情報を保持、管理する。モデルセット記録部122は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
 モデル生成手段123は、既存の特性モデルの中に特性推定元データに適したモデルが無い場合に、新たなモデルを生成し、モデルセット記録部122に格納する。なお、本システムは、モデル生成手段123が省略されて構成されることも可能である。
 また、図3は、特性推定処理実行手段12の他の構成例を示すブロック図である。図3に示すように、特性推定処理実行手段12は、モデルセット記録部122と、クラス適合状態モデル発見手段124と、データ適合モデル発見手段125とを含んでいてもよい。
 なお、前述した図2の構成例は、特性の推定対象とされたデータまたはタスクとそれに適合する特性モデルが1対1であることを前提としている。しかし、データまたはタスクと特性モデルとを1対1として扱わず、データまたはタスクを集合として扱った方がよい場合がある。例えば、ユーザ毎にデータに対するアクセスの時間帯が決まっている場合、そのようなデータに付与されているメタデータ(例えば所有者のユーザ)毎に特性モデルを当てはめた方がよいことが予想される。
 そこで、データを集合として扱って、集合毎に特性モデルを割り当てる仕組みが必要である。以下、このようなデータの集合を本発明では「クラス」と呼ぶ。クラスの例としては、ユーザや、グループ、またはコンテンツ類似度でクラスタリングした類似集合(例えば、○○のトピックについて記載された文書)などが挙げられる。
 クラス適合状態モデル発見手段124は、図2に示した適合モデル発見手段121と同様に、モデルセット記録部122に格納されている特性モデル群から適切な特性モデル、またはその特性モデルの組み合わせを選択する。例えば、クラス適合状態モデル発見手段124は、特性推定元データ取得・保持手段11からデータを受け取り、尤度計算を行い、閾値以上で最も優れた尤度を示す特性モデルを適用モデルに選択する。クラス適合状態モデル発見手段124は、このように選択された特性モデルを推定結果として特性記録管理部2に格納する。ただし、本例では、データ毎に適合特性モデルの尤度計算が行われるのではなく、特性の推定対象とされたデータが所属するクラスに所属するデータ集合の特性推定元データを用いて、該クラスに対する適合特性モデルが発見(推定)され、特性記録管理部2に格納される。
 データ適合モデル発見手段125は、クラス適合状態モデル発見手段124が発見した特性モデルから、データ毎の特性モデルを計算する。データは複数のクラスに所属している場合がある。そのため、データ適合モデル発見手段125は、それらの適合特性モデルの和を取ったり、最も尤度が高いモデルを選択する等の方法を用いて、データ毎の特性モデルを推定する。また、データ適合モデル発見手段125は、対象データの個別の特性推定元データを分析し、クラス適合モデルのいずれにも適していない場合には、データ固有の特性モデルを推定してもよい。
 このように、クラスの概念が導入されることで、特性推定の計算量を削減したり、データのアクセス履歴ログが無いデータの将来アクセスを推定したりすることができる。なお、上記説明では、データ集合をクラスとして扱う例を示したが、また、そのようなデータに対する処理を行うタスクについても、同様に、データのメタデータ毎にクラス分けするなどして、タスク集合をクラスとして扱うことが可能である。そのほか、タスク集合のクラス化の他の例としては、タスクの生成元や、そのタスクが担っている機能の種類などに応じてクラス分けすることも考えられる。
 特性記録管理部2は、特性推定処理実行手段12によって推定された特性情報(本実施形態では、特性モデル)を保持、管理する。特性記録管理部2は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
 図4は、特性記録管理部2のデータ保持形式の一例を示す説明図である。図4に示すように、特性記録管理部2は、データを特定する識別子(「Oid」)と、それに適合する特性モデル(「適合状態モデル」)とを対応づけて記憶してもよい。図4では、例えば、Oid=1のデータについて、適合状態モデル=「特性モデルA」という情報が対応づけられて記憶される例が示されている。
 ここで、特性モデルA,Bは、それぞれ状態1,2を表現した特性モデルである。例えば、特性モデルA(状態1)は、時間に比例してアクセス量が増加するといった特性を示す1次方程式のようなモデルであり、特性モデルB(状態2)は、日中アクセスが多くて夜間が少ないといった特性を示す三角関数のようなモデルであってもよい。このような場合には、Oid=1のデータは特性モデルがAであるので、時間に応じてアクセス量が増えるアクセスパターンを有するデータであることがわかる。また、Oid=2のデータは特性モデルがBであるので、1日サイクルでアクセス量が変わっているアクセスパターンを有するデータであることがわかる。また、Oid=3のデータは、特性モデルがA+Bであるので、時間に応じてアクセス量が増加する傾向で、その中で1日サイクルのうちでアクセス量が増加するようなアクセスパターンを有するデータであることがわかる。
 また、図5に示すように、特性モデルの情報は、そのまま格納されるのではなく、1段階変換された情報(その特性モデルを用いて導出可能な制御指示に関する情報)にして格納されてもよい。図5は、特性記録管理部2のデータ保持形式の他の例を示す説明図である。例えば、将来のデータの使われない時間帯(Idle時間帯)を推定し、その使われない時間をある特定ノードに集中して格納して、その特定ノードをその時間帯において停止させるような制御を行う場合には、データ識別子毎にIdle時間帯の情報が格納されてもよい。これにより、制御時における計算が容易になる。図5では、例えば、Oid=1のデータについて、Idle時間帯=「10/14 daytime」という情報が対応づけられて記憶される例が示されている。なお、このようなIdle時間帯情報は、推定された特性モデル(本例の場合は、「特性モデルA」)から導出されうるものとする。従って、このような導出のための計算が、当該特性記録管理部2への格納時までに動作されればよい。
 制御戦略決定・命令発行手段3は、データ・タスク特性推定手段1によって推定されたデータまたはタスクの特性情報に基づいて条件に適合した制御戦略を決定し、決定した制御戦略を実行するために制御戦略実行手段群に対して制御命令を発行する。図1に示す例では、制御戦略決定・命令発行手段3は、制御戦略決定・命令発行手段31を含む。
 制御戦略決定・命令発行手段31は、特性記録管理部2に格納されている特性情報を用いて制御戦略を決定し、それに基づく制御命令を、当該システムが備える4種の制御戦略実行手段であるシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、データ構造戦略制御実行手段44に対して適宜発行する。制御戦略決定・命令発行手段31は、例えば、それぞれコンピュータ上で動作するソフトウェアによって実現される。
 制御戦略実行手段群4は、例えば、それぞれコンピュータ上で動作するソフトウェアと、これに連動して制御される計算機装置などのハードウェアとによって実現される。制御戦略実行手段41~44の物理的な動作実行場所は、適用システムによって異なる。例えば、制御戦略実行手段41~44は、必ずしも同一の計算機上で動作するように構成されていなくてもよい。また、制御戦略実行手段41~44はそれぞれ複数存在していてもよく、そのような場合においてそれぞれが異なる計算機上で動作してもよい。
 なお、制御戦略実行手段41~44は、それぞれ実際に制御対象システムを制御することが可能な手段であればよく、当該手段の実装方法は問わない。制御対象システムが備える構成であってもよいし、制御対象システムとは異なる他のシステム(制御対象のシステムを管理するための管理システム等)が備える構成であってもよい。なお、ここで他のシステムとは、当該他のシステムに対して制御を行うことで制御対象システムの状態等が変更されるような機能を有する他のシステムをいう。
 システム構成要素制御実行手段41は、制御戦略決定・命令発行手段31からの制御命令に応じて、制御対象のシステムを構成する要素(以下、システム構成要素という。)の動作状態を制御する。具体的な実施例としては、分散コンピュータシステムを構成するノード計算機において、ACPI(Advanced Configuration and Power Interface)に規定されている動作モードを変更するソフトウェアなどが挙げられる。制御対象のシステム構成要素は、計算機だけでなく、ハードディスクなどのより小さい単位のものであってもよい。例えば、ハードディスクをドライバソフトウェアによりプラッタの回転を停止させたり、ハードディスク全体の電源を停止させたりといったこともシステム構成要素の制御に該当する。また、CPUの回転周波数を変更したり、GPUボードの起動停止を行うことなどもシステム構成要素の制御に該当する。
 このようなシステム構成要素制御実行手段41に対して、データやタスクの特性に基づく制御戦略による制御命令が発行されることによって、省電力化や、タスクの性能向上などの効果が期待できる。
 タスク配置戦略制御実行手段42は、制御戦略決定・命令発行手段31からの制御命令に応じて、システム上で実行されるタスクをシステム構成要素のいずれで実行させるかを決定する手段に対して、その方法(決定先)を制御する。具体的な実施例としては、タスク配置戦略制御実行手段42は、分散コンピュータシステムにおけるタスク割り当て機能部(ソフトウェア)に対して、タスクの割り当て方法を制御する。例えば、タスク配置戦略制御実行手段42は、複数のタスク割り当てアルゴリズムがソフトウェア内に実装されているときに、動作アルゴリズムを設定する。例えば、タスク配置戦略制御実行手段42は、ラウンドロビンアルゴリズムによって割り当てる設定から、測定している各ノードの負荷状態に依存して割り当て比率を変更する設定に変更する、といった例が挙げられる。なお、割り当て方法の例には、この他にもタスクが利用するデータが格納されているノードを優先して割り当てる方法などが考えられる。
 また、タスク配置決定制御の他の例としては、タスクに付与された識別子によって配置ノードを変更する、といった制御を有効にするなどが考えられる。配置ノードの例としては、例えば、特定の処理を高速実行できるハードウェア(GPGPUやGPGAなど)を搭載しているノードや、高速処理実装されているソフトウェアなどがインストールされているノードが挙げられる。また、タスクに付与される識別子は、例えば、任意のジョブ実行ミドルウェアによって付与されるものであってもよい。
 データ配置戦略制御実行手段43は、制御戦略決定・命令発行手段31からの制御命令に応じて、実現するシステムにおいてデータをどのシステム構成要素に格納するかを決定する。なお、データ格納先の決定には、配置されているデータを移動したり、複製を増やしたりする機能を含むことが望ましい。
 データ配置戦略制御実行手段43は、例えば、分散ストレージシステムにおいてデータを配置するソフトウェアによって実現される。また、例えば、分散ストレージシステムのデータ配置アルゴリズムにおいて、配置アルゴリズムを複数実装しておき、そのいずれかを用いるかを変更することによっても実現可能である。なお、データ配置戦略制御実行手段43は、制御戦略決定・命令発行手段31からのデータの移動命令を受け付け、データを移動させる処理等の各種制御処理を実行する。
 データ構造戦略制御実行手段44は、例えば、コンピュータシステムにおいてデータを複数の構造で格納可能な際にどの構造を用いて格納するかを決定する手段に対し、その格納方式の決定方法を変更したり、既存のデータの格納方式を変更する。データ構造戦略制御実行手段44に対しても、制御戦略決定・命令発行手段31によって格納データの格納方式を変更する命令が発行され、データ構造戦略制御実行手段44は、その命令に従いデータの格納方式を変更する。最も単純な例としては、データ構造戦略制御実行手段44は、ハードディスクに格納されているデータをメモリ上に格納する、格納されているデータベースを変更する(データを移行する)といった処理を実行する。
 次に、制御戦略決定・命令発行手段31についてより具体的に説明する。図6は、制御戦略決定・命令発行手段31のより詳細な構成例を示すブロック図である。図6に示すように、制御戦略決定・命令発行手段31は、命令発行手段311と、処理ルール対制御処理内容格納部312と、情報取得手段313と、条件判定手段314とを含んでいてもよい。
 本例において、命令発行手段311は、当該システムが備える4種の制御戦略実行手段であるシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、データ構造戦略制御実行手段44に対して実際に制御命令を発行する。なお、命令発行手段311は、当該命令発行手段311が動作する計算機とは別の計算機で動作する各戦略制御実行手段41~44に対しては、一般にネットワークインタフェースを介して命令を送信する。発行する制御命令は、条件判定手段314から命令発行手段311に渡される。
 処理ルール対制御処理内容格納部312は、任意の制御を行う条件(ルール)と、制御命令内容の情報とを対応づけて格納する記憶装置である。なお、この処理ルール対制御処理内容格納部312の内容を編集する手段として、さらにルール対制御処理内容入出力手段315を備えていてもよい。
 情報取得手段313は、特性記録管理部2やその他の情報管理部21から、条件判定手段314が条件判定に必要な情報を取得する。なお、どのような情報をどこから取得するかといった情報は設定ファイル等により予め定めておけばよい。情報取得手段313は、制御対象のコンピュータシステムの状況を示す情報に限らず、例えば、その他の情報管理部21を介して取得可能な実世界の状況を示す情報を取得する。ここで、その他の情報管理部21は、特性記録管理部2以外の任意の情報保持手段や情報提供手段である。
 その他の情報管理部21が提供する情報の例として、例えば、次のものが挙げられる。
・天気予報
・システムが動作しているデータセンタの電力情報
・システムを構成する計算機ノードの負荷情報
・システムを構成する計算機ノード上で動作する任意のサービスのログ情報
・WWW(ワールドワイドウェブ)上に存在する情報(例えば、Webページ、マイクロブログと呼ばれるようなサービス)
・TVの放送内容を示したサービス、TV放送の字幕情報
 このような外部情報を利用することによって、実世界の変化に対してシステムを柔軟に適応させることができる。
 条件判定手段314は、処理ルール対制御処理内容格納部312の内容と、情報取得手段313から得られた情報とを用いて、特性記憶管理部2に記憶されている各タスクまたは各データの特性モデルに基づき、処理ルール対制御処理内容格納部312に格納された制御処理内容を制御戦略として実行するべきか否かの判定を行う。具体的には、条件判定手段314は、情報取得手段313から得られた情報が示す状況(システム状況だけでなく、実世界の状況も含む)が、処理ルール対制御処理内容格納部312に格納されている、任意の制御を行う条件(ルール)を満たしているか否かを判定することによって、実行すべき制御戦略を決定する。条件判定手段314は、条件を満たしていると判定した際には、命令発行手段311に対して、制御処理内容が示す制御内容を実行するよう各戦略制御実行手段41~44への命令発行を依頼する。
 次に、具体的な制御を行う条件(ルール)と制御処理内容について、例を挙げて説明する。ここでは、最も簡単な例として、省電力化のために、最近のアクセス量の少ないノードを停止させる場合を例に挙げて説明する。この場合、ルールとしては「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」というものが当てはまる。制御命令セット(制御処理内容)としては「アクセス量が一定値以下のノードを停止する」というものとなる。
 具体的に動作を説明すると、その他の情報管理部21としてノード毎のアクセスログ情報があり、情報取得手段313はそのアクセスログ情報を取得する。そして、条件判定手段314は、アクセスログ情報から最近○時間におけるアクセス量が一定値以下であるノードを検出し、該当ノードが存在すれば、命令発行手段311に、当該ルールと対応づけて登録されている制御命令セットを、対象とされたノードを制御可能な戦略制御実行手段宛てに発行するように指示する。
 このとき、ノード1番のアクセス量が一定以下であったとすると、命令発行手段311はノード1番を制御可能なシステム構成要素制御実行手段41(例えば、電源制御プログラムなど)に対して電源停止命令を発行する。
 なお、制御を行う条件に合致しているか否かの判定は、情報取得手段313から得られた情報を直接用いるだけでなく、将来のある時間(ルールで指定された時間や所定の時間等)を特性モデルに当て嵌めて導出される制御対象システムの状況を併せて用いて判定される。例えば、予め情報取得手段313に取得させるデータや、特性モデルに将来のある日時を示す時間情報(または現時点からの経過時間)を与えて得られる結果に変数名を与えておき、制御を行う条件として、それらの変数を用いて表現された条件式を与えることによって、条件判定手段314は、制御対象システムがその時点において制御を行う条件に合致しているか否かの判定を関数計算によって行えるようにしてもよい。なお、制御を行う条件として、条件式の他に、判定基準とする日時の情報や使用するデータまたはタスクの識別子や範囲を示す情報などを与えてもよい。また、条件式ではなく判定処理プログラムそのものがシステムに与えられてもよい。例えば、判定処理プログラムが実際に格納されているアドレスをルールの情報として与えて、条件判定手段314にその判定処理プログラムを実行させてもよい。
 なお、前述の例では、単純化のため、システム構成要素制御実行手段41だけに制御命令を発効する例を示したが、データ・タスク特性推定結果を用いてノードを停止させる前に一部のデータを移行させることも可能である。例えば、ノード1番のアクセス負荷が低くても、アクセスが定期的にあるようなデータAを保持していた場合、そのデータAを移動させずにノード停止させてしまうと、そのデータAに対するアクセスが発生した時にノード1番を起動させなければならなくなり、その起動待ち時間によってシステム処理性能が劣化してしまう。そこで、制御命令セットとして「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」といった別の処理が加えられてもよい。
 この場合、前述の動作に加え、ノード1番が保持するデータの特性モデルを特性記録管理部2から取得し、取得した特性モデルからデータのアクセス確率が高いデータ識別子(上記のデータA)を抽出し、データ配置戦略制御手段34に対してデータAの別ノードへの移動を指示する処理が、ノード1番停止前に加えられればよい。
 また、命令発行手段311は、必要あれば、データAに関連するタスクの配置戦略としてノード1番以外を用いるようにタスク配置戦略制御実行手段42に指示してもよい。また、命令発行手段311は、必ずしもデータを移動させるのではなく、データAの特性モデルとしてREADしかこない、すなわちデータAに対するアクセス方法がREADに限定されていることがわかっていれば、データAのREAD対象ノードを別ノードにするよう、データ配置戦略制御手段34およびタスク配置戦略制御実行手段42に命令を発行するようにしてもよい。
 このように、制御戦略決定・実行手段3において、制御戦略決定命令発行手段31が、システム構成要素制御実行手段41、タスク配置戦略制御手段33、データ配置戦略制御実行手段43、データ構造戦略制御実行手段44のうちの1つ以上の手段に制御命令を組み合わせて発行することで、省電力化などのシステム制御が可能となる。
 なお、処理ルール対制御処理内容格納部312には、上記に述べたようなルールを、複数保持することが可能である。各ルールと、それに対応した制御命令セットとを対応づけて格納すればよい。他のルールの例として、ある商品のショッピングサイトにおいて、TVの字幕情報に扱っている商品名が表示された時に、ショッピングサイトのリソースを増加させるといったシステム制御がある。この場合、ルールは「TVの字幕情報となる外部情報記録部に特定の商品名が検出されたとき」であり、制御命令セットは「ショッピングサイト用の計算機を増加させる(計算機ノードを増やす、負荷分散されるようデータの配置アルゴリズムを変更する、ショッピングサイトのデータを分散配置する、負荷分散のためのレプリカを作成する、該ショッピングサイト向けのタスク配置アルゴリズムを計算機増加に対応するよう変更する)」といったことが当てはまる。
 さらに、データセンタ全体の電力が規定値以上になったときに、優先度の低いノードを停止させるといった制御を実行させることもできる。この場合、ルールを「データセンタ全体の電力消費量モニタの値が一定以上を記録した」とし、制御命令セットを「動作計算機数を縮退させる(負荷の低いノードが対応しているタスク・データを他のノードに集約する。すなわち、停止できるノードを増加させるようデータ配置およびタスク配置を変更して、ノード停止命令を発行する)」としてもよい。このようにすることによって、省電力化を図ることができる。
 次に、本実施形態の動作を説明する。本実施形態における制御動作は、主に特性推定処理部分と制御戦略決定・実行部分の2つに分かれる。まず、特性推定処理を説明する。図7は、本実施形態の特性推定処理の処理フローの一例を示すフローチャートである。特性推定処理は、例えば定期的に実行される。なお、実行周期は任意の時間でよい。
 まず、本実施形態の制御システムが制御対象とするコンピュータシステム上で動作する任意のサービスや計算機が、所定の機能を実行するなかで、特性推定を行う際に用いるデータ(特性推定元データ)を生成する(図7のステップS101)。生成されるデータの一例として、分散ストレージシステムにおいて、ストレージアクセスが発生した時に生成(更新)されるストレージノードへのアクセスログが挙げられる。ステップS101は、当該制御システムにおける特性推定処理とは関係なく定常的に実行されるものである。従って、特性推定処理は実質的にはステップS102から開始される。
 特性推定元データ取得・保持手段11は、ステップS101で生成された特性推定元データを所定のタイミング(定期的または更新されたタイミング等)で取得する(ステップS102)。一実施例としては、特性推定元データ取得・保持手段11を実現するソフトウェアが、前述のストレージアクセスログデータの読み出し処理を行うことが当てはまる。なお、特性推定元データは、ストレージアクセスログデータに限らず、また1種類とも限らない。
 次に、特性推定処理実行手段12は、ステップS102で得た特性推定元データを用いて、制御対象とするコンピュータシステム上で動作するタスクや該システムが保持しているデータについて該タスクやデータの特性を表現する特性モデルを推定(算出)する(ステップS103)。ステップS103については詳細を後述する。特性モデルが推定されると、特性推定処理実行手段12は、特性推定対象とされたタスクまたはデータと、推定された特徴推定モデル(特性モデル)を示す情報である特性モデル情報とを対応づけて、特性記録管理部2に記録する(ステップS104)。特性推定処理実行手段12は、例えば、特性記録管理部2を実現するデータベースに対して推定された特性モデルの内容を書き込む(更新する)。
 特性推定処理では、ステップS102~S104が繰り返し実行される。
 次に、ステップS103における特徴モデル推定処理をより詳細に説明する。図8は、特徴モデル推定処理(図7のステップS103)のより詳細な処理フローの一例を示すフローチャートである。
 特徴モデル推定処理では、特性推定処理実行手段12の適合モデル発見手段121が、まず特性推定元データ取得・保持手段11から特性推定元データを受け取り(ステップS201)、推定対象とされたタスクまたはデータに対して一定量以上の特性推定元データがあるかどうかを判断する(ステップS202)。ここで、一定量以上の特性推定元データがある場合にはステップS203に進み、無い場合にはステップS209に進む。
 十分な特性推定元データがある場合、適合モデル発見手段121は、モデルセット記録部122から候補となる特性モデルの情報を取得する(ステップS203)。そして、適合モデル発見手段121は、取得したモデル毎およびモデルの組み合わせ毎に、取得された特性推定元データを用いて尤度計算を行う(ステップS204)。そして次に、適合モデル発見手段121は、計算された尤度のいずれかが予め指定された閾値以上かどうか判定する(ステップS205)。適合モデル発見手段121は、閾値以上の尤度のモデルが1つ以上ある場合、その中で最もよい尤度のモデルを、今回推定対象とされたタスクまたはデータの特性モデルとして選択する(ステップS206)。閾値以上の尤度のモデルが無い場合には、モデル生成手段123が特性推定元データから新規モデルを作成し、モデルセット記録部122に記録する(ステップS207)。
 ステップS208では、ステップS206およびS207、S209において、選択または推定されたモデルの情報が、推定対象とされたデータまたはタスクの情報と対応づけられて特性記録管理部2に記録される。なお、モデル生成手段123が無い場合には、ステップS207では特性不明とし、特性記録管理部2に特性不明を示す情報を記録してもよい。また、例えば、特性不明データ用・特性不明タスク用の特性モデルを用意し、それを記録してもよい。
 一方、特性推定元データが不足している場合には、何らかのモデルを暫定的に当てはめる処理が行われる(ステップS209)。この暫定的なモデル決定処理の例として次のものが挙げられる。
 まず、特性不明用のモデルを用意しておき、それが暫定的に当てはめられるものである。これは、前述したモデル生成手段123が無い場合と同一でよい。
 その他には、推定対象とされたデータまたはタスクに付与されたメタデータから他のデータまたはタスクの適合モデルを当てはめる方法である。例えば、メタデータが同一のものが付与されているデータまたはタスクのいずれかの適合モデルを選択してよい。また、例えば、データまたはデータアクセスを専ら行うタスクの場合には、データのコンテンツ類似度を比較して、内容が類似したデータと同じ適合モデルを当てはめてもよい。
 次に、図9のフローチャートを参照して、本実施形態の制御戦略決定・実行処理の処理フローについて説明する。図9は、本実施形態の制御戦略決定・実行処理の処理フローの一例を示すフローチャートである。図9に示す例では、まず情報取得手段313が、特性記録管理部2やその他の情報管理部21から情報を取得し、条件判定手段314に渡す。(ステップS301)。情報取得手段313は、例えば、予め定められた方法に従って、特性記録管理部2やその他の情報管理部21から諸々の情報を取得する。なお、条件判定手段314が、処理ルール対制御処理内容格納部312に格納されている条件(処理ルール)に基づき、必要な情報を取得するよう情報取得手段313にリクエストしてもよい。そのような場合には、条件判定手段314が、ルールに記載された必要情報を特定するための情報を情報取得手段313に渡し、情報取得手段313は、その情報に基づいて特性記録管理部2またはその他の情報管理部21から情報を取得してもよい。
 次に、条件判定手段314は、渡された情報またはそれら情報によって示されるコンピュータシステムその他の状況が、処理ルール対制御処理内容格納部312に格納されているいずれかの条件に適合しているかどうか判定する(ステップS302)。条件に適合している場合(ステップS303のYes)、条件判定手段314は、以降マッチした条件のうち最も優先度の高い制御処理内容を、実行する制御戦略として決定し、命令発行手段311に制御命令の発行を依頼する。命令発行手段311は、条件判定手段314からの依頼に応じて、実行する制御戦略として決定された制御処理内容に従って、戦略制御実行手段41~44に対して必要な制御命令を発行する(ステップS304)。
 一方、適合している条件が存在しない場合には(ステップS303のNo)、何もせずに処理を終了する。
 このような処理フローを定期的に繰り返すことによって、現在から近い将来にかけてのコンピュータシステムの利用形態の変化に柔軟に適合させていくことができる。なぜなら、それらの変化に適合するために必要とされる制御を実際に実行できるシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、データ構造制御戦略実行手段44を備えるとともに、制御対象システム上で動作する各タスクまたは該制御対象システムが保持している各データについて将来に渡る特性を表現した特性モデルを推定することによって、処理ルールと制御処理内容とが与えられれば、特性推定元データや外部環境データを基に、実行すべき制御戦略を時期を逸せずに導出することができるからである。
 以下、具体的な例を用いて本発明の実施形態を説明する。本実施例は、本発明を分散ストレージシステムおよび分散ストレージシステム上のデータに対してジョブを実行する分散計算システムに適用したものである。図10は、本実施例の構成例を示すブロック図である。図10に示す分散ストレージシステムの制御システムは、ネットワーク500と、データノード計算機51(51-1~51-3)と、特性記録DBノード計算機54と、制御命令ノード計算機55と、ジョブスケジューラ計算機56と、メタデータベースノード57とを備える。
 ネットワーク500は、当該システムを構成する要素(計算機)間を結合するネットワークであり、イーサネット(登録商標)などによって実現される。その他の計算機は全てCPUと記憶装置を備えたIAサーバである。
 なお、以下の説明では、本実施例の構成要素の一つとしてプログラムまたはソフトウェアが示されているが、そのプログラムまたはソフトウェアは、より具体的にはそのプログラムに従って動作するところのCPUを指すものとする。従って、「○○プログラムが~する」という表現を用いた場合には、計算機が備えるCPUがそのプログラムに従ってその動作に係る処理を実行することを意味する。
 データノード計算機51は、それぞれ分散ストレージシステムのデータを保持する機能を果たす計算機である。以下、データノード計算機51-1を例に当該データノード計算機51の構成について説明する。データノード計算機51-1は、分散ストレージサーバ実現プログラム511と、アクセスログ取得手段512と、アクセスログ記録部513と、データ記録部514と、データ構造制御手段515と、データ移動手段516と、データノード計算機電源制御手段517とを含む。なお、他のデータノード計算機51(本例では、51-2,51-3)は、基本的にはデータノード計算機51-1と同様の構成であるとするが、異なる構成であってもよい。
 分散ストレージサーバ実現プログラム511は、当該データノード計算機において分散ストレージノードを実現するためのプログラムであり、クライアントからデータアクセス要求を処理するプログラムである。
 アクセスログ取得手段512は、当該分散ストレージノード(より具体的には、当該データノード計算機が備えるデータ記録部514)へのアクセスの履歴であるアクセスログを生成、記録するプログラムである。なお、アクセスログ記録部513は、アクセスログ取得手段512によって生成されたアクセスログを格納する記憶媒体である。これらアクセスログ取得手段512およびアクセスログ記録部513は、上述の特性推定元データ取得・保持手段11の一実施例に相当する。
 データ記録部514は、分散ストレージが保持格納するデータを実際に格納する記憶媒体およびソフトウェアである。
 データ構造制御手段515は、データ記録部514に格納されているデータの格納形式を、制御命令ノード計算機55の制御命令発行手段551からの指示に従って制御するソフトウェアである。なお、データ構造制御手段515は、上述のデータ構造戦略制御実行手段44の一実施例に相当する。
 データ移動手段516は、当該データノード計算機51に格納されているデータを他のノードに移動する処理を行うソフトウェアである。データ移動手段516は、他のデータノード計算機51とデータのやり取りを行う通信手段を含む。なお、データ移動手段516は、上述のデータ配置戦略制御実行手段43の一部(本例では移動元側)についての一実施例に相当する。また、本実施例では、データ移動の際にメタデータベースノード57のアクセス先決定手段571が保持管理する情報を変更する必要があるものとする。
 データノード計算機電源制御手段517は、当該データノード計算機51のOS命令などを用いて、ノードを停止状態に移行する(または他ノードを起動させる)プログラムである。データノード計算機電源制御手段517は、上述のシステム構成要素制御実行手段41の一実施例に相当する。
 特性記録DBノード計算機54は、特性記録部2と特性推定処理手段12の機能を果たす計算機である。特性記録DBノード計算機54は、推定処理手段541と、DBアクセス処理手段542と、特性記録管理DB543とを含む。
 特性推定処理手段541は、当該特性記録DBノード計算機54上で動作するプログラムであり、制御対象である分散ストレージシステム上のデータおよびジョブについて各々特性モデルを推定する。特性推定処理手段541は、上述の特性推定処理手段12の一実施例に相当する。
 特性記録管理DB543は、分散ストレージシステム上のデータおよびジョブについて、それらの識別子と特性モデル情報とを対応づけて記憶する記憶媒体およびデータベース基盤ソフトウェアである。また、DBアクセス処理手段542は、データベースに対するアクセスプログラムである。本実施例では、特性記録管理DB543とDBアクセス処理手段542とで、特性記録部2を実現している。
 制御命令ノード計算機55は、制御戦略決定・命令発行手段31を実現する計算機である。より具体的には、制御命令発行手段551が、その処理を行う。なお、図示省略しているが、制御命令発行手段551は、例えば、図6に示した構成を有しているものとする。
 ジョブスケジューラ計算機56は、制御対象である分散ストレージシステム上で処理するジョブを各計算機に割り当てる処理を行う計算機である。なお、実際にはタスク割り当て手段561がその処理を行う。ジョブスケジューラ計算機56は、タスク割り当て手段561の他に、タスク配置戦略制御手段562を含む。タスク配置戦略制御手段562は、制御命令ノード計算機55の制御命令発行手段551より命令されて、ジョブ配置(タスク配置)に関する制御をタスク割り当て手段561に対して行う。タスク配置戦略制御手段562は、上述のタスク配置戦略制御実行手段33の一実施例に相当する。
 メタデータベースノード57は、分散ストレージのアクセス先を決定する計算機であり、アクセス先決定手段571はその機能を果たすソフトウェアである。具体的な例としては、アクセス先決定手段571は、グローバルなファイルパスから実際に格納されているデータノードを算出したり、グローバルなブロックアドレスからアクセスすべきノードを算出する処理を行う。
 このような構成において、例えば、簡単なルールの例として示されている「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」に対して、「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」といった制御処理内容が記憶されていたとする。
 本例の制御戦略決定・実行処理では、まず制御命令ノード計算機55の制御命令発行手段551の情報取得手段313は、ノード毎にどのデータが格納されているか、という情報をその他情報管理部21に相当するメタデータベースノード57のアクセス先決定手段571より取得する。ノード毎のデータリストが取得されると、データ毎の将来のアクセス量情報がデータ毎の特性モデルから算出される。なお、この時点では、既に各データおよび各ジョブについてアクセスログを基に特性モデルが推定されているものとする。
 制御命令ノード計算機55の制御命令発行手段551(より具体的には情報取得手段313)は、データ毎に、特性記録DBノード計算機54のDBアクセス処理手段542を介して、特性記録管理DB543を検索し、特性モデルを取得する。制御命令発行手段551(より具体的には条件判定手段314)は、この取得した特性モデルを用いて各データの将来のアクセス量(最近○時間のアクセス量)を算出する。
 なお、事前に将来のアクセス量を算出しておいても構わない。この場合、データ毎の将来のアクセス量情報を特性モデルを取得して算出するのではなく、例えば図11に示すように特性モデルを推定した際に算出し保持しておいたテーブルから検索して取得すればよい。
 図11は、特性記録管理DB543に記憶される特性情報の他の例を示す説明図である。図11では、データごとに、将来のある時点におけるアクセス量情報が記憶される例を示されている。
 このように推定モデルから導出された各データの将来のアクセス量を基に、ノード毎に最近○時間のアクセス量を計算し、その結果が指定された一定値以下であるか否かを判定すればよい。その結果、一定値以下であるノードが存在すれば、当該条件にマッチしたとする。最終的にマッチした条件のうち最も優先度の高い制御処理内容を実行する制御戦略として決定すればよい。
 例えば、マッチした条件のうちで「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」というルールに対する「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」が最も優先度が高い制御処理内容であれば、制御命令発行手段551(より具体的には条件判定手段314)は、この制御処理内容を、実行する制御戦略として決定し、必要な制御命令を発行する。
 本例では、データ計算機ノード51-1が「アクセス量が一定以下のノード」として検出されたとする。制御命令発行手段551は、データ計算機ノード51-1に格納されているデータについて再度該データの特性モデルから将来のある時点までのアクセス傾向(アクセス有無、アクセスの可能性)について算出し、アクセスが予想されるデータがあればそのデータを別ノード(他のデータ計算機ノード51-2,51-3等)に移動すべく、その旨の制御命令をデータ移動手段516に発行する。また、その際、制御命令発行手段551は、メタデータベースノード57のアクセス先決定手段571に、保持管理する情報を変更する旨の制御命令を発行する。さらに、制御命令発行手段551は、ジョブスケジューラ計算機56におけるタスク配置戦略制御手段562に対して、データ計算機ノード51-1にタスクを割り当てないように制御命令を発行する。最後に、制御命令発行手段551は、データ計算機ノード51-1のデータノード計算機電源制御517に電源停止命令を発行する。このように動作することで、データアクセスの性能劣化を低く抑えた上で、消費電力量を低減することができる。
 また、例えば、データ構造を変更して性能やデータ容量効率を向上させる、といったことも可能である。例えば、制御ルールとして「将来の一定時間の間、アクセスが発生しないデータが存在するとき」、「該当データを圧縮する」が存在して、それが最も優先度の高い制御処理内容であれば、制御命令発行手段551は、データ構造制御手段515にデータ構造の変更命令として、該当データの圧縮を行う制御命令を発行する。
 このようにして、システムの利用形態や実世界状況に適応した制御を実現する。
 なお、上記実施形態では、制御対象により4つに分類した制御実行手段を4種すべて用いる例を示したが、これに限れられるものではなく少なくとも1種の所望の制御実行手段があればよい。
 次に、本発明の概要について説明する。図12は、本発明による制御システムの概要を示すブロック図である。図12に示すように、本発明による制御システムは、特性推定手段701と、1つ以上の制御実行手段702と、制御戦略決定手段703と、制御命令発行手段704とを備えている。
 特性推定手段701(例えば、特性推定処理実行手段12)は、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係する特性推定元データを基に、タスクまたはデータの特性を推定する。
 制御実行手段702(例えば、システム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43またはデータ構造戦略制御実行手段44)は、発行された制御命令に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う。
 制御戦略決定手段703(例えば、制御戦略決定・命令発行手段31,条件判定手段314)は、特性推定手段701によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する。
 制御命令発行手段704(例えば、制御戦略決定・命令発行手段31,命令発行手段311)は、制御戦略決定手段706が決定した制御処理内容に従い、制御実行手段701に対して制御命令を発行する。
 なお、図13は、本発明による制御システムの他の構成例を示すブロック図である。図13に示すように、本発明による制御システムは、システム構成要素制御実行手段721と、タスク配置制御実行手段722と、データ配置制御実行手段723と、データ構造制御実行手段724の4種の制御実行手段702を備えていてもよい。なお、そのような場合には、制御命令発行手段704は、制御戦略決定手段706が決定した制御処理内容に従い、タスク配置制御実行手段702、タスク配置制御実行手段703、データ配置制御実行手段704、データ構造制御実行手段705に対して制御命令を発行すればよい。
 システム構成要素制御実行手段722(例えば、システム構成要素制御実行手段41)は、制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御を行う。
 タスク配置戦略制御実行手段723(例えば、タスク配置戦略制御実行手段42)は、制御対象とされるコンピュータシステムのタスク配置の変更を行う。
 データ配置戦略制御実行手段724(例えば、データ配置戦略制御実行手段43)は、制御対象とされるコンピュータシステムのデータ配置の変更を行う。
 データ構造戦略制御実行手段725(例えば、データ構造戦略制御実行手段44)は、制御対象とされるコンピュータシステムのデータ構造の変更を行う。
 また、制御システムは、所定の情報源から実世界の状況を示す情報である外部環境情報を取得する外部環境情報取得手段(例えば、情報取得手段313)を備え、制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況と、外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況とを条件に用いて、実行する制御戦略を決定してもよい。
 また、制御システムは、制御戦略として実行する制御処理内容と、制御処理内容を実行する条件とを対応づけた条件対制御処理内容記憶手段(例えば、処理ルール対制御処理内容格納部312)を備え、制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況、または外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況、もしくはその組み合わせが、条件対制御処理内容記憶手段に記憶されている条件に合致するか否かを判定することによって、実行する制御戦略を決定してもよい。
 また、制御システムは、制御対象とされるコンピュータシステムが保持しているデータまたはタスクを、他のデータまたはタスクとの間の類似度に応じて分類しクラス化するクラス化手段を備え、特性推定手段は、クラス化手段によって分類された各クラスに対して、それぞれ特性を推定してもよい。
 特性推定手段は、データまたはタスクの利用または動作の傾向を表現したモデルである1つ以上の任意の特性モデルに対して特性推定元データを基にモデル尤度を算出し、モデル尤度が所定の閾値以上の1の特性モデルまたはその組み合わせを選択することによって、データまたはタスクの特性を推定してもよい。
 また、制御対象とされるコンピュータシステムが、発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段を備えていてもよい。そのような場合には、制御命令発行手段は、制御対象とされるコンピュータシステムが備える前記制御実行手段に対して、制御戦略決定手段が決定した制御処理内容に従い制御命令を発行してもよい。
 以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2011年3月11日に出願された日本特許出願2011-054291を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、分散コンピューティングシステムや、分散ストレージシステム、クラウド・コンピューティングのバックエンドシステムといった用途に好適に適用可能である。
 1 データ・タスク特性推定手段
 11 特性推定元データ取得・保持手段
 12 特性推定処理実行手段
 121 適合モデル発見手段
 122 モデルセット記録部
 123 モデル生成手段
 124 クラス適合状態モデル発見手段
 125 データ適合モデル発見手段
 2 特性記録管理部
 21 その他の情報管理部
 3 制御戦略決定・命令発行手段
 31 制御戦略決定・命令発行手段
 311 命令発行手段
 312 処理ルール対制御処理内容格納部
 313 情報取得手段
 314 条件判定手段
 315 処理ルール対制御処理内容入出力手段
 4 制御戦略実行手段群
 41 システム構成要素制御実行手段
 42 タスク配置戦略制御実行手段
 43 データ配置戦略制御実行手段
 44 データ構造戦略制御実行手段
 701 特性推定手段
 702 制御実行手段
 703 制御戦略決定手段
 704 制御命令発行手
 721 システム構成要素制御実行手段
 722 タスク配置戦略制御実行手段
 723 データ配置戦略制御実行手段
 724 データ構造戦略制御実行手段

Claims (10)

  1.  制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係する特性推定元データを基に、前記タスクまたはデータの特性を推定する特性推定手段と、
     発行された制御命令に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、
     前記特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、
     前記制御戦略決定手段が決定した制御処理内容に従い、前記制御実行手段に対して制御命令を発行する制御命令発行手段とを備える
     ことを特徴とする制御システム。
  2.  制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御を行うシステム構成要素制御実行手段、前記コンピュータシステムのタスク配置の変更を行うタスク配置制御実行手段、前記コンピュータシステムのデータ配置の変更を行うデータ配置制御実行手段、前記コンピュータシステムのデータ構造の変更を行うデータ構造制御実行手段、の4種の制御実行手段を備える
     請求項1に記載の制御システム。
  3.  所定の情報源から実世界の状況を示す情報である外部環境情報を取得する外部環境情報取得手段を備え、
     制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況と、前記外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況とを条件に用いて、実行する制御戦略を決定する
     請求項1または請求項2に記載の制御システム。
  4.  制御戦略として実行する制御処理内容と、前記制御処理内容を実行する条件とを対応づけた条件対制御処理内容記憶手段を備え、
     制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況、または前記外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況、もしくはその組み合わせが、前記条件対制御処理内容記憶手段に記憶されている条件に合致するか否かを判定することによって、実行する制御戦略を決定する
     請求項1から請求項3のうちのいずれか1項に記載の制御システム。
  5.  制御対象とされるコンピュータシステムが保持しているデータまたはタスクを、他のデータまたはタスクとの間の類似度に応じて分類しクラス化するクラス化手段を備え、
     特性推定手段は、前記クラス化手段によって分類された各クラスに対して、それぞれ特性を推定する
     請求項1から請求項4のうちのいずれか1項に記載の制御システム。
  6.  特性推定手段は、データまたはタスクの利用または動作の傾向を表現したモデルである1つ以上の任意の特性モデルに対して特性推定元データを基にモデル尤度を算出し、モデル尤度が所定の閾値以上の1の特性モデルまたはその組み合わせを選択することによって、データまたはタスクの特性を推定する
     請求項1から請求項5のうちのいずれか1項に記載の制御システム。
  7.  制御対象とされるコンピュータシステムが、
     発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段を備え、
     制御命令発行手段は、制御対象とされるコンピュータシステムが備える前記制御実行手段に対して、制御戦略決定手段が決定した制御処理内容に従い制御命令を発行する
     請求項1から請求項6のうちのいずれか1項に記載の制御システム。
  8.  当該コンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定する特性推定手段と、
     発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、
     前記特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における当該コンピュータシステムの稼働状況を基に、実行する制御戦略として、システム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、
     前記制御戦略決定手段が決定した制御処理内容に従い、前記制御実行手段に対して制御命令を発行する制御命令発行手段とを備える
     ことを特徴とするコンピュータシステム。
  9.  制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定し、
     推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定し、
     決定した制御処理内容に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行する
     ことを特徴とする制御方法。
  10.  コンピュータに、
     制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定する処理、
     推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する処理、および
     決定した制御処理内容に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行する処理
     を実行させるための制御プログラム。
PCT/JP2012/001563 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム WO2012124295A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/003,846 US20130346983A1 (en) 2011-03-11 2012-03-07 Computer system, control system, control method and control program
JP2013504552A JP5692355B2 (ja) 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011-054291 2011-03-11
JP2011054291 2011-03-11

Publications (1)

Publication Number Publication Date
WO2012124295A1 true WO2012124295A1 (ja) 2012-09-20

Family

ID=46830387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/001563 WO2012124295A1 (ja) 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム

Country Status (3)

Country Link
US (1) US20130346983A1 (ja)
JP (1) JP5692355B2 (ja)
WO (1) WO2012124295A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6318751B2 (ja) * 2014-03-20 2018-05-09 富士通株式会社 情報処理装置、アクション切替方法、及びアクション切替プログラム
JP6107801B2 (ja) * 2014-12-12 2017-04-05 日本電気株式会社 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
CN109725996B (zh) * 2018-06-15 2023-07-21 中国平安人寿保险股份有限公司 任务模式选择与任务执行方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268684A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd 需要予測装置、需要予測方法および需要予測プログラム
JP2009169780A (ja) * 2008-01-18 2009-07-30 Hitachi Ltd リソース状態予測装置、リソース状態予測方法、およびプログラム
WO2010137455A1 (ja) * 2009-05-29 2010-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 計算機システム、方法、およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346927B2 (en) * 2002-12-12 2008-03-18 Access Business Group International Llc System and method for storing and accessing secure data
US8185899B2 (en) * 2007-03-07 2012-05-22 International Business Machines Corporation Prediction based priority scheduling
US8326669B2 (en) * 2007-04-19 2012-12-04 International Business Machines Corporation System and method for selecting and scheduling corrective actions for automated storage management
US8352621B2 (en) * 2009-12-17 2013-01-08 International Business Machines Corporation Method and system to automatically optimize execution of jobs when dispatching them over a network of computers
US8850243B2 (en) * 2011-03-02 2014-09-30 Tso Logic Inc. Non-intrusive power management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268684A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd 需要予測装置、需要予測方法および需要予測プログラム
JP2009169780A (ja) * 2008-01-18 2009-07-30 Hitachi Ltd リソース状態予測装置、リソース状態予測方法、およびプログラム
WO2010137455A1 (ja) * 2009-05-29 2010-12-02 インターナショナル・ビジネス・マシーンズ・コーポレーション 計算機システム、方法、およびプログラム

Also Published As

Publication number Publication date
US20130346983A1 (en) 2013-12-26
JPWO2012124295A1 (ja) 2014-07-17
JP5692355B2 (ja) 2015-04-01

Similar Documents

Publication Publication Date Title
US9652161B2 (en) System, method, and medium of optimizing load reallocation in an in-memory data management grid
US20200034292A1 (en) Adaptable data caching mechanism for in-memory cluster computing
Rao et al. Performance issues of heterogeneous hadoop clusters in cloud computing
CN103067425A (zh) 虚拟机创建方法、虚拟机管理系统及相关设备
US20160011980A1 (en) Distributed processing method and system
JP2012118987A (ja) メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ)
Costa et al. Towards automating the configuration of a distributed storage system
US10298709B1 (en) Performance of Hadoop distributed file system operations in a non-native operating system
Zhang et al. Aurora: Adaptive block replication in distributed file systems
US10579419B2 (en) Data analysis in storage system
JP5692355B2 (ja) コンピュータシステム、制御システム、制御方法および制御プログラム
WO2016122595A1 (en) Chunk monitoring
JP5810918B2 (ja) スケジューリング装置、スケジューリング方法及びプログラム
Salehian et al. Comparison of spark resource managers and distributed file systems
US8732394B2 (en) Advanced disk drive power management based on maximum system throughput
Chen et al. Data prefetching and eviction mechanisms of in-memory storage systems based on scheduling for big data processing
CN104765572A (zh) 一种节能的虚拟存储服务器系统及其调度方法
EP3555767B1 (en) Partial storage of large files in distinct storage systems
US11169720B1 (en) System and method for creating on-demand virtual filesystem having virtual burst buffers created on the fly
Wang et al. An adaptive elasticity policy for staging based in-situ processing
Wang et al. NBUFlow: a dataflow based universal task orchestration and offloading platform for low-cost development of IoT systems with cloud-edge-device collaborative computing
Zhao et al. A holistic cross-layer optimization approach for mitigating stragglers in in-memory data processing
US10168763B2 (en) Modification of when workloads access data units and/or on which storage devices data units are stored to conserve power
Lee et al. Adaptive Data Replication Scheme Based on Access Count Prediction in Hadoop
Yuan et al. Research of scheduling strategy based on fault tolerance in Hadoop platform

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013504552

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14003846

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

Country of ref document: EP

Kind code of ref document: A1