Grid Computing System

The grid computing system optimizes computational load in vehicles by measuring tolerance parameters and enabling bypass routes to minimize power consumption and travel restrictions, addressing high computational demands in distributed processing systems.

JP7809946B2Active Publication Date: 2026-02-03MAZDA MOTOR CORP
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2021180460
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-04
Publication Date
2026-02-03
Estimated Expiration
2041-11-04

AI Technical Summary

Technical Problem

Distributed processing systems, particularly those involving deep neural networks and grid computing in vehicles, face high computational loads that consume significant power, limiting battery life and travel distance due to the limited capacity of vehicle batteries.

Method used

A grid computing system that measures tolerance parameters in mobile objects, selects appropriate processing parameters based on these measurements, and enables bypass routes in computational elements to adjust computational load according to battery capacity, minimizing power consumption and travel restrictions.

Benefits of technology

The system optimizes computational load based on battery tolerance, reducing power consumption and minimizing travel distance limitations by adjusting processing routes and parameters, ensuring efficient grid computations without compromising accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007809946000001
    Figure 0007809946000001
  • Figure 0007809946000002
    Figure 0007809946000002
  • Figure 0007809946000003
    Figure 0007809946000003
Patent Text Reader

Abstract

To minimize restrictions and obstacles on a travel distance of a vehicle after grid operation, to be as few as possible.SOLUTION: In a grid computing system 1, a mobile body has a measurement unit 12 for measuring a tolerance parameter. A management device includes a storage unit 53 for storing a plurality of operation parameters and a control unit 55 for selecting a setting parameter based on the tolerance parameter. The mobile body further includes a storage unit 16 for storing job data and setting parameters received from the management device, an operation unit 17, and an operation control unit 19. The operation unit 17 includes a plurality of operation elements PE configured in a data flow type, and a bypass path 31. The operation control unit 19 validates some of or all of a plurality of bypass paths based on the setting parameter, and causes the operation unit 17 to calculate job data.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The technology disclosed herein belongs to the technical field of grid computing systems. [Background technology]

[0002] Patent Documents 1 and 2 disclose technologies relating to a distributed processing system having multiple distributed processing nodes, in which numerical data is aggregated from each distributed processing node to generate aggregated data, and the aggregated data is distributed to each distributed processing node.

[0003] Patent Document 3 discloses a technique relating to a distributed processing system in which a counting processing node and a plurality of distributed processing nodes are linked together to perform neural network learning.

[0004] In addition, in recent years, as shown in Patent Document 4, in order to effectively utilize the computing resources installed in vehicles, it has been considered to connect multiple vehicles to a wireless network using WiFi communication or the like and use this as grid computing. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Publication No. 2019-215603 [Patent Document 2] Japanese Patent Publication No. 2020-67687 [Patent Document 3] Japanese Patent Application Publication No. 2019-219714 [Patent Document 4] Japanese Patent Application Publication No. 2020-160661 Summary of the Invention [Problem to be solved by the invention]

[0006] In systems that perform distributed processing of a single neural network, deep neural networks, etc., have a large number of parameters, which poses a challenge: a high computational load is required, resulting in a large amount of power consumption for the computations. On the other hand, in grid computing that utilizes moving objects such as vehicles (hereinafter simply referred to as "moving objects"), it is desirable to minimize the power consumption of each moving object, since the batteries installed in the moving objects have a limited storage capacity. In particular, when a user performs grid computing-related computations (hereinafter referred to as "grid computations") while traveling, it is expected that the remaining battery charge may not be very high. Even for such moving objects, it is necessary to perform grid computations while minimizing the limitations and obstacles on the moving object's next travel distance due to a lack of remaining battery charge.

[0007] The technology disclosed herein has been made in view of the above points, and aims to provide a grid computing system that minimizes the effect of grid calculations on the next driving distance. [Means for solving the problem]

[0008] In order to solve the above problem, a first aspect of the present disclosure is directed to a grid computing system configured with mobile objects operating as processing nodes of the job, the mobile object comprising: a measurement unit that measures a tolerance parameter that is an index of the tolerance of the processing load of the mobile object; and a first communication unit that transmits the tolerance parameter measured by the measurement unit to the management device; the management device comprising: a second communication unit that receives the parameter; a memory unit that stores a plurality of processing parameters that differ from each other in processing accuracy and processing load in processing of the job; and a control unit that selects a setting parameter to be used by the mobile object from the plurality of processing parameters based on the tolerance parameter, and transmits job data of the job and the setting parameter to the mobile object via the second communication unit; the mobile object further comprising: a memory unit that stores the job data and the setting parameter received from the management device; a processing unit that includes a plurality of processing elements configured in a data flow type and a bypass route that bypasses a processing route selected among the plurality of processing elements; and a processing control unit that enables a part or all of the bypass route based on the setting parameter and causes the processing unit to perform processing of the job data.

[0009] According to the above aspect, the grid computing system executes the following series of processes: (1) in a mobile object, a tolerance parameter that is an index of the tolerance of the computational load is measured; (2) in a management device, a setting parameter to be used for the mobile object is selected from a plurality of computation parameters based on the tolerance parameter; and (3) in the mobile object, a bypass path of the computation element selected based on the setting parameter is enabled to perform computation in the computation unit. As a result, in the mobile object, grid computation is executed with a computational load based on the tolerance parameter, so that restrictions and obstacles on the vehicle's traveling distance after the grid computation can be minimized.

[0010] Specifically, for example, when the remaining battery charge, which is the tolerance parameter, is low, a setting parameter is selected that reduces the calculation load compared to when the remaining battery charge is sufficient. Then, by applying the setting parameter, the number of bypass paths to be activated increases, in other words, the grid calculation is executed in a state in which an increased number of calculation elements are bypassed. This makes it possible to minimize restrictions and obstacles on the vehicle's mileage after the grid calculation. [Effects of the Invention]

[0011] As described above, according to the technology disclosed herein, the mobile body is made to perform calculations with a calculation load according to the tolerance, so that restrictions and obstacles on the vehicle's travel distance after grid calculation can be minimized. [Brief explanation of the drawings]

[0012] [Figure 1] Conceptual diagram of a grid computing system [Figure 2] A block diagram illustrating the configuration of a vehicle [Figure 3] Block diagram showing an example of the configuration of a management server [Figure 4] Block diagram illustrating the configuration of a grid computing system [Figure 5] A diagram showing an example of a neural network structure. [Figure 6] 1 is a flowchart illustrating an example of the operation of a grid computing system. [Figure 7] FIG. 10 is a diagram showing an example of the relationship between the junction temperature rise and the number of driven arithmetic elements. [Figure 8] A block diagram showing another example of the configuration of a grid computing system. DETAILED DESCRIPTION OF THE INVENTION

[0013] The embodiments will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts will be designated by the same reference numerals, and repeated explanations may be omitted. In the following embodiments, the description will focus on configurations that are highly relevant to the contents of the present disclosure.

[0014] Note that the following embodiments are merely illustrative, and the contents of the present disclosure are not intended to be limited by the presence or absence of descriptions or exemplified numerical values, etc. Furthermore, regardless of whether the terms "system," "unit," or "apparatus" are used in this disclosure, the system / unit / apparatus may be realized by a dedicated circuit such as an application specific integrated circuit (ASIC) or a programmable logic array (PLA). Similarly, the system / unit / apparatus may be realized by a processor circuit that executes computer-readable instructions (e.g., a program) to perform predetermined processing steps and thereby perform a specific function.

[0015] (Grid Computing System) FIG. 1 illustrates an example of the configuration of a grid computing system 1 (hereinafter simply referred to as "system 1") according to an embodiment.

[0016] The system 1 includes a plurality of vehicles 10 and a management server 50. These components can communicate with each other via a global network. Each of the plurality of vehicles 10 is equipped with a calculation unit 17. The management server 50 is an example of a management device. The vehicles 10 are an example of a mobile object. The management device may be realized by a cloud. Furthermore, the mobile object is not limited to the vehicle 10.

[0017] [Grid Computing] 1, in the system 1 of the embodiment, a grid computing G (hereinafter also simply referred to as "grid G") is configured by a plurality of computing units 17. In the system 1, grid computing is executed in which an available computing unit 17 among the plurality of computing units 17 computes an application job (hereinafter also simply referred to as "job").

[0018] When the vehicle 10 is traveling, the computing power of the computing unit 17 is required for driving control of the vehicle 10, and the computing unit 17 is in an operating state. On the other hand, for example, when the vehicle 10 is stopped and the power of the vehicle 10 is turned off, the computing power of the computing unit 17 for driving control of the vehicle is substantially unnecessary. Therefore, grid computing (hereinafter referred to as "grid computing") is performed when the vehicle 10 is not in operation (for example, while parked). In this example, when the vehicles are not in operation, neural network computation is performed using the computation resources (including the computing unit 17) installed in each vehicle as computation nodes.

[0019] 〔vehicle〕 2, vehicle 10 includes battery 11, measurement unit 12, communication unit 15, storage unit 16, calculation unit 17, and calculation control unit 19. The functions of measurement unit 12, communication unit 15, storage unit 16, calculation unit 17, and calculation control unit 19 can be realized by, for example, an MPU (Micro-Processing Unit) mounted on vehicle 10.

[0020] -battery- A battery 11 is mounted on the vehicle 10. The power of the battery 11 is supplied to on-board devices such as a computing unit 17. The battery 11 may also be used as a power source for a drive motor of a mobile object. Examples of such a vehicle 10 include an electric vehicle and a plug-in hybrid vehicle.

[0021] -Measurement section- The measurement unit 12 measures tolerance parameters when the calculation unit 17 performs grid calculations. The specific form of the measurement unit 12 is not particularly limited, but includes, for example, a battery remaining capacity detection unit 121 that detects the remaining capacity of the battery 11 and a temperature sensor 122 provided near the calculation unit 17. For example, the temperature sensor 122 can be a conventionally known temperature detector for measuring junction temperature that is generally built into a microcomputer.

[0022] The tolerance parameter is a parameter that indicates the tolerance of the calculation load. The tolerance parameter is not particularly limited, but may be, for example, remaining battery capacity information, temperature information measured using the temperature sensor 122 built into the microcomputer, etc.

[0023] The measurement unit 12 may determine the allowable driving number of the processing element PE, which will be described later, and use the allowable driving number as the tolerance parameter. A method for determining the allowable driving number will be described later.

[0024] -Communications Department- The communication unit 15 transmits and receives information and data to and from the communication unit 51 of the management server 50. Specifically, the communication unit 15 transmits the tolerance parameters measured by the measurement unit 12 to the management server 50 via the global network. The communication unit 15 is an example of a first communication unit.

[0025] The communication unit 15 receives job data D1 and setting parameters D17 of an application job (hereinafter simply referred to as a "job") to be calculated from the management server 50. The information and data received by the communication unit 15 are sent to the calculation unit 17. The job data D1 and setting parameters D17 will be described later.

[0026] -Storage Department- The storage unit 16 stores information and data. The specific configuration of the storage unit 16 is not particularly limited. For example, the storage unit 16 may be realized by a memory built into a chip, a hard disk drive (HDD), a solid state drive (SSD), or an optical disc such as a DVD or BD.

[0027] In this example, the storage unit 16 stores vehicle information D10. The vehicle information D10 includes basic vehicle information D11, vehicle condition information D13, and operation information D15. The storage unit 16 also stores job data D1 and setting parameters D17 received from the management server 50.

[0028] <Vehicle basic information> The vehicle basic information D11 includes vehicle identification information and resource information.

[0029] The vehicle identification information includes information for identifying the vehicle, such as a VIN, and user identification information for identifying the owner of the vehicle 10.

[0030] The resource information is information related to the computational resources 171 described below. The resource information includes, for example, a computational resource ID assigned to each computational resource 171 and performance information indicating the performance of each computational resource 171. The performance of the computational resource 171 includes the computational capacity (specifically, maximum computational capacity) of the computational resource 171, the ratio of CPU to GPU in the computational resource 171, etc. The computational capacity of the computational resource 171 is, for example, the amount of data that each computational resource 171 can compute per unit time.

[0031] <Vehicle status information> The vehicle state information D13 is information indicating the state of the vehicle 10, and includes, for example, vehicle position information, driving history information, vehicle communication information, vehicle power supply information, measured temperature data, vehicle driving state information, etc. The vehicle state information D13 is used, for example, to detect the parking state of the vehicle.

[0032] The vehicle position information indicates the position (latitude and longitude) of the vehicle 10. For example, the vehicle position information can be acquired by a GPS (Global Positioning System).

[0033] The driving history information may be, for example, information indicating vehicle driving information detected by a driving detector (not shown) in association with time, or information indicating the vehicle position information in association with time. In addition to the driving history information, driving schedule information indicating future driving schedules of the vehicle 10 may be included.

[0034] The vehicle communication information includes information indicating the communication status between the vehicle 10 and the global network, and information on the communication bandwidth between the vehicle 10 and the management server 50. The vehicle communication information is updated, for example, at predetermined time intervals. The vehicle communication information may also include information indicating the status of vehicle-to-vehicle communication with other vehicles 10.

[0035] The vehicle power source information includes information indicating the power source state of the vehicle 10, remaining battery capacity information, vehicle charging information, etc. For example, the vehicle power source information indicates whether the ignition power is on / off, whether the accessory power is on / off, etc. The remaining battery capacity information is information indicating the remaining capacity of the battery 11 detected by the remaining battery capacity detection unit 121. The remaining battery capacity information is updated, for example, at predetermined time intervals. The information may also be updated based on a specific trigger, such as when the vehicle is detected as parked or when the remaining capacity falls below a predetermined threshold. The vehicle charging information indicates whether the vehicle 10 is being charged at a charging facility (not shown).

[0036] The temperature measurement data is measured using a temperature sensor 122 built into the microcomputer. The temperature measurement data is updated, for example, at predetermined time intervals. The information may also be updated based on a specific trigger, such as when parking of the vehicle is detected or when the margin for the junction temperature falls below a predetermined threshold.

[0037] The vehicle driving state information indicates the current driving state of the vehicle, and includes, for example, engine on / off information, driving speed information, shift lever setting information, and various brake status information.

