WO2013024597A1 - 分散処理管理装置及び分散処理管理方法 - Google Patents
分散処理管理装置及び分散処理管理方法 Download PDFInfo
- Publication number
- WO2013024597A1 WO2013024597A1 PCT/JP2012/005163 JP2012005163W WO2013024597A1 WO 2013024597 A1 WO2013024597 A1 WO 2013024597A1 JP 2012005163 W JP2012005163 W JP 2012005163W WO 2013024597 A1 WO2013024597 A1 WO 2013024597A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- distributed
- execution
- time
- phase
- processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/26—Visual data mining; Browsing structured data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the present invention relates to a distributed processing management technique in a distributed processing environment in which a plurality of computers in a cluster distributes and executes a plurality of processes having different parameters in a plurality of phases.
- MapReduce as a distributed processing system or distributed processing technology is well known. According to MapReduce, a developer can create an application that operates in parallel and distributed, without describing any program related to distribution, only by describing the Map function and Reduce function. MapReduce is currently used for large-scale data processing in various companies.
- MapReduce useful information can be extracted from a large amount of information by using machine learning and data mining techniques. For example, it is possible to make a recommendation by learning a fraudulent transaction pattern from bank transaction data or learning a user's preference from a purchase history. Cheng-tao et al.'S paper “Map-Reduce for Machine Learning on Multicore” showed that various machine learning algorithms can be described with Map functions and Reduce functions. It is implemented (for example, Apache Mahout etc.).
- Non-Patent Document 1 proposes a technique for solving such a problem.
- This technique reduces the time required to repeatedly execute a machine learning program described in MapReduce while changing the hyperparameter value.
- overlapping portions in the machine learning program are shared.
- the jobs A and B described in MapReduce and having different parameters when the job B is executed after the job A is executed, it is useless to read the same data individually because both have the same input. Therefore, an overlapping process of reading data in jobs A and B is shared. As a result, after the data reading is completed, the job A is executed, and then the job B is executed. Thereby, redundant data reading multiple times can be avoided, and the execution time can be shortened.
- Patent Document 1 a technique is proposed in which individual analyzes are assigned to each processing device so that the overall processing time is minimized in a computer system having a parallel execution environment.
- This technology predicts the execution time of each analysis based on the parameter values that characterize the contents of the analysis when multiple analyzes with different contents are executed by a specific application on multiple processing devices. Based on this prediction, each analysis is assigned to a processor.
- the technique proposed in Non-Patent Document 1 described above is an efficiency technique in a form in which each MapReduce process with different parameters is distributedly processed by all machines (all computers) in the cluster. Therefore, a form in which each MapReduce process is processed by some machines in the cluster is not considered. For example, in a cluster composed of 20 machines, when executing 40 MapReduce processes that differ only in parameters, the technique of Non-Patent Document 1 treats all machines (20 machines) as one group, A method for efficiently executing the processing with 20 units is provided.
- the cluster is divided into two groups of 10 machines each, and each group executes 20 processes, or each group is divided into 4 groups of 5 machines. There is a form in which 10 processes are executed.
- the execution time varies depending on each execution pattern.
- the present invention has been made in view of the above circumstances, and in a distributed processing environment in which a plurality of computers in a cluster distributes and executes a plurality of processes having different parameters in a plurality of phases, the total execution time of the plurality of processes To provide distributed processing management technology.
- the first aspect relates to a distributed processing management apparatus.
- the distributed processing management device indicates a total execution time required for a plurality of computers to execute a plurality of processes having different parameters in a plurality of phases in a grouping form of the plurality of computers and
- a selection unit is provided that selects a distributed execution pattern that minimizes the total execution time from a plurality of distributed execution patterns by estimating according to the number of distributed execution patterns corresponding to the number of computers in charge of processing.
- the second aspect relates to a distributed processing management method.
- the total execution time required for a computer to execute a plurality of processes having different parameters in a plurality of phases in a plurality of phases is expressed in a grouping form of the plurality of computers. Including selecting a distributed execution pattern that minimizes the total execution time from a plurality of distributed execution patterns by estimating according to the distributed execution pattern corresponding to the number of computers shown and in charge of each process. .
- a computer program that causes a computer to realize each configuration according to the first aspect described above may be used, or a computer-readable storage medium that records such a program. May be.
- This recording medium includes a non-transitory tangible medium.
- a distributed processing management technique that shortens the total execution time of the plurality of processes. can do.
- FIG. 1 is a diagram conceptually illustrating a configuration example of a distributed processing system in the first embodiment.
- FIG. 2 is a diagram conceptually illustrating a configuration example of the master device in the first embodiment.
- FIG. 3 is a diagram illustrating an example of the relationship between the distributed execution pattern and the load on each machine.
- FIG. 4 is a diagram showing the relationship between the number of machines per group and the processing time of the user map when data is read from a disk.
- FIG. 5A is a diagram showing the relationship between the number of machines per group and the processing time of the user Map when all the data is read from either the memory or the disk according to the size of the data to be read (P MD> P CD).
- FIG. 5B is a diagram showing the relationship between the number of machines per group and the processing time of the user Map when all the data is read from either the memory or the disk according to the size of the data to be read (P MD ⁇ P CD).
- FIG. 6 is a diagram illustrating a relationship between the number of machines per group and the processing time of the user reduce.
- FIG. 7 is a diagram illustrating the relationship between the number of machines per group and the processing time of the user setup.
- FIG. 8 is a diagram illustrating the relationship between the number of machines per group and the total execution time.
- FIG. 9 is a flowchart illustrating an operation example of the distributed processing system according to the first embodiment.
- FIG. 10 is a diagram conceptually illustrating a configuration example of the master device in the second embodiment.
- FIG. 11 is a flowchart illustrating an operation example of the distributed processing system according to the second embodiment.
- the distributed processing management apparatus indicates the total execution time required for a plurality of computers in a cluster to execute a plurality of processes having different parameters in a plurality of phases in a grouping form of the plurality of computers, and A selection unit that selects a distributed execution pattern that minimizes the total execution time from a plurality of distributed execution patterns by estimating according to the number of distributed execution patterns corresponding to the number of computers in charge of each process. .
- each distributed execution pattern represents one of the grouping forms of a plurality of computers, and corresponds to the number of computers in charge of each process.
- a distributed execution pattern that minimizes the total execution time of the plurality of processes is selected from the plurality of distributed execution patterns.
- the present embodiment when performing a plurality of processes with different parameters, it is possible to always select and execute a pattern having the minimum execution time from a plurality of distributed execution patterns. Therefore, according to the present embodiment, the total execution time of the plurality of processes can be shortened by performing the plurality of processes by using the distributed execution pattern selected as described above.
- Each of the following embodiments is an example when the configuration of the above-described distributed processing management apparatus is applied to a distributed processing system realized by MapReduce. Accordingly, a plurality of processes distributedly executed by the distributed processing system in the following embodiment is realized by a distributed program described in MapReduce, and includes a Setup phase, a Map phase, and a Reduce phase.
- Map processing is performed in which input data is read and data obtained by performing predetermined processing on the read input data is sent to the Reduce phase in the subsequent stage.
- the predetermined processing in the Map phase includes, for example, input data decomposition processing.
- Reduce processing for performing predetermined processing on the data decomposed in the Map phase is executed.
- Setup processing Setup processing for performing initialization processing for the Map phase and Reduce phase in the subsequent stage is executed.
- MapReduce is used as an example of distributed processing technology.
- this technology can realize a distributed processing environment in which a plurality of computers in a cluster distributes and executes a plurality of processes having different parameters in a plurality of phases. If so, the distributed processing technology is not limited.
- FIG. 1 is a diagram conceptually illustrating a configuration example of a distributed processing system 1 in the first embodiment.
- the distributed processing system 1 in the first embodiment includes a master device 10 and a plurality of slave devices 20 (# 1, # 2,..., #N).
- the above distributed processing management device is realized on the master device 10.
- the master device 10 can also be called a distributed processing management device. Since each slave device 20 (# 1, # 2,..., #N) only needs to have the same function, it is collectively referred to as a slave device 20 unless it is particularly necessary to distinguish the individual devices.
- the master device 10 and the slave device 20 have a hardware configuration such as a RAM (Random Access Memory) 12, a ROM (Read Only Memory, not shown), a memory such as a hard disk (HDD) 13, and a CPU (Central Processing Unit). 11 and an input / output interface 14 and the like. These hardware elements are connected by a bus 15, for example.
- the input / output interface 14 includes a network interface that enables communication of a predetermined communication method between the master device 10 and the slave device 20 via the communication network 5. That is, the master device 10 and the slave device 20 are general computers.
- the master device 10 and the slave device 20 each have one CPU 11, but they may have a plurality of CPUs 11.
- the hardware configurations of the master device 10 and the slave device 20 are not limited.
- the master device 10 and the slave device 20 are distinguished in order to distinguish the device that manages the distributed processing from other devices, but the two may not be particularly distinguished.
- FIG. 2 is a diagram conceptually illustrating a configuration example of the master device 10 in the first embodiment.
- the master device 10 includes a distributed program execution unit 101, a user map measurement unit 102, a user setup measurement unit 103, a user reduce measurement unit 104, a reference reduce measurement unit 105, a regression analysis unit 106, and data storage. Unit 107, cluster profile reading unit 108, pattern selection unit 109, and the like.
- the master device 10 implements each processing unit illustrated in FIG. 2 by executing a program stored in a memory by the CPU 11.
- the program is installed from a portable recording medium such as a CD (Compact Disc) or a memory card or another computer on the network via the input / output I / F 14 and stored in the memory.
- CD Compact Disc
- the distributed program execution unit 101 receives information related to a distributed program that implements a plurality of processes with different target parameters, causes the pattern selection unit 109 to select a distributed execution pattern that minimizes the total execution time of the distributed program, and Based on the selected distributed execution pattern, the distributed processing system 1 is caused to execute the distributed program.
- the distributed program execution unit 101 is also abbreviated as the execution unit 101.
- the execution unit 101 corresponds to the distributed processing execution unit of the present invention.
- the computers that can actually execute the distributed program in the distributed processing system 1 are the master device 10 and the slave device 20.
- the slave device 20 is the computer that can actually execute the distributed program.
- Each distributed execution pattern represents one of grouping forms of a plurality of slave devices 20 in the distributed processing system 1 (cluster), and corresponds to the number of slave devices 20 in charge of each process.
- the execution unit 101 distributes the parameters to each group specified by the distributed execution pattern selected by the pattern selection unit 109, and requests each slave device 20 to execute the distributed program assigned to the corresponding group. To do.
- the user map measurement unit 102, the user setup measurement unit 103, and the user reduce measurement unit 104 measure information necessary for selecting a distributed execution pattern by the pattern selection unit 109 and store each measurement result in the data storage unit 107. To do.
- the user map measurement unit 102, the user setup measurement unit 103, and the user reduce measurement unit 104 may execute the measurement process according to an instruction from the execution unit 101, or may execute the measurement process at a predetermined timing.
- the user Map measuring unit 102, the user Setup measuring unit 103, and the user Reduce measuring unit 104 correspond to the Map phase measuring unit, the Setup phase measuring unit, and the Reduce phase measuring unit in the present invention.
- the user Map measuring unit 102 causes the slave device 20 (which may include the master device 10) to actually execute the Map process, thereby measuring the calculation time (t M ) of the Map process, and the measured calculation time as data. Store in the storage unit 107.
- the Map process here will be referred to as a User Map in order to distinguish it from a reference process described later. Details of the calculation time t M of the user Map measured here will be described later.
- the user setup measurement unit 103 measures the processing time (t S ) of the setup process per process by causing the slave apparatus 20 (which may include the master apparatus 10) to actually execute the setup process for one process.
- the measured processing time is stored in the data storage unit 107.
- the setup process here is also referred to as a user setup in order to distinguish it from a reference process described later.
- the user reduction measurement unit 104 actually executes the reduction process for one process in a specific distributed execution pattern, thereby reducing the processing time (t R for one process in the specific distributed execution pattern). ) And the measured processing time is stored in the data storage unit 107.
- a specific distributed execution pattern is any one of a plurality of distributed execution patterns that can be taken by the distributed processing system 1, and is also used for calculating a processing time (t Ra ) of a reference Reduce described later.
- the Reduce process here is also referred to as a User Reduce in order to distinguish it from a reference process described later.
- the reference Reduce measurement unit 105 measures information necessary for constructing a prediction model for predicting the processing time of the reference process that is the reference of the Reduce process.
- the reference process is a dedicated process for constructing the prediction model, and uses a built-in operation such as a Sum function for obtaining a total value or a Max function for obtaining a maximum value.
- this reference process may be referred to as a reference Reduce.
- the reference Reduce measurement unit 105 actually executes the reference Reduce while changing the data size processed by the reference Reduce and the number of machines that execute the reference Reduce, and measures the processing time of the reference Reduce.
- the data size can be changed to 512 KB (kilobytes), 1 MB (megabytes), 2 MB, and 4 MB.
- the number of machines can be changed to 3, 5, 10, 15, 20 and so on.
- a value that approximates the number of machines that actually execute the distributed program and the data size handled there may be adopted. desirable.
- the reference Reduce measurement unit 105 acquires a plurality of combinations of the number of machines, the data size, and the processing time, and provides information on the combinations to the regression analysis unit 106.
- the regression analysis unit 106 holds in advance a prediction model formula for predicting the processing time of one reference Reduce.
- the prediction model formula may be a calculation amount formula derived based on the Reduce processing implementation algorithm, or may be a general polynomial in which the implementation algorithm is black-boxed.
- the regression analysis unit 106 When the regression analysis unit 106 receives the above information from the reference Reduce measurement unit 105, the regression analysis unit 106 performs regression analysis using the information to determine the coefficient of the prediction model formula, and the determined coefficient is stored in the data storage unit 107. Store.
- the regression analysis method a known method such as a least square method may be used.
- the regression analysis unit 106 calculates the coefficients a1, a2, a3, and a4 by the least square method.
- Each process of the reference Reduce measurement unit 105 and the regression analysis unit 106 may be executed according to an instruction from the execution unit 101 or may be executed at a predetermined timing.
- the cluster profile reading unit 108 reads a cluster profile in which information related to the cluster is written, and stores the read information in the data storage unit 107.
- the cluster profile reading unit 108 reads, for example, the number M of machines in the cluster (distributed processing system 1), the memory size Mem per machine, the disk bandwidth W, and the like.
- the number M of machines in the cluster corresponds to the number of slave devices 20 that actually execute the distributed program.
- the memory size Mem is a size of a RAM (hereinafter simply referred to as a memory) called a primary storage device, a main storage device, or the like.
- the disk bandwidth W is the bandwidth of an input / output interface of an auxiliary storage device (hereinafter referred to as a disk) that stores data to be read as input data in Map processing, such as a hard disk or a flash memory.
- the data storage unit 107 stores various data used by the pattern selection unit 109 to estimate the total execution time of the target distributed processing. Specifically, the data storage unit 107 includes the calculation time t M of the user Map, the processing time t S of the user Setup, the processing time t R of the user Reduce, each coefficient of the prediction model formula, the number of machines M in the cluster, Stores memory size Mem per machine, disk bandwidth W, and the like.
- the data storage unit 107 is realized as, for example, an associative array, a KeyValue store, an RDB (Relational Database), or the like.
- the pattern selection unit 109 uses various information acquired from the execution unit 101 and the data storage unit 107 to estimate the total execution time required for distributed execution of multiple processes with different target parameters in the distributed processing system 1. The distributed execution pattern that minimizes the estimated total execution time is selected. The pattern selection unit 109 sends information on the selected distributed execution pattern to the execution unit 101.
- the total execution time estimated by the pattern selection unit 109 can also be referred to as the total execution time of the distributed program.
- the pattern selection unit 109 corresponds to the selection unit of the present invention.
- the pattern selection unit 109 can estimate the total execution time corresponding to each distributed execution pattern, for example, using (Equation 2) below.
- the pattern selection unit 109 calculates p that minimizes the value (total execution time) of the following (Expression 2). In the following (Equation 2), since p indicates the number of machines per group, it can be said that p is information specifying the distributed execution pattern.
- D indicates the data size read in the Map process
- C indicates the number of target processes
- n indicates the data size handled in the Reduce process.
- W indicates the disk bandwidth
- M indicates the number of machines in the cluster
- f (p, n) indicates the prediction model formula
- t R indicates the processing time of the user Reduce per process
- t S indicates the processing time of the user setup per processing
- t M indicates the calculation time of the user Map.
- the calculation time of the user map means a time required only for the user map process excluding the time for reading data.
- D, C, and n are acquired by the execution unit 101 as information on the distributed program to be executed and passed to the pattern selection unit 109.
- W, M, f (p, n), t R , t S , and t M are acquired from the data storage unit 107.
- t Ra indicates the processing time of the reference Reduce per process.
- the pattern selection unit 109 substitutes the number of machines per group corresponding to the specific distributed execution pattern used in the user reduce measurement unit 104 to p of the obtained prediction model formula f (p, n), tRa is calculated.
- Pattern selection unit 109 by the following equation (3) and (Equation 4) to calculate the P CD and P MD. It should be noted, it will be described later meaning of the P CD and P MD.
- the min in Equation (2) (P MD, P CD ) refers to the smaller of P MD and P CD.
- P CD D / (W * t M ) (Formula 3)
- P MD is the smallest p that satisfies (D / p) ⁇ Mem. (Formula 4)
- the total execution time of a plurality of processes (distributed programs) as a target can be obtained from the total processing time of each phase (user Setup, user Map, user Reduce) forming the distributed program. Therefore, the processing time for each phase will be considered.
- FIG. 3 is a diagram illustrating an example of the relationship between the distributed execution pattern and the load on each machine.
- the number of machines M in the cluster is 20, the number of processes C is 40, and the data size D is 40 GB.
- the distributed execution pattern A 20 machines are handled as one group, and 40 processes are executed by 20 machines in one group.
- the distributed execution pattern B 20 machines are divided into two groups of 10 machines, and 20 processes are executed by 10 machines of each group.
- the distributed execution pattern C 20 machines are divided into 4 groups of 5 machines, and 10 processes are executed by 5 machines of each group.
- the distributed execution pattern D 20 machines are divided into 5 groups each including 4 machines, and 8 processes are executed by 4 machines in each group.
- the distributed execution pattern E 20 machines are divided into 10 groups each including 2 machines, and 4 processes are executed by 2 machines in each group.
- the distributed execution pattern F 20 machines are divided into 20 groups, and two processes are executed by one machine. Since one process is processed in parallel and distributed on all machines in the group, the number of processes handled by one machine is the number of processes handled by the group. This is the “number of processes handled by one machine” in FIG.
- Each distributed execution pattern as described above can be rephrased as follows. That is, in the distributed execution pattern A, one process is executed by 20 machines, in the distributed execution pattern B, one process is executed by 10 machines, and in the distributed execution pattern C, one process is executed by 5 machines. In distributed execution pattern D, one process is executed by four machines, in distributed execution pattern E, one process is executed by two machines, and in distributed execution pattern F, one process is executed. Processing is performed on one machine.
- the data size read by the user Map is 40 GB for each process in the example of FIG. Therefore, in the distributed execution pattern A, one process is performed by 20 machines, so the data size read by one machine is 2 GB. Similarly, in the distributed execution pattern B, since one process is performed by 10 machines, the data size read by one machine is 4 GB. This is indicated by “data size handled by one machine” in FIG.
- the amount of data read per machine increases and the number of processes in charge decreases. Furthermore, since the product of the amount of data read and the number of processes is constant in any distributed execution pattern, the amount of calculation required for the user Map is invariant regardless of the distributed execution pattern. However, even if the calculation amount is constant, the calculation amount per data decreases as the number of machines in the group decreases (from left to right in FIG. 3).
- the processing time of the user Map is represented only by the data reading time. Whether a certain distributed execution pattern is a calculation bottleneck or a data reading bottleneck is determined by whether the reading time per data or the calculation time per data is longer. A data reading bottleneck occurs when the reading time per data is large, and a calculation bottleneck occurs when the calculation time per data is large.
- FIG. 4 is a diagram showing the relationship between the number of machines per group and the processing time of the user map when data is read from a disk.
- the distributed execution pattern calculation becomes a bottleneck
- the number of machines per group reading of data is the boundary between the distributed execution pattern becoming the bottleneck is represented by P CD.
- the number of areas of the machine per group is larger than P CD, i.e., calculation is in the area of distributed execution pattern becoming the bottleneck is the processing time of the user Map is a constant (t M). This is because, as described above, the calculation amount required for the user Map is constant regardless of the distributed execution pattern.
- the number of machines P CD smaller area per group i.e., in the area of distributed execution pattern read data becomes a bottleneck
- the processing time of the user Map is increased in accordance with the data size to be read.
- FIGS. 5A and 5B are diagrams showing the relationship between the number of machines per group and the processing time of the user Map when all of the data is read from either one of the memory and the disk according to the size of the data to be read. is there. For example, if the memory size of each machine is 8 GB, all data read into each machine in the distributed execution patterns A, B, and C shown in FIG. 3 can be stored in the memory. On the other hand, in the distributed execution patterns D, E, and F shown in FIG. 3, the entire data read into each machine cannot be stored in the memory, and therefore all the data is read from the disk.
- the relationship between the number of machines per group and the processing time of the user Map depends on the memory size of each machine. There are two types depending on it.
- the number of machines per group all the data to be read is whether the boundary is stored in the memory of each machine is represented by P MD.
- 5A shows the case where P MD is greater than P CD
- Figure 5B shows a case where P MD is smaller than P CD.
- the processing time of the user Map is a calculation time t M of the user Map. This is because reading data is a bottleneck within this range, but calculation is a bottleneck if data can be stored in a memory having a higher access speed than a disk. If the number of machine p per group becomes smaller than P MD, can not store all of the data is in memory, since it is necessary to read all of the data from the disk, reading of the data becomes a bottleneck.
- T M can be estimated by the following (formula 5).
- the processing time T M of the user map is a data reading time per computer (the upper equation of the equation 5) and the calculation of the user map according to the distributed execution pattern. the one of the time any of the time t M.
- the calculation time (t M ) of the user Map is constant without depending on the distributed execution pattern.
- the calculation time (t M ) of the user Map is measured by the user Map measuring unit 102. Therefore, the user map measuring unit 102 measures the user map calculation time per process by actually executing the user map for one process (one parameter), for example, and measures the user map per one process thus measured.
- the calculation time (t M ) of the user Map may be acquired by multiplying the calculation time by the number of processes. Of course, the user map measuring unit 102 may actually execute the user maps for a plurality of processes.
- User Reduce can take various implementation forms, unlike User Map. For example, an implementation form in which data is collected on one machine and a Reduce operation is performed on the one machine, or an implementation form in which a Reduce operation is performed on the entire cluster by forming a tree with machines in the cluster is conceivable. Thereby, the form of the prediction formula of the processing time of the user Reduce is considered to differ depending on the implementation form.
- the processing time of the user Reduce is approximately as shown in FIG.
- FIG. 6 is a diagram illustrating a relationship between the number of machines per group and the processing time of the user reduce.
- a prediction model formula for predicting the processing time of one reference Reduce is acquired by regression analysis, and the processing time of the user Reduce and the processing time of the reference Reduce corresponding to a certain distributed execution pattern are obtained.
- the processing time of the user Reduce per process corresponding to each distributed execution pattern is estimated.
- the processing time T R of the user Reduce as shown in the following equation (6), the processing time of the user Reduce the 1 per treatment for each distributed execution patterns, corresponding to each distributed execution pattern 1 It is estimated by multiplying the number of processes per computer.
- f (p, n) is a prediction model expression for predicting the processing time of one reference Reduce
- t R / t Ra is a user Reduce corresponding to a certain distributed execution pattern. Is the ratio of the processing time of the reference Reduce and the processing time of the reference Reduce. Therefore, (t R / t Ra ) * f (p, n) corresponds to the processing time of the user reduce per process corresponding to each distributed execution pattern.
- User Setup is a phase provided for initialization before execution of MapReduce as described above.
- FIG. 7 is a diagram illustrating the relationship between the number of machines per group and the processing time of the user setup. As shown in FIG. 7, the user setup takes a processing time t S according to the number of processes. Therefore, the processing time T S of the user setup can be estimated by the following (formula 7).
- FIG. 8 is a diagram illustrating the relationship between the number of machines per group and the total execution time.
- FIG. 8 is a diagram illustrating the relationship between the number of machines per group and the total execution time.
- p for obtaining the smaller value by calculating
- p taking the minimum value is min ⁇ P MD , P CD ⁇ . This is because the processing time of the user Map is constant, and the processing time of the user Reduce and the user Setup decreases as the number of machines p per group decreases.
- the upper equation of the above becomes a cubic expression related to p when, for example, Expression 1 is selected for f (n, p), when it is differentiated and arranged.
- the upper equation of (Equation 2) may be analytically calculated by, for example, Cardano's formula.
- the slave device 20 executes the distributed program in response to an instruction from the execution unit 101 of the master device 10.
- the instruction from the execution unit 101 includes how many programs should be executed with which parameters in accordance with the distributed execution pattern selected by the pattern selection unit 109. As described above, the execution of such a distributed program may also be handled by the master device 10.
- FIG. 9 is a flowchart showing an operation example of the distributed processing system 1 in the first embodiment.
- the execution unit 101 of the master apparatus 10 When the execution unit 101 of the master apparatus 10 starts processing, it first acquires information on the distributed program to be executed (S90). For example, the processing is started when the execution unit 101 receives a distributed processing request transmitted from an external device or the like connected to the master device 10 via the communication network 5.
- the present embodiment does not limit the trigger for starting this process.
- a program name, a parameter list for executing the program with a plurality of different parameters, an input file name and its data size D, a data size n processed by the program in the Reduce phase, and the like are acquired.
- the execution unit 101 acquires the number of parameters included in the parameter list as the processing number C. Such information may be received together with the distributed processing request, may be acquired from another processing unit separately from the distributed processing request, or may be held by the execution unit 101 in advance.
- the execution unit 101 stores the calculation time (t M ) of the user map corresponding to the distributed program, the processing time (t S ) of the user setup, and the processing time (t R ) of the user reduce in the data storage unit 107. It is confirmed whether it has been done (S91).
- the execution unit 101 instructs the user map measurement unit 102, the user setup measurement unit 103, and the user reduce measurement unit 104 to measure the data. .
- the user map measurement unit 102, the user setup measurement unit 103, and the user reduce measurement unit 104 actually execute the user map, the user setup, and the user reduce, thereby calculating the calculation time (t M ) of the user map.
- the processing time (t S ) of the user setup and the processing time (t R ) of the user reduce are measured, and the measured t M , t S and t R are stored in the data storage unit 107 (S93).
- the execution unit 101 confirms whether or not information related to the cluster is stored in the data storage unit 107 (S94). When the information regarding the cluster is not stored (S95; NO), the execution unit 101 instructs the cluster profile reading unit 108 to read.
- the cluster profile reading unit 108 reads the cluster profile and stores the read information in the data storage unit 107 (S96).
- the number M of machines in the cluster (distributed processing system 1), the memory size Mem per machine, the disk bandwidth W, and the like are read and stored in the data storage unit 107.
- the execution unit 101 confirms whether the prediction model coefficient is already stored in the data storage unit 107 (S97). When the prediction model coefficient is not yet stored (S97; NO), the execution unit 101 instructs the reference Reduce measurement unit 105 to perform measurement.
- the reference Reduce measurement unit 105 actually executes the reference Reduce while changing the data size processed by the reference Reduce and the number of machines that execute the reference Reduce, and processing time of the reference Reduce. Is measured (S98).
- the reference Reduce measurement unit 105 provides the regression analysis unit 106 with a plurality of combinations of the number of machines, data size, and processing time acquired by measurement.
- the regression analysis unit 106 determines the coefficient of the prediction model equation by performing regression analysis using the combination data provided from the reference Reduce measurement unit 105, and stores the determined coefficient in the data storage unit 107 (S99). ).
- the prediction model formula is a regression formula that predicts the processing time of one reference Reduce, and is stored in the regression analysis unit 106 in advance.
- the execution unit 101 activates the pattern selection unit 109 and provides the pattern selection unit 109 with the input data size D acquired in the process (S90), the data size n of the Reduce process, and the number of processes C.
- the pattern selection unit 109 extracts various pieces of information necessary for estimating the total execution time from the data storage unit 107. Specifically, the pattern selection unit 109 acquires the disk bandwidth W, the number M of machines in the cluster, and the memory size Mem per machine as information about the cluster. Further, the pattern selection unit 109 calculates the calculation time t M of the user Map, the processing time t S of the user setup per process, the processing time t R of the user reduce per process, the prediction model formula f (p, n), and Get prediction model coefficients. When the prediction model formula f (p, n) is expressed by the above (Formula 1), the prediction model coefficients a1, a2, a3, and a4 are acquired.
- the pattern selection unit 109 estimates the total execution time of the distributed program to be executed using the acquired information, and selects the distributed execution pattern that minimizes the estimated total execution time (S100). .
- the estimation of the total execution time is performed using, for example, the above (Equation 2).
- the pattern selection unit 109 passes information that can identify the selected distributed execution pattern to the execution unit 101. According to the example of (Expression 2) above, the number of machines p per group is sent to the execution unit 101.
- the execution unit 101 groups the plurality of slave devices 20 in the distributed processing system 1 using information that can identify the acquired distributed execution pattern.
- the execution unit 101 distributes each parameter to each group based on the parameter list acquired in the process (S90), and makes an execution request to the slave device 20 belonging to each group together with the distributed parameter.
- the execution unit 101 may pass the program name, the input file name, etc. acquired in the process (S90).
- each slave device 20 Upon receiving this request, each slave device 20 executes the designated program with the designated parameters (S101).
- a distributed execution pattern that minimizes the total execution time of a distributed program that implements a plurality of processes with different parameters is selected, and the distributed program is executed based on the selected distributed execution pattern. Therefore, according to the first embodiment, the total execution time of the distributed program to be executed can be shortened.
- a distributed execution pattern (for example, per group) acquired by combining processing times (T M , T S , T R ) required for each phase (Map, Setup, Reduce) constituting a distributed program.
- the total execution time of the distributed program is estimated using an estimation formula for the total execution time of the distributed program based on the number of machines p). Therefore, the total execution time of the distributed program can be accurately estimated by using the processing time estimation formula corresponding to the characteristics of the implementation form of each phase, and thus the optimal distributed execution pattern can be selected. .
- a prediction model formula for predicting the processing time of one reference Reduce is obtained by using the reference Reduce, and the processing time of the user Reduce per process corresponding to one common distributed execution pattern is obtained.
- the processing time T R of the user Reduce corresponding to each distribution execution pattern is estimated.
- the prediction model formula is obtained by regression analysis using the combination data of the actually measured processing time of the reference Reduce, the amount of data to be processed, and the number of machines.
- the total time of the distributed program can be accurately estimated according to the implementation form of each phase of the distributed program.
- FIG. 10 is a diagram conceptually illustrating a configuration example of the master device 10 in the second embodiment.
- the master device 10 in the second embodiment further includes a prediction model storage unit 110 and a model selection unit 111 in addition to the configuration of the first embodiment.
- These processing units are also realized, for example, by the CPU 11 executing a program stored in the memory.
- the prediction model storage unit 110 stores a plurality of prediction model expressions for predicting the processing time of one reference Reduce.
- the method for constructing the prediction model formula is as described in the first embodiment.
- the prediction model storage unit 110 stores a plurality of prediction model expressions as follows.
- the prediction model storage unit 110 may store the plurality of prediction model expressions in advance, may store a plurality of prediction models acquired from other computers, or may be input by a user via a user interface. A plurality of predicted models may be stored.
- the regression analysis unit 106 performs regression analysis on each of a plurality of prediction model formulas stored in the prediction model storage unit 110 using the data received from the reference Reduce measurement unit 105. When the coefficients of each prediction model formula are acquired, the regression analysis unit 106 stores them in the prediction model storage unit 110.
- the model selection unit 111 selects the best prediction model formula from a plurality of prediction model formulas stored in the prediction model storage unit 110, and stores information on the selected prediction model formula in the prediction model storage unit 110. To do. Specifically, the model selection unit 111 uses a known amount of information such as AIC (Akaike's Information Criterion), BIC (Bayesian Information Criterion), MDL (Minimum Information Description Length), and the like based on the regression analysis result of each prediction model formula. The best prediction model formula is selected by calculating the criterion.
- AIC Alkaike's Information Criterion
- BIC Bayesian Information Criterion
- MDL Minimum Information Description Length
- the pattern selection unit 109 extracts the prediction model formula selected by the model selection unit 111 from the prediction model storage unit 110 when estimating the total execution time.
- FIG. 11 is a flowchart showing an operation example of the distributed processing system 1 in the second embodiment.
- the regression analysis unit 106 performs regression analysis on each prediction model formula stored in the prediction model storage unit 110 in the process (S99).
- the model selection unit 111 selects one prediction model formula from a plurality of prediction model formulas by calculating the information criterion using the result of the regression analysis (S110).
- the pattern selection unit 109 estimates the total execution time of the distributed program using the prediction model formula selected by the model selection unit 111 (S100).
- the best prediction model expression is selected from a plurality of prediction model expression candidates, and each distributed execution pattern is handled using the selected prediction model expression.
- the processing time of the user Reduce is estimated. Therefore, according to the second embodiment, it is possible to estimate the processing time of the user Reduce more accurately, and in turn, it is possible to select the best distributed execution pattern that minimizes the total execution time.
- Equation 2 p that minimizes the value of (Equation 2) is determined by using the number of machines p per group as information for specifying the distributed execution pattern.
- the number of groups g may be used as information for specifying the distributed execution pattern.
- g that minimizes the value of the equation may be determined using an equation in which p in (Equation 2) is replaced with M / g.
- a prediction model expression for predicting the processing time of one reference Reduce is acquired by regression analysis, and the prediction model expression is calculated by a ratio between the processing time of the user Reduce and the processing time of the reference Reduce.
- the processing time of the user Reduce was estimated.
- the processing time of the user reduce may be estimated using a theoretical expression of the processing time of the user reduce corresponding to the implementation form of the user reduce.
- f (p, n) derived from the data communication time, communication latency, CPU time required for the user reduce, and the like may be stored in advance and used according to the implementation form of the user reduce.
- the following (formula 9) may be used instead of the above (formula 2).
- the user reduce measurement unit 104, the reference reduce measurement unit 105, and the regression analysis unit 106 are unnecessary.
- the pattern selection unit 109 estimates the total execution time based on the total processing time of each phase of the Map phase, the Reduce phase, and the Setup phase. However, in the Setup phase, only initialization processing is performed, and the processing time may have a small influence on the total execution time. In this case, the pattern selection unit 109 may estimate the total execution time using only the processing time of the user Map and the processing time of the user Reduce. Instead of the above (Formula 2), the following (Formula 10) may be used. In this case, the user setup measurement unit 103 is not necessary.
- each processing unit included in the master device 10 in the first embodiment and the second embodiment described above may exist on different computers.
- the pattern selection unit 109, the data storage unit 107, and the cluster profile reading unit 108 may be realized on a computer other than the master device 10.
- a selection unit that selects a distributed execution pattern that minimizes the total execution time from a plurality of distributed execution patterns by estimating according to the corresponding distributed execution pattern,
- a distributed processing management device comprising:
- the plurality of phases are decomposed in the Map phase, which reads input data for each of the processes, and sends data obtained by performing predetermined processing on the input data to a subsequent phase, and the Map phase.
- a Reduce phase for performing predetermined processing on the received data
- the selection unit is obtained by an estimation formula for the processing time of the Map phase, or obtained by combining an estimation formula for the processing time of the Map phase and an estimation formula of the processing time of the Reduce phase. Estimating the total execution time using an estimation formula that depends on the execution pattern;
- the distributed processing management device according to appendix 1, wherein:
- a Map phase measurement unit that measures the calculation time of the Map phase by causing the Map phase to be executed by at least one of the plurality of computers. Further comprising The selecting unit acquires the data reading time per computer corresponding to each of the distributed execution patterns and the calculation time of the Map phase measured by the Map phase measuring unit, and any one of the acquired Time is used as the processing time of the Map phase included in the total execution time.
- the distributed processing management device according to attachment 2, wherein:
- the Reduce phase per process corresponding to the first distributed execution pattern Reduce phase measurement unit for measuring processing time By executing one of the plurality of processes with the first distributed execution pattern of the plurality of distributed execution patterns, the Reduce phase per process corresponding to the first distributed execution pattern Reduce phase measurement unit for measuring processing time, Further comprising The selection unit obtains a prediction model formula that predicts a processing time of a reference process, which is a reference for processing of the Reduce phase, according to the amount of data to be processed and each of the distributed execution patterns.
- the processing time of the reference process corresponding to the first distributed execution pattern is estimated, the processing time of the Reduce phase per process corresponding to the first distributed execution pattern, and the reference process corresponding to the first distributed execution pattern
- the processing time of the Reduce phase per process corresponding to each of the distributed execution patterns is estimated, and the processing time of the estimated Reduce phase is calculated.
- the processing time of the Reduce phase included in the total execution time 4.
- a reference process measurement unit that measures the execution time of the reference process by actually executing the reference process while changing the number of computers in charge and the amount of data to be processed;
- the prediction model formula is estimated by performing regression analysis using a plurality of combination data of the number of computers in charge, the amount of data to be processed, and the execution time of the reference process, acquired by the reference process measurement unit.
- the distributed processing management device according to appendix 4, further comprising:
- a prediction model storage unit that stores a plurality of prediction model expressions for predicting the processing time of the reference process; Prediction model selection that selects one of the plurality of prediction model formulas by evaluating the plurality of prediction model formulas based on an information criterion based on a result of regression analysis for each prediction model formula by the regression analysis unit And Further comprising The selection unit acquires the prediction model formula selected by the prediction model selection unit;
- the distributed processing management device according to appendix 5, characterized in that:
- the plurality of phases further includes a Setup phase for performing an initialization process for a subsequent phase
- the distributed processing management device includes: A setup phase measuring unit that measures the processing time of the setup phase per process by causing at least one of the plurality of computers to execute one of the plurality of processes; The selection unit obtains the number of processes per computer corresponding to each of the distributed execution patterns, and multiplies the processing time of the Setup phase per process by the number of processes per computer to obtain the Setup
- a phase processing time estimation formula is estimated, and in addition to the Map phase processing time estimation formula and the Reduce phase processing time estimation formula, the setup phase processing time estimation formula is further combined.
- the total execution time is estimated using an estimation formula that depends on each of the distributed execution patterns.
- the distributed processing management device according to any one of appendices 2 to 6, characterized in that:
- each parameter is assigned to each group, and each group is instructed to execute the plurality of processes in a distributed manner Distributed processing execution unit,
- the distributed processing management device according to any one of appendices 1 to 7, further comprising:
- the plurality of phases are decomposed in the Map phase, which reads input data for each of the processes, and sends data obtained by performing predetermined processing on the input data to a subsequent phase, and the Map phase.
- a Reduce phase for performing predetermined processing on the received data,
- the selection of the distributed execution pattern is obtained by an estimation formula for the processing time of the Map phase, or is obtained by combining an estimation formula for the processing time of the Map phase and an estimation formula of the processing time of the Reduce phase. Estimating the total execution time using an estimation formula that depends on each of the distributed execution patterns, The distributed processing management method according to attachment 9.
- the processing time of the Reduce phase per process corresponding to the first distributed execution pattern is measured by executing one of the plurality of processes with the first distributed execution pattern of the plurality of distributed execution patterns.
- the selection of the distributed execution pattern is as follows: Obtaining a prediction model formula for predicting a processing time of a reference process, which is a reference of processing of the Reduce phase, according to a data amount to be processed and each of the distributed execution patterns; Estimating a processing time of a reference process corresponding to the first distributed execution pattern based on the prediction model formula; By correcting the prediction model formula using the ratio of the processing time of the Reduce phase per process corresponding to the first distributed execution pattern and the processing time of the reference process corresponding to the first distributed execution pattern, Estimating the processing time of the Reduce phase per process corresponding to each distributed execution pattern; Including Estimating the execution time of the Reduce phase included in the total execution time using the estimated processing time of the Reduce phase; The distributed processing management method according to appendix 10 or 11, wherein
- the computer Measure the execution time of the reference process by actually executing the reference process while changing the number of computers in charge and the amount of data to be processed, Estimating the prediction model equation by performing regression analysis using a plurality of combination data of the number of computers in charge, the amount of data to be processed, and the execution time of the reference processing;
- the distributed processing management method according to appendix 12, further comprising:
- Regression analysis is performed for each of a plurality of prediction model formulas for predicting the processing time of the reference process, Selecting one of the plurality of prediction model formulas by evaluating the plurality of prediction model formulas according to an information criterion based on a result of regression analysis for each prediction model formula; Further including The selection of the distributed execution pattern obtains the selected prediction model formula, The distributed processing management method according to attachment 13.
- the plurality of phases further include a Setup phase for performing an initialization process for a subsequent phase
- the computer is By measuring at least one of the plurality of computers to execute one of the plurality of processes, the processing time of the Setup phase per one process is measured. Further including The selection of the distributed execution pattern is obtained by obtaining the number of processes per computer corresponding to each of the distributed execution patterns, and multiplying the processing time of the Setup phase per process by the number of processes per computer. Estimating a processing time estimation formula for the Setup phase, and further adding an estimation formula for the processing time of the Setup phase in addition to the estimation formula for the processing time of the Map phase and the estimation formula for the processing time of the Reduce phase. The total execution time is estimated using an estimation formula that depends on each distributed execution pattern obtained by The distributed processing management method according to any one of appendices 10 to 14.
- each parameter is assigned to each group, Instructing each group to execute the plurality of processes in a distributed manner;
- the distributed processing management method according to any one of appendices 9 to 15, further including:
- the plurality of phases are decomposed in a Map phase that reads input data for each of the processes and sends data obtained by performing a predetermined process on the input data to a subsequent phase, and the Map phase. And a Reduce phase for performing predetermined processing on the received data,
- the selection unit is obtained by an estimation formula for the processing time of the Map phase, or obtained by combining an estimation formula for the processing time of the Map phase and an estimation formula of the processing time of the Reduce phase. Estimating the total execution time using an estimation formula that depends on the execution pattern;
- a Map phase measurement unit that measures the calculation time of the Map phase by causing at least one of the plurality of computers to execute the Map phase, Further realized, The selecting unit acquires the data reading time per computer corresponding to each of the distributed execution patterns and the calculation time of the Map phase measured by the Map phase measuring unit, and any one of the acquired Time is used as the processing time of the Map phase included in the total execution time.
- the processing time of the Reduce phase per process corresponding to the first distributed execution pattern is measured by executing one of the plurality of processes with the first distributed execution pattern of the plurality of distributed execution patterns.
- Reduce phase measurement unit Is further realized,
- the selection unit obtains a prediction model formula that predicts a processing time of a reference process, which is a reference for processing of the Reduce phase, according to the amount of data to be processed and each of the distributed execution patterns.
- the processing time of the reference process corresponding to the first distributed execution pattern is estimated, the processing time of the Reduce phase per process corresponding to the first distributed execution pattern, and the reference process corresponding to the first distributed execution pattern
- the processing time of the Reduce phase per process corresponding to each of the distributed execution patterns is estimated, and the processing time of the estimated Reduce phase is calculated.
- a reference process measurement unit that measures the execution time of the reference process by actually executing the reference process while changing the number of computers in charge and the amount of data to be processed;
- the prediction model formula is estimated by performing regression analysis using a plurality of combination data of the number of computers in charge, the amount of data to be processed, and the execution time of the reference process, acquired by the reference process measurement unit.
- a regression analysis unit The program according to appendix 20, wherein the program is further realized.
- a prediction model storage unit that stores a plurality of prediction model expressions for predicting the processing time of the reference process; Prediction model selection that selects one of the plurality of prediction model formulas by evaluating the plurality of prediction model formulas based on an information criterion based on a result of regression analysis for each prediction model formula by the regression analysis unit And Further realized, The selection unit acquires the prediction model formula selected by the prediction model selection unit;
- the plurality of phases further include a Setup phase for performing initialization processing for a subsequent phase,
- a Setup phase measuring unit that measures a processing time of a Setup phase per process by causing at least one of the plurality of computers to execute one of the plurality of processes; Further realized, The selection unit obtains the number of processes per computer corresponding to each of the distributed execution patterns, and multiplies the processing time of the Setup phase per process by the number of processes per computer to obtain the Setup
- a phase processing time estimation formula is estimated, and in addition to the Map phase processing time estimation formula and the Reduce phase processing time estimation formula, the setup phase processing time estimation formula is further combined.
- the total execution time is estimated using an estimation formula that depends on each of the distributed execution patterns.
- each parameter is assigned to each group, and the distributed processing execution instructing each group to execute the plurality of processes in a distributed manner Part, 24.
- the program according to any one of appendices 17 to 23, further realizing the above.
- Appendix 25 A computer-readable recording medium on which the program described in any one of Appendices 17 to 24 is recorded.
Abstract
Description
〔システム構成〕
図1は、第1実施形態における分散処理システム1の構成例を概念的に示す図である。第1実施形態における分散処理システム1は、マスタ装置10、複数のスレーブ装置20(#1、#2、・・・、#n)を有する。上述の分散処理管理装置は、マスタ装置10上で実現される。これにより、マスタ装置10は、分散処理管理装置と呼ぶこともできる。各スレーブ装置20(#1、#2、・・・、#n)はそれぞれ同じ機能を持てばよいため、特に個々を区別する必要がある場合を除き、スレーブ装置20と総称する。
図2は、第1実施形態におけるマスタ装置10の構成例を概念的に示す図である。図2に示されるように、マスタ装置10は、分散プログラム実行部101、ユーザMap計測部102、ユーザSetup計測部103、ユーザReduce計測部104、基準Reduce計測部105、回帰分析部106、データ格納部107、クラスタプロファイル読込部108、パターン選択部109等を有する。マスタ装置10は、例えば、メモリに格納されるプログラムがCPU11により実行されることにより、図2に示される各処理部をそれぞれ実現する。当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F14を介してインストールされ、メモリに格納される。
a1+a2*p+a3*n+a4*p*n=f(p,n) (式1)
PCD=D/(W*tM) (式3)
PMDは(D/p)<Memを満たす最小のpである。 (式4)
図3は、分散実行パターンと各マシンの負担との関係の一例を示す図である。図3の例では、クラスタ内のマシン数Mが20であり、処理数Cが40であり、データサイズDが40GBである場合が示されている。この場合、図3に示されるように、6個の分散実行パターンが存在し得る。
以下、第1実施形態における分散処理システム1の動作例について図9を用いて説明する。図9は、第1実施形態における分散処理システム1の動作例を示すフローチャートである。
第1実施形態では、パラメータの異なる複数の処理を実現する分散プログラムのトータル実行時間が最小となる分散実行パターンが選択され、選択された分散実行パターンに基づいて当該分散プログラムが実行される。よって、第1実施形態によれば、実行すべき分散プログラムのトータル実行時間を短縮させることができる。
以下、第2実施形態における分散処理システム1について、第1実施形態と異なる内容を中心に説明し、第1実施形態と同じ内容については適宜省略する。
図10は、第2実施形態におけるマスタ装置10の構成例を概念的に示す図である。図10に示されるように、第2実施形態におけるマスタ装置10は、第1実施形態の構成に加えて、予測モデル格納部110及びモデル選択部111を更に有する。これら各処理部についても、例えば、メモリに格納されるプログラムがCPU11により実行されることにより実現される。
a1+a2*p+a3*n=f1(p,n) (式8-1)
a1+a2*p+a3*n+a4*p^2=f2(p,n) (式8-2)
a1+a2*p+a3*n+a4*n^2=f3(p,n) (式8-3)
a1+a2*p+a3*n+a4*n*p=f4(p,n) (式8-4)
上述のように、第2実施形態では、複数の予測モデル式の候補の中から、最良の予測モデル式が選択されて、この選択された予測モデル式を用いて、各分散実行パターンに対応するユーザReduceの処理時間が推定される。従って、第2実施形態によれば、ユーザReduceの処理時間を一層正確に推定することができ、ひいては、トータル実行時間を最小化する最良の分散実行パターンを選択することができる。
なお、上述の実施形態では、分散実行パターンを特定する情報としてグループあたりのマシン数pを用いることにより、上記(式2)の値が最小となるpが決定された。分散実行パターンを特定する情報としてはグループ数gが用いられてもよい。この場合、上記(式2)のpをM/gで置き換えた式を利用して、その式の値が最小となるgが決定されればよい。
tM=D/(p・W)
この場合、ユーザReduce計測部104と基準Reduce計測部105、回帰分析部106は不要である。
を備えることを特徴とする分散処理管理装置。
前記選択部は、前記Mapフェーズの処理時間の推定式により得られる、又は、前記Mapフェーズの処理時間の推定式と前記Reduceフェーズの処理時間の推定式とを合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
ことを特徴とする付記1に記載の分散処理管理装置。
を更に備え、
前記選択部は、前記各分散実行パターンに対応する1コンピュータ当たりのデータ読み取り時間、及び、前記Mapフェーズ計測部により計測された前記Mapフェーズの前記計算時間を取得し、取得されたいずれか一方の時間を、前記トータル実行時間に含まれる前記Mapフェーズの処理時間として用いる、
ことを特徴とする付記2に記載の分散処理管理装置。
を更に備え、
前記選択部は、処理されるデータ量と前記各分散実行パターンとに応じて前記Reduceフェーズの処理の基準とされる基準処理の処理時間を予測する予測モデル式を取得し、該予測モデル式に基づいて前記第1分散実行パターンに対応する基準処理の処理時間を推定し、前記第1分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間と前記第1分散実行パターンに対応する基準処理の処理時間との比を用いて該予測モデル式を補正することにより、前記各分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間を推定し、該推定されたReduceフェーズの処理時間を用いて、前記トータル実行時間に含まれる前記Reduceフェーズの実行時間を推定する、
ことを特徴とする付記2又は3に記載の分散処理管理装置。
前記基準処理計測部により取得された、担当するコンピュータの数、処理されるデータ量及び前記基準処理の実行時間の複数の組み合わせデータを用いて回帰分析を行うことにより、前記予測モデル式を推定する回帰分析部と、
を更に備えることを特徴とする付記4に記載の分散処理管理装置。
前記回帰分析部による各予測モデル式に対する回帰分析の結果に基づいて情報量基準により前記複数の予測モデル式を評価することにより、前記複数の予測モデル式の中の1つを選択する予測モデル選択部と、
を更に備え、
前記選択部は、前記予測モデル選択部により選択された予測モデル式を取得する、
ことを特徴とする付記5に記載の分散処理管理装置。
前記分散処理管理装置は、
前記複数のコンピュータの少なくとも1つに前記複数の処理の中の1つを実行させることにより、1処理あたりのSetupフェーズの処理時間を計測するSetupフェーズ計測部、を更に備え、
前記選択部は、前記各分散実行パターンに対応する1コンピュータ当たりの処理数を取得し、前記1処理あたりのSetupフェーズの処理時間に、該1コンピュータ当たりの処理数を掛け合わせることにより、前記Setupフェーズの処理時間の推定式を推定し、前記Mapフェーズの処理時間の推定式及び前記Reduceフェーズの処理時間の推定式に加えて、前記Setupフェーズの処理時間の推定式を更に合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
ことを特徴とする付記2から6のいずれか1つに記載の分散処理管理装置。
を更に備える付記1から7のいずれか1つに記載の分散処理管理装置。
複数のコンピュータが複数のフェーズでパラメータの異なる複数の処理を分散実行するのにかかるトータル実行時間を、該複数のコンピュータのグループ分け形態を示しかつ各処理を担当するコンピュータの数に対応する分散実行パターンに応じて推定することにより、複数の分散実行パターンの中から、該トータル実行時間が最小となる分散実行パターンを選択する、
ことを含む分散処理管理方法。
前記分散実行パターンの選択は、前記Mapフェーズの処理時間の推定式により得られる、又は、前記Mapフェーズの処理時間の推定式と前記Reduceフェーズの処理時間の推定式とを合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
付記9に記載の分散処理管理方法。
前記複数のコンピュータの少なくとも1つに前記Mapフェーズを実行させることにより、前記Mapフェーズの計算時間を計測する、
ことを更に含み、
前記分散実行パターンの選択は、前記各分散実行パターンに対応する1コンピュータ当たりのデータ読み取り時間、及び、計測された前記Mapフェーズの前記計算時間を取得し、取得されたいずれか一方の時間を、前記トータル実行時間に含まれる前記Mapフェーズの処理時間として用いる、
付記10に記載の分散処理管理方法。
前記複数の分散実行パターンの中の第1分散実行パターンで前記複数の処理の中の1つを実行させることにより、該第1分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間を計測する、
ことを更に含み、
前記分散実行パターンの選択は、
処理されるデータ量と前記各分散実行パターンとに応じて前記Reduceフェーズの処理の基準とされる基準処理の処理時間を予測する予測モデル式を取得し、
前記予測モデル式に基づいて前記第1分散実行パターンに対応する基準処理の処理時間を推定し、
前記第1分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間と前記第1分散実行パターンに対応する基準処理の処理時間との比を用いて該予測モデル式を補正することにより、前記各分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間を推定する、
ことを含み、
前記推定されたReduceフェーズの処理時間を用いて、前記トータル実行時間に含まれる前記Reduceフェーズの実行時間を推定する、
ことを特徴とする付記10又は11に記載の分散処理管理方法。
担当するコンピュータの数及び処理されるデータ量を変えながら、前記基準処理を実際に実行することにより、前記基準処理の実行時間を計測し、
前記担当するコンピュータの数、前記処理されるデータ量及び前記基準処理の実行時間の複数の組み合わせデータを用いて回帰分析を行うことにより、前記予測モデル式を推定する、
ことを更に含む付記12に記載の分散処理管理方法。
前記基準処理の処理時間を予測する複数の予測モデル式に対して回帰分析をそれぞれ行い、
前記各予測モデル式に対する回帰分析の結果に基づいて情報量基準により前記複数の予測モデル式を評価することにより、前記複数の予測モデル式の中の1つを選択する、
ことを更に含み、
前記分散実行パターンの選択は、前記選択された予測モデル式を取得する、
付記13に記載の分散処理管理方法。
前記コンピュータが、
前記複数のコンピュータの少なくとも1つに前記複数の処理の中の1つを実行させることにより、1処理あたりのSetupフェーズの処理時間を計測する、
ことを更に含み、
前記分散実行パターンの選択は、前記各分散実行パターンに対応する1コンピュータ当たりの処理数を取得し、前記1処理あたりのSetupフェーズの処理時間に、該1コンピュータ当たりの処理数を掛け合わせることにより、前記Setupフェーズの処理時間の推定式を推定し、前記Mapフェーズの処理時間の推定式及び前記Reduceフェーズの処理時間の推定式に加えて、前記Setupフェーズの処理時間の推定式を更に合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
付記10から14のいずれか1つに記載の分散処理管理方法。
前記選択された分散実行パターンにより示されるグループ分け形態に基づいて、各グループに対して各パラメータをそれぞれ割り当て、
前記複数の処理を分散実行するように前記各グループに指示する、
ことを更に含む付記9から15のいずれか1つに記載の分散処理管理方法。
複数のコンピュータが複数のフェーズでパラメータの異なる複数の処理を分散実行するのにかかるトータル実行時間を、該複数のコンピュータのグループ分け形態を示しかつ各処理を担当するコンピュータの数に対応する分散実行パターンに応じて推定することにより、複数の分散実行パターンの中から、該トータル実行時間が最小となる分散実行パターンを選択する選択部、
を実現させることを特徴とするプログラム。
前記選択部は、前記Mapフェーズの処理時間の推定式により得られる、又は、前記Mapフェーズの処理時間の推定式と前記Reduceフェーズの処理時間の推定式とを合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
ことを特徴とする付記17に記載のプログラム。
前記複数のコンピュータの少なくとも1つに前記Mapフェーズを実行させることにより、前記Mapフェーズの計算時間を計測するMapフェーズ計測部、
を更に実現させ、
前記選択部は、前記各分散実行パターンに対応する1コンピュータ当たりのデータ読み取り時間、及び、前記Mapフェーズ計測部により計測された前記Mapフェーズの前記計算時間を取得し、取得されたいずれか一方の時間を、前記トータル実行時間に含まれる前記Mapフェーズの処理時間として用いる、
ことを特徴とする付記18に記載のプログラム。
前記複数の分散実行パターンの中の第1分散実行パターンで前記複数の処理の中の1つを実行させることにより、該第1分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間を計測するReduceフェーズ計測部、
を更に実現させ、
前記選択部は、処理されるデータ量と前記各分散実行パターンとに応じて前記Reduceフェーズの処理の基準とされる基準処理の処理時間を予測する予測モデル式を取得し、該予測モデル式に基づいて前記第1分散実行パターンに対応する基準処理の処理時間を推定し、前記第1分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間と前記第1分散実行パターンに対応する基準処理の処理時間との比を用いて該予測モデル式を補正することにより、前記各分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間を推定し、該推定されたReduceフェーズの処理時間を用いて、前記トータル実行時間に含まれる前記Reduceフェーズの実行時間を推定する、
ことを特徴とする付記18又は19に記載のプログラム。
担当するコンピュータの数及び処理されるデータ量を変えながら、前記基準処理を実際に実行することにより、前記基準処理の実行時間を計測する基準処理計測部と、
前記基準処理計測部により取得された、担当するコンピュータの数、処理されるデータ量及び前記基準処理の実行時間の複数の組み合わせデータを用いて回帰分析を行うことにより、前記予測モデル式を推定する回帰分析部と、
を更に実現させることを特徴とする付記20に記載のプログラム。
前記基準処理の処理時間を予測する複数の予測モデル式を格納する予測モデル格納部と、
前記回帰分析部による各予測モデル式に対する回帰分析の結果に基づいて情報量基準により前記複数の予測モデル式を評価することにより、前記複数の予測モデル式の中の1つを選択する予測モデル選択部と、
を更に実現させ、
前記選択部は、前記予測モデル選択部により選択された予測モデル式を取得する、
ことを特徴とする付記21に記載のプログラム。
前記コンピュータに、
前記複数のコンピュータの少なくとも1つに前記複数の処理の中の1つを実行させることにより、1処理あたりのSetupフェーズの処理時間を計測するSetupフェーズ計測部、
を更に実現させ、
前記選択部は、前記各分散実行パターンに対応する1コンピュータ当たりの処理数を取得し、前記1処理あたりのSetupフェーズの処理時間に、該1コンピュータ当たりの処理数を掛け合わせることにより、前記Setupフェーズの処理時間の推定式を推定し、前記Mapフェーズの処理時間の推定式及び前記Reduceフェーズの処理時間の推定式に加えて、前記Setupフェーズの処理時間の推定式を更に合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
ことを特徴とする付記18から22のいずれか1つに記載のプログラム。
前記選択部により選択された分散実行パターンにより示されるグループ分け形態に基づいて、各グループに対して各パラメータをそれぞれ割り当て、前記複数の処理を分散実行するように該各グループに指示する分散処理実行部、
を更に実現させる付記17から23のいずれか1つに記載のプログラム。
Claims (10)
- 複数のコンピュータが複数のフェーズでパラメータの異なる複数の処理を分散実行するのにかかるトータル実行時間を、該複数のコンピュータのグループ分け形態を示しかつ各処理を担当するコンピュータの数に対応する分散実行パターンに応じて推定することにより、複数の分散実行パターンの中から、該トータル実行時間が最小となる分散実行パターンを選択する選択部、
を備えることを特徴とする分散処理管理装置。 - 前記複数のフェーズは、前記各処理のための入力データを読み込み、該入力データに所定処理を施すことにより得られるデータを後段のフェーズに送るMapフェーズと、該Mapフェーズで分解されたデータに対して所定処理を行うReduceフェーズと、を少なくとも含み、
前記選択部は、前記Mapフェーズの処理時間の推定式により得られる、又は、前記Mapフェーズの処理時間の推定式と前記Reduceフェーズの処理時間の推定式とを合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
ことを特徴とする請求項1に記載の分散処理管理装置。 - 前記複数のコンピュータの少なくとも1つに前記Mapフェーズを実行させることにより、前記Mapフェーズの計算時間を計測するMapフェーズ計測部、
を更に備え、
前記選択部は、前記各分散実行パターンに対応する1コンピュータ当たりのデータ読み取り時間、及び、前記Mapフェーズ計測部により計測された前記Mapフェーズの前記計算時間を取得し、取得されたいずれか一方の時間を、前記トータル実行時間に含まれる前記Mapフェーズの処理時間として用いる、
ことを特徴とする請求項2に記載の分散処理管理装置。 - 前記複数の分散実行パターンの中の第1分散実行パターンで前記複数の処理の中の1つを実行させることにより、該第1分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間を計測するReduceフェーズ計測部、
を更に備え、
前記選択部は、処理されるデータ量と前記各分散実行パターンとに応じて前記Reduceフェーズの処理の基準とされる基準処理の処理時間を予測する予測モデル式を取得し、該予測モデル式に基づいて前記第1分散実行パターンに対応する基準処理の処理時間を推定し、前記第1分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間と前記第1分散実行パターンに対応する基準処理の処理時間との比を用いて該予測モデル式を補正することにより、前記各分散実行パターンに対応する1処理あたりのReduceフェーズの処理時間を推定し、該推定されたReduceフェーズの処理時間を用いて、前記トータル実行時間に含まれる前記Reduceフェーズの実行時間を推定する、
ことを特徴とする請求項2又は3に記載の分散処理管理装置。 - 担当するコンピュータの数及び処理されるデータ量を変えながら、前記基準処理を実際に実行することにより、前記基準処理の実行時間を計測する基準処理計測部と、
前記基準処理計測部により取得された、担当するコンピュータの数、処理されるデータ量及び前記基準処理の実行時間の複数の組み合わせデータを用いて回帰分析を行うことにより、前記予測モデル式を推定する回帰分析部と、
を更に備えることを特徴とする請求項4に記載の分散処理管理装置。 - 前記基準処理の処理時間を予測する複数の予測モデル式を格納する予測モデル格納部と、
前記回帰分析部による各予測モデル式に対する回帰分析の結果に基づいて情報量基準により前記複数の予測モデル式を評価することにより、前記複数の予測モデル式の中の1つを選択する予測モデル選択部と、
を更に備え、
前記選択部は、前記予測モデル選択部により選択された予測モデル式を取得する、
ことを特徴とする請求項5に記載の分散処理管理装置。 - 前記複数のフェーズは、後段のフェーズのための初期化処理を行うSetupフェーズを更に含み、
前記分散処理管理装置は、
前記複数のコンピュータの少なくとも1つに前記複数の処理の中の1つを実行させることにより、1処理あたりのSetupフェーズの処理時間を計測するSetupフェーズ計測部、
を更に備え、
前記選択部は、前記各分散実行パターンに対応する1コンピュータ当たりの処理数を取得し、前記1処理あたりのSetupフェーズの処理時間に、該1コンピュータ当たりの処理数を掛け合わせることにより、前記Setupフェーズの処理時間の推定式を推定し、前記Mapフェーズの処理時間の推定式及び前記Reduceフェーズの処理時間の推定式に加えて、前記Setupフェーズの処理時間の推定式を更に合わせることにより得られる、前記各分散実行パターンに依存する推定式を用いて、前記トータル実行時間を推定する、
ことを特徴とする請求項2から6のいずれか1項に記載の分散処理管理装置。 - 前記選択部により選択された分散実行パターンにより示されるグループ分け形態に基づいて、各グループに対して各パラメータをそれぞれ割り当て、前記複数の処理を分散実行するように該各グループに指示する分散処理実行部、
を更に備える請求項1から7のいずれか1項に記載の分散処理管理装置。 - コンピュータが、
複数のコンピュータが複数のフェーズでパラメータの異なる複数の処理を分散実行するのにかかるトータル実行時間を、該複数のコンピュータのグループ分け形態を示しかつ各処理を担当するコンピュータの数に対応する分散実行パターンに応じて推定することにより、複数の分散実行パターンの中から、該トータル実行時間が最小となる分散実行パターンを選択する、
ことを含む分散処理管理方法。 - コンピュータに、
複数のコンピュータが複数のフェーズでパラメータの異なる複数の処理を分散実行するのにかかるトータル実行時間を、該複数のコンピュータのグループ分け形態を示しかつ各処理を担当するコンピュータの数に対応する分散実行パターンに応じて推定することにより、複数の分散実行パターンの中から、該トータル実行時間が最小となる分散実行パターンを選択する選択部、
を実現させることを特徴とするプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013528921A JP6176111B2 (ja) | 2011-08-15 | 2012-08-15 | 分散処理管理装置及び分散処理管理方法 |
EP12823546.2A EP2746942A4 (en) | 2011-08-15 | 2012-08-15 | DISTRIBUTED PROCESS MANAGEMENT DEVICE AND DISTRIBUTED PROCESS MANAGEMENT METHOD |
US14/238,708 US20140201114A1 (en) | 2011-08-15 | 2012-08-15 | Device of managing distributed processing and method of managing distributed processing |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-177753 | 2011-08-15 | ||
JP2011177753 | 2011-08-15 | ||
JP2011-244517 | 2011-11-08 | ||
JP2011244517 | 2011-11-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013024597A1 true WO2013024597A1 (ja) | 2013-02-21 |
Family
ID=47714931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/005163 WO2013024597A1 (ja) | 2011-08-15 | 2012-08-15 | 分散処理管理装置及び分散処理管理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140201114A1 (ja) |
EP (1) | EP2746942A4 (ja) |
JP (1) | JP6176111B2 (ja) |
WO (1) | WO2013024597A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015170054A (ja) * | 2014-03-05 | 2015-09-28 | 富士通株式会社 | タスク割当プログラム、タスク実行プログラム、タスク割当装置、タスク実行装置およびタスク割当方法 |
JP2018139094A (ja) * | 2017-02-24 | 2018-09-06 | 株式会社三菱総合研究所 | 情報処理装置、情報処理方法及びプログラム |
JP2018147025A (ja) * | 2017-03-01 | 2018-09-20 | 株式会社日立製作所 | プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム |
JP2018160258A (ja) * | 2018-05-24 | 2018-10-11 | 株式会社三菱総合研究所 | 情報処理装置、情報処理方法及びプログラム |
US10878318B2 (en) | 2016-03-28 | 2020-12-29 | Google Llc | Adaptive artificial neural network selection techniques |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9910888B2 (en) * | 2014-10-01 | 2018-03-06 | Red Hat, Inc. | Map-reduce job virtualization |
EP3376399A4 (en) * | 2015-12-31 | 2018-12-19 | Huawei Technologies Co., Ltd. | Data processing method, apparatus and system |
JP6766495B2 (ja) * | 2016-07-21 | 2020-10-14 | 富士通株式会社 | プログラム、コンピュータ及び情報処理方法 |
CN109375873B (zh) * | 2018-09-27 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种分布式存储集群中数据处理守护进程的初始化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139271A (ja) * | 1997-07-15 | 1999-02-12 | Toshiba Corp | ライブラリシステムおよびライブラリの割り当て方法 |
JPH11259433A (ja) | 1998-03-09 | 1999-09-24 | Fujitsu Ltd | 並列実行システム |
JP2002244891A (ja) * | 2001-01-31 | 2002-08-30 | Hewlett Packard Co <Hp> | コンピュータシステムのパフォーマンスを自動的に改良する方法 |
JP2010079622A (ja) * | 2008-09-26 | 2010-04-08 | Hitachi Ltd | マルチコアプロセッサシステム、および、そのタスク制御方法 |
JP2010218307A (ja) * | 2009-03-17 | 2010-09-30 | Hitachi Ltd | 分散計算制御装置及び方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4739472B2 (ja) * | 1998-12-04 | 2011-08-03 | 新日鉄ソリューションズ株式会社 | 性能予測装置および方法、記録媒体 |
JP3671759B2 (ja) * | 1999-08-26 | 2005-07-13 | 株式会社日立製作所 | ソフトウェア配布方法およびシステム |
JP2001184222A (ja) * | 1999-12-27 | 2001-07-06 | Nec Ic Microcomput Syst Ltd | 分散処理装置、分散処理方法および記録媒体 |
US7395250B1 (en) * | 2000-10-11 | 2008-07-01 | International Business Machines Corporation | Methods and apparatus for outlier detection for high dimensional data sets |
JP3683216B2 (ja) * | 2001-12-28 | 2005-08-17 | 新日鉄ソリューションズ株式会社 | 性能評価装置、情報処理方法およびプログラム |
US7805392B1 (en) * | 2005-11-29 | 2010-09-28 | Tilera Corporation | Pattern matching in a multiprocessor environment with finite state automaton transitions based on an order of vectors in a state transition table |
US8244747B2 (en) * | 2006-12-05 | 2012-08-14 | International Business Machines Corporation | Middleware for query processing across a network of RFID databases |
JP4405520B2 (ja) * | 2007-01-22 | 2010-01-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プロジェクトの進行スケジュールを調整するためのコンピュータプログラム、コンピュータ装置及び方法 |
WO2009059377A1 (en) * | 2007-11-09 | 2009-05-14 | Manjrosoft Pty Ltd | Software platform and system for grid computing |
US8239847B2 (en) * | 2009-03-18 | 2012-08-07 | Microsoft Corporation | General distributed reduction for data parallel computing |
US8229868B2 (en) * | 2009-04-13 | 2012-07-24 | Tokyo Institute Of Technology | Data converting apparatus and medium having data converting program |
US9250625B2 (en) * | 2011-07-19 | 2016-02-02 | Ge Intelligent Platforms, Inc. | System of sequential kernel regression modeling for forecasting and prognostics |
-
2012
- 2012-08-15 EP EP12823546.2A patent/EP2746942A4/en not_active Withdrawn
- 2012-08-15 US US14/238,708 patent/US20140201114A1/en not_active Abandoned
- 2012-08-15 JP JP2013528921A patent/JP6176111B2/ja active Active
- 2012-08-15 WO PCT/JP2012/005163 patent/WO2013024597A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139271A (ja) * | 1997-07-15 | 1999-02-12 | Toshiba Corp | ライブラリシステムおよびライブラリの割り当て方法 |
JPH11259433A (ja) | 1998-03-09 | 1999-09-24 | Fujitsu Ltd | 並列実行システム |
JP2002244891A (ja) * | 2001-01-31 | 2002-08-30 | Hewlett Packard Co <Hp> | コンピュータシステムのパフォーマンスを自動的に改良する方法 |
JP2010079622A (ja) * | 2008-09-26 | 2010-04-08 | Hitachi Ltd | マルチコアプロセッサシステム、および、そのタスク制御方法 |
JP2010218307A (ja) * | 2009-03-17 | 2010-09-30 | Hitachi Ltd | 分散計算制御装置及び方法 |
Non-Patent Citations (5)
Title |
---|
CHENG-TAO, MAP-REDUCE FOR MACHINE LEARNING ON MULTICORE |
HIROSHI TAMANO ET AL.: "Optimizing Multiple Machine Learning Jobs on MapReduce", 2011 IEEE THIRD INTERNATIONAL CONFERENCE ON CLOUD COMPUTING TECHNOLOGY AND SCIENCE(CLOUDCOM), 1 December 2011 (2011-12-01), pages 59 - 66, XP032098804 * |
NAOYUKI KAKUTA ET AL.: "ahoo!JAPAN ni Miru Kaihatsu no Hint", GEKKAN ASCII.TECHNOLOGIES, vol. 16, no. 1, 24 November 2010 (2010-11-24), pages 58 - 59, XP008173330 * |
See also references of EP2746942A4 |
YOSHIFUMI FUKUMOTO; MAKOTO ONIZUKA: "Optimization for Multiple Analysis Jobs on MapReduce", DEIM FORUM, 2011, pages C3 - 4 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015170054A (ja) * | 2014-03-05 | 2015-09-28 | 富士通株式会社 | タスク割当プログラム、タスク実行プログラム、タスク割当装置、タスク実行装置およびタスク割当方法 |
US10878318B2 (en) | 2016-03-28 | 2020-12-29 | Google Llc | Adaptive artificial neural network selection techniques |
US11847561B2 (en) | 2016-03-28 | 2023-12-19 | Google Llc | Adaptive artificial neural network selection techniques |
JP2018139094A (ja) * | 2017-02-24 | 2018-09-06 | 株式会社三菱総合研究所 | 情報処理装置、情報処理方法及びプログラム |
JP2018147025A (ja) * | 2017-03-01 | 2018-09-20 | 株式会社日立製作所 | プログラム導入支援システム、プログラム導入支援方法、及びプログラム導入支援プログラム |
JP2018160258A (ja) * | 2018-05-24 | 2018-10-11 | 株式会社三菱総合研究所 | 情報処理装置、情報処理方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
EP2746942A4 (en) | 2015-09-30 |
JP6176111B2 (ja) | 2017-08-09 |
EP2746942A1 (en) | 2014-06-25 |
JPWO2013024597A1 (ja) | 2015-03-05 |
US20140201114A1 (en) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6176111B2 (ja) | 分散処理管理装置及び分散処理管理方法 | |
Hernández et al. | Using machine learning to optimize parallelism in big data applications | |
US11423082B2 (en) | Methods and apparatus for subgraph matching in big data analysis | |
CN103136039B (zh) | 用于平衡能量消耗和调度性能的作业调度方法和系统 | |
EP3005199B1 (en) | Paradigm drug response networks | |
JP5983728B2 (ja) | 仮想マシン管理装置及び仮想マシン管理方法 | |
JP5471400B2 (ja) | ジョブ分析プログラム及び方法、並びにジョブ分析装置 | |
US10120717B2 (en) | Method for optimizing the size of a data subset of a processing space for improved execution performance | |
US9916283B2 (en) | Method and system for solving a problem involving a hypergraph partitioning | |
EP3920026A1 (en) | Scheduler, method of operating the same, and accelerator apparatus including the same | |
JP2016042284A (ja) | 並列計算機システム、管理装置、並列計算機システムの制御方法及び管理装置の制御プログラム | |
KR20170092707A (ko) | 최적화된 브라우저 렌더링 프로세스 | |
CN109033439A (zh) | 流式数据的处理方法和装置 | |
Wang et al. | Design and implementation of an analytical framework for interference aware job scheduling on apache spark platform | |
JP5803469B2 (ja) | 予測方法及び予測プログラム | |
EP4009239A1 (en) | Method and apparatus with neural architecture search based on hardware performance | |
JP2012221254A (ja) | 並列処理最適化装置及びシミュレーションプログラム | |
Shichkina et al. | Applying the list method to the transformation of parallel algorithms into account temporal characteristics of operations | |
WO2020218246A1 (ja) | 最適化装置、最適化方法、及びプログラム | |
JP6901685B2 (ja) | 生成プログラム、生成方法、及び情報処理装置 | |
CN109684094B (zh) | 云平台环境下海量文献并行挖掘的负载分配方法及系统 | |
Karunarathna et al. | Scalable graph convolutional network based link prediction on a distributed graph database server | |
Kougka et al. | Modeling data flow execution in a parallel environment | |
Paraskevakos et al. | Workflow design analysis for high resolution satellite image analysis | |
US20200134507A1 (en) | Distribution system, data management apparatus, data management method, and computer-readable recording medium |
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: 12823546 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013528921 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14238708 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012823546 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |