WO2017141363A1 - データ処理システム及びデータ処理方法 - Google Patents
データ処理システム及びデータ処理方法 Download PDFInfo
- Publication number
- WO2017141363A1 WO2017141363A1 PCT/JP2016/054495 JP2016054495W WO2017141363A1 WO 2017141363 A1 WO2017141363 A1 WO 2017141363A1 JP 2016054495 W JP2016054495 W JP 2016054495W WO 2017141363 A1 WO2017141363 A1 WO 2017141363A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data processing
- program
- history
- application node
- application
- Prior art date
Links
Images
Classifications
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
Definitions
- the present invention relates to a distributed data processing apparatus and method, and more particularly, to an apparatus and method for executing computing processing for widely distributed data at high speed while reducing network communication costs.
- Patent Document 1 and Patent Document 2 are known as an apparatus and method for performing computing processing on data distributed widely distributed at high speed.
- the technology described in Patent Document 1 provides a technology for transferring an application to a device remote from a specific device and continuing the execution.
- By using the present technology it is possible to reduce the access latency at the time of data access by migrating an application that performs computing processing on the data to devices in the vicinity of the widely distributed data. .
- the techniques described in the background art allow maximizing data access latency or network bandwidth that occurs during computing processing for widely distributed data.
- An object of the present invention is to increase the performance of computing processing on distributed data, taking into consideration the characteristics of the program.
- application nodes capable of executing a program are provided at multiple sites, storage nodes for storing data are provided at multiple sites, and each site is connected via a network, and the plurality of application nodes are described.
- the first application node which is one of the application nodes, is Save the history of I / O issued to the storage node by executing the program, Measure actual data processing performance in program execution, Receive a list of application nodes that are candidates for program transfer destination, Make a request to reproduce the history of I / O including the history of I / O to the second application node included in the application node list,
- the second application node that receives the request to reproduce the I / O history is According to the I / O history included in the I / O history reproduction request, issue the reproduction I / O to reproduce the I / O issued by the program and determine the performance of the reproduction I / O as the prediction performance of I / O ,
- the first application node is It is to decide whether or not to transfer the program to the second application node based
- Example 1 of this invention It is a figure which shows the software module structure of Example 1 of this invention. It is a figure which shows the hardware constitutions of an application node. It is a figure which shows the hardware constitutions of a storage node. It is a figure which shows the whole processing flow of Example 1 of this invention. It is a figure which shows the user interface of a data transfer destination determination part. It is a figure which shows the data structure of a transfer policy. It is a figure which shows the data structure of I / O log
- FIG. 6 is a diagram showing an operation flow of an I / O history recording unit and a flow of acquiring a CPU utilization rate.
- FIG. 2 is a diagram showing a module configuration and an operation outline of a storage control unit. It is a figure which shows the software module structure of Example 2 of this invention. It is a figure which shows the user interface of a measurement precision optimization part. It is a figure which shows the data structure of measurement policy. It is a figure which shows the data structure of measurement load. It is a figure which shows the data structure of measurement parameter. It is a figure which shows the operation
- FIG. 1 The software module configuration of the first embodiment of the present invention is shown in FIG. 1
- computers located at the head office site (101) and the site sites (102, 103) cooperate to perform data computing processing.
- An application node or application VM (111) (hereinafter abbreviated as “application node”) is arranged at the head office site and the base site, and the program (125) operates on this node to execute computing processing. Run. Further, at least at the site site, a storage node or storage VM (112) (hereinafter abbreviated as “storage node”) is disposed, and stores data to be a target of computing processing.
- the application node or storage node corresponds to one computer or virtual computer. In FIG. 1, the storage node is saved at the head office, but storage node 0 may be provided.
- the program (125) has a function of transferring to the application node (111) which optimizes data processing throughput and continuing the processing.
- the I / O history recording unit (124) operates on each application node (111).
- the I / O history recording unit (124) connects the I / O history (131) issued to the storage node by the execution of the program by the CPU to the application node (111) disposed at the head office site (101).
- Storage media 113.
- actual processing performance (133) storing data processing throughput performance at the time of program execution can also be measured.
- the transfer destination determination unit user interface (121) and the transfer destination determination unit (122) are arranged at least at the base site (102, 103) on the application node (111) arranged at the head office site (101).
- the data processing performance prediction unit (123) operates on the target application node (111).
- the transfer destination determination unit user interface (121) receives, from the user, a transfer policy (134) including list information of application nodes to be transfer destination candidates of the program (125), and delivers the transfer policy to the transfer destination determination unit (122).
- the transfer destination determination unit (122) is an I / O history recorded by the I / O history recording unit (124) in the data processing performance prediction unit (123) operating on the application node (111) described in this policy. Issue a data processing performance measurement request including (131).
- the data processing prediction unit (123) that has received the request performs the reproduction execution of the I / O based on the I / O history (131) included in the request. Then, the data processing throughput obtained when the program (125) is transferred to the application node (111) is predicted, and the predicted processing performance (132) is transmitted to the transfer destination determination unit.
- the transfer destination determining unit (122) is based on the actual processing performance (133) measured by the I / O history recording unit (124) and the predicted processing performance (132) received from the data processing performance predicting unit (123). Determine the application node (111) to which the optimal program is to be transferred. Then, a program transfer instruction to the application node (111) is issued to the program (125).
- the program (125) When the program (125) receives the instruction, the program (125) causes the transfer to the designated application node (111) to be performed, and then continues the processing.
- a storage control unit (126) is mounted on the storage node (112).
- the storage control unit (126) has a function of processing not only data I / O issued by the program (125) but also dummy data I / O issued by the data processing prediction unit (123).
- I / O processing I / O to the storage media of the storage node is executed, while in dummy data I / O processing, the I / O is not performed, and the I / O processing time elapsed is emulated. Rate.
- FIG. 1 The hardware configuration of the application node (111) according to the embodiment of this invention is shown in FIG.
- the application node (111) holds a CPU (201), a main memory (202), an input unit (203), a network I / O unit (204), and a disk I / O unit (205).
- the main memory (202) includes a program (125), a transfer destination determination unit user interface (121), a transfer destination determination unit (122), a data processing performance prediction unit (123), and an I / O history recording unit (124). Contains application execution code.
- the CPU (201) reads these codes and executes the application.
- data I / O can be performed on the connected storage medium (113) via the disk I / O unit (205).
- data I / O and dummy data I / O can be performed in communication with the storage node (112).
- input from the user such as the transfer policy (134) can be obtained via the input unit (203).
- data such as I / O history (131) can be stored in a storage medium (113) connected to another application node (111) via the network I / O unit (204).
- FIG. 1 The hardware configuration of the storage node (112) according to the embodiment of this invention is shown in FIG.
- the storage node (112) also holds the CPU (201), the main memory (202), the network I / O unit (204), and the disk I / O unit (205), similarly to the application node (111).
- An application execution code including a storage control unit (126) is loaded in the main memory (202), and the CPU (201) reads the execution code to execute the application.
- the data I / O request and the dummy data I / O request are received from the application node (111) via the network I / O unit (204), and the storage control unit (126) processes the request.
- disk I / O can be executed on the connected storage medium (113) via the disk I / O unit (205).
- FIG. 1 The overall processing flow of the embodiment of the present invention is shown in FIG. 1
- the program (125) and the I / O history recording unit (124) operate on the application node (111) disposed at the head office site (101). Then, the program performs the computing process while acquiring data from the storage control unit (126) on the storage node (112) disposed at the site site (102, 103). At this time, the I / O history recording unit acquires the I / O history (131) and the actual processing performance (133), and delivers them to the transfer destination determination unit (122).
- the transfer destination determination unit (122) acquires the transfer policy (134) from the user via the transfer destination determination unit user interface (121), and exists on the application node (111) described in the transfer policy (134).
- a data processing performance measurement request is issued to the data processing performance prediction unit (123).
- This request also includes the I / O history (131) acquired by the I / O history recording unit (124).
- the data processing performance prediction unit (123) that has received this request issues a dummy data I / O request to the storage control unit (126), and reproduces and executes the I / O history. Then, the predicted processing performance (132) is calculated and transmitted to the transfer destination determination unit (122).
- the transfer destination determining unit (122) determines the transfer destination of the optimal program (125) based on the actual processing performance (133) and the predicted processing performance (132), and the application node (111) to be the transfer destination. Issue an instruction to transfer to the program (125).
- the program (125) executes the transfer to the application node (111) and continues the processing.
- a user interface screen provided by the data processing performance measurement unit user interface (121) is shown in FIG.
- the user interface screen includes a data processing performance measurement request issuance acceptance screen (501) from the user, a data processing performance measurement result display screen (502), and a program transfer confirmation screen (503).
- the data processing performance measurement request issuance acceptance screen (501) is "target program ID” (511), “target application node” (512), “time of use I / O history” (513), “CPU utilization rate threshold” It consists of the part of “value” (514). Each part is designated by the user.
- target program ID the ID of the program (125) to be transferred is specified.
- target application node the IP address of the application node (111) which is the transfer destination candidate is specified.
- Use I / O history execution time the time of the I / O history (131) to be attached to the data processing performance measurement request issued by the transfer destination determination unit (122) to the data processing performance prediction unit (123) Specify the range.
- the transfer destination determination unit (122) specifies a threshold value for determining whether the target program (125) is traveling in a CPU bottleneck state.
- a transport policy (134) having a data structure shown in FIG. 6 is generated.
- the fields of "target program ID” (601), “target application node” (602), “time of use I / O history execution” (603), and "CPU utilization threshold” (604) In each field, the value specified on the data processing performance measurement request issuance acceptance screen (501) is stored.
- Data processing performance measurement result display screen (502), "measurement data processing throughput, remote I / O rate, average I / O delay time, average I / O busy time, predicted throughput” (521), “actual CPU utilization rate” , Actual data processing throughput, remote I / O rate, average I / O delay time, average I / O busy time (522), and “program transfer destination” (523).
- the data processing performance measurement request issuance acceptance screen 501
- the result is output to each part of the data processing performance measurement result display screen (502).
- the transfer destination determination unit (122) issues a data processing performance measurement request to the data processing performance prediction unit (123). Then, the transfer destination determination unit (122) receives the prediction processing performance (132) from the data processing performance prediction unit (123). “Measurement data processing throughput, remote I / O rate, average I / O delay time, predicted throughput” displays information of the received predicted processing performance (132).
- the predicted processing performance (132) is, as shown in FIG. 9, "program ID” (901), "I / O history execution time” (902), “total number of I / O bytes” (903), “remote I / O”. It has fields of O-byte number total (904), I / O delay time total (905), I / O busy time total (906), and "predicted throughput” (907).
- the "program ID” (901) stores a program ID to be measured.
- time information of the I / O history (131) reproduced and executed by the data processing performance prediction unit (123) is stored.
- the “total number of I / O bytes” (903) stores the total number of I / O bytes of dummy data I / O requests issued in the reproduction execution of the I / O history at the above time.
- the “total number of remote I / O bytes” (904) of the total number of I / O bytes, the number of bytes of dummy data I / O issued to storage nodes (112) located at different locations.
- the “total I / O delay time” (905) stores the total of I / O response time in the dummy data I / O request process issued in the reproduction execution of the I / O history (131) at the above time.
- the migration destination determination unit (122) calculates the average of the data processing throughput ("I / O byte count accumulated” (903)), "remote I / O byte count accumulated” ( 904) / Average of “I / O byte count accumulated” (903), average of “I / O delay time accumulated” (905), average of “I / O busy time accumulated” (906), “estimated throughput” Calculate the average of (907) and pass it to the move destination determination unit user interface (121).
- the movement destination determination unit user interface (121) displays the above information on the data processing performance measurement result display screen “measurement data processing throughput, remote I / O rate, average I / O delay time, average I / O busy time, Displayed in the area of "Predicted throughput” (521).
- the movement destination determination unit (122) receives the actual processing performance (133) from the I / O history recording unit (124).
- the information on the actual processing performance is displayed in "the actual CPU utilization rate, the actual data processing throughput, the remote I / O rate, the average I / O delay time, and the average I / O busy time" (522).
- the actual processing performance (133) is, as shown in FIG. 8, “program ID” (801), “I / O execution time” (802), “CPU utilization rate” (803), “I / O byte count accumulated” (804), “remote I / O byte count total” (805), “I / O delay time total” (806), and "I / O busy time total” (807).
- the "program ID” (801) stores the ID of the program (125) to be measured.
- the “I / O execution time” (802) stores the time when the program (125) issues a data I / O request.
- the “CPU utilization” (803) stores the CPU utilization at the relevant time.
- the “total number of I / O bytes” (804) stores the total number of I / O bytes of data I / O requests issued at the relevant time.
- the "remote I / O byte count accumulation” (805) is the sum of the byte count of data I / O issued to the storage node (112) located at a different location among the above I / O byte count totals. Store.
- the “total I / O delay time” (806) stores the total of I / O response time in the data I / O request process issued in the reproduction execution of the I / O history at the above time.
- I / O busy time total (807), the time when some I / O was in progress (I / O that issued an I / O request but did not receive an I / O completion notification exists) Stores the cumulative value of
- the movement destination determination unit (122) averages "CPU utilization rate” (803), averages data processing throughput ("total number of I / O bytes” (804)), "remote I / O byte Calculate the average of "total number” (805) / “total number of I / O bytes” (804), average of "total I / O delay time” (806), average of "total I / O busy time” (807) To the destination determination unit user interface (121).
- the move destination determination unit user interface (121) displays the above information on the data processing performance measurement result display screen (502) “actual CPU utilization rate, actual data processing throughput, remote I / O rate, average I / O delay time , The average I / O busy time "(522) is displayed.
- the IP address of the application node (111) determined as the transfer destination of the program (125) as a result of the measurement of the data processing performance is displayed.
- the data transfer confirmation screen (503) consists of the part of "program transfer confirmation" (531).
- the transfer destination determination unit (122) transmits the transfer instruction to the program (125). Start issuing.
- the operation flow of the I / O history recording unit (124) is shown in FIG.
- the I / O history recording unit (124) detects data I / O or dummy data I / O of the program (125) / data processing performance prediction unit (123), I / O history (131), actual processing performance (133), has a function of recording predicted processing performance (134).
- the I / O history (131) has a data structure shown in FIG.
- the I / O history (131) includes “program ID” (701), “execution time” (702), “communication destination node” (703), “data type” (704), and “file / DB name” (705). And “RW type / SQL” (707) and “number of I / O bytes” (708).
- the "program ID” (701) stores the ID of the program that issued the data I / O or dummy data I / O request.
- the "execution time” (702) stores the issue time of the I / O request.
- the IP address of the storage node (112) storing the data of the file or DB is stored.
- the "data type” (704) stores the type of whether the data to be accessed is a file or a DB.
- file / DB name (705
- a file name to be accessed or a DB name is stored. If the access destination is a file, the “offset” (706) stores the access destination offset.
- the type of read I / O or write I / O is stored in “RW type / SQL” (707).
- the "number of I / O bytes" (708) stores the number of I / O bytes actually performed.
- the I / O history recording unit (124) first detects the I / O request issuance from the program (125) / data processing prediction unit (123) in step 1001. .
- step 1002 the information to be stored in the I / O history (131) is acquired, and in step 1003, an entry of the I / O history is created, and the application node (111) arranged at the head office site (101) The I / O history entry is stored in the attached storage medium (113).
- step 1004 arrival of an I / O completion notification from the program / data processing prediction unit is detected.
- step 1005 the current time is acquired, and in step 1006, the I / O delay time, that is, the difference between the current time information acquired in step 1002 and the current time information acquired in step 1005 is calculated.
- step 1007 “total I / O byte count” (804/903) “remote I / O byte count total” (805/904) “I / O” of actual processing information (133) / predicted processing performance (132) Update the total delay time (806/905) and the "total I / O busy time” (807/906). As a result, it is possible to keep the performance information in the corresponding “I / O execution time” (802/902) of the actual processing information (133) or the predicted processing performance (132) up to date.
- the “CPU utilization” (803) of the actual processing performance (133) is updated, as shown in FIG. 10 (b), triggered by the periodic wakeup. Specifically, after periodically getting up at step 1011, CPU utilization factor information is acquired at step 1012, and the field is updated at step 1013.
- the operation flow of the movement destination determination unit (122) is shown in FIG.
- the transfer destination determination unit (122) receives the transfer policy (134) from the data processing performance measurement request issuance screen (501) in the transfer destination determination unit user interface (121), Issue a data processing performance measurement request to This process is performed in steps 1101 to 1103 as shown in FIG.
- a transport policy (134) is received from the destination user interface (121).
- the I / O history (131) corresponding to the time described in the usage I / O history execution time (603) of the transfer policy (134) is read out and acquired from the storage medium (113).
- a data processing performance measurement request is issued to the application node (111) described in the target application node (602) of the transfer policy (134). At this time, the information of the I / O history acquired in step 1102 is also transmitted.
- the transfer destination determining unit (122) receives the predicted processing performance (132) from the data processing performance predicting unit (123), and determines the optimal transfer destination of the program (125). This is realized in step 1111 and subsequent steps.
- step 1111 the predicted processing performance (132) is received from the data processing performance prediction unit (123). Also, the actual processing performance (131) is received from the I / O history recording unit (124).
- step 1112 it is determined whether the average value of the CPU utilization rate (803) of the actual processing performance (131) is equal to or more than the value specified as the CPU utilization rate threshold value (604) of the transfer policy (134). . If it is above the threshold value, the process jumps to step 1113. If it is below the threshold value, the process jumps to step 1114.
- step 1113 it is determined that the computing process is a CPU bottleneck because the CPU utilization is equal to or higher than the threshold, and under the assumption, an optimal transfer destination application node (111) is determined.
- the average value of the I / O byte count cumulative total (903) of the predicted performance (132) is the total I / O byte count total of the actual processing performance (133) (804)
- the average value of the I / O delay time total (905) of the predicted performance (132) is lower than the average value of the I / O delay time total (806) of the actual processing performance (133). Filter the predicted performance (132).
- the application node (111) including the data processing performance prediction unit (123) which has transmitted the predicted performance (132) having the smallest remote I / O byte count total (805) is Transfer destination.
- the total amount of CPU resources other than computing among CPU resources in distributed application nodes can be reduced as much as possible.
- network I / O consumes a large amount of CPU resources, reducing the total amount of generated network I / O can increase CPU utilization efficiency. Even if it is transported, it is trying to achieve both I / O performance maintenance and CPU utilization efficiency by keeping I / O performance not exceeding the current I / O performance and suppressing I / O generation via the network as much as possible.
- step 1114 it is determined that the computing process is an I / O bottleneck because the CPU utilization is less than or equal to the threshold, and under that assumption, the optimal transfer destination application node (111) is determined. Specifically, the application node (111) having the highest throughput (actual data processing throughput and predicted throughput) is set as the transfer destination of the program (125). The method of calculating the predicted throughput will be described in the description of FIG. The actual data processing throughput is obtained by dividing the accumulated I / O byte count 804 by the accumulated time.
- step 1117 After execution of step 1113 or step 1114, it is determined in step 1117 whether the selected transfer destination is an application node currently being executed. Then, if the selected transfer destination is the currently executing application node, the processing ends, and if the selected transfer destination is not the currently executing application node, the process jumps to step 1115.
- step 1115 the display content on the data processing performance measurement result screen (502) described with reference to FIG. 5 is calculated from the received predicted processing performance (132) and delivered to the program destination determination unit user interface (121).
- step 1116 an input of transfer OK from the user is received via the transfer destination determination unit user interface (121), and a program transfer instruction is issued to the program (125).
- a data processing performance measurement request including I / O history information (131) is received from the transfer destination determination unit (122).
- step 1202 it is checked whether a predetermined time (time unit of I / O execution time (133) in the actual processing performance (133)) has elapsed since the start of I / O reproduction execution. If the predetermined time has elapsed, the process jumps to step 1206, otherwise jumps to step 1203. At step 1203, it is determined whether or not there is an I / O history entry whose I / O reproduction execution has not been completed among the entries of the received I / O history (131). If present, the process jumps to step 1204; otherwise, jumps to step 1206.
- a predetermined time time unit of I / O execution time (133) in the actual processing performance (133)
- one entry is extracted from the I / O history entry, and reproduction of DB access or file access is executed according to the entry.
- the issue timing of the dummy data I / O is adjusted based on the execution time (702) information stored in the I / O history (131). Therefore, the achieved I / O throughput in reproduction execution, that is, the value of I / O byte count accumulated (903) stored in the predicted processing performance (132) is the I / O of actual processing performance (133) at most. It is equivalent to the byte count total (804).
- the I / O record storage unit is the I / O byte count total (903) of the predicted processing performance, the remote I / O byte count total (904), I / O It becomes possible to set the value of each field of total delay time (905) and total I / O busy time (906) as measurement values.
- the data processing throughput after transfer is equal to the throughput of dummy data I / O achieved at the time of I / O reproduction execution, that is, the predicted throughput (907) is equal to the current I / O byte count total (903). Assume that. On the other hand, if the former exceeds the latter, it means that there is a margin in I / O processing capacity even if I / O reproduction execution is performed by the data processing performance prediction unit.
- the storage control unit (126) processes not only data I / O issued by the program (125) but also dummy data I / O issued by the data processing prediction unit (123).
- data I / O processing I / O to the storage medium (113) of the storage node (112) is executed, while in dummy data I / O processing, the I / O is not performed, and I / O is not performed.
- the storage control unit includes an I / O request distribution unit (1301), and determines whether the arrived I / O request is a data I / O request or a dummy data I / O request.
- the request is transferred to the media I / O unit, and the media I / O to the storage media (113) is executed.
- the request is transferred to the media I / O emulation unit (1303), and the elapse of time equivalent to that of the storage media I / O is waited.
- a well-known method is used as a method of waiting in the emulation unit.
- the actual I / O is actually executed with random read / write and sequential read / write patterns in various I / O sizes in advance, and the processing time is measured. Then, when the dummy I / O actually arrives, it is possible to recognize the I / O pattern and its size and to determine the waiting time from the measurement processing time. In either case, when the processing is completed, the I / O completion notification is notified to the program (125) or the data processing performance prediction unit (123) through the I / O completion notification unit (1302).
- FIG. 1 The software module configuration of the second embodiment of the present invention is shown in FIG.
- the measurement load (1431) transmits from the data processing performance prediction unit (123) to the transfer destination determination unit (122). Then, the transfer destination determination unit (122) directly connects the information on the actual processing performance (133), the predicted processing performance (132), and the measurement load (1431) to the application node (111) disposed at the head office site (101). Store in storage media (113).
- the measurement accuracy optimization unit (1422) receives the measurement policy (1432) from the measurement accuracy optimization unit user interface (1421). Based on the measurement policy (1432), the actual processing performance (133), the predicted processing performance (132), and the measurement load (1431), the measurement accuracy optimization unit (1422) uses the optimum measurement parameters (as the measurement target The time amount of I / O history, measurement interval) is determined, and notified to the program transfer destination determination unit (122). The program transfer destination determination unit periodically issues a data processing performance measurement request to the data processing performance prediction unit based on the measurement parameter. As a result, in this embodiment, it is possible to automatically determine the transfer destination of the program without instructing the data processing performance measurement request execution via the transfer destination determination unit user interface (121).
- a user interface screen provided by the measurement accuracy optimization unit user interface (1421) is shown in FIG.
- the user interface screen includes a measurement accuracy optimization execution instruction screen (1501), a measurement accuracy status display screen (1502), and a measurement accuracy optimization execution confirmation screen (1503).
- a measurement accuracy optimization execution instruction screen (1501) inputs a measurement policy (1432).
- the measurement policy (1432) includes an upper limit measurement load 1511 and an upper limit measurement error 1512, which are input by the user. As shown in FIG. 16, the measurement policy (1432) has fields of upper limit measurement error (1601) and upper limit measurement load (1602), and these parameters are input on this screen.
- the measurement accuracy status display screen (1502) displays the current status of measurement accuracy and how much the accuracy changes as a result of measurement parameter adjustment.
- measurement load (1513) and error (1514) fields exist.
- the measurement load (1513) displays the measurement load (1431) information obtained by returning from the data processing performance prediction unit (123).
- the measurement load (1431) obtained by returning from the data processing performance prediction unit (123) has a CPU load field as shown in FIG. 17, and each data processing performance prediction unit (123) issues a dummy I / O request
- the CPU load information required for is stored.
- the measurement accuracy optimization unit (1422) calculates this average value, passes it to the measurement accuracy optimization unit user interface (1421), and displays it in the measurement load (1513) field.
- the error (1514) displays an error between the predicted processing performance (132) predicted by each data processing performance prediction unit (123) and the actual processing performance (131) achieved as a result of program transfer.
- the actual data processing throughput obtained by dividing the I / O byte count accumulation 804 by time is determined, and the error between the predicted throughput 907 and the actual throughput is determined.
- the measurement accuracy optimization unit (1422) calculates the predicted data processing throughput, the actual data processing throughput, and the average value of the errors from the information stored in the storage medium (113). Then, it is delivered to the measurement accuracy optimization unit user interface (1421) and displayed in the error (1514) field.
- Measurement parameter information is displayed in the measurement target I / O history amount (1515) and measurement interval (1516) fields. As shown in FIG. 18, in the measurement parameter, a field for storing such information is stored. In this field, the current value of this parameter and this change proposal are displayed.
- the calculation method of the change content proposal by the measurement accuracy optimization unit (1422) will be described with reference to FIG.
- the measurement accuracy optimization execution confirmation screen (1503) is a screen for performing user confirmation as to whether or not to change the measurement parameter. If the user presses the YES operation button on the screen to confirm the change, the measurement accuracy optimization unit (1422) notifies the transfer destination determination unit (122) of a new measurement parameter.
- the operation flow of the measurement accuracy optimization unit (1422) is shown in FIG.
- step 1901 an average measurement load is calculated from the measurement load (1431) accumulated in the storage media (113).
- step 1902 an average measurement error is calculated from the predicted processing performance (132) and the actual processing performance (133) accumulated in the storage media (113).
- step 1903 it is determined whether the average measurement load calculated in step 1901 is equal to or more than the upper limit value specified in the upper limit measurement load (1602) field of the measurement policy (1432). If it is above the upper limit, the process jumps to step 1904. If it is smaller than the upper limit, the process jumps to step 1905.
- the measurement interval of the measurement parameter (1801) is adjusted. Assuming that the measurement interval and the measurement load are in inverse proportion to each other, a new value of the measurement interval (1802) capable of achieving the target upper limit measurement load (1602) is calculated.
- step 1905 it is determined whether the average measurement error calculated in step 1902 is equal to or more than the upper limit value specified in the upper limit measurement error (1601) field of the measurement policy (1432). If it is above the upper limit, the process jumps to step 1906, and if it is smaller than the upper limit, the process ends.
- the measurement target I / O history amount (1802) of the measurement parameter (1801) is adjusted. Assuming that the measurement target I / O history amount and the measurement error are in inverse proportion, a new value of the measurement target I / O history amount (1802) capable of achieving the target upper limit measurement error (1601) is calculated. However, assuming that the measurement load also increases in proportion to the measurement target I / O history amount (1802), the measurement interval (1803) is similarly increased so as not to change the measurement load.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
特許文献1記載の技術では、特定のデバイスから遠隔に離れたデバイスにアプリケーションを移送し、実行を継続する技術を提供している。本技術を用いることで、広域分散配置されたデータの近傍のデバイスに、当該データに対するコンピューティング処理を行うアプリケーションをマイグレートすることで、データアクセスの際のアクセスレイテンシを低減することが可能になる。
プログラムを実行することでストレージノードに発行するI/Oの履歴を保存し、
プログラムの実行における実データ処理性能を計測し、
プログラムの移送先候補となるアプリケーションノードのリストを受付け、
アプリケーションノードリストに含まれる第二のアプリケーションノードにI/Oの履歴を含むI/Oの履歴再現要求をし、
I/Oの履歴再現要求を受取った第二のアプリケーションノードは、
I/Oの履歴再現要求に含まれるI/Oの履歴に従って、プログラムが発行したI/Oを再現する再現I/Oを発行し、再現I/Oの性能をI/Oの予測性能として求め、
第一のアプリケーションノードは、
第二のアプリケーションノードで求めた前記I/Oの予測性能に基づいて、第二のアプリケーションノードに前記プログラムを移送するか否かを決めることにある。
移送先決定部ユーザインタフェース(121)は、ユーザから、プログラム(125)の移送先候補となるアプリケーションノードのリスト情報を含む移送ポリシー(134)を受け取り、移送先決定部(122)に受け渡す。移送先決定部(122)は、本ポリシーに記載されたアプリケーションノード(111)上で動作するデータ処理性能予測部(123)に、I/O履歴記録部(124)が記録したI/O履歴(131)を含むデータ処理性能計測要求を発行する。
ステップ1203にて、受信したI/O履歴(131)のエントリのうち、I/O再現実行が終了していないI/O履歴エントリが存在するか否かを判定する。存在すればステップ1204に、存在しなければステップ1206にジャンプする。
本算出は、例えば以下のアルゴリズムを用いて行う。まず、予測処理性能(132)に記載のI/Oバイト数累計(903)と、実処理性能(133)に記載のI/Oバイト数累計(804)を比較する。前者が後者を下回れば、データ処理性能予測部(123)によるI/O再現実行が、プログラム(125)によるデータI/O実行より所要時間がかかっていることを意味する。よって、移送後のデータ処理スループットは、I/O再現実行の時に達成したダミーデータI/Oのスループットと等しい、すなわち、予測スループット(907)は現状のI/Oバイト数累計(903)と等しいと想定する。一方、前者が後者を上回れば、データ処理性能予測部によるI/O再現実行を行っても、I/O 処理能力に余裕があることを意味する。そこで、I/Oビジー時間累計(906)から1分当たりのI/Oビジー時間累計であるI/Oビジー率を算出し、その逆数をI/Oバイト数累計(903)にかけた値を予測スループット(907)とする。例えば、I/O履歴 実行時刻が11:22における予測スループットは、12345*60/40=18517(Byte/s)で求められる。
計測ポリシー(1432)には、上限計測負荷1511と、上限計測誤差1512があり、ユーザが入力する。
計測ポリシー(1432)は図16に示すように、上限計測誤差(1601)及び上限計測負荷(1602)のフィールドを持ち、本画面でこれらのパラメータ入力を行う。
Claims (10)
- プログラムを実行できるアプリケーションノードを、複数拠点のサイトに設け、データを格納するストレージノードを前記複数の拠点に設けておき、各拠点間をネットワークを介して接続したデータ処理システムにおいて、
前記複数のアプリケーションノードのうち一つアプリケーションノードである第一のアプリケーションノードは、
前記プログラムを実行することでストレージノードに発行するI/Oの履歴を保存し、
前記プログラムの実行における実データ処理性能を計測し、
前記プログラムの移送先候補となる前記アプリケーションノードのリストを受付け、
前記アプリケーションノードのリストに含まれる第二のアプリケーションノードに前記I/Oの履歴を含むI/Oの履歴再現要求をし、
前記I/Oの履歴再現要求を受取った第二のアプリケーションノードは、
前記I/Oの履歴再現要求に含まれる前記I/Oの履歴に従って、前記プログラムが発行したI/Oを再現する再現I/Oを発行し、前記再現I/Oの性能をI/Oの予測性能として求め、
前記第一のアプリケーションノードは、
前記第二のアプリケーションノードで求めた前記I/Oの予測性能に基づいて、前記第二のアプリケーションノードに前記プログラムを移送するか否かを決める
ことを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムおいて、
前記ストレージノードは、前記プログラムを実行することで発行するI/Oと、前記再現I/Oとを振り分けて、前記プログラムが発行するI/Oの場合には、ストレージノードにおける記録媒体に対してI/Oを実行し、前記再現I/Oの場合には、
前記記録媒体に対するI/Oに対応する時間を待ちあわすことを特徴とするデータ処理システム。 - 請求項2記載のデータ処理システムにおいて、
前記第一のアプリケーションノードのCPU使用率が、閾値より低い場合には、
前記第二のアプリケーションノードの予測スループットが、前記第一のアプリケーションノードの実データ処理スループットより大きい場合には、前記第二のアプリケーションノードに前記プログラムを移送することを特徴とするデータ処理システム。 - 請求項2記載のデータ処理システムにおいて、
前記第一のアプリケーションノードのCPU使用率が、閾値以上の場合には、
前記第一のノードアプリケーションの実データ処理性能と前記I/O予測性能とから、前記プログラムを前記第二のアプリケーションノードに移送するかどうかを決めることを特徴とするデータ処理システム。 - 請求項1記載のデータ処理システムにおいて、前記第一のアプリケーションノードは、
前記I/O履歴再現実行に要する計測負荷の上限値と、前記I/Oの予測性能の予測誤差の上限値を受付け、前記上限値に基づいて、前記I/O履歴再現要求の発行間隔と、前記I/O履歴再現要求に含めるI/O履歴の量を調整することを特徴とするデータ処理システム。 - プログラムを実行できるアプリケーションノードを、複数拠点のサイトに設け、データを格納するストレージノードを前記複数の拠点に設けておき、各拠点間をネットワークを介して接続したデータ処理システムにおけるデータ処理方法であって、
前記複数のアプリケーションノードのうち一つアプリケーションノードである第一のアプリケーションノードは、
前記プログラムを実行することでストレージノードに発行するI/Oの履歴を保存し、
前記プログラムの実行における実データ処理性能を計測し、
前記プログラムを移送先候補となる前記アプリケーションノードのリストを受付け、
前記アプリケーションノードのリストに含まれる第二のアプリケーションノードに前記I/Oの履歴を含むI/Oの履歴再現要求をし、
前記I/Oの履歴再現要求を受取った第二のアプリケーションノードは、
前記I/Oの履歴再現要求に含まれる前記I/Oの履歴に従って、前記プログラムが発行したI/Oを再現する再現I/Oを発行し、前記再現I/Oの性能をI/Oの予測性能として求め、
前記第一のアプリケーションノードは、
前記第二のアプリケーションノードで求めた前記I/Oの予測性能に基づいて、前記第二のアプリケーションノードに前記プログラムを移送するか否かを決める
ことを特徴とするデータ処理方法。 - 請求項6記載のデータ処理方法おいて、
前記ストレージノードは、前記プログラムを実行することで発行するI/Oと、前記再現I/Oとを振り分けて、前記プログラムが発行するI/Oの場合には、ストレージノードにおける記録媒体に対してI/Oを実行し、前記再現I/Oの場合には、
前記記録媒体に対するI/Oに対応する時間を待ちあわすことを特徴とするデータ処理方法。 - 請求項7記載のデータ処理方法において、
前記第一のアプリケーションノードのCPU使用率が、閾値より低い場合には、
前記第二のアプリケーションノードの予測スループットが、前記第一のアプリケーションノードの実データ処理スループットより大きい場合には、前記第二のアプリケーションノードに前記プログラムを移送することを特徴とするデータ処理方法。 - 請求項7記載のデータ処理方法において、
前記第一のアプリケーションノードのCPU使用率が、閾値以上の場合には、
前記第一のノードアプリケーションの実データ処理性能と前記I/O予測性能とから、前記プログラムを前記第二のアプリケーションノードに移送するかどうかを決めることを特徴とするデータ処理方法。 - 請求項6記載のデータ処理方法において、前記第一のアプリケーションノードは、
前記I/O履歴再現実行に要する計測負荷の上限値と、前記I/O予測性能の予測誤差の上限値を受付け、前記上限値に基づいて、前記I/O履歴再現要求の発行間隔と、前記I/O履歴再現要求に含めるI/O履歴の量を調整することを特徴とするデータ処理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/747,785 US20180217875A1 (en) | 2016-02-17 | 2016-02-17 | Data processing system and data processing method |
JP2017511807A JP6227841B1 (ja) | 2016-02-17 | 2016-02-17 | データ処理システム及びデータ処理方法 |
PCT/JP2016/054495 WO2017141363A1 (ja) | 2016-02-17 | 2016-02-17 | データ処理システム及びデータ処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/054495 WO2017141363A1 (ja) | 2016-02-17 | 2016-02-17 | データ処理システム及びデータ処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017141363A1 true WO2017141363A1 (ja) | 2017-08-24 |
Family
ID=59624909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/054495 WO2017141363A1 (ja) | 2016-02-17 | 2016-02-17 | データ処理システム及びデータ処理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180217875A1 (ja) |
JP (1) | JP6227841B1 (ja) |
WO (1) | WO2017141363A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021124397A1 (ja) * | 2019-12-16 | 2021-06-24 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018151537A (ja) * | 2017-03-14 | 2018-09-27 | オムロン株式会社 | 画面作成装置および画面作成プログラム |
US11843656B2 (en) * | 2017-09-27 | 2023-12-12 | Iguazio Systems Ltd. | Dynamic application mobilization |
JP7138230B2 (ja) * | 2019-09-25 | 2022-09-15 | 株式会社日立製作所 | 計算機システム、データ制御方法及び記憶媒体 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116380A (ja) * | 2007-11-01 | 2009-05-28 | Nec Corp | 仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラム |
JP2009134687A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | アプリケーションマイグレーションのための候補データセンタを見つける方法および装置[0001] |
WO2012120664A1 (ja) * | 2011-03-09 | 2012-09-13 | 株式会社日立製作所 | 仮想計算機のマイグレーション評価方法及び仮想計算機システム |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6374336B1 (en) * | 1997-12-24 | 2002-04-16 | Avid Technology, Inc. | Computer system and process for transferring multiple high bandwidth streams of data between multiple storage units and multiple applications in a scalable and reliable manner |
WO2002001838A2 (en) * | 2000-06-26 | 2002-01-03 | Kpmg Consulting, Inc. | Using a pseudo-clec to test operational support systems of an incumbent local exchange carrier |
US20030149762A1 (en) * | 2001-10-05 | 2003-08-07 | Knight Gregory John | Storage area network methods and apparatus with history maintenance and removal |
US9245241B2 (en) * | 2003-11-07 | 2016-01-26 | At&T Intellectual Property I, L.P. | Methods, systems and computer program products for planning resources based on primary and alternate location relief strategies |
US7676508B2 (en) * | 2004-11-10 | 2010-03-09 | Microsoft Corporation | Method and system for recording and replaying input-output requests issued by a user-mode program |
JP2007041722A (ja) * | 2005-08-01 | 2007-02-15 | Sony Corp | 情報処理装置,コンテンツ再生装置,情報処理方法,イベントログ記録方法,およびコンピュータプログラム |
US8180731B2 (en) * | 2005-08-01 | 2012-05-15 | Sony Corporation | Apparatus and method for computing evaluation values of content data stored for reproduction |
US20080052539A1 (en) * | 2006-07-29 | 2008-02-28 | Macmillan David M | Inline storage protection and key devices |
JP4905086B2 (ja) * | 2006-11-29 | 2012-03-28 | 富士通株式会社 | イベント種類推定システム、イベント種類推定方法およびイベント種類推定プログラム |
WO2009096519A1 (ja) * | 2008-01-31 | 2009-08-06 | Nec Corporation | フィードフォーワード制御方法、サービス提供品質制御装置、システム、プログラム及びその記録媒体 |
US8219582B2 (en) * | 2008-04-25 | 2012-07-10 | International Business Machines Corporation | System, method, and computer readable media for identifying a user-initiated log file record in a log file |
JP5338555B2 (ja) * | 2009-08-11 | 2013-11-13 | 富士通株式会社 | 負荷分散装置、負荷分散方法および負荷分散プログラム |
JP4801761B2 (ja) * | 2009-08-12 | 2011-10-26 | 株式会社日立製作所 | データベース管理方法およびシステム並びにその処理プログラム |
US8589625B2 (en) * | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US20140365575A1 (en) * | 2011-12-29 | 2014-12-11 | BRITISH TELECOMMUNICATIONS public limitedcompany | Distributed system management |
US10162687B2 (en) * | 2012-12-28 | 2018-12-25 | Intel Corporation | Selective migration of workloads between heterogeneous compute elements based on evaluation of migration performance benefit and available energy and thermal budgets |
US20150200833A1 (en) * | 2014-01-10 | 2015-07-16 | Seagate Technology Llc | Adaptive Data Migration Using Available System Bandwidth |
US20160283512A1 (en) * | 2014-03-26 | 2016-09-29 | Unisys Corporation | Distributed file storage in a continuous computing fabric environment |
CN104951396B (zh) * | 2014-03-31 | 2018-01-30 | 国际商业机器公司 | 基于虚拟机创建软件性能测试环境的方法和装置 |
US9553997B2 (en) * | 2014-11-01 | 2017-01-24 | Somos, Inc. | Toll-free telecommunications management platform |
US10397324B2 (en) * | 2015-07-22 | 2019-08-27 | Netapp, Inc. | Methods and systems for managing a resource in a networked storage environment |
US10992739B2 (en) * | 2016-01-25 | 2021-04-27 | Vmware, Inc. | Integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system |
-
2016
- 2016-02-17 JP JP2017511807A patent/JP6227841B1/ja not_active Expired - Fee Related
- 2016-02-17 US US15/747,785 patent/US20180217875A1/en not_active Abandoned
- 2016-02-17 WO PCT/JP2016/054495 patent/WO2017141363A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009116380A (ja) * | 2007-11-01 | 2009-05-28 | Nec Corp | 仮想サーバ移動制御装置、仮想サーバ移動制御方法およびプログラム |
JP2009134687A (ja) * | 2007-11-29 | 2009-06-18 | Hitachi Ltd | アプリケーションマイグレーションのための候補データセンタを見つける方法および装置[0001] |
WO2012120664A1 (ja) * | 2011-03-09 | 2012-09-13 | 株式会社日立製作所 | 仮想計算機のマイグレーション評価方法及び仮想計算機システム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021124397A1 (ja) * | 2019-12-16 | 2021-06-24 | ||
WO2021124397A1 (ja) * | 2019-12-16 | 2021-06-24 | 富士通株式会社 | ジョブ予測プログラム、システム、及び方法 |
JP7287499B2 (ja) | 2019-12-16 | 2023-06-06 | 富士通株式会社 | ジョブ予測プログラム、システム、及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6227841B1 (ja) | 2017-11-08 |
JPWO2017141363A1 (ja) | 2018-02-22 |
US20180217875A1 (en) | 2018-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7138126B2 (ja) | リソース配置を最適化するための適時性リソース移行 | |
US8417973B2 (en) | Using a control policy to implement power saving features | |
US20100250746A1 (en) | Information technology source migration | |
US10055252B2 (en) | Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing | |
US11216310B2 (en) | Capacity expansion method and apparatus | |
US8943269B2 (en) | Apparatus and method for meeting performance metrics for users in file systems | |
JP6372074B2 (ja) | 情報処理システム,制御プログラム及び制御方法 | |
WO2017141363A1 (ja) | データ処理システム及びデータ処理方法 | |
US20130263142A1 (en) | Control device, control method, computer readable recording medium in which program is recorded, and distributed processing system | |
US11632315B1 (en) | System and method for dynamic reporting based management | |
JP6300632B2 (ja) | 情報処理装置、負荷制御方法および負荷制御プログラム | |
US20120297216A1 (en) | Dynamically selecting active polling or timed waits | |
US12045661B2 (en) | System and method for usage based system management | |
JP5577453B2 (ja) | 仮想計算機のマイグレーション評価方法及び仮想計算機システム | |
McCullough et al. | Stout: An adaptive interface to scalable cloud storage | |
JP2011108045A (ja) | 計算機システム、管理サーバ及び電力削減方法 | |
JP6209863B2 (ja) | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム | |
JP2011192049A (ja) | 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム | |
US11243603B2 (en) | Power management of an event-based processing system | |
US7908377B2 (en) | Computer system and data sharing method | |
JP7176633B2 (ja) | 仮想化基盤制御装置、仮想化基盤制御方法および仮想化基盤制御プログラム | |
US10929245B1 (en) | Flexible scheduler for backups | |
WO2017122263A1 (ja) | 管理計算機及び管理方法 | |
JP2014206805A (ja) | 制御装置 | |
WO2017098591A1 (ja) | 計算機及びストレージ装置を有するシステム、及びシステムの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2017511807 Country of ref document: JP Kind code of ref document: A |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16890505 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15747785 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: 16890505 Country of ref document: EP Kind code of ref document: A1 |