[0038] <Operation information> The operation information D15 includes, for example, operation history information indicating the operation history of the computational resources 171, which will be described later, and operation schedule information indicating the operation schedule of the computational resources 171.

[0039] The operation history information indicates, for example, the utilization rate of the computational resources 171 and / or the job processing volume in association with the time. The operation history information includes a normal operation history and a grid operation history. The normal operation history indicates the history of operation of the computational resources 171 for user use, such as providing services such as vehicle driving, car navigation, and music playback. The grid operation history indicates the history of operation of the computational resources 171 to execute grid computing processing.

[0040] The operation schedule information includes, for example, usage schedule information indicating the future usage status of the computing resources 171.

[0041] -Arithmetic section- The calculation unit 17 controls each part of the vehicle 10. In this example, the calculation unit 17 controls each actuator (not shown) in accordance with various information obtained by sensors (not shown).

[0042] The calculation unit 17 has a processor, a memory, etc. Examples of the processor include a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), etc. The memory stores a program for operating the processor, information and data indicating the processing results of the processor, etc.

[0043] In this disclosure, for convenience of explanation, resources available for grid computing calculations and processing within the calculation unit 17 will be referred to as "calculation resources."

[0044] The computing resources 171 may also be resources used for controlling the vehicle 10, or may be CPUs or GPUs dedicated to grid computing that are not used for controlling the vehicle.

[0045] Furthermore, for example, time periods during which use as the computational resource 171 is permitted may be separated from time periods during which use as the computational resource 171 is restricted. That is, a single CPU may be counted as the computational resource 171 during one time period and not be counted as the computational resource 171 during other time periods. Furthermore, when a CPU is implemented with a single or multiple cores, some of the multiple cores may be counted as the computational resource 171 and the remaining cores may not be counted as the computational resource 171. The same applies to a GPU.

[0046] As shown in Fig. 4, the computational resource 171 includes a plurality of processing elements PE configured in a dataflow format, a bypass path 31 that bypasses a computation path selected among the plurality of processing elements PE, and a RAM (Random Access Memory) 172 for storing the progress of computations. In other words, in the computational resource 171, a dataflow architecture is formed by the plurality of processing elements PE. In this disclosure, a "processing element PE" refers to a combinational circuit for multiply-accumulate operations. The block diagram in Fig. 4 conceptually illustrates an example in which the neural network model shown in Fig. 5, described later, is converted into x dataflow architectures, 21 to 2x (x is a positive integer).

[0047] Note that a part or all of the computational resources 171 may be configured as a reconfigurable circuit. That is, the circuit configuration of the computational resources 171 when controlling the vehicle and the circuit configuration of the computational resources 171 when performing grid computation may be configured to be different from each other. A reconfigurable circuit is a circuit configured to enable programmable hardware reconfiguration. Specifically, a reconfigurable circuit is a programmable hardware device that incorporates a wide variety of fine-grained computational elements (in this example, computational elements PE) and one or more memories (in this example, RAM 172), and can switch the internal connections between them. Examples of reconfigurable circuits include an FPGA (Field Programmable Gate Array) and a DRP (Dynamically Reconfigurable Processor).

[0048] -Calculation control unit- The calculation control unit 19 enables a part or all of the bypass route 31 based on the setting parameters stored in the storage unit 16, and causes the calculation unit 17 to calculate the job data D1. The specific operation of the calculation control unit 19 will be described later.

[0049] [Management Server] The management server 50 manages the operation of grid computing. In other words, the system 1 includes the management server 50. The management server 50 is owned by the operator that operates the system 1.

[0050] As shown in FIG. 3, the management server 50 includes a communication unit 51, a storage unit 53, and a control unit 55.

[0051] -Communications Department- The communication unit 51 is configured to be capable of two-way communication with the vehicle 10, and transmits and receives information and data to and from the vehicle 10 connected via a global network. The communication unit 51 is also connected to a client terminal (not shown) to be capable of two-way communication, and transmits and receives information about jobs, job data D1, calculation result data D2, etc., between them. The information and data received by the communication unit 51 are sent to the control unit 55. The communication unit 51 is an example of a second communication unit.

[0052] -Storage Department- The storage unit 53 stores information and data. The specific configuration of the storage unit 53 is not particularly limited. For example, the storage unit 53 may be realized by a memory built into a chip, a hard disk drive (HDD), a solid state drive (SSD), or an optical disc such as a DVD or BD.

[0053] In this example, the storage unit 53 stores various tables and data such as a vehicle information table D51, a job table D53, a plurality of calculation parameters D55, job data D1, and calculation result data D2.

[0054] <Vehicle Information Table> The vehicle information table D51 is a table for managing vehicle information, and stores vehicle information D10 of each vehicle 10 in a list form.

[0055] <Job Table> The job table D53 is a table for managing jobs requested by clients. For each job, the job table D53 registers job information such as the reception number set for that job, the client ID set for the client that requested the job, and the name and content of the job. The job table D53 also registers for each job the operation type and processing conditions of the job data corresponding to that job, the required computing power that is the computing power required to calculate the job data, the delivery date set for that job, and the like.

[0056] <Job Data> The job data D1 stored in the storage unit 53 is data of a job accepted from a client terminal, and is data to be processed to execute the job.

[0057] The job data D1 can be classified by operation type. Examples of operation types include CPU-based operation types and GPU-based operation types. Job data D1 of the CPU-based operation type tend to require complex operations with many conditional branches, such as simulation operations. Job data D1 of the GPU-based operation type tend to require a huge amount of simple operations, such as image processing and machine learning. In this example, the job data D1 is assumed to be data used for distributed processing of a neural network.

[0058] <Calculation result data> The computation result data D2 stored in the storage unit 53 is data of the computation results of jobs computed by each neural network through grid computing processing, which will be described later.

[0059] <Calculation parameters> A plurality of calculation parameters D55 used in the processing of grid calculations are stored in the storage unit 53. In this example, three calculation parameters, namely, first to third calculation parameters, are prepared as shown in Fig. 4. The calculation parameters D55 refer to network structure information in a neural network.

[0060] An example of the configuration of a network model indicated by the calculation parameter D55 is shown in Fig. 5. In Fig. 5, solid lines indicate networks that execute processing, and dashed lines indicate networks that bypass processing.

[0061] The left diagram in Figure 5 shows an example of an original network model, which for convenience of explanation is referred to here as the "first calculation parameter." The first calculation parameter is set to have the greatest number of calculations, i.e., the highest calculation load, among the three calculation parameters D55, and is characterized by having the highest calculation accuracy. In other words, the first calculation parameter is the parameter that makes the network most dense.

[0062] The right diagram in Figure 5 shows a network model in which the calculations are thinned out and made sparse for the first calculation parameter. In this example, for convenience of explanation, this is referred to as the "third calculation parameter." The sparse network model has characteristic changes compared to the original network, such as a reduced number of calculations and a slight deterioration in calculation accuracy. In other words, the third calculation parameter is set to have the fewest number of calculations, i.e., the lightest calculation load, among the three calculation parameters D55, but is characterized by a correspondingly lower calculation accuracy. In other words, the third calculation parameter is the parameter that makes the network sparsest.

[0063] Although not shown, the degree of sparsification of the second calculation parameter (the proportion of the dashed line in FIG. 5) is set to be approximately intermediate between that of the first calculation parameter and that of the third calculation parameter.

[0064] The degree of sparsity of the calculation parameters D55 may be selected from a plurality of calculation parameters D55 prepared at a preset sparsity level. Alternatively, calculation may be performed internally according to the sparsity level set by the user, and a plurality of calculation parameters D55 may be prepared. Note that the calculation parameters D55 may be updated as machine learning continues.

[0065] The present disclosure is characterized in that the original network model is realized by a plurality of processing elements PE configured as a dataflow type, and each processing element PE is provided with a bypass path 31, and the degree of sparsification can be adjusted by enabling / disabling this bypass path 31. In other words, the processing parameter is a parameter that indicates which processing element PE, configured as a dataflow type, has its bypass path 31 enabled when executing the processing of job data D1.

[0066] Here, enabling the bypass path 31 refers to making the bypass path provided in the processing element PE that executes the process to be bypassed conductive, so that the input signal flows to the output without passing through the processing element PE. This allows some network processing of the data flow process to be bypassed, thereby reducing the power consumption of the bypassed processing element PE. Note that stopping the supply of clocks to the processing element PE for which the bypass path 31 is enabled can further enhance the effect of reducing power consumption.

[0067] That is, the present disclosure is characterized in that the computational load of the grid computation can be adjusted to a load weight that corresponds to the tolerance by selecting the computational parameter D55 according to the computational load tolerance as a setting parameter and applying it to the computational resource 171. For example, when the remaining battery power is low, a setting parameter that reduces the computational load is selected compared to when the remaining battery power is sufficient. This makes it possible to minimize restrictions and obstacles on the vehicle's mileage after the grid computation. Specific operational examples will be described later.

[0068] It should be noted that the bypass path 31 does not necessarily need to be set for all processing elements PE, and processing elements PE to which the bypass path 31 is not set may be included. Also, a setting parameter may be prepared to bypass the entire data flow column (for example, the processing element PE enclosed by the box 22 in FIG. 4). Also, a bypass path 31 may be provided to bypass a plurality of processing elements PE together.

[0069] -Control Unit- In this example, the control unit 55 has a function of executing a series of controls and processes related to the operation and management of grid computing. For example, it executes the controls and processes in the flow chart of Fig. 6 described below. Note that in the following explanation, for the sake of convenience, the operations and processes are described mainly by the management server 50, but the control unit 55 may contribute to the processes and controls.

