WO2016116990A1 - 出力装置、データ構造、出力方法および出力プログラム - Google Patents

出力装置、データ構造、出力方法および出力プログラム Download PDF

Info

Publication number
WO2016116990A1
WO2016116990A1 PCT/JP2015/006361 JP2015006361W WO2016116990A1 WO 2016116990 A1 WO2016116990 A1 WO 2016116990A1 JP 2015006361 W JP2015006361 W JP 2015006361W WO 2016116990 A1 WO2016116990 A1 WO 2016116990A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
job
output
estimation model
input data
Prior art date
Application number
PCT/JP2015/006361
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 JP2016570216A priority Critical patent/JPWO2016116990A1/ja
Priority to US15/544,732 priority patent/US20180004869A1/en
Publication of WO2016116990A1 publication Critical patent/WO2016116990A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to an output device, a data structure, an output method, and an output program, and more particularly, to an output device, a data structure, an output method, and an output program used in performance prediction of a distributed processing system using machine learning technology.
  • the user In order to efficiently execute a job using a distributed processing system, the user is required to appropriately control the task execution order and allocate computer resources according to the characteristics of the divided tasks.
  • the number of tasks to be executed in parallel is maximized by assigning the minimum amount of computer resources required during task execution.
  • the user is required to know in advance the computer resource amount required for processing the task.
  • a user inputs observation information indicating task behavior to a program in which, for example, a machine learning algorithm is implemented, and executes the program.
  • the user When the program is executed, the user obtains a mathematical model indicating the characteristics of the task as an output result. By giving observation information of a task whose characteristics are not yet grasped to the obtained mathematical model, the user can obtain estimation information of task characteristics.
  • Patent Documents 1 to 3 and Non-patent Document 1 to Non-Patent Document 2 describe techniques related to estimation of the amount of computer resources required for task processing.
  • Patent Document 1 describes a technique for estimating the relationship between a resource usage amount and a load value from a resource amount log used in a task executed in the past.
  • Patent Document 2 describes a system for estimating a load characteristic generated by a program.
  • Patent Document 3 describes a virtual machine arrangement configuration control device including a prediction unit that predicts a peak usage amount of a physical resource for each time interval.
  • Non-Patent Document 1 a basis function of resource amount transition is derived from resource amount transition information used by a virtual machine using wavelet transform, and a future required resource amount is estimated by using the derived basis function. The technology is described.
  • Non-Patent Document 2 describes resources required to satisfy a service level target (SLO: Service Level Objective) based on the results of short-term test executions of past task execution history and tasks to be allocated in the future using collaborative filtering. Techniques for estimating quantities are described.
  • SLO Service Level Objective
  • Patent Document 4 describes an enterprise web mining system that generates online prediction and recommendations.
  • Patent Documents 5 to 6 describe technologies related to conversion of information used for processing.
  • Patent Document 5 describes a printing apparatus that improves user convenience by assisting with settings during print output.
  • the printing apparatus described in Patent Document 5 divides the character information and handles each divided character as an independent printing feature amount.
  • Patent Document 6 not only the load information of each computer but also the task being executed in consideration of the task being executed in each computer, the degree of association between the assigned task and other tasks, and the distance in the computer network.
  • the computer system to perform is described.
  • the computer system described in Patent Document 6 uses a method of converting a communication amount of 100 kilobytes into 1, a method of assigning a value for each band, or a method of converting a packet collision rate into a numerical value.
  • the data indicating the operation of the distributed processing system and the observation data of the task must be converted into data in a format appropriate for the estimation algorithm. Is required.
  • Patent Document 1 to Patent Document 3 and Non-Patent Document 1 to Non-Patent Document 2 task observation data and the like are in a format for the estimation algorithm to accurately estimate the amount of computer resources required for task processing in a distributed processing system. Not converted to data. Therefore, when the techniques described in Patent Literature 1 to Patent Literature 3 and Non-Patent Literature 1 to Non-Patent Literature 2 are used as they are, the user has obtained an estimated value of the amount of computer resources with an estimation accuracy that should be obtained. There is no possibility.
  • Patent Documents 4 to 6 there is no particular mention of a data format that contributes to the prediction of the operation of the distributed processing system by the estimation algorithm.
  • the present invention provides an output device, a data structure, an output method, and an output program that provide information in a format suitable for a model for estimating the amount of computer resources required for task processing in a distributed processing system, which solves the above-described problems.
  • the purpose is to provide.
  • An output device is an estimation model that is information in a format suitable for an estimation model for estimating the amount of computer resources required for processing a task that constitutes a job, based on job feature information indicating the job feature of the distributed processing system.
  • An output unit that outputs application information is provided.
  • the data structure according to the present invention is information in a format suitable for an estimation model for estimating the amount of computer resources required for processing a task constituting a job, created based on job feature information indicating job characteristics of a distributed processing system. It includes a certain estimation model application information.
  • the output method according to the present invention is an estimation model that is information in a format suitable for an estimation model for estimating the amount of computer resources required for processing a task that constitutes a job based on job feature information indicating the job feature of the distributed processing system.
  • the application information is output.
  • the output program according to the present invention is information in a format suitable for an estimation model for estimating the amount of computer resources required for processing a task constituting a job based on job feature information indicating a job feature of the distributed processing system. An output process for outputting certain estimation model application information is executed.
  • FIG. 6 is an explanatory diagram illustrating an example of job feature information input to an input data conversion unit 101.
  • FIG. It is explanatory drawing which shows the example of the word content information which the input data conversion part 101 outputs.
  • FIG. 6 is an explanatory diagram illustrating another example of job feature information input to the input data conversion unit 101.
  • FIG. It is explanatory drawing which shows the other example of the word content information which the input data conversion part 101 outputs.
  • movement of the production process of the numerical conversion label information by the input data conversion part 101 in 1st Embodiment. 6 is an explanatory diagram illustrating another example of job feature information input to the input data conversion unit 101.
  • FIG. 6 is an explanatory diagram illustrating another example of job feature information input to the input data conversion unit 101.
  • FIG. It is explanatory drawing which shows the other example of the numerical value conversion label information which the input data conversion part 101 outputs.
  • It is a flowchart which shows the operation
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of a computer resource usage estimation apparatus according to the present invention.
  • the computer resource usage estimation apparatus 100 shown in FIG. 1 includes an input data conversion unit 101, a computer resource usage estimation model generation unit 102, and a computer resource usage estimation unit 103.
  • the computer resource usage estimation apparatus 100 shown in FIG. 1 is intended for a distributed processing system.
  • the computer resource usage estimation apparatus 100 estimates the amount of computer resources required for processing each task in the distributed processing system using input data in a data format including word content information or character string label information.
  • the input data conversion unit 101 converts job feature information included in input data used for generating an estimated model into estimated model application information that is information in a format suitable for the generated estimated model, and includes estimated model application information. It has a function to output data.
  • computer resource usage and processing time are input to the input data conversion unit 101.
  • the input data conversion unit 101 also receives meta information of input data and configuration information of processing programs.
  • FIG. 2 is an explanatory diagram illustrating an example of estimation model application information output from the input data conversion unit 101.
  • FIG. 2 shows word content information included in the estimation model application information.
  • the word content information shown in FIG. 2 includes a task identifier and word candidates.
  • the task identifier corresponds to an identification symbol of job feature information.
  • the word candidate indicates whether or not a predetermined word is included.
  • the word content information is expressed by binary information for each set of an identification symbol of job feature information and a word candidate.
  • FIG. 3 is an explanatory diagram illustrating another example of the estimation model application information output from the input data conversion unit 101.
  • FIG. 3 shows numerical conversion label information included in the estimation model application information.
  • the numerical value conversion label information shown in FIG. 3 includes a task identifier and label information.
  • the task identifier corresponds to an identification symbol for numerical information.
  • the numerical information corresponds to job characteristic information indicated by numerical values.
  • numeric conversion label information is represented by character string information for each set of numeric information identification symbols and label information.
  • the label information of the numerical information A corresponding to the task identifier Task1 indicates 8.
  • the character string information “8” is set in the label information “label information of the numerical information A” of the numerical conversion label information of Task 1.
  • the numerical conversion label information of Task 1 indicates that the label information of the numerical information A is 8.
  • the label information of the numerical information B corresponding to the task identifier Task 2 indicates 0.
  • the character string information “0” is set in the label information “label information of the numerical information B” of the numerical conversion label information of Task2.
  • the numerical value conversion label information of Task 2 indicates that the label information of the numerical information B is 0.
  • the computer resource usage estimation model generation unit 102 has a function of generating an estimation model using the data output from the input data conversion unit 101 as an input. As shown in FIG. 1, the computer resource usage estimation model generation unit 102 inputs the generated estimation model to the computer resource usage estimation unit 103.
  • the computer resource usage estimation unit 103 has a function of using the input estimation model to estimate the computer resource usage of a task whose characteristics are not yet known. In addition to the computer resource usage, the computer resource usage estimation unit 103 may output an estimated value of an index related to processing execution such as processing time.
  • the computer resource usage estimation apparatus 100 uses the computer resource usage as an estimation target, a value other than the computer resource usage may be used as an estimation target.
  • the computer resource usage estimation device 100 may estimate the task processing time in the distributed processing system. In the present embodiment, any value estimated by the computer resource usage estimation device 100 is expected to improve the accuracy of estimation.
  • the computer resource usage estimation apparatus 100 is realized by, for example, a CPU (Central Processing Unit) that executes processing according to a program stored in a storage medium. That is, the input data conversion unit 101, the computer resource usage estimation model generation unit 102, and the computer resource usage estimation unit 103 are realized by, for example, a CPU that executes processing according to program control.
  • a CPU Central Processing Unit
  • each unit in the computer resource usage estimation device 100 may be realized by a hardware circuit.
  • the input data conversion unit 101 of the present embodiment includes words of a word group constituting the job name for each job name that is one of the job feature information.
  • the operation of creating word content information indicating whether or not there is will be described with reference to FIG.
  • FIG. 4 is a flowchart illustrating the operation of the word content information creation process by the input data conversion unit 101 according to the first embodiment.
  • FIG. 5 is an explanatory diagram showing an example of job feature information input to the input data conversion unit 101.
  • FIG. 5 shows a part of information regarding the task observed in the processing in the distributed processing system.
  • the job feature information shown in FIG. 5 includes a task number and a job name.
  • FIG. 6 is an explanatory diagram illustrating an example of word content information output by the input data conversion unit 101.
  • FIG. 6 shows word content information created by the input data conversion unit 101 based on the job name included in the job feature information shown in FIG.
  • an operation in which the input data conversion unit 101 creates the word content information shown in FIG. 6 based on the job feature information shown in FIG. 5 will be described with reference to FIG.
  • the input data conversion unit 101 When the job feature information as shown in FIG. 5 is input, the input data conversion unit 101 outputs the word content information to be output, the task number, and a candidate group of words constituting the job name included in the job feature information. (Step S101).
  • the input data conversion unit 101 creates a word candidate name by, for example, adding an identifier of the information made as a generation source as a prefix when constructing the word content information. If the created name is uniquely identified, the input data conversion unit 101 may create the name of the word candidate by another method.
  • the name of the job with the task number “1” is “Cluster Iterator running iteration 3 over priorPath: kmeans / 46 / clusters-2”.
  • the name of the job with the task number “2” is “Cluster ⁇ Iterator running iteration 5 over priorPath: kmeans / 106 / clusters-4 ”.
  • the input data conversion unit 101 configures the word content information with a candidate group of words that form the name of each job.
  • the input data conversion unit 101 has “Cluster”, “Iterator”, “running”, “iteration”, “3”, “over”, “priorPath”, “kmeans”, “46”, “46” that exist in the name of the job whose task number is “1”. Create candidate names for the words "clusters-2" by prefixing them with "Jobname”.
  • the input data conversion unit 101 does not exist in the name of the job with the task number “1”, but exists only in the name of the job with the task number “2”, “5”, “106”, “clusters-4”.
  • a word candidate name is created by prefixing each word with “Jobname”.
  • the input data conversion unit 101 configures the word content information with a word candidate group indicating the created name.
  • the input data conversion unit 101 creates word content information as many as the number of input job feature information.
  • the input data conversion unit 101 sets the task number of the input job feature information as the task number of each word content information to be created.
  • the input data conversion unit 101 sets False to all word candidates of the created word content information (step S102).
  • the input data conversion unit 101 decomposes the job name of the input job feature information into words (step S104).
  • the name of the job with the task number “1” is the word “Cluster” “Iterator” “running” “iteration” “3” “over” “priorPath” “kmeans” “46” “clusters-2” Disassembled.
  • the delimiter and delimiter used when the input data conversion unit 101 decomposes the job name into words are set by, for example, the user or the system. Further, the input data conversion unit 101 may hold delimiters and delimiters in advance.
  • the input data conversion unit 101 sets True to the word candidate of the word content information corresponding to the decomposed word (step S106).
  • True is binary information indicating that the set word candidate is included in the job name.
  • the input data conversion unit 101 sets True for the number of decomposed words (step S107).
  • the input data conversion unit 101 may set information other than True as the word candidate. For example, the input data conversion unit 101 may set the numerical value 1 as a word candidate instead of True. When the numerical value 1 is set, the input data conversion unit 101 sets the numerical value 0 as a candidate for each word instead of False during the initialization process in step S102.
  • step S107 When the input data conversion unit 101 sets True for the number of decomposed words (the determination condition in step S107 is satisfied), word content information corresponding to the input job feature information is created.
  • the input data conversion unit 101 repeats the processes in steps S103 to S108 as many times as the number of input job feature information.
  • the input data conversion unit 101 After creating the word content information for the number of input job feature information (the determination condition in step S108 is satisfied), the input data conversion unit 101 ends the creation process.
  • the computer resource usage estimation unit 103 can recognize the combination of words constituting the job name.
  • the computer resource usage estimation unit 103 determines whether or not a predetermined set of words is included. Tasks included in a task set can be classified.
  • each task corresponding to each task feature information shown in FIG. 5 executes K-Means, which is one of machine learning algorithms. Even if it is not known in advance that each task executes K-Means, the computer resource usage estimation unit 103 corresponds to the word content information in which the word candidate “Jobname-kmeans” shown in FIG. 6 is True. By extracting the tasks to be performed, the trend of K-Means implementation can be grasped. The computer resource usage estimation unit 103 can increase the accuracy of the estimated value by estimating the computer resource amount required for task processing after grasping the implementation trend for each algorithm.
  • the input data conversion unit 101 includes words of a word group constituting the class name with respect to the class name of the program that is one of the job feature information.
  • the operation of creating word content information indicating whether or not there is will be described with reference to FIG.
  • FIG. 7 is a flowchart showing another operation of the word content information creation processing by the input data conversion unit 101 in the first embodiment.
  • FIG. 8 is an explanatory diagram showing another example of job feature information input to the input data conversion unit 101.
  • FIG. 8 shows a part of information regarding tasks observed in the processing in the distributed processing system.
  • the job feature information shown in FIG. 8 includes a task number and a program class name.
  • FIG. 9 is an explanatory diagram showing another example of the word content information output from the input data conversion unit 101.
  • FIG. 9 shows word content information created by the input data conversion unit 101 based on the class name of the program included in the job feature information shown in FIG.
  • an operation in which the input data conversion unit 101 creates the word content information illustrated in FIG. 9 based on the job feature information illustrated in FIG. 8 will be described with reference to FIG.
  • the input data conversion unit 101 uses the word content information to be output, the task number, and a candidate group of words constituting the class name of the program included in the job feature information. (Step S111).
  • the input data conversion unit 101 creates a word candidate name by, for example, adding an identifier of the information made as a generation source as a prefix when constructing the word content information. If the created name is uniquely identified, the input data conversion unit 101 may create the name of the word candidate by another method.
  • the class name with the task number “1” in the job feature information shown in FIG. 8 is “org.apache.mahout.clustering.iterator.CIMapper”.
  • the class name with the task number “2” is “org.apache.mahout.cf.taste.hadoop.item.ItemIDIndexMapper”.
  • the input data conversion unit 101 adds the prefix “Class” to the words “org”, “apache”, “mahout”, “clustering”, “iterator”, and “CIMapper” that exist in the class name with the task number “1”.
  • the name of the word candidate is created by attaching.
  • the input data conversion unit 101 does not exist in the class name with the task number “1”, but exists only in the class name with the task number “2”, “cf”, “taste”, “hadoop”, “item”, “ItemIDIndexMapper”
  • the word candidate name is created by attaching the prefix “Class” to each word.
  • the input data conversion unit 101 configures the word content information with a word candidate group indicating the created name.
  • the input data conversion unit 101 creates word content information as many as the number of input job feature information.
  • the input data conversion unit 101 sets the task number of the input job feature information as the task number of each word content information to be created.
  • the input data conversion unit 101 sets False to all word candidates of the created word content information (step S112).
  • the input data conversion unit 101 decomposes the class name of the input job feature information program into words (step S114).
  • the class name with the task number “1” is decomposed into the words “org”, “apache”, “mahout”, “clustering”, “iterator”, and “CIMapper”.
  • the delimiter and delimiter used when the input data conversion unit 101 decomposes the class name into words are set by, for example, the user or the system. Further, the input data conversion unit 101 may hold delimiters and delimiters in advance.
  • the input data conversion unit 101 sets True to the word candidate of the word content information corresponding to the decomposed word (step S116).
  • True is binary information indicating that the set word candidate is included in the program class name.
  • the input data conversion unit 101 sets True as many as the number of decomposed words (step S117).
  • the input data conversion unit 101 may set information other than True as the word candidate. For example, the input data conversion unit 101 may set the numerical value 1 as a word candidate instead of True. When the numerical value 1 is set, the input data conversion unit 101 sets the numerical value 0 as a candidate for each word instead of False during the initialization process in step S112.
  • step S117 When the input data conversion unit 101 sets True to the number of decomposed words (the determination condition in step S117 is established), word inclusion information corresponding to the input job feature information is created.
  • the input data conversion unit 101 repeats the processing from step S113 to step S118 as many times as the number of input job feature information.
  • the input data conversion unit 101 After creating the word content information for the number of input job feature information (the determination condition in step S118 is established), the input data conversion unit 101 ends the creation process.
  • the computer resource usage estimation unit 103 can recognize a combination of words constituting the class name of the program.
  • the computer resource usage estimation unit 103 determines whether or not a predetermined set of words is included. Tasks included in a task set can be classified.
  • each task corresponding to each task feature information shown in FIG. 8 executes a program implemented in Apache Mahout (registered trademark), which is a framework for executing a machine learning algorithm in Apache Hadoop (registered trademark). To do. Therefore, True is set to the word candidate “Class-mahout” of the word inclusion information corresponding to the task that executes the program implemented in Apache ⁇ ⁇ ⁇ Mahout.
  • Apache Mahout registered trademark
  • Apache Hadoop registered trademark
  • the computer resource usage estimation unit 103 uses the word candidate “Class-mahout” shown in FIG. By extracting the task group corresponding to the content information, the tendency of Apache Mahout implementation can be grasped.
  • the computer resource usage estimation unit 103 can increase the accuracy of the estimated value by estimating the computer resource amount required for task processing after grasping the implementation trend for each algorithm.
  • the input data conversion unit 101 uses one of the job characteristic information, based on job characteristic information including an observed value at the time of program execution and an optional numerical value specified at the time of program execution.
  • job characteristic information including an observed value at the time of program execution and an optional numerical value specified at the time of program execution.
  • FIG. 10 is a flowchart showing the operation of the numerical value conversion label information creation process by the input data conversion unit 101 in the first embodiment. Specifically, the number of bytes read from the file will be described as an example of an observed value at the time of program execution, and the value of a predetermined command line argument will be described as an example of an option value specified at the time of program execution.
  • FIG. 11 is an explanatory diagram showing another example of job feature information input to the input data conversion unit 101.
  • FIG. 11 shows a part of information regarding a task observed in the processing in the distributed processing system.
  • the job feature information shown in FIG. 11 includes a task number, the number of bytes read from a file, and option1, which is one of command line arguments.
  • option1 is one of the parameters given to the algorithm executed by the task indicated by the task number.
  • FIG. 12 is an explanatory diagram showing an example of numerical value conversion label information output from the input data conversion unit 101.
  • FIG. 12 shows numeric conversion label information created by the input data conversion unit 101 based on the number of bytes read from the file and the value of option1 included in the job feature information shown in FIG.
  • an operation in which the input data conversion unit 101 creates the numerical value conversion label information shown in FIG. 12 based on the job feature information shown in FIG. 11 will be described with reference to FIG.
  • the input data conversion unit 101 configures the numerical value conversion label information to be output by a task number and a label information group (step S121).
  • the label information group values obtained by converting the number of read bytes of the file and the value of option 1 included in the job characteristic information are set.
  • the value set in the label information is handled as an identifier represented by a character string.
  • the input data conversion unit 101 creates the name of the label information by, for example, adding the identifier of the information that has been generated as a prefix when constructing the numerical conversion label information. Note that if the created name is uniquely identified, the input data conversion unit 101 may create the name of the label information by another method.
  • the input data conversion unit 101 may use numerical value conversion label information as job feature information in which values are replaced.
  • the numerical value conversion label information shown in FIG. 12 is created by replacing the value of the job feature information shown in FIG. Specifically, it is created by replacing the memory usage value.
  • the input data conversion unit 101 converts the value v included in the job feature information into the value v ′ using the function f (step S124).
  • the function f used when the input data conversion unit 101 converts a value is set by, for example, a user or a system. Further, the input data conversion unit 101 may hold the function f in advance.
  • the input data conversion unit 101 uses an arbitrary mathematical function for the function f.
  • the input data conversion unit 101 sets the converted value v ′ in the label information of the numerical value conversion label information corresponding to the value v (step S125).
  • the input data conversion unit 101 performs conversion of values and setting of the converted values by the number of conversion target values included in the job feature information (step S126).
  • the file read byte number “301355226” is converted to “8” by the function f.
  • option1 command line argument
  • “0.01” is converted to “ ⁇ 2” by the function f.
  • the character string “8” is included in the number of bytes read from the file, and the character string “ ⁇ 2” is included in option1 (command line argument). Each is set.
  • the input data conversion unit 101 converts the value and sets the converted value by the number of conversion target values included in the job feature information (the determination condition in step S126 is satisfied), thereby corresponding to the input job feature information. Numerical conversion label information to be created is created. The input data conversion unit 101 repeats the processing from step S122 to step S127 as many times as the number of input job feature information.
  • the input data conversion unit 101 After creating numerical conversion label information for the number of input job characteristic information (the determination condition in step S127 is satisfied), the input data conversion unit 101 ends the generation process.
  • the numerical value conversion label information shown in FIG. 12 includes numerical information as character string label information.
  • the computer resource usage estimation unit 103 is inappropriate as numerical data, and can estimate the computer resource amount with high accuracy, or can be easily implemented.
  • the Naive Bayes algorithm treats input data as discrete values.
  • the Naive Bayes algorithm interprets all values as discrete values.
  • the operation that is interpreted as a discrete value is not an operation that the naive Bayes algorithm originally performs.
  • the naive Bayes algorithm When interpreted as discrete values, the naive Bayes algorithm performs overlearning and the like in the estimation process. When overlearning is performed, the accuracy of the estimated value of the computer resource amount by the naive Bayes algorithm deteriorates.
  • the numerical value converted label information output from the input data conversion unit 101 of the present embodiment includes a numerical value converted from a continuous amount to a discrete amount by the function f as label information.
  • the computer resource usage estimation unit 103 can use an algorithm that can handle only discrete values, such as a naive Bayes algorithm. That is, there is an increased possibility that the computer resource usage estimation unit 103 can accurately estimate the computer resource amount required for task processing using the naive Bayes algorithm.
  • the input data conversion unit 101 can convert the distribution of the input data into another distribution.
  • the computer resource usage estimation unit 103 can more clearly classify the data.
  • the computer resource amount required for task processing in the distributed processing system is accurately estimated.
  • the computer resource usage estimation model generation unit 102 easily classifies the factors that determine the shape of the function for calculating the computer resource amount for each estimation algorithm. it can.
  • the classification for each factor estimation algorithm is to extract a task group in which the above word candidate “Jobname-kmeans” is True, or to extract a task group in which the word candidate “Class-mahout” is True. Equivalent to.
  • the computer resource usage estimation model generation unit 102 can generate a function having a format close to the distribution of values in task processing.
  • the computer resource usage estimation unit 103 increases the estimation accuracy by estimating the computer resource usage by using a function in the form close to the value distribution in the task processing generated by the computer resource usage estimation model generation unit 102. be able to.
  • FIG. 13 is a block diagram showing a configuration example of the second embodiment of the computer resource usage estimation apparatus according to the present invention.
  • the computer resource usage estimation apparatus 100 in the present embodiment is different from the first embodiment in that an estimated value reverse conversion unit 104 is added.
  • the estimated value inverse conversion unit 104 has a function of inversely converting the value output by the computer resource usage estimation unit 103 into the computer resource usage estimation value.
  • the estimated value inverse conversion unit 104 is realized by, for example, a CPU that executes processing according to program control.
  • the computer resource usage estimation model generation unit 102 generates an estimation model using the data output from the input data conversion unit 101 as an input.
  • the computer resource usage estimation unit 103 receives the data output from the input data conversion unit 101 as an input, and outputs the computer resource usage value of the task whose characteristics are not yet understood in the same format as the input data. To do.
  • the estimated value inverse conversion unit 104 converts the value indicating the computer resource usage estimation value output from the computer resource usage estimation unit 103 into numerical information indicating the computer resource usage estimation value, and outputs it.
  • FIG. 14 is a flowchart illustrating an operation of creating numerical conversion label information by the input data conversion unit 101 according to the second embodiment.
  • FIG. 15 is an explanatory diagram showing another example of job feature information input to the input data conversion unit 101.
  • FIG. 15 shows a part of information regarding a task observed in the processing in the distributed processing system.
  • the job feature information shown in FIG. 15 includes a task number and memory usage.
  • the memory usage is the amount of computer resources to be estimated.
  • FIG. 16 is an explanatory diagram showing another example of the numerical value conversion label information output from the input data conversion unit 101.
  • FIG. 16 shows numerical value conversion label information created by the input data conversion unit 101 based on the memory usage included in the job feature information shown in FIG.
  • an operation in which the input data conversion unit 101 creates the numerical value conversion label information illustrated in FIG. 16 based on the job feature information illustrated in FIG. 15 will be described with reference to FIG.
  • the input data conversion unit 101 configures the numerical value conversion label information to be output by a task number and a label information group (step S201).
  • the label information group a value obtained by converting the memory usage included in the job feature information is set.
  • the value set in the label information is handled as an identifier represented by a character string.
  • the input data conversion unit 101 creates the name of the label information by, for example, adding the identifier of the information that has been generated as a prefix when constructing the numerical conversion label information. Note that if the created name is uniquely identified, the input data conversion unit 101 may create the name of the label information by another method.
  • the input data conversion unit 101 may use numerical value conversion label information as job feature information in which values are replaced.
  • the numerical value conversion label information shown in FIG. 16 is created by replacing the value of the job feature information shown in FIG. Specifically, it is created by replacing the memory usage value.
  • the input data conversion unit 101 converts the value v included in the job feature information into the value v ′ using the function f (step S204).
  • the function f used when the input data conversion unit 101 converts a value is set by, for example, a user or a system. Further, the input data conversion unit 101 may hold the function f in advance.
  • the input data conversion unit 101 uses an arbitrary mathematical function for the function f.
  • the input data conversion unit 101 sets the converted value v ′ in the label information of the numerical value conversion label information corresponding to the value v (step S205).
  • the input data conversion unit 101 performs conversion of values and setting of the converted values by the number of conversion target values included in the job feature information (step S206).
  • the memory usage “1820852224” is converted to “30” by the function f.
  • the character string “30” is set as the memory usage.
  • the input data conversion unit 101 converts the value and sets the converted value by the number of conversion target values included in the job feature information (the determination condition in step S206 is satisfied), thereby corresponding to the input job feature information. Numerical conversion label information to be created is created.
  • the input data conversion unit 101 repeats the processing from step S202 to step S207 as many times as the number of input job feature information.
  • the input data conversion unit 101 After creating numeric conversion label information for the number of input job feature information (the determination condition in step S207 is satisfied), the input data conversion unit 101 ends the creation process.
  • the input data conversion unit 101 inputs the created numerical conversion label information to the computer resource usage estimation model generation unit 102 in which a machine learning algorithm or the like is implemented.
  • the computer resource usage estimation model generation unit 102 generates an estimation model for calculating an estimated value of memory usage, using the input numerical conversion label information.
  • FIG. 17 is a flowchart illustrating the operation of the inverse conversion process to the estimated memory usage by the estimated value inverse conversion unit 104 according to the second embodiment.
  • FIG. 17 shows an operation in which the estimated value inverse transform unit 104 inversely transforms an output value output from the estimated model into an estimated value of memory usage.
  • FIG. 18 is an explanatory diagram showing an example of numerical conversion label information output from the estimation model.
  • the numerical value conversion label information includes a task number and a memory usage (predicted value).
  • the value set in the memory usage (predicted value) is the estimated memory usage after being converted by the function f.
  • the memory usage (predicted value) of the numerical value conversion label information with the task number “11” is “27”. That is, the output value of the estimation model for the task with the task number “11” is “27”.
  • the memory usage (predicted value) of the numerical value conversion label information with the task number “12” is “31”. That is, the output value of the estimation model for the task with the task number “12” is “31”.
  • FIG. 19 is an explanatory diagram showing an example of estimated memory usage information output by the estimated value inverse transform unit 104.
  • FIG. 19 shows estimated memory usage information created by the estimated value inverse transform unit 104 inversely transforming the estimated value of the memory usage included in the numerical conversion label information output from the estimated model shown in FIG.
  • the estimated memory usage information includes a task number and a memory usage (predicted value).
  • the unit of memory usage (predicted value) is bytes.
  • the memory usage (predicted value) of the estimated memory usage information with the task number “11” is “134217728”. That is, the estimated value of the memory usage for the task with the task number “11” is 134217728 bytes.
  • the memory usage (predicted value) of the estimated memory usage information with the task number “12” is “2147483648”. That is, the estimated value of the memory usage for the task whose task number is “12” is 2147483648 bytes.
  • the estimated value inverse transform unit 104 converts the output value p ′ included in the numerical value conversion label information output from the estimated model into the inverse function f ⁇ of the function f used in the conversion process of the conversion target value in step S204 shown in FIG. Enter 1
  • the estimated value inverse transform unit 104 obtains the estimated value p (step S211).
  • the estimated value inverse transform unit 104 creates estimated memory usage information based on the obtained estimated value p.
  • the estimated value inverse conversion unit 104 repeats the process of step S211 as many times as the number of input numerical conversion label information. After creating estimated memory usage information for the number of input numeric conversion label information, the estimated value inverse conversion unit 104 ends the process.
  • the computer resource usage estimation apparatus 100 can convert the character string included in the numerical conversion label information output from the estimation model into the estimated value of the computer resource usage that is numerical information.
  • the distributed processing system can process the task at higher speed or higher efficiency. The reason is that the use of the estimated value increases the possibility that the amount of computer resources allocated to the process can be made the minimum required amount.
  • the user can set the distributed processing system to allocate four processes at a time to a computer equipped with a 4 GB memory. By executing the four processes in parallel, the distributed processing system can process a job twice as fast as when the above contents are set. In addition, since there is no unnecessary allocation of 2 GB memory, the use efficiency of computer resources is increased as compared with the case where the above contents are set.
  • the numerical value conversion label information shown in FIG. 16 includes numerical information that is an estimation target as label information of a character string.
  • the computer resource usage estimation unit 103 is difficult to estimate numerical information as an estimated value, and can estimate the computer resource amount with high accuracy, or can be easily implemented.
  • the Naive Bayes algorithm treats discrete values as estimation targets.
  • the Naive Bayes algorithm interprets all values as discontinuous discrete values.
  • the operation that is interpreted as a discrete value is not an operation that the naive Bayes algorithm originally performs.
  • the naive Bayes algorithm When interpreted as discrete values, the naive Bayes algorithm performs overlearning and the like in the estimation process. When overlearning is performed, the accuracy of the estimated value of the computer resource amount by the naive Bayes algorithm deteriorates.
  • the numerical value converted label information output from the input data conversion unit 101 of the present embodiment includes a numerical value converted from a continuous amount to a discrete amount by the function f as label information.
  • the computer resource usage estimation unit 103 can use an algorithm that can handle only discrete values as an estimated value, such as a naive Bayes algorithm. That is, there is an increased possibility that the computer resource usage estimation unit 103 can accurately estimate the computer resource amount required for task processing using the naive Bayes algorithm.
  • the computer resource usage estimation device 100 can obtain an estimated value with an appropriate resolution. For example, by using a logarithmic function for the function f, the computer resource usage estimation apparatus 100 can estimate an estimated value having a large value without being affected by a slight change amount. As a result, there is an increased possibility that the computer resource amount is estimated to an appropriate degree in accordance with the actual state of the distributed processing system.
  • FIG. 20 is a block diagram showing an outline of an output device according to the present invention.
  • the output device 10 according to the present invention is an estimation that is information in a format suitable for an estimation model for estimating the amount of computer resources required for processing a task that constitutes a job based on job feature information indicating the job feature of the distributed processing system.
  • An output unit 11 (for example, an input data conversion unit 101) that outputs model application information is provided.
  • the output device can provide information in a format suitable for a model for estimating the amount of computer resources required for task processing in the distributed processing system.
  • the estimation model application information may include word content information having binary information indicating whether or not the character string indicated by the character string information included in the job feature information includes a predetermined word.
  • the output device can provide information indicating whether or not a predetermined word is included in the job name or class name.
  • the estimation model application information may include numerical conversion label information having, as character string label information, a value obtained by converting the numerical value indicated by the numerical information included in the job feature information with a predetermined function.
  • the output device can provide information including character string label information that is easy to handle the estimation model.
  • the output device 10 includes a format conversion unit (for example, an estimated value inverse conversion unit 104) that outputs the estimation model application information output by the estimation model in the same format as the job feature information corresponding to the estimation model application information. Also good.
  • a format conversion unit for example, an estimated value inverse conversion unit 104
  • the output device can provide information on computer resource usage in a format requested by the user.
  • the output device 10 estimates the estimated model application information output by the output unit 11 based on the job feature information, based on the job feature information, on the amount of computer resources required for processing the tasks constituting the job corresponding to the job feature information in the distributed processing system. You may provide the computer resource amount estimation part (for example, computer resource usage estimation part 103) estimated by inputting into a model.
  • the computer resource amount estimation part for example, computer resource usage estimation part 103
  • the output device can estimate the computer resource usage based on the estimation model application information.
  • the output device 10 estimates an estimation model for estimating the amount of computer resources required for processing a task constituting the job corresponding to the job feature information in the distributed processing system, based on the job feature information.
  • generation part for example, computer resource usage estimation model production
  • the output device can create a computer resource usage estimation model based on the estimation model application information.
  • FIG. 21 is a block diagram showing an outline of a data structure according to the present invention.
  • the data structure according to the present invention is information in a format suitable for an estimation model for estimating the amount of computer resources required for processing a task constituting a job, created based on job feature information indicating job characteristics of a distributed processing system. Contains some estimation model application information.
  • the data structure can provide information in a format suitable for a model for estimating the amount of computer resources required for processing tasks in a distributed processing system.
  • the estimation model application information may include word content information having binary information indicating whether or not the character string indicated by the character string information included in the job feature information includes a predetermined word.
  • the data structure can provide information indicating whether or not a predetermined word is included in the job name or class name.
  • the estimation model application information may include numerical conversion label information having, as character string label information, a value obtained by converting the numerical value indicated by the numerical information included in the job feature information with a predetermined function.
  • the data structure can provide information including character string label information that can be easily handled by the estimation model.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)

Abstract

 出力装置10は、分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力する出力部11を備える。推定モデル適用情報は、ジョブ特徴情報に含まれる文字列情報が示す文字列が所定の単語を含むか否かを示す二値情報を有する単語含有情報を含んでもよい。推定モデル適用情報は、ジョブ特徴情報に含まれる数値情報が示す数値が所定の関数で変換された値を文字列ラベル情報として有する数値変換ラベル情報を含んでもよい。

Description

出力装置、データ構造、出力方法および出力プログラム
 本発明は、出力装置、データ構造、出力方法および出力プログラムに関し、特に機械学習技術を用いた分散処理システムの性能予測において使用される出力装置、データ構造、出力方法および出力プログラムに関する。
 与えられた処理(ジョブ)を1以上の処理に分割し、分割された処理(タスク)を複数の計算機で並列に実行することによって処理時間を短縮する分散処理システムが存在する。
 分散処理システムを用いてジョブを効率よく実行するために、ユーザには、分割されたタスクの特徴に合わせて適切にタスクの実行順序を制御したり、計算機資源を割り当てたりすることが求められる。
 例えば、処理時間の長いタスクから実行を開始すると、ジョブ全体の処理時間が短くなることが知られている。処理時間の長いタスクから実行が開始される実行順序制御を実現するために、ユーザには、タスクの処理時間を事前に把握することが求められる。
 また、例えば、求められる最少の計算機資源量をタスク実行の際に割り当てることによって、並列に実行されるタスク数が最大になることが知られている。求められる最少の計算機資源量の割り当てを実現するために、ユーザには、タスクを処理するために求められる計算機資源量を事前に把握することが求められる。
 処理時間や計算機資源量等のタスクの特徴を事前に把握するために、機械学習技術を用いてタスクの特徴を推定する方法がある。推定方法において、ユーザは、例えば機械学習のアルゴリズムが実装されたプログラムに対してタスクの振る舞いを示す観測情報を入力し、プログラムを実行する。
 プログラムが実行されることによって、ユーザは、出力結果としてタスクの特徴を示す数理モデルを得る。得られた数理モデルに対してまだ特徴が把握されていないタスクの観測情報を与えることによって、ユーザは、タスクの特徴の推定情報を得ることができる。
 特許文献1~特許文献3および非特許文献1~非特許文献2には、タスクの処理に要する計算機資源量の推定に関連する技術が記載されている。
 特許文献1には、過去に実行されたタスクにおいて使用された資源量のログから、資源使用量と負荷値の関係を推定する技術が記載されている。
 特許文献2には、プログラムが生じる負荷特性を推定するシステムが記載されている。
 特許文献3には、時間区間毎の物理リソースのピーク使用量を予測する予測部を含む仮想マシン配置構成制御装置が記載されている。
 非特許文献1には、ウェーブレット変換を用いて仮想マシンが使用した資源量の推移情報から資源量推移の基底関数を導出し、導出された基底関数を用いることによって将来の必要資源量を推定する技術が記載されている。
 非特許文献2には、協調フィルタリングを用いて、過去のタスク実行履歴と今後割り当てる予定のタスクの短時間試験実行の結果から、サービスレベル目標(SLO:Service Level Objective)を満たすために必要な資源量を推定する技術が記載されている。
 また、特許文献4には、オンライン予測およびリコメンデーションを生成するエンタープライズウェブマイニングシステムが記載されている。
 また、特許文献5~特許文献6には、処理を行う際に使用する情報の変換に関連する技術が記載されている。
 特許文献5には、印刷出力の際の設定を補助することによってユーザの利便性を向上する印刷装置が記載されている。特許文献5に記載されている印刷装置は、印刷特徴量が文字情報である場合、文字情報を分割し、分割後の夫々の文字を独立した印刷特徴量として扱う。
 特許文献6には、個々の計算機の負荷情報だけでなく、個々の計算機で実行中のタスク、割り当てられるタスクと他のタスク間の関連度、計算機のネットワークにおける距離も考慮してタスクの割り当てを行う計算機システムが記載されている。特許文献6に記載されている計算機システムは、100キロバイトの通信データ量を1に換算する方法、帯域毎に値を割り当てる方法、またはパケット衝突率を数値に変換する方法を用いる。
特許第5354138号公報 国際公開第2011/071010号 特開2012-159928号公報 特許第5620933号公報 特開2012-022516号公報 特開2005-310120号公報
Hiep Nguyen, Zhiming Shen, Xiaohui Gu, Sethuraman Subbiah, John Wilkes. "AGILE: elastic distributed resource scaling for Infrastructure-as-a-Service." In Proc. of the 10th International Conference on Autonomic Computing (ICAC ’13), pp. 69-82, 2013. Christina Delimitrou and Christos Kozyrakis. "Quasar: Resource-Efficient and QoS-Aware Cluster Management." In Proc. of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’14), pp.127-144, 2014.
 分散処理システムにおけるタスクの処理に要する計算機資源量を精度よく推定するためには、分散処理システムの動作を示すデータやタスクの観察データを、推定アルゴリズムに対して適切な形式のデータに変換することが求められる。
 特許文献1~特許文献3および非特許文献1~非特許文献2において、タスクの観察データ等は、推定アルゴリズムが分散処理システムにおけるタスクの処理に要する計算機資源量を精度よく推定するための形式のデータに変換されていない。よって、特許文献1~特許文献3および非特許文献1~非特許文献2に記載されている技術をそのまま使用した場合、ユーザは、得られるはずの推定精度で計算機資源量の推定値を得ていない可能性がある。
 また、特許文献4~特許文献6においても、推定アルゴリズムによる分散処理システムの動作の予測に資するデータ形式は、特に言及されていない。
 そこで、本発明は、上述した課題を解決する、分散処理システムにおけるタスクの処理に要する計算機資源量を推定するモデルに適した形式の情報を提供する出力装置、データ構造、出力方法および出力プログラムを提供することを目的とする。
 本発明による出力装置は、分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力する出力部を備えることを特徴とする。
 本発明によるデータ構造は、分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて作成された、ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を含むことを特徴とする。
 本発明による出力方法は、分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力することを特徴とする。
 本発明による出力プログラムは、コンピュータに、分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力する出力処理を実行させることを特徴とする。
 本発明によれば、分散処理システムにおけるタスクの処理に要する計算機資源量を推定するモデルに適した形式の情報を提供できる。
本発明による計算機資源使用量推定装置の第1の実施形態の構成例を示すブロック図である。 入力データ変換部101が出力する推定モデル適用情報の例を示す説明図である。 入力データ変換部101が出力する推定モデル適用情報の他の例を示す説明図である。 第1の実施形態における入力データ変換部101による単語含有情報の作成処理の動作を示すフローチャートである。 入力データ変換部101に入力されるジョブ特徴情報の例を示す説明図である。 入力データ変換部101が出力する単語含有情報の例を示す説明図である。 第1の実施形態における入力データ変換部101による単語含有情報の作成処理の他の動作を示すフローチャートである。 入力データ変換部101に入力されるジョブ特徴情報の他の例を示す説明図である。 入力データ変換部101が出力する単語含有情報の他の例を示す説明図である。 第1の実施形態における入力データ変換部101による数値変換ラベル情報の作成処理の動作を示すフローチャートである。 入力データ変換部101に入力されるジョブ特徴情報の他の例を示す説明図である。 入力データ変換部101が出力する数値変換ラベル情報の例を示す説明図である。 本発明による計算機資源使用量推定装置の第2の実施形態の構成例を示すブロック図である。 第2の実施形態における入力データ変換部101による数値変換ラベル情報の作成処理の動作を示すフローチャートである。 入力データ変換部101に入力されるジョブ特徴情報の他の例を示す説明図である。 入力データ変換部101が出力する数値変換ラベル情報の他の例を示す説明図である。 第2の実施形態における推定値逆変換部104による推定メモリ使用量への逆変換処理の動作を示すフローチャートである。 推定モデルが出力する数値変換ラベル情報の例を示す説明図である。 推定値逆変換部104が出力する推定メモリ使用量情報の例を示す説明図である。 本発明による出力装置の概要を示すブロック図である。 本発明によるデータ構造の概要を示すブロック図である。
実施形態1.
[構成の説明]
 以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による計算機資源使用量推定装置の第1の実施形態の構成例を示すブロック図である。図1に示す計算機資源使用量推定装置100は、入力データ変換部101と、計算機資源使用量推定モデル生成部102と、計算機資源使用量推定部103とを含む。
 図1に示す計算機資源使用量推定装置100は、分散処理システムを対象にしている。
計算機資源使用量推定装置100は、単語含有情報または文字列ラベル情報を含むデータ形式の入力データを用いて、分散処理システムにおける各タスクの処理に要する計算機資源量を推定する。
 入力データ変換部101は、推定モデルの生成に用いられる入力データに含まれるジョブ特徴情報を、生成する推定モデルに適した形式の情報である推定モデル適用情報に変換し、推定モデル適用情報を含むデータを出力する機能を有する。
 図1に示すように、入力データ変換部101には、計算機資源使用量や処理時間が入力される。また、入力データ変換部101には、入力データのメタ情報や、処理プログラムの構成情報も入力される。
 入力データ変換部101が出力する推定モデル適用情報の例を図2と図3に示す。図2は、入力データ変換部101が出力する推定モデル適用情報の例を示す説明図である。
 図2は、推定モデル適用情報に含まれている単語含有情報を示す。図2に示す単語含有情報は、タスク識別子と、単語の候補とで構成される。
 タスク識別子は、ジョブ特徴情報の識別記号に相当する。単語の候補は、所定の単語が含まれているか否かを示す。図2において、単語含有情報は、ジョブ特徴情報の識別記号と単語の候補の各組に対する二値情報で表現されている。
 例えば、Task1というタスク識別子に対応するジョブ特徴情報Aという文字列に対して、単語α1が含まれていることを示す場合を考える。単語α1が含まれていることを示すために、Task1の単語含有情報の単語の候補「ジョブ特徴情報Aが単語α1を含むか?」には、二値情報True(真)が設定される。Task1の単語含有情報は、ジョブ特徴情報Aが単語α1を含むことを示す。
 同様に、Task2というタスク識別子に対応するジョブ特徴情報Bという文字列に対して、単語βnが含まれていないことを示す場合を考える。単語βnが含まれていないことを示すために、Task2の単語含有情報の単語の候補「ジョブ特徴情報Bが単語βnを含むか?」には、二値情報False(偽)が設定される。Task2の単語含有情報は、ジョブ特徴情報Bが単語βnを含まないことを示す。
 図3は、入力データ変換部101が出力する推定モデル適用情報の他の例を示す説明図である。図3は、推定モデル適用情報に含まれている数値変換ラベル情報を示す。図3に示す数値変換ラベル情報は、タスク識別子と、ラベル情報とで構成される。
 タスク識別子は、数値情報の識別記号に相当する。数値情報は、数値で示されるジョブ特徴情報に相当する。図3において、数値変換ラベル情報は、数値情報の識別記号とラベル情報の各組に対する文字列情報で表現されている。
 例えば、Task1というタスク識別子に対応する数値情報Aのラベル情報が8であることを示す場合を考える。数値情報Aのラベル情報が8であることを示すために、Task1の数値変換ラベル情報のラベル情報「数値情報Aのラベル情報」には、文字列情報「8」が設定される。Task1の数値変換ラベル情報は、数値情報Aのラベル情報が8であることを示す。
 同様に、Task2というタスク識別子に対応する数値情報Bのラベル情報が0であることを示す場合を考える。数値情報Bのラベル情報が0であることを示すために、Task2の数値変換ラベル情報のラベル情報「数値情報Bのラベル情報」には、文字列情報「0」が設定される。Task2の数値変換ラベル情報は、数値情報Bのラベル情報が0であることを示す。
 計算機資源使用量推定モデル生成部102は、入力データ変換部101が出力したデータを入力として、推定モデルを生成する機能を有する。図1に示すように、計算機資源使用量推定モデル生成部102は、生成した推定モデルを計算機資源使用量推定部103に入力する。
 計算機資源使用量推定部103は、入力された推定モデルを用いて、特徴がまだ把握されていないタスクの計算機資源使用量を推定する機能を有する。計算機資源使用量以外にも、計算機資源使用量推定部103は、処理時間等、処理実行に関する指標の推定値を出力してもよい。
 なお、本実施形態の計算機資源使用量推定装置100は計算機資源使用量を推定の対象にしているが、計算機資源使用量以外の値を推定の対象にしてもよい。例えば、計算機資源使用量推定装置100は、分散処理システムにおけるタスクの処理時間を推定してもよい。本実施形態において、計算機資源使用量推定装置100が推定する推定値であれば、どのような値でも推定の精度が向上することが見込まれる。
 なお、本実施形態の計算機資源使用量推定装置100は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPU(Central Processing Unit)によって実現される。すなわち、入力データ変換部101、計算機資源使用量推定モデル生成部102および計算機資源使用量推定部103は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
 また、計算機資源使用量推定装置100における各部は、ハードウェア回路によって実現されてもよい。
