Grid computing methods
The method improves processing efficiency in local networks by using a dynamic reconfiguration circuit to decode and distribute data in grid computing systems with mobile vehicles, enhancing data communication and distributed computing efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-21
- Publication Date
- 2026-04-07
AI Technical Summary
Existing grid computing systems with in-vehicle terminals do not effectively improve processing efficiency in local networks.
A method for grid computing using computing resources on mobile vehicles with a dynamic reconfiguration circuit, where a master mobile device communicates with a management server, decodes and distributes compressed data to slave devices, and compresses calculation results for improved efficiency.
Enhances processing efficiency in local networks by optimizing data communication and distributed computing, suppressing throughput degradation, and improving overall throughput.
Smart Images

Figure 0007841243000001 
Figure 0007841243000002 
Figure 0007841243000003
Abstract
Description
Technical Field
[0001] The technology disclosed herein relates to a method for performing grid computing using computing resources mounted on a moving object.
Background Art
[0002] In a grid computing system, a plurality of information processing devices are connected via a network, and processing is performed in parallel on each of these information processing devices. As a result, even if the processing capacity of each individual information processing device is low, high-speed processing can be achieved as a whole. And research and proposals have been made to configure a grid computing system with in-vehicle terminals.
[0003] Patent Document 1 discloses an invention related to a grid computing system using an in-vehicle terminal. In this invention, when it is predicted that communication between a vehicle group and a base station will become impossible in a first form in which the base station functions as a management node and a plurality of in-vehicle terminals function as computing nodes, one of the plurality of in-vehicle terminals shifts to a second form in which it functions as a management node.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In Patent Document 1, nothing is shown regarding how to improve the processing efficiency of grid computing in a local network constructed by a plurality of in-vehicle terminals.
[0006] The technology disclosed herein was developed in view of these points and aims to improve processing efficiency in local networks performing grid computing. [Means for solving the problem]
[0007] To solve the aforementioned problems, the technology disclosed herein provides a method for performing grid computing using computing resources mounted on a mobile vehicle, The management server, The computing resources have a dynamic reconfiguration circuit. The aforementioned The process includes the steps of: establishing a local network including a master, which is a mobile device that communicates with a management server; a slave, which is a mobile device that communicates with the master and whose computing resources perform calculations; the management server transmitting compressed calculation data to the master; the master's computing resources reconfiguring the dynamic reconfiguration circuit as a decoder and decoding the compressed calculation data received from the management server with this decoder; the master transmitting the decoded calculation data to the slave; the slave performing calculations based on the calculation data received from the master; the slave transmitting the calculation result data to the master; the master's computing resources reconfiguring the dynamic reconfiguration circuit as a compressor and compressing the calculation result data received from the slave with this compressor; and the master transmitting the compressed calculation result data to the management server. The computing resources of the master, when the moving object is in a moving state, enable the dynamic reconstruction circuit to realize the functions necessary for the moving object to move. .
[0008] In this configuration, a local network is constructed that includes a master mobile device and slave mobile devices to perform grid computing. The master has computing resources with a dynamic reconfiguration circuit and communicates with a management server. The slaves communicate with the master, and their computing resources perform calculations. When the management server sends compressed computation data to the master, the master's computing resources reconfigure the dynamic reconfiguration circuit as a decoder, and decode the compressed computation data using this decoder. The decoded computation data is sent to the slaves. The slaves perform calculations based on the computation data and send the computation result data to the master. The master's computing resources reconfigure the dynamic reconfiguration circuit as a compressor, and compress the computation result data received from the slaves using this compressor. The compressed computation result data is sent to the management server. In this way, in the constructed local network, the master is responsible for data communication with the management server and data distribution to each slave using the dynamic reconfiguration circuit, and each slave can specialize in distributed calculations. Therefore, the processing efficiency of the entire local network can be improved.
[0009] In the above method, the master's computing resources include a first storage unit for storing compressed calculation data received from the management server and a second storage unit for storing calculation result data received from the slave. When the first storage unit is full, the decoder, which is a reconfigured dynamic reconfiguration circuit, decodes the compressed calculation data stored in the first storage unit and transmits it to the slave. When the second storage unit is full, the compressor, which is a reconfigured dynamic reconfiguration circuit, compresses the calculation result data stored in the second storage unit and transmits it to the management server.
[0010] As a result, when the first storage unit, which stores compressed calculation data received from the management server, becomes full, the decoder, which has been reconfigured in the dynamic reconfiguration circuit, decodes the compressed calculation data stored in the first storage unit and sends it to the slave. When the second storage unit, which stores calculation result data received from the slave, becomes full, the compressor, which has been reconfigured in the dynamic reconfiguration circuit, compresses the calculation result data stored in the second storage unit and sends it to the management server. Therefore, the master's computing resources can appropriately reconfigure the dynamic reconfiguration circuit into a decoder / compressor.
[0011] Furthermore, in the above method, the dynamic reconfiguration circuit comprises a plurality of independently reconfigurable resources, and the computing resources of the master determine the number of resources to be reconfigured into decoders and the number of resources to be reconfigured into compressors in the dynamic reconfiguration circuit, according to the ratio of the amount of compressed calculation data received from the management server and the amount of calculation result data received from the slaves.
[0012] This allows the dynamic reconfiguration circuit to determine the number of resources to be reconfigured into decoders and the number of resources to be reconfigured into compressors, based on the ratio of the amount of compressed computation data received from the management server to the amount of computation result data received from the slaves. Therefore, the master's computing resources can appropriately reconfigure each resource into decoders / compressors for the dynamic reconfiguration circuit. [Effects of the Invention]
[0013] As explained above, the technology disclosed herein can improve processing efficiency in a local network performing grid computing. [Brief explanation of the drawing]
[0014] [Figure 1] A schematic diagram illustrating the system configuration of the embodiment. [Figure 2] Conceptual diagram to explain grid computing [Figure 3] Image diagram representing the features of the present invention [Figure 4] Configuration example of computing resources mounted on the master [Figure 5] Example of reconfiguration of the dynamic reconfiguration circuit, (a) is a decoder, (b) is a compressor, and (c) is a replacement table [Figure 6] Flowchart showing the processing flow of grid computing according to an embodiment [Figure 7] Flowchart showing the processing flow of grid computing according to an embodiment [Figure 8] Flowchart showing an operation example according to Variant 1 [Figure 9] Image diagram for dividing and processing the original data into small units [Figure 10] Flowchart showing an operation example according to Variant 2 [Figure 11] Image diagram for explaining the operation example according to Variant 2
Mode for Carrying Out the Invention
[0015] Hereinafter, exemplary embodiments will be described in detail with reference to the drawings.
[0016] (System) FIG. 1 illustrates the configuration of the system 1 of the embodiment. This system 1 includes a plurality of vehicles 10, a plurality of user terminals 20, a client server 30, a facility server 40, and a management server 50. These components can communicate with each other via the communication network 5. Each of the plurality of vehicles 10 is equipped with a computing device 105.
[0017] [Grid Computing] As shown in FIG. 2, in the system 1 of the embodiment, grid computing is configured by a plurality of computing devices 105, and grid computing processing for causing an available computing device 105 among the plurality of computing devices 105 to process job data is performed.
[0018] Furthermore, when the vehicle 10 requires the computing power of the arithmetic unit 105, the arithmetic unit 105 becomes operational and its computing power is utilized. For example, when the vehicle 10 is in motion, the computing power of the arithmetic unit 105 is required for controlling the vehicle's movement, and the arithmetic unit 105 becomes operational.
[0019] On the other hand, when the computing power of the arithmetic unit 105 is no longer needed in the vehicle 10, the arithmetic unit 105 will stop, and its computing power will no longer be utilized. For example, when the vehicle 10 stops and the power to the vehicle 10 is turned off, the computing power of the arithmetic unit 105 is no longer needed, and the arithmetic unit 105 will stop.
[0020] In this case, when the computing power of the arithmetic unit 105 is not needed in the vehicle 10, the computing power of the arithmetic unit 105 can be effectively utilized by providing it to grid computing processing.
[0021] Figure 3 is an illustrative diagram showing the features of the present invention. The management server 50, which manages grid computing, causes a group of vehicles 10 to build a local network. The management server then assigns the role of master to at least one vehicle 10A within the local network. When the local network performs grid computing, the vehicle 10A assigned the role of master communicates with the management server 50 (V2N) and also communicates with each of the slave vehicles 10 (V2V), thereby realizing a hub function. Each of the slave vehicles 10 performs calculations. The master vehicle 10A transmits the calculation data sent from the management server 50 to each of the slave vehicles 10. Each of the slave vehicles 10 performs calculations on the calculation data transmitted from the master vehicle 10A and transmits the calculation result data to the master vehicle 10A. The master vehicle 10A collects the calculation result data transmitted from each of the slave vehicles 10 and transmits it to the management server 50.
[0022] The master vehicle 10A has an MPU (Media Processing Unit) 11, which is an example of a computing resource, equipped with a dynamic reconfiguration circuit 12. The dynamic reconfiguration circuit 12 is implemented, for example, by an FPGA (Field Programmable Gate Array), and the circuit can be reconfigured according to the given configuration data to realize different functions. Here, the dynamic reconfiguration circuit 12 is assumed to be capable of realizing the functions of a decoder and a compressor according to the given configuration data. The decoder decompresses and decodes compressed encoded data, and the compressor compresses and encodes data.
[0023] The management server 50 transmits the job data to be executed by grid computing in a compressed state to the master vehicle 10A. The master vehicle 10A reconfigures the dynamic reconfiguration circuit 12 into a decoder and decompresses and decodes the compressed job data transmitted from the management server 50 using this decoder. The decompressed and decoded job data is distributed and transmitted to each of the slave vehicles 10. Each of the slave vehicles 10 performs calculations based on the received job data and transmits the calculation result data to the master vehicle 10A. The master vehicle 10A reconfigures the dynamic reconfiguration circuit 12 into a compressor and compresses and encodes the calculation result data transmitted from each of the slave vehicles 10 using this compressor. The master vehicle 10A aggregates the compressed calculation result data and transmits it to the management server 50.
[0024] As described above, according to the present invention, in the constructed local network, the master is responsible for data communication with the management server 50 and data distribution to each slave using the dynamic reconfiguration circuit 12, and each slave can specialize in distributed computing. Therefore, throughput degradation related to data communication can be suppressed and the overall throughput of the grid computing system can be improved.
[0025] Figure 4 shows an example configuration of the MPU 11 installed in the master vehicle 10A. In Figure 4, the MPU 11 includes a control device 13, a memory device (RAM (Random Access Memory)) 14, a memory device (ROM (Read Only Memory)) 15, a selector 16, and a driving detector 17, in addition to the dynamic reconfiguration circuit 12. The MPU 11 is an example of computing resources.
[0026] The control device 13 controls the operation of the MPU 11. The control device 13 receives master candidate instructions and calculation requests sent from the management server 50. The control device 13 also sends instructions to each slave MPU and receives communication status and other information from each slave MPU.
[0027] The storage device 14 stores various types of data 14a, 14b, 14c, and 14d. Data 14a is compressed calculation data transmitted from the management server 50. Data 14b is decompressed calculation data to be transmitted to each slave. Data 14c is calculation result data transmitted from each slave. Data 14d is compressed calculation result data to be transmitted to the management server 50.
[0028] The storage device 15 stores configuration data for the dynamic reconfiguration circuit 12 to realize predetermined functions. Specifically, for example, the storage device 15 stores in-driving configuration data 15a, decoder configuration data 15b, and compressor configuration data 15c. The selector 16 provides the dynamic reconfiguration circuit 12 with one of the configuration data stored in the storage device 15 according to the instructions of the control device 13. When the dynamic reconfiguration circuit 12 is given decoder configuration data 15b, it realizes the function of a decoder 12a, and when it is given compressor configuration data 15c, it realizes the function of a compressor 12b. Furthermore, when the dynamic reconfiguration circuit 12 is given in-driving configuration data 15a, it realizes the functions necessary when the vehicle is running.
[0029] The driving detector 17 detects whether the vehicle is in a driving state. The control device 13 receives a signal from the driving detector 17 and controls the selector 16 to select the driving configuration data 15a when the vehicle is in a driving state. The control device 13 also receives notification from the storage device 14 regarding the storage status of each data 14a to 14d.
[0030] Figure 5 shows an example of the reconstruction of the dynamic reconstruction circuit 12. In the figure, (a) is an example of the case where the decoder is set to a Huffman decoder, (b) is an example of the case where the compressor is set to a Huffman encoder, and (c) is an example of the substitution table used for substitution. In the decoder shown in Figure 5(a), 8-bit encoded data is converted to 1-bit data by serial conversion. This code is replaced with a value by referring to the substitution table in Figure 5(c) to obtain an 8-bit decoded value. In the compressor shown in Figure 5(b), 8-bit unencoded data is replaced with a code by referring to the substitution table in Figure 5(c) to obtain 1-bit encoded data. This encoded data is converted to 8-bit encoded data by multi-level conversion.
[0031] The configuration data may be stored in the storage device 15 beforehand, or it may be sent from the management server 50 to the MPU 11.
[0032] Figures 6 and 7 are flowcharts illustrating the processing flow of grid computing according to the embodiment. Here, a master candidate is a vehicle that can become a master, in which the MPU is equipped with a dynamic reconfiguration circuit and capable of realizing the functions of a decoder and a compressor. A slave candidate is a vehicle that can become a slave, in which the MPU that will serve as the computing resource is equipped.
[0033] As shown in Figure 6, when each vehicle detects that it is parked (S101), it transitions to a server-ready state (S102). When the management server 50 receives a computation request from a grid computing user (S111), it requests any MPU among the master candidates to check its status (S112). Upon receiving the status check request from the management server 50 (S103), the master candidate accesses each slave candidate to check its status (S104) and notifies the management server 50 of the check result (S105).
[0034] The management server 50 selects a local network (a network using vehicle-to-vehicle communication) based on the confirmation results notified by each master candidate (S113). The selection criteria here include, for example, the number of slaves available from the master, and the network that can utilize the most slaves is selected as the local network.
[0035] The management server 50 requests the selected local network's master candidate to assume the role of master (S114). The requested master candidate accepts the role of master (S106) and requests each slave candidate to assume the role of slave (S107). The requested slave candidate accepts the role of slave (S108).
[0036] As shown in Figure 7, a local network is established by a master vehicle and slave vehicles (S109). After the local network is established, the master's MPU 11 reconfigures the dynamic reconstruction circuit 12 into a decoder 12a using decoder configuration data 15b (S121). The management server 50 compresses the calculation data and sends it to the master (S115). The master decompresses and decodes the compressed calculation data sent from the management server 50 using the decoder 12a implemented by the dynamic reconstruction circuit 12, and distributes and sends it to each slave (S122). Each slave performs calculations based on the calculation data sent from the master (S123) and sends the calculation result data to the master (S124). The master aggregates the calculation result data sent from each slave (S125). Then, the dynamic reconfiguration circuit 12 is reconfigured into the compressor 12b using the compressor configuration data 15c (S126), the aggregated calculation result data is compressed and encoded, and transmitted to the management server 50 (S127). The management server 50 receives the calculation result data transmitted from the master and transmits it to the user.
[0037] As described above, according to this embodiment, a local network is constructed including a master mobile device and slave mobile devices in order to perform grid computing. The master has an MPU 11 with a dynamic reconfiguration circuit 12 and communicates with a management server 50. The slave communicates with the master and performs calculations using its computing resources. When the management server 50 sends compressed calculation data to the master, the master's MPU 11 reconfigures the dynamic reconfiguration circuit 12 as a decoder 12a and decodes the compressed calculation data using this decoder 12a. The decoded calculation data is sent to the slave. The slave performs calculations based on the calculation data and sends the calculation result data to the master. The master's MPU 11 reconfigures the dynamic reconfiguration circuit 12 as a compressor 12b and compresses the calculation result data received from the slave using this compressor 12b. The compressed calculation result data is sent to the management server 50. In this way, in the constructed local network, the master is responsible for data communication with the management server and data distribution to each slave using the dynamic reconfiguration circuit 12, allowing each slave to specialize in distributed computing. Therefore, the overall processing efficiency of the local network can be improved.
[0038] <Example 1> In the configuration shown in Figure 4, the control device 13 may receive notification from the storage device 14 regarding the storage status of each data, and depending on that status, control whether to reconfigure the dynamic reconfiguration circuit 12 into a decoder 12a or into a compressor 12b. This enables mutual exclusion control between the decoder and compressor for the dynamic reconfiguration circuit 12.
[0039] Figure 8 is a flowchart illustrating an example of operation related to this modified example 1. The storage device 14 monitors the state of the RAM (referred to as RAM1) which stores compressed calculation data 14a as the first storage unit, and the RAM (referred to as RAM2) which stores slave calculation result data 14c as the second storage unit (S201). When either RAM1 or RAM2 becomes full, the storage device 14 notifies the control device 13 of this fact (S202).
[0040] When RAM1 is full (YES in S203), the control device 13 controls the selector 16 so that the decoder configuration data 15b is mapped to the dynamic reconstruction circuit 12 (S204). The decoder realized by the reconfiguration of the dynamic reconstruction circuit 12 performs the decoding process of the compressed calculation data stored in RAM1 (S205). The decompressed and decoded calculation data is transmitted from the master to the slave (S206).
[0041] Furthermore, when RAM2 becomes full (YES in S207), the control device 13 controls the selector 16 so that the compressor configuration data 15c is mapped to the dynamic reconfiguration circuit 12 (S208). The compressor realized by the reconfiguration of the dynamic reconfiguration circuit 12 performs compression encoding processing of the slave calculation result data stored in RAM2 (S209). The compressed and encoded calculation result data is sent from the master to the cloud (S210).
[0042] According to this modified example, the dynamic reconfiguration circuit 12 can be properly reconfigured into a decoder / compressor.
[0043] <Modification 2> The dynamic reconfiguration circuit 12 may have multiple independently reconfigurable resources. In this case, for example, as shown in Figure 9, parallel processing can be improved by dividing the original data into small units and performing compression processing on each unit. In this case, the number of resources to be reconfigured in the decoder and the number of resources to be reconfigured in the compressor can be dynamically controlled, for example, according to the amount of data being communicated.
[0044] Figure 10 is a flowchart showing an example of operation related to this modified example 2. The master MPU 11 has a communication unit (not shown) that checks the amount of data received per unit time, that is, the amount of compressed calculation data received from the cloud and the amount of calculation result data received from the slave (S301). The control device 13 calculates the ratio of the amount of data received from the cloud to the amount of data received from the slave (S302). Based on this ratio, it determines whether or not it is necessary to change the number of decoders and compressors in the dynamic reconstruction circuit 12 (S03). If it is necessary to change the number, the number of decoders and compressors is changed by partially reconfiguring the resources of the dynamic reconstruction circuit 12 (S304).
[0045] For example, as shown in Figure 11, suppose the dynamic reconfiguration circuit 12 has nine independently reconfigurable resources. When the ratio of data received from the cloud to the data received from the slave is 6:3, six resources are reconfigured into decoders and three resources are reconfigured into compressors. Now, suppose the ratio of data received from the cloud to the data received from the slave changes to 5:4. In this case, one resource 12X that was reconfigured into a decoder is reconfigured into a compressor. As a result, five resources become decoders and four resources become compressors, which can be matched to the ratio of data received.
[0046] According to this modified example, the dynamic reconfiguration circuit 12 can appropriately reconfigure each resource into a decoder / compressor.
[0047] (Other embodiments) In the above explanation, an MPU was used as an example of a computing resource, but other computing resources such as processors may also be used.
[0048] Furthermore, while the above explanation uses the example of the arithmetic unit 105 being mounted on a vehicle 10 (specifically, a four-wheeled automobile), it is not limited to this. For example, the arithmetic unit 105 may be mounted on other mobile bodies other than the vehicle 10. Examples of such mobile bodies include transportation machinery and personal information terminals. Examples of transportation machinery include motorcycles, railway vehicles, ships, aircraft, and drones. A vehicle is an example of transportation machinery. Examples of personal information terminals include notebook computers, tablets, and smartphones.
[0049] Furthermore, the above embodiments may be combined as appropriate. The above embodiments are essentially preferred examples and are not intended to limit the scope of the technologies, applications, or uses disclosed herein. [Industrial applicability]
[0050] The technologies disclosed herein are useful for efficiently performing grid computing using computing resources mounted on mobile devices. [Explanation of Symbols]
[0051] 10. Vehicles (mobile devices) 11 MPU (computing resources) 12 Dynamic reconfigurable circuit 12a Decoder 12b Compressor 14a Compression calculation data 14c Calculation Result Data 50 Management Server
Claims
1. A method for performing grid computing using computing resources mounted on a mobile vehicle, The steps include establishing a local network comprising a management server, a master which is a mobile entity that has a dynamic reconfiguration circuit for computing resources and communicates with the management server, and a slave which is a mobile entity that communicates with the master and whose computing resources perform calculations, The management server sends the compressed calculation data to the master, The steps include: the computing resources of the master reconfigure the dynamic reconfiguration circuit as a decoder, and decode the compressed computation data received from the management server using this decoder; The master transmits the decoded calculation data to the slave. The steps include: The slave performs a calculation based on the calculation data received from the master; The steps include: the slave transmitting the calculation result data to the master; The steps include: the master's computing resources reconfigure the dynamic reconfiguration circuit as a compressor, and compress the calculation result data received from the slave using this compressor; The master includes the step of transmitting the compressed calculation result data to the management server, The computing resources of the master unit, when the moving object is in a moving state, enable the dynamic reconstruction circuit to implement the functions necessary for the moving object to move. Grid computing method.
2. In the grid computing method according to claim 1, The computing resources of the master are: The system comprises a first storage unit that stores compressed calculation data received from the management server, and a second storage unit that stores calculation result data received from the slave. When the first storage unit becomes full, the decoder, which has reconfigured the dynamic reconstruction circuit, decodes the compressed calculation data stored in the first storage unit and transmits it to the slave. When the second storage unit becomes full, the compressor, which has been reconfigured using the dynamic reconfiguration circuit, compresses the calculation result data stored in the second storage unit and transmits it to the management server. Grid computing method.
3. In the grid computing method according to claim 1, The dynamic reconfiguration circuit comprises multiple independently reconfigurable resources, The computing resources of the master determine the number of resources to be reconfigured into the decoder and the number of resources to be reconfigured into the compressor in the dynamic reconstruction circuit, according to the ratio of the amount of compressed calculation data received from the management server and the amount of calculation result data received from the slave. Grid computing method.
Citation Information
Patent Citations
Data compression decoding device
JP1992334128A
Distributed processing system, on-board terminal, and base station
JP2007089021A
Grid computing system
JP2008299527A
On-vehicle control distributed processing system and on-vehicle control distributed processing method
JP2015219586A