[0070] The control unit 55 stores information and data received from the client terminal in the storage unit 53. For example, when the control unit 55 receives job data D1 from the client terminal, the control unit 55 saves the job data D1 in the storage unit 53.

[0071] The control unit 55 stores information and data received from each vehicle 10 in the storage unit 53. For example, when the control unit 55 receives vehicle information D10 (including vehicle driving information and resource information) from the vehicle 10, the control unit 55 registers the information in a vehicle information table D51 in the storage unit 53.

[0072] Furthermore, the control unit 55 selects setting parameters to be used for the vehicle 10 from among a plurality of calculation parameters based on the tolerance parameters received from the vehicle 10. Then, the control unit 55 transmits job data of a job to be requested of the vehicle and the selected setting parameters to the vehicle 10 via the communication unit 51. An example of a specific operation of the control unit 55 will be described below in "Example of Operation of Grid Computing System."

[0073] [Grid computing system operation example] An example of the operation of the system 1 will be described below with reference to the flowchart of Fig. 5. In the example of Fig. 5, the operation of the management server 50 and the vehicle 10 and the exchange of information therebetween will be mainly described.

[0074] In this example, the job requested by the client (hereinafter also referred to as the "requested job") is assumed to be distributed processing of a neural network. Therefore, the storage unit 53 of the management server 50 stores data used for distributed processing of the neural network as job data D1. Here, for the sake of convenience, the vehicle to which the job is requested is referred to as the "target vehicle 10."

[0075] -Step S21- In step S1, the management server 50 registers a plurality of calculation parameters D55 in the storage unit 53 in response to an input operation by the administrator.

[0076] There is no particular limitation on the method of registering the calculation parameters D55. For example, (1) the administrator inputs the degree of sparseness (e.g., sparseness of 5%, 10%, 20%) according to the request of the client, or (2) the control unit 55 selects calculation parameters D55 according to the respective degrees of sparseness from a plurality of pre-stored calculation parameters D55 and registers them in the storage unit 53. Alternatively, a plurality of calculation parameters D55 corresponding to each job may be obtained in advance from a client terminal, and the administrator may register them in the storage unit 53 as the calculation parameters D55 for that job.

[0077] -Steps S11 to S13, S22- When it is detected that the conditions for starting grid calculation are satisfied in the target vehicle 10, the measurement unit 12 transmits the tolerance parameters measured most recently to the management server 50 via the communication unit 15 (steps S11 to S13).

[0078] Specifically, in step S11, the start condition for grid calculation is determined to be satisfied when, for example, parking is detected using a sensor or the like (not shown) provided in the target vehicle 10 and it is detected that the occupant has locked the vehicle from the outside. Also, for example, when the target vehicle 10 is parked and locked, the start condition for grid calculation is determined to be satisfied when a notification of permission to start grid calculation transmitted from the owner of the target vehicle 10 is received.

[0079] In step S12, the measurement unit 12 of the target vehicle 10 measures the tolerance parameter. In this example, the battery remaining capacity detection unit 121 measures the remaining capacity of the battery 11 as the tolerance parameter. If the remaining battery capacity is measured periodically and stored in the storage unit 16, the most recent measurement data may be used instead of a new measurement. Measurement data from the temperature sensor 122 may be used as the tolerance parameter in addition to or instead of the remaining battery capacity.

[0080] In step S13, the tolerance parameters are transmitted from the communication unit 15 of the target vehicle 10 to the communication unit 51 of the management server 50. The tolerance parameters received by the management server 50 are stored in the memory unit 53 under the control of the control unit 55 (step S22).

[0081] -Step S23- In step S23, the control unit 55 of the management server 50 selects setting parameters to be used for the target vehicle 10 from the plurality of calculation parameters stored in the storage unit 53 based on the tolerance parameters received from the target vehicle 10.

[0082] For example, when remaining battery charge information of the battery 11 is received as the tolerance parameter, the greater the remaining battery charge, the higher the upper limit of the calculation load of the calculation parameters D55 selectable as the setting parameters is set. That is, the control unit 55 includes calculation parameters D55 with higher calculation accuracy in the options and selects the optimum calculation parameters D55 from within the range of options. On the other hand, when the remaining battery charge of the battery 11 is low, the upper limit of the calculation load is set low, and the control unit 55 selects calculation parameters D55 with a small calculation load, even if it means sacrificing some calculation accuracy.