[動作の説明]
 以下、本実施形態の入力データ変換部101の動作を図4、図7および図10を参照して説明する。
 最初に、本実施形態の入力データ変換部101がジョブ特徴情報に基づいて、ジョブ特徴情報の1つであるジョブの名前に対して、ジョブの名前を構成する単語群の単語がそれぞれ含まれているか否かを示す単語含有情報を作成する動作を、図4を参照して説明する。図4は、第1の実施形態における入力データ変換部101による単語含有情報の作成処理の動作を示すフローチャートである。
 図5は、入力データ変換部101に入力されるジョブ特徴情報の例を示す説明図である。図5は、分散処理システムにおける処理で観測された、タスクに関する一部の情報を示す。図5に示すジョブ特徴情報は、タスク番号と、ジョブの名前とで構成される。
 図6は、入力データ変換部101が出力する単語含有情報の例を示す説明図である。図6は、図5に示すジョブ特徴情報に含まれるジョブの名前に基づいて入力データ変換部101が作成した単語含有情報である。以下、図4を参照して、入力データ変換部101が、図5に示すジョブ特徴情報に基づいて図6に示す単語含有情報を作成する動作を説明する。
 図5に示すようなジョブ特徴情報が入力されると、入力データ変換部101は、出力する単語含有情報を、タスク番号と、ジョブ特徴情報に含まれるジョブの名前を構成する単語の候補群とで構成する(ステップS101)。
 入力データ変換部101は、単語含有情報を構成する際に、例えば生成元にした情報の識別子を接頭辞として付与することによって、単語の候補の名前を作成する。なお、作成された名前が一意に識別されるのであれば、入力データ変換部101は、他の方法で単語の候補の名前を作成してもよい。
 図5に示すジョブ特徴情報の、タスク番号が「1」のジョブの名前は「Cluster Iterator running iteration 3 over priorPath: kmeans/46/clusters-2」である。また、タスク番号が「2」のジョブの名前は「Cluster Iterator running iteration 5 over priorPath: kmeans/106/clusters-4」である。入力データ変換部101は、入力された2つのジョブの名前を元に、単語含有情報を、各ジョブの名前を構成する単語の候補群で構成する。
 すなわち、入力データ変換部101は、タスク番号が「1」のジョブの名前に存在する「Cluster」「Iterator」「running」「iteration」「3」「over」「priorPath」「kmeans」「46」「clusters-2」の各単語に、接頭辞「Jobname」を付すことによって単語の候補の名前を作成する。
 また、入力データ変換部101は、タスク番号が「1」のジョブの名前に存在せず、タスク番号が「2」のジョブの名前のみに存在する「5」「106」「clusters-4」の各単語に、接頭辞「Jobname」を付すことによって単語の候補の名前を作成する。入力データ変換部101は、単語含有情報を、作成した名前を示す単語の候補群で構成する。
 なお、入力データ変換部101は、入力されたジョブ特徴情報の数だけ単語含有情報を作成する。入力データ変換部101は、作成する各単語含有情報のタスク番号に、入力されたジョブ特徴情報のタスク番号をそれぞれ設定する。
 次いで、入力データ変換部101は、初期化処理として、作成された各単語含有情報の全ての単語の候補にFalseを設定する(ステップS102)。
 次いで、入力データ変換部101は、入力されたジョブ特徴情報のジョブの名前を単語に分解する(ステップS104)。例えば、タスク番号が「1」のジョブの名前は、「Cluster」「Iterator」「running」「iteration」「3」「over」「priorPath」「kmeans」「46」「clusters-2」の各単語に分解される。
 入力データ変換部101がジョブの名前を単語に分解する際の区切り記号や区切り文字は、例えば、ユーザやシステム等によって設定される。また、入力データ変換部101が、区切り記号や区切り文字を予め保持してもよい。
 次いで、入力データ変換部101は、分解された単語に対応する、単語含有情報の単語の候補にTrueを設定する(ステップS106)。Trueは、設定された単語の候補がジョブの名前に含まれていることを示す二値情報である。入力データ変換部101は、分解された単語の数だけTrueを設定する(ステップS107)。
 例えば、タスク番号が「1」のジョブ特徴情報の場合、対応する単語が存在する「Jobname-Cluster」「Jobname-Iterator」「Jobname-running」「Jobname-iteration」「Jobname-3」「Jobname-over」「Jobname-priorPath」「Jobname-kmeans」「Jobname-46」「Jobname-clusters-2」の各単語の候補にはTrueが設定される。対応する単語が存在しない「Jobname-5」「Jobname-106」「Jobname-clusters-4」の各単語の候補には、Falseが設定されたままになる。
 なお、単語の候補がジョブの名前に含まれているという意味が明らかであれば、入力データ変換部101は、True以外の情報を単語の候補に設定してもよい。例えば、入力データ変換部101は、Trueの代わりに数値1を単語の候補に設定してもよい。数値1を設定する場合、入力データ変換部101は、ステップS102における初期化処理の際、Falseの代わりに数値0を各単語の候補に設定する。
 入力データ変換部101が分解された単語の数だけTrueを設定することによって(ステップS107における判定条件が成立)、入力されたジョブ特徴情報に対応する単語含有情報が作成される。入力データ変換部101は、入力されたジョブ特徴情報の数だけステップS103~ステップS108の処理を繰り返し行う。
 入力されたジョブ特徴情報の数だけ単語含有情報を作成した後(ステップS108における判定条件が成立)、入力データ変換部101は、作成処理を終了する。
 以下、図6に示すように変換された情報が計算機資源量推定アルゴリズムに対して与える効果を説明する。図6に示す単語含有情報を参照することによって、計算機資源使用量推定部103は、ジョブの名前を構成する単語の組み合わせを認識できる。
 タスクの特徴情報と計算機資源量の関係がそれぞれ異なるタスクの集合に対応する単語含有情報を参照することによって、計算機資源使用量推定部103は、所定の単語の組が含まれているか否かでタスク集合に含まれるタスクを区分できる。
 例えば、図5に示す各タスク特徴情報に対応する各タスクは、機械学習アルゴリズムの1つであるK-Meansを実行する。各タスクがK-Meansを実行することを事前に把握していなくても、計算機資源使用量推定部103は、図6に示す単語の候補「Jobname-kmeans」がTrueである単語含有情報に対応するタスク群を抽出することによって、K-Meansの実装の傾向を把握できる。アルゴリズムごとの実装の傾向を把握した上でタスク処理に要する計算機資源量を推定することによって、計算機資源使用量推定部103は、推定値の精度を上げることができる。
 次に、本実施形態の入力データ変換部101がジョブ特徴情報に基づいて、ジョブ特徴情報の1つであるプログラムのクラス名に対して、クラス名を構成する単語群の単語がそれぞれ含まれているか否かを示す単語含有情報を作成する動作を、図7を参照して説明する。図7は、第1の実施形態における入力データ変換部101による単語含有情報の作成処理の他の動作を示すフローチャートである。
 図8は、入力データ変換部101に入力されるジョブ特徴情報の他の例を示す説明図である。図8は、分散処理システムにおける処理で観測された、タスクに関する一部の情報を示す。図8に示すジョブ特徴情報は、タスク番号と、プログラムのクラス名とで構成される。
 図9は、入力データ変換部101が出力する単語含有情報の他の例を示す説明図である。図9は、図8に示すジョブ特徴情報に含まれるプログラムのクラス名に基づいて入力データ変換部101が作成した単語含有情報である。以下、図7を参照して、入力データ変換部101が、図8に示すジョブ特徴情報に基づいて図9に示す単語含有情報を作成する動作を説明する。
 図8に示すようなジョブ特徴情報が入力されると、入力データ変換部101は、出力する単語含有情報を、タスク番号と、ジョブ特徴情報に含まれるプログラムのクラス名を構成する単語の候補群とで構成する(ステップS111)。
 入力データ変換部101は、単語含有情報を構成する際に、例えば生成元にした情報の識別子を接頭辞として付与することによって、単語の候補の名前を作成する。なお、作成された名前が一意に識別されるのであれば、入力データ変換部101は、他の方法で単語の候補の名前を作成してもよい。
 図8に示すジョブ特徴情報の、タスク番号が「1」のクラス名は「org.apache.mahout.clustering.iterator.CIMapper」である。また、タスク番号が「2」のクラス名は「org.apache.mahout.cf.taste.hadoop.item.ItemIDIndexMapper」である。入力データ変換部101は、入力された2つのクラス名を元に、単語含有情報を、各クラス名を構成する単語の候補群で構成する。
 すなわち、入力データ変換部101は、タスク番号が「1」のクラス名に存在する「org」「apache」「mahout」「clustering」「iterator」「CIMapper」の各単語に、接頭辞「Class」を付すことによって単語の候補の名前を作成する。
 また、入力データ変換部101は、タスク番号が「1」のクラス名に存在せず、タスク番号が「2」のクラス名のみに存在する「cf」「taste」「hadoop」「item」「ItemIDIndexMapper」の各単語に、接頭辞「Class」を付すことによって単語の候補の名前を作成する。入力データ変換部101は、単語含有情報を、作成した名前を示す単語の候補群で構成する。
 なお、入力データ変換部101は、入力されたジョブ特徴情報の数だけ単語含有情報を作成する。入力データ変換部101は、作成する各単語含有情報のタスク番号に、入力されたジョブ特徴情報のタスク番号をそれぞれ設定する。
 次いで、入力データ変換部101は、初期化処理として、作成された各単語含有情報の全ての単語の候補にFalseを設定する(ステップS112)。
 次いで、入力データ変換部101は、入力されたジョブ特徴情報のプログラムのクラス名を単語に分解する(ステップS114)。例えば、タスク番号が「1」のクラス名は、「org」「apache」「mahout」「clustering」「iterator」「CIMapper」の各単語に分解される。
 入力データ変換部101がクラス名を単語に分解する際の区切り記号や区切り文字は、例えば、ユーザやシステム等によって設定される。また、入力データ変換部101が、区切り記号や区切り文字を予め保持してもよい。
 次いで、入力データ変換部101は、分解された単語に対応する、単語含有情報の単語の候補にTrueを設定する(ステップS116)。Trueは、設定された単語の候補がプログラムのクラス名に含まれていることを示す二値情報である。入力データ変換部101は、分解された単語の数だけTrueを設定する(ステップS117)。
 例えば、タスク番号が「1」のジョブ特徴情報の場合、対応する単語が存在する「Class-org」「Class-apache」「Class-mahout」「Class-clustering」「Class-iterator」「Class-CIMapper」の各単語の候補にはTrueが設定される。対応する単語が存在しない「Class-cf」「Class-taste」「Class-hadoop」「Class-item」「Class-ItemIDIndexMapper」の各単語の候補には、Falseが設定されたままになる。
 なお、単語の候補がプログラムのクラス名に含まれているという意味が明らかであれば、入力データ変換部101は、True以外の情報を単語の候補に設定してもよい。例えば、入力データ変換部101は、Trueの代わりに数値1を単語の候補に設定してもよい。数値1を設定する場合、入力データ変換部101は、ステップS112における初期化処理の際、Falseの代わりに数値0を各単語の候補に設定する。
 入力データ変換部101が分解された単語の数だけTrueを設定することによって(ステップS117における判定条件が成立)、入力されたジョブ特徴情報に対応する単語含有情報が作成される。入力データ変換部101は、入力されたジョブ特徴情報の数だけステップS113~ステップS118の処理を繰り返し行う。
 入力されたジョブ特徴情報の数だけ単語含有情報を作成した後(ステップS118における判定条件が成立)、入力データ変換部101は、作成処理を終了する。
 以下、図9に示すように変換された情報が計算機資源量推定アルゴリズムに対して与える効果を説明する。図9に示す単語含有情報を参照することによって、計算機資源使用量推定部103は、プログラムのクラス名を構成する単語の組み合わせを認識できる。
 タスクの特徴情報と計算機資源量の関係がそれぞれ異なるタスクの集合に対応する単語含有情報を参照することによって、計算機資源使用量推定部103は、所定の単語の組が含まれているか否かでタスク集合に含まれるタスクを区分できる。
 例えば、図8に示す各タスク特徴情報に対応する各タスクは、機械学習アルゴリズムをApache Hadoop(登録商標)において実行するためのフレームワークである、Apache Mahout(登録商標)で実装されたプログラムを実行する。よって、Apache Mahoutで実装されたプログラムを実行するタスクに対応する単語含有情報の単語の候補「Class-mahout」にはTrueが設定される。
 各タスクがApache Mahoutで実装されたプログラムを実行することを事前に把握していなくても、計算機資源使用量推定部103は、図9に示す単語の候補「Class-mahout」がTrueである単語含有情報に対応するタスク群を抽出することによって、Apache Mahoutの実装の傾向を把握できる。アルゴリズムごとの実装の傾向を把握した上でタスク処理に要する計算機資源量を推定することによって、計算機資源使用量推定部103は、推定値の精度を上げることができる。
 次に、本実施形態の入力データ変換部101が、ジョブ特徴情報の1つである、プログラム実行時の観測値およびプログラム実行時に指定されるオプション数値を含むジョブ特徴情報に基づいて、数値変換ラベル情報を作成する動作を、図10を参照して説明する。
 図10は、第1の実施形態における入力データ変換部101による数値変換ラベル情報の作成処理の動作を示すフローチャートである。具体的には、プログラム実行時の観測値としてファイル読み出しバイト数を、プログラム実行時に指定されるオプション数値として所定のコマンドライン引数の値をそれぞれ例に説明する。
 図11は、入力データ変換部101に入力されるジョブ特徴情報の他の例を示す説明図である。図11は、分散処理システムにおける処理で観測された、タスクに関する一部の情報を示す。図11に示すジョブ特徴情報は、タスク番号と、ファイル読み出しバイト数と、コマンドライン引数の1つであるoption1とで構成される。option1は、タスク番号が示すタスクが実行するアルゴリズムに与えられるパラメータの1つである。
 図12は、入力データ変換部101が出力する数値変換ラベル情報の例を示す説明図である。図12は、図11に示すジョブ特徴情報に含まれるファイル読み出しバイト数とoption1の値に基づいて入力データ変換部101が作成した数値変換ラベル情報である。以下、図10を参照して、入力データ変換部101が、図11に示すジョブ特徴情報に基づいて図12に示す数値変換ラベル情報を作成する動作を説明する。
 図11に示すようなジョブ特徴情報が入力されると、入力データ変換部101は、出力する数値変換ラベル情報を、タスク番号と、ラベル情報群で構成する(ステップS121)。ラベル情報群には、ジョブ特徴情報に含まれるファイル読み出しバイト数およびoption1の値がそれぞれ変換された値が設定される。ラベル情報に設定された値は、文字列で表された識別子として扱われる。
 入力データ変換部101は、数値変換ラベル情報を構成する際に、例えば生成元にした情報の識別子を接頭辞として付与することによって、ラベル情報の名前を作成する。なお、作成された名前が一意に識別されるのであれば、入力データ変換部101は、他の方法でラベル情報の名前を作成してもよい。
 また、入力データ変換部101は、値が置き換えられたジョブ特徴情報を数値変換ラベル情報にしてもよい。図12に示す数値変換ラベル情報は、図11に示すジョブ特徴情報の値が置き換えられることによって作成されている。具体的には、メモリ使用量の値が置き換えられることによって作成されている。
 次いで、入力データ変換部101は、関数fを用いて、ジョブ特徴情報に含まれる値vを値v´に変換する(ステップS124)。入力データ変換部101が値を変換する際に用いる関数fは、例えば、ユーザやシステム等によって設定される。また、入力データ変換部101が、関数fを予め保持してもよい。
 入力データ変換部101は、関数fに任意の数学関数を用いる。図12に示す値への変換に用いられる関数fは、f=floor(log10(v))である。
 次いで、入力データ変換部101は、値vに対応する数値変換ラベル情報のラベル情報に、変換された値v´を設定する(ステップS125)。入力データ変換部101は、値の変換および変換された値の設定を、ジョブ特徴情報に含まれる変換対象値の数だけ行う(ステップS126)。
 例えば、図11に示すタスク番号が「1」のジョブ特徴情報の場合、ファイル読み出しバイト数「301355226」は、関数fにより「8」に変換される。また、option1(コマンドライン引数)「0.01」は、関数fにより「-2」に変換される。
 また、例えば、図12に示すタスク番号が「1」の数値変換ラベル情報の場合、ファイル読み出しバイト数には文字列「8」が、option1(コマンドライン引数)には文字列「-2」がそれぞれ設定される。
 入力データ変換部101が値の変換および変換された値の設定をジョブ特徴情報に含まれる変換対象値の数だけ行うことによって(ステップS126における判定条件が成立)、入力されたジョブ特徴情報に対応する数値変換ラベル情報が作成される。入力データ変換部101は、入力されたジョブ特徴情報の数だけステップS122~ステップS127の処理を繰り返し行う。
 入力されたジョブ特徴情報の数だけ数値変換ラベル情報を作成した後(ステップS127における判定条件が成立)、入力データ変換部101は、作成処理を終了する。
 以下、図12に示すように変換された情報が計算機資源量推定アルゴリズムに対して与える効果を説明する。図12に示す数値変換ラベル情報には、数値情報が文字列のラベル情報として含まれている。
 よって、計算機資源使用量推定部103は、図12に示す数値変換ラベル情報を用いた場合、数値情報が入力データとして不適切であり、高精度で計算機資源量を推定できる、または容易に実装される等の利点を持つ有利なアルゴリズムを使用できる。
 例えば、ナイーブベイズアルゴリズムは、入力データを離散値として扱う。連続量である数値情報を扱うと、ナイーブベイズアルゴリズムは、全ての値を不連続な離散値として解釈する。
 不連続な離散値として解釈する動作は、ナイーブベイズアルゴリズムが本来行う動作ではない。不連続な離散値として解釈した場合、ナイーブベイズアルゴリズムは、推定処理において過学習などを行う。過学習などが行われる場合、ナイーブベイズアルゴリズムによる計算機資源量の推定値の精度が劣化する。
 本実施形態の入力データ変換部101が出力する数値変換ラベル情報には、関数fによって連続量から離散量に変換された数値が、ラベル情報として含まれている。ラベル情報を含む数値変換ラベル情報を入力データにする場合、計算機資源使用量推定部103は、例えばナイーブベイズアルゴリズムのような離散値しか扱うことができないアルゴリズムを用いることができる。すなわち、計算機資源使用量推定部103がナイーブベイズアルゴリズムを用いてタスク処理に要する計算機資源量を精度よく推定できる可能性が高まる。
 また、関数fを調整することによって、入力データ変換部101は、入力データの分布を別の分布に変換できる。データ分布が変換されることによって、計算機資源使用量推定部103がより明確にデータを区分けできる可能性が高まる。
 本実施形態によれば、分散処理システムにおけるタスクの処理に要する計算機資源量が精度よく推定される。その理由は、入力データ変換部101が出力する情報を入力とすることによって、計算機資源使用量推定モデル生成部102は、計算機資源量を求める関数の形を決定づける要因を推定アルゴリズムごとに容易に分類できる。要因の推定アルゴリズムごとの分類は、上記の単語の候補「Jobname-kmeans」がTrueであるタスク群を抽出すること、または単語の候補「Class-mahout」がTrueであるタスク群を抽出することに相当する。
 分類された要因を計算機資源量の推定アルゴリズム生成のための入力とすることによって、計算機資源使用量推定モデル生成部102は、タスク処理における値の分布に近い形式の関数を生成できる。計算機資源使用量推定モデル生成部102が生成した、タスク処理における値の分布に近い形式の関数を用いて計算機資源使用量を推定することによって、計算機資源使用量推定部103は、推定精度を上げることができる。