[0083] For example, when measurement data from temperature sensor 122 is received as the tolerance parameter, the difference between the temperature of the semiconductor element constituting calculation resource 171 and the maximum rated junction temperature is estimated based on the measurement data, and the upper limit of the calculation load of calculation parameters D55 selectable as setting parameters is set based on the number of calculation elements driven according to the difference. That is, when the control unit 55 estimates that the temperature difference between the maximum rated junction temperature and the temperature of the semiconductor element is large, the control unit 55 includes calculation parameters D55 with higher calculation accuracy in the options and selects the optimum calculation parameter D55 within the range of options. On the other hand, when the temperature difference is estimated to be small, the upper limit of the calculation load is set low, and the control unit 55 selects calculation parameters D55 with a relatively small calculation load within the upper limit of the number of calculation elements driven, even at the expense of some calculation accuracy.

[0084] -Steps S24, S14- In step S24, the control unit 55 transmits the job data D1 of the job to be requested of the target vehicle 10 and the setting parameters set in step S23 to the target vehicle 10 via the communication unit 51. When the target vehicle 10 receives the job data D1 and the setting parameters from the management server 50, they are stored in the memory unit 16 (step S14).

[0085] -Step S15- In step S15, the calculation control unit 19 enables the bypass path 31 based on the setting parameters. As described above, by enabling this bypass path 31, part of the network processing is bypassed. Specifically, for example, in the configuration of FIG. 4, when the calculation element PE 22b is arranged after the calculation element PE 21a and the setting parameters indicate that the calculation element PE 21a should be bypassed, the calculation control unit 19 enables the bypass path 31a. In this case, the input is input to the calculation element PE 22b and processed therein without passing through the calculation element PE 21a. At this time, if the clock of the calculation element PE 21a is stopped, power consumption can be further reduced, and battery consumption can be suppressed.

[0086] -Steps S16, S17, S25- In step S15, the calculation control unit 19 causes the calculation unit 17 to execute grid calculation using the job data D1 while enabling the bypass route 31 based on the setting parameters. Then, when the grid calculation using the job data D1 is completed, the calculation unit 17 transmits calculation result data D2 to the management server 50. Then, the calculation result data D2 is received by the management server 50 and stored in the storage unit 53, and the process ends.

[0087] [Effects of the embodiment] As described above, the system 1 of the above embodiment executes a series of processes: (1) in the target vehicle 10, a tolerance parameter (for example, the remaining battery charge or the temperature around the computational resources 171) that is an index of the tolerance of the computational load is measured; (2) in the management server 50, a setting parameter to be used for the target vehicle 10 from among a plurality of computational parameters based on the tolerance parameter; and (3) in the target vehicle 10, the bypass path 31 of the computation element PE selected based on the setting parameter is enabled and the computational resources 171 are caused to execute grid computation in this state. As a result, in the target vehicle 10, grid computation is executed using the computational resources 171 that are set to have a computational load according to the tolerance parameter, and therefore, restrictions and obstacles on the vehicle's driving distance after the grid computation can be minimized.

[0088] The above embodiments are essentially preferred examples and are not intended to limit the scope of the technology disclosed herein, its applications, or its uses. That is, the above embodiments are merely examples and should not be interpreted as limiting the scope of the present disclosure. The scope of the present disclosure is defined by the claims, and all modifications and variations that fall within the equivalent range of the claims are within the scope of the present disclosure.

[0089] For example, as shown in FIG. 8, the measurement unit 12 may have an estimation unit 123 that estimates the allowable driving number of the processing element PE, and the allowable driving number estimated by the estimation unit 123 may be used as the tolerance parameter.

[0090] Two examples of methods for determining the allowable driving number are given below.

[0091] <Method for determining the allowable number of drives (1)> First, as characteristics of the MPU itself, tables, functions, etc. showing the relationship between the rise in junction temperature of the semiconductor elements constituting the processing element PE (hereinafter simply referred to as "junction temperature") and the number of processing elements PE being driven are stored in advance in the storage unit 16. Fig. 7 is a graph showing an example of the relationship between the rise in junction temperature and the number of processing elements being driven.

[0092] In the measurement unit 12, for example, using the graph of Figure 7, after the power supply is turned on when grid calculation is about to start, the temperature sensor 122 measures the junction temperature of the semiconductor element when the calculation element PE is in a non-driven state.

[0093] Then, the estimation unit 123 calculates the standard value of the number of drivable computing elements from the difference between the maximum rated junction temperature and the measured junction temperature of the semiconductor element.

[0094] For example, if the junction temperature of the processing element PE in a non-driven state after the power supply is turned on is 60° C. and the maximum rated junction temperature of the MPU (processing resource 171) is 105° C., the difference is 45° C. In this case, the allowable number of driven processing elements PE (allowable number of processing elements) is determined to be 50 from the graph in FIG.

[0095] 6, information on the allowable driving number of the processing element PE is transmitted as a tolerance parameter from the target vehicle 10 to the management server 50. Then, in step S23, the control unit 55 of the management server 50 selects a setting parameter corresponding to the allowable driving number based on the allowable driving number of the processing element PE. In other words, the control unit 55 sets an upper limit on the calculation load of the calculation parameters selectable as setting parameters based on the allowable driving number (drivable number) of the processing element PE, and selects a setting parameter corresponding to the upper limit.

[0096] <Method for determining the allowable number of drives (2)> First, the vehicle owner sets a standard remaining charge threshold value for the vehicle, which indicates "up to what percentage of the remaining charge of the battery 11 the grid calculation can be performed." Since the battery usage status depends on how the vehicle 10 is used, allowing the vehicle owner or the like to set the standard remaining charge threshold value in advance can increase convenience and reduce restrictions and obstacles on the vehicle's driving distance after grid calculation.

[0097] In the vehicle, characteristics regarding the relationship between the number of calculations driven per unit time of the calculation resource 171 and the battery consumption per unit time depending on the number of calculation elements to be driven are registered in advance as data in the storage unit 16.

[0098] Then, the estimation unit 123 calculates the allowable number of drives and executable time after the grid calculation is completed, based on the remaining battery power measured by the battery remaining power detection unit 121, so that the remaining power of the battery 11 does not fall below the remaining power threshold standard value. Note that the executable time may be set in advance by the user, for example, as a time period available for grid calculation.

[0099] 6, information on the allowable number of drives and executable time of the processing elements PE is transmitted as tolerance parameters from the target vehicle 10 to the management server 50. Then, in step S23, the control unit 55 of the management server 50 selects setting parameters corresponding to the allowable number of drives based on the allowable number of drives and executable time of the processing elements PE. [Industrial Applicability]

[0100] As described above, the grid computing system disclosed herein is extremely useful because it can minimize restrictions and obstacles on the vehicle's travel distance after grid calculation. [Explanation of symbols]

[0101] 1. Grid Computing System 10 Vehicles (moving objects) 12 Measurement section 15 Communications Department (First Communications Department) 16 Memory section 17 Arithmetic section 19 Calculation control unit 31 Bypass Route 50 Management Server (Management Device) 51 Communications Department (Second Communications Department) 53 Memory section 55 Control Unit D1 Job data D17 Setting parameters PE arithmetic element

Claims

1. A grid computing system including a management device that manages jobs and a mobile device that operates as a processing node for the jobs, The moving body is a measurement unit that measures a predetermined attribute value that serves as an index of the tolerance of the computational load in the moving object; a first communication unit that transmits the attribute value measured by the measurement unit to the management device; The management device a second communication unit that receives the attribute value; a storage unit that stores a plurality of calculation parameters that have different calculation accuracies and calculation loads in the calculation of the job; a control unit that selects setting parameters to be used for the mobile body from the plurality of calculation parameters based on the attribute value, and transmits job data of the job and the setting parameters to the mobile body via the second communication unit; The moving body is a storage unit in which the job data and the setting parameters received from the management device are stored; an arithmetic unit including a plurality of arithmetic elements that execute data flow processing and a bypass path that bypasses an arithmetic path selected from among the plurality of arithmetic elements; a calculation control unit that enables a part or all of the bypass paths based on the setting parameters and causes the calculation unit to calculate the job data.

2. In the moving body, the measurement unit includes a battery remaining capacity detection unit that detects a remaining capacity of a battery mounted on the moving object as the attribute value, 2. The grid computing system according to claim 1, wherein the management device selects the setting parameters to be used for the mobile object based on the remaining battery power measured by the remaining battery power detector.

3. 3. The grid computing system according to claim 2, wherein the management device sets a higher upper limit of the computation load of the computation parameters selectable as the setting parameters as the remaining charge of the battery increases.

4. In the moving body, the measurement unit includes a temperature sensor that measures the ambient temperature of the calculation unit as the attribute value, In the management device, 3. The grid computing system according to claim 1, wherein the control unit selects the setting parameters to be used in the mobile body based on a junction temperature of a semiconductor element constituting the computing element estimated based on temperature data measured by the temperature sensor.

5. 5. The grid computing system according to claim 4, wherein the management device sets a higher upper limit of the computation load of the computation parameters selectable as the setting parameters as the difference between the maximum rated junction temperature and the estimated junction temperature increases.

6. In the moving body, The measurement unit includes a temperature sensor for measuring the ambient temperature of the calculation unit; an estimation unit that estimates, as the attribute value, the number of drivable processing elements that can be driven among the plurality of processing elements based on the measurement result of the temperature sensor, In the management device, 3. The grid computing system according to claim 1, wherein the control unit sets an upper limit of the computation load of the computation parameters selectable as the setting parameters based on the number of computation elements that can be driven.

Citation Information

Patent Citations

  • Parallel computer

    JP1994068053A

  • Grid computing and load distribution method in grid computing

    JP2005141669A

  • On-vehicle calculation device, vehicle, and system

    JP2019175216A

  • Distributed processing system and distributed processing method

    JP2019215603A

  • Distributed processing system and distributed processing method

    JP2019219714A