実施形態2.
[構成の説明]
 次に、本発明の第2の実施形態を、図面を参照して説明する。図13は、本発明による計算機資源使用量推定装置の第2の実施形態の構成例を示すブロック図である。
 図13に示すように、本実施形態における計算機資源使用量推定装置100は、第1の実施形態と比較して、推定値逆変換部104が追加されている点が異なる。
 推定値逆変換部104は、計算機資源使用量推定部103が出力する値を、計算機資源使用量推定値に逆変換する機能を有する。推定値逆変換部104は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
 本実施形態において、計算機資源使用量推定モデル生成部102は、入力データ変換部101が出力したデータを入力として推定モデルを生成する。また、計算機資源使用量推定部103は、入力データ変換部101が出力したデータを入力として、特徴がまだ把握されていないタスクの計算機資源使用量の値を、入力されたデータと同じ形式で出力する。
 また、推定値逆変換部104は、計算機資源使用量推定部103が出力する計算機資源使用量推定値を示す値を、計算機資源使用量推定値を示す数値情報に変換して出力する。本実施形態の計算機資源使用量推定装置100を使用することによって、ユーザや分散処理システムのスケジューラ等は、タスク処理に要する計算機資源量を推定できる。
[動作の説明]
 以下、本実施形態の入力データ変換部101の動作を図14、推定値逆変換部104の動作を図17を参照してそれぞれ説明する。
 最初に、本実施形態の入力データ変換部101が、ジョブ特徴情報の1つである、プログラム実行時に観測された計算機資源使用量を含むジョブ特徴情報に基づいて数値変換ラベル情報を作成する動作を、図14を参照して説明する。図14は、第2の実施形態における入力データ変換部101による数値変換ラベル情報の作成処理の動作を示すフローチャートである。
 図15は、入力データ変換部101に入力されるジョブ特徴情報の他の例を示す説明図である。図15は、分散処理システムにおける処理で観測された、タスクに関する一部の情報を示す。図15に示すジョブ特徴情報は、タスク番号と、メモリ使用量とで構成される。本実施形態では、メモリ使用量が推定対象の計算機資源量である。
 図16は、入力データ変換部101が出力する数値変換ラベル情報の他の例を示す説明図である。図16は、図15に示すジョブ特徴情報に含まれるメモリ使用量に基づいて入力データ変換部101が作成した数値変換ラベル情報である。以下、図14を参照して、入力データ変換部101が、図15に示すジョブ特徴情報に基づいて図16に示す数値変換ラベル情報を作成する動作を説明する。
 図15に示すようなジョブ特徴情報が入力されると、入力データ変換部101は、出力する数値変換ラベル情報を、タスク番号と、ラベル情報群で構成する(ステップS201)。ラベル情報群には、ジョブ特徴情報に含まれるメモリ使用量が変換された値が設定される。ラベル情報に設定された値は、文字列で表された識別子として扱われる。
 入力データ変換部101は、数値変換ラベル情報を構成する際に、例えば生成元にした情報の識別子を接頭辞として付与することによって、ラベル情報の名前を作成する。なお、作成された名前が一意に識別されるのであれば、入力データ変換部101は、他の方法でラベル情報の名前を作成してもよい。
 また、入力データ変換部101は、値が置き換えられたジョブ特徴情報を数値変換ラベル情報にしてもよい。図16に示す数値変換ラベル情報は、図15に示すジョブ特徴情報の値が置き換えられることによって作成されている。具体的には、メモリ使用量の値が置き換えられることによって作成されている。
 次いで、入力データ変換部101は、関数fを用いて、ジョブ特徴情報に含まれる値vを値v´に変換する(ステップS204)。入力データ変換部101が値を変換する際に用いる関数fは、例えば、ユーザやシステム等によって設定される。また、入力データ変換部101が、関数fを予め保持してもよい。
 入力データ変換部101は、関数fに任意の数学関数を用いる。図16に示す値への変換に用いられる関数fは、f=floor(log2(v))である。
 次いで、入力データ変換部101は、値vに対応する数値変換ラベル情報のラベル情報に、変換された値v´を設定する(ステップS205)。入力データ変換部101は、値の変換および変換された値の設定を、ジョブ特徴情報に含まれる変換対象値の数だけ行う(ステップS206)。
 例えば、図15に示すタスク番号が「1」のジョブ特徴情報の場合、メモリ使用量「1820852224」は、関数fにより「30」に変換される。また、図16に示すタスク番号が「1」の数値変換ラベル情報の場合、メモリ使用量には文字列「30」が設定される。
 入力データ変換部101が値の変換および変換された値の設定をジョブ特徴情報に含まれる変換対象値の数だけ行うことによって(ステップS206における判定条件が成立)、入力されたジョブ特徴情報に対応する数値変換ラベル情報が作成される。入力データ変換部101は、入力されたジョブ特徴情報の数だけステップS202~ステップS207の処理を繰り返し行う。
 入力されたジョブ特徴情報の数だけ数値変換ラベル情報を作成した後(ステップS207における判定条件が成立)、入力データ変換部101は、作成処理を終了する。
 入力データ変換部101は、作成した数値変換ラベル情報を、機械学習アルゴリズム等が実装された計算機資源使用量推定モデル生成部102に入力する。計算機資源使用量推定モデル生成部102は、入力された数値変換ラベル情報を用いて、メモリ使用量の推定値を算出するための推定モデルを生成する。
 次に、本実施形態の推定値逆変換部104が、推定アルゴリズムの出力値を計算機資源の推定使用量に逆変換する動作を、図17を参照して説明する。図17は、第2の実施形態における推定値逆変換部104による推定メモリ使用量への逆変換処理の動作を示すフローチャートである。図17は、推定値逆変換部104が、推定モデルが出力する出力値をメモリ使用量の推定値に逆変換する動作を示す。
 図18は、推定モデルが出力する数値変換ラベル情報の例を示す説明図である。数値変換ラベル情報は、タスク番号と、メモリ使用量(予測値)とで構成されている。メモリ使用量(予測値)に設定される値は、関数fによって変換された後の推定メモリ使用量である。
 図18に示すように、タスク番号が「11」の数値変換ラベル情報の、メモリ使用量(予測値)は「27」である。すなわち、タスク番号が「11」のタスクに対する推定モデルの出力値は「27」である。同様に、タスク番号が「12」の数値変換ラベル情報の、メモリ使用量(予測値)は「31」である。すなわち、タスク番号が「12」のタスクに対する推定モデルの出力値は「31」である。
 図19は、推定値逆変換部104が出力する推定メモリ使用量情報の例を示す説明図である。図19は、図18に示す推定モデルが出力した数値変換ラベル情報に含まれるメモリ使用量の推定値を、推定値逆変換部104が逆変換することによって作成した推定メモリ使用量情報を示す。推定メモリ使用量情報は、タスク番号と、メモリ使用量(予測値)とで構成されている。メモリ使用量(予測値)の単位はバイトである。
 図19に示すように、タスク番号が「11」の推定メモリ使用量情報の、メモリ使用量(予測値)は「134217728」である。すなわち、タスク番号が「11」のタスクに対するメモリ使用量の推定値は、134217728バイトである。同様に、タスク番号が「12」の推定メモリ使用量情報の、メモリ使用量(予測値)は「2147483648」である。すなわち、タスク番号が「12」のタスクに対するメモリ使用量の推定値は、2147483648バイトである。
 以下、図17を参照して、推定値逆変換部104が、図18に示す数値変換ラベル情報に基づいて図19に示す推定メモリ使用量情報を作成する動作を説明する。
 推定値逆変換部104は、推定モデルが出力した数値変換ラベル情報に含まれる出力値p´を、図14に示すステップS204における変換対象値の変換処理で用いられた関数fの逆関数f-1に入力する。本実施形態におけるf-1は、f-1=2p’ である。f-1に入力することによって、推定値逆変換部104は、推定値pを得る(ステップS211)。推定値逆変換部104は、得られた推定値pを基に、推定メモリ使用量情報を作成する。
 推定値逆変換部104は、入力された数値変換ラベル情報の数だけステップS211の処理を繰り返し行う。入力された数値変換ラベル情報の数だけ推定メモリ使用量情報を作成した後、推定値逆変換部104は、処理を終了する。
 以上より、本実施形態の計算機資源使用量推定装置100は、推定モデルが出力した数値変換ラベル情報に含まれる文字列を、数値情報である計算機資源使用量の推定値に変換できる。変換された推定値を用いることで、分散処理システムは、より高速またはより高効率にタスクを処理できる。その理由は、推定値を用いることで、処理に割り当てる計算機資源量を、求められる最少の量にできる可能性が高まるためである。
 例えば、ユーザが、分散処理システムにおける全ての処理が2GBのメモリを使用するように設定したとする。設定された場合、4GBのメモリを搭載している計算機は、2つの処理を並列に実行できる。しかし、処理に使用されるメモリが1GBの場合、上記の設定では2GBのメモリが計算機に無駄に割り当てられている。
 処理に要するメモリ量が1GBであることを推定できれば、ユーザは、分散処理システムが4GBのメモリを搭載している計算機に一度に4つの処理を割り当てるように設定できる。4つの処理が並列に実行されることで、分散処理システムは、上記の内容が設定された場合に比べて2倍の速さでジョブを処理できる。また,2GBのメモリの無駄な割り当てがなくなるので、上記の内容が設定された場合に比べて計算機資源の利用効率が高まる。
 以下、図16に示すように変換された情報が計算機資源量推定アルゴリズムに対して与える効果を説明する。図16に示す数値変換ラベル情報には、推定対象である数値情報が文字列のラベル情報として含まれている。
 よって、計算機資源使用量推定部103は、図16に示す数値変換ラベル情報を用いた場合、数値情報を推定値として推定することが難しく、高精度で計算機資源量を推定できる、または容易に実装される等の利点を持つ有利なアルゴリズムを使用できる。
 例えば、ナイーブベイズアルゴリズムは、離散値を推定対象として扱う。連続量である数値情報を推定対象にすると、ナイーブベイズアルゴリズムは、全ての値を不連続な離散値として解釈する。
 不連続な離散値として解釈する動作は、ナイーブベイズアルゴリズムが本来行う動作ではない。不連続な離散値として解釈した場合、ナイーブベイズアルゴリズムは、推定処理において過学習などを行う。過学習などが行われる場合、ナイーブベイズアルゴリズムによる計算機資源量の推定値の精度が劣化する。
 本実施形態の入力データ変換部101が出力する数値変換ラベル情報には、関数fによって連続量から離散量に変換された数値が、ラベル情報として含まれている。ラベル情報を含む数値変換ラベル情報を推定対象にすることによって、計算機資源使用量推定部103は、例えばナイーブベイズアルゴリズムのような推定値に離散値しか扱うことができないアルゴリズムを用いることができる。すなわち、計算機資源使用量推定部103がナイーブベイズアルゴリズムを用いてタスク処理に要する計算機資源量を精度よく推定できる可能性が高まる。
 また、関数fを調整することによって、計算機資源使用量推定装置100は、適切な解像度の推定値を得ることができる。例えば、関数fに対数関数を用いることによって、計算機資源使用量推定装置100は、微少な変化量の影響を受けずに値の大きな推定値を推定できる。その結果、分散処理システムの実態に則した、適切な程度で計算機資源量が推定される可能性が高まる。
 次に、本発明の概要を説明する。図20は、本発明による出力装置の概要を示すブロック図である。本発明による出力装置10は、分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力する出力部11(例えば、入力データ変換部101)を備える。
 そのような構成により、出力装置は、分散処理システムにおけるタスクの処理に要する計算機資源量を推定するモデルに適した形式の情報を提供できる。
 また、推定モデル適用情報は、ジョブ特徴情報に含まれる文字列情報が示す文字列が所定の単語を含むか否かを示す二値情報を有する単語含有情報を含んでもよい。
 そのような構成により、出力装置は、ジョブの名前やクラス名に所定の単語が含まれているか否かを示す情報を提供できる。
 また、推定モデル適用情報は、ジョブ特徴情報に含まれる数値情報が示す数値が所定の関数で変換された値を文字列ラベル情報として有する数値変換ラベル情報を含んでもよい。
 そのような構成により、出力装置は、推定モデルが扱いやすい文字列ラベル情報を含む情報を提供できる。
 また、出力装置10は、推定モデルが出力した推定モデル適用情報を、推定モデル適用情報に対応するジョブ特徴情報と同じ形式で出力する形式変換部(例えば、推定値逆変換部104)を備えてもよい。
 そのような構成により、出力装置は、ユーザが求める形式で計算機資源使用量の情報を提供できる。
 また、出力装置10は、分散処理システムにおける、ジョブ特徴情報に対応するジョブを構成するタスクの処理に要する計算機資源量を、ジョブ特徴情報に基づいて出力部11が出力した推定モデル適用情報を推定モデルに入力することによって推定する計算機資源量推定部(例えば、計算機資源使用量推定部103)を備えてもよい。
 そのような構成により、出力装置は、推定モデル適用情報に基づいて計算機資源使用量を推定できる。
 また、出力装置10は、分散処理システムにおける、ジョブ特徴情報に対応するジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルを、ジョブ特徴情報に基づいて出力部11が出力した推定モデル適用情報を用いて作成する計算機資源量推定モデル生成部(例えば、計算機資源使用量推定モデル生成部102)を備えてもよい。
 そのような構成により、出力装置は、推定モデル適用情報に基づいて計算機資源使用量推定モデルを作成できる。
 図21は、本発明によるデータ構造の概要を示すブロック図である。本発明によるデータ構造は、分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて作成された、ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を含む。
 そのような構成により、データ構造は、分散処理システムにおけるタスクの処理に要する計算機資源量を推定するモデルに適した形式の情報を提供できる。
 また、推定モデル適用情報は、ジョブ特徴情報に含まれる文字列情報が示す文字列が所定の単語を含むか否かを示す二値情報を有する単語含有情報を含んでもよい。
 そのような構成により、データ構造は、ジョブの名前やクラス名に所定の単語が含まれているか否かを示す情報を提供できる。
 また、推定モデル適用情報は、ジョブ特徴情報に含まれる数値情報が示す数値が所定の関数で変換された値を文字列ラベル情報として有する数値変換ラベル情報を含んでもよい。
 そのような構成により、データ構造は、推定モデルが扱いやすい文字列ラベル情報を含む情報を提供できる。
 以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2015年1月22日に出願された日本特許出願2015-010492を基礎とする優先権を主張し、その開示の全てをここに取り込む。
10 出力装置
11 出力部
100 計算機資源使用量推定装置
101 入力データ変換部
102 計算機資源使用量推定モデル生成部
103 計算機資源使用量推定部
104 推定値逆変換部

Claims (10)

  1.  分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、前記ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力する出力部を備える
     ことを特徴とする出力装置。
  2.  推定モデル適用情報は、ジョブ特徴情報に含まれる文字列情報が示す文字列が所定の単語を含むか否かを示す二値情報を有する単語含有情報を含む
     請求項1記載の出力装置。
  3.  推定モデル適用情報は、ジョブ特徴情報に含まれる数値情報が示す数値が所定の関数で変換された値を文字列ラベル情報として有する数値変換ラベル情報を含む
     請求項1または請求項2記載の出力装置。
  4.  推定モデルが出力した推定モデル適用情報を、前記推定モデル適用情報に対応するジョブ特徴情報と同じ形式で出力する形式変換部を備える
     請求項1から請求項3のうちのいずれか1項に記載の出力装置。
  5.  分散処理システムにおける、ジョブ特徴情報に対応するジョブを構成するタスクの処理に要する計算機資源量を、前記ジョブ特徴情報に基づいて出力部が出力した推定モデル適用情報を推定モデルに入力することによって推定する計算機資源量推定部を備える
     請求項1から請求項4のうちのいずれか1項に記載の出力装置。
  6.  分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて作成された、前記ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を含む
     ことを特徴とするデータ構造。
  7.  推定モデル適用情報は、ジョブ特徴情報に含まれる文字列情報が示す文字列が所定の単語を含むか否かを示す二値情報を有する単語含有情報を含む
     請求項6記載のデータ構造。
  8.  推定モデル適用情報は、ジョブ特徴情報に含まれる数値情報が示す数値が所定の関数で変換された値を文字列ラベル情報として有する数値変換ラベル情報を含む
     請求項6または請求項7記載のデータ構造。
  9.  分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、前記ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力する
     ことを特徴とする出力方法。
  10.  コンピュータに、
     分散処理システムのジョブの特徴を示すジョブ特徴情報に基づいて、前記ジョブを構成するタスクの処理に要する計算機資源量を推定する推定モデルに適した形式の情報である推定モデル適用情報を出力する出力処理
     を実行させるための出力プログラム。
PCT/JP2015/006361 2015-01-22 2015-12-21 出力装置、データ構造、出力方法および出力プログラム WO2016116990A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016570216A JPWO2016116990A1 (ja) 2015-01-22 2015-12-21 出力装置、データ構造、出力方法および出力プログラム
US15/544,732 US20180004869A1 (en) 2015-01-22 2015-12-21 Output device, data structure, output method, and output program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015010492 2015-01-22
JP2015-010492 2015-05-14

Publications (1)

Publication Number Publication Date
WO2016116990A1 true WO2016116990A1 (ja) 2016-07-28

Family

ID=56416559

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/006361 WO2016116990A1 (ja) 2015-01-22 2015-12-21 出力装置、データ構造、出力方法および出力プログラム

Country Status (3)

Country Link
US (1) US20180004869A1 (ja)
JP (1) JPWO2016116990A1 (ja)
WO (1) WO2016116990A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182210B2 (en) * 2017-07-31 2021-11-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for resource allocation and terminal device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305556A (ja) * 1996-05-17 1997-11-28 Nec Corp プログラム実行時における処理時間の予測方法および装置
JPH11259433A (ja) * 1998-03-09 1999-09-24 Fujitsu Ltd 並列実行システム
US20130318538A1 (en) * 2011-02-02 2013-11-28 Abhishek Verma Estimating a performance characteristic of a job using a performance model

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09305556A (ja) * 1996-05-17 1997-11-28 Nec Corp プログラム実行時における処理時間の予測方法および装置
JPH11259433A (ja) * 1998-03-09 1999-09-24 Fujitsu Ltd 並列実行システム
US20130318538A1 (en) * 2011-02-02 2013-11-28 Abhishek Verma Estimating a performance characteristic of a job using a performance model

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUYA UNNO: "Jubatus: Distributed Online Machine Learning Framework", THE JOURNAL OF THE INSTITUTE OF IMAGE INFORMATION AND TELEVISION ENGINEERS, vol. 68, no. 5, 1 May 2014 (2014-05-01), pages 414 - 417, ISSN: 1342-6907 *

Also Published As

Publication number Publication date
US20180004869A1 (en) 2018-01-04
JPWO2016116990A1 (ja) 2017-10-26

Similar Documents

Publication Publication Date Title
US10031774B2 (en) Scheduling multi-phase computing jobs
Ghorbannia Delavar et al. HSGA: a hybrid heuristic algorithm for workflow scheduling in cloud systems
Ebadifard et al. Autonomic task scheduling algorithm for dynamic workloads through a load balancing technique for the cloud-computing environment
Elmroth et al. A grid resource broker supporting advance reservations and benchmark-based resource selection
JP5880575B2 (ja) リソース検索装置及び該プログラム
US20070283016A1 (en) Multiple resource control-advisor for management of distributed or web-based systems
US20090119238A1 (en) Method and system for predicting resource usage of reusable stream processing elements
Kimpan et al. Heuristic task scheduling with artificial bee colony algorithm for virtual machines
Vakilinia et al. Analysis and optimization of big-data stream processing
Galleguillos et al. Data-driven job dispatching in HPC systems
Prakash et al. A novel scheduling model for computational grid using quantum genetic algorithm
JP5445739B2 (ja) リソース割当装置、リソース割当方法、及びプログラム
Hu et al. The scheduler for distributed computer systems based on the network centric approach to resources control
Yun et al. An integrated approach to workflow mapping and task scheduling for delay minimization in distributed environments
US20210012214A1 (en) Learning apparatus, learning method, and computer-readable recording medium
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
WO2016116990A1 (ja) 出力装置、データ構造、出力方法および出力プログラム
EP2728490A1 (en) Application execution method in computing
WO2016084327A1 (ja) 資源予測装置、資源予測方法、資源予測プログラムおよび分散処理システム
Runsewe et al. Cloud resource scaling for time-bounded and unbounded big data streaming applications
Almezeini et al. An Enhanced Workflow Scheduling Algorithm in Cloud Computing.
Kim et al. Towards effective science cloud provisioning for a large-scale high-throughput computing
Zhou et al. Performance analysis of scheduling algorithms for dynamic workflow applications
Ru et al. Providing fairer resource allocation for multi-tenant cloud-based systems
Kim et al. An allocation and provisioning model of science cloud for high throughput computing applications

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016570216

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15544732

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

Country of ref document: EP

Kind code of ref document: A1