Data flow processing method and device based on reconfigurable TPU, equipment and storage medium
By optimizing the data allocation process through a data stream processing method based on reconfigurable TPUs, the problem of dynamic changes in multi-source heterogeneous data processing is solved, improving efficiency and resource utilization, and enhancing system adaptability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-06
- Publication Date
- 2026-04-07
AI Technical Summary
Existing technologies cannot effectively handle dynamic changes in data types and processing sub-unit state parameters when processing multi-source heterogeneous data, resulting in low data processing efficiency, insufficient resource utilization, and poor system adaptability.
The data stream processing method based on reconfigurable TPU evaluates the processing complexity by acquiring the data to be processed and the running status parameters of the processing sub-units, adjusts the fine-grainedness of the splitting, and optimizes data allocation by matching the data source identifier and the running status parameters of the processing sub-units.
It improves the efficiency of data processing and resource utilization, avoids processing delays caused by high-complexity data blocks and resource scheduling redundancy caused by low-complexity data blocks, and enhances the adaptability of the system.
Smart Images

Figure CN121478498B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the field of electric digital data processing, and in particular to a data stream processing method and device based on a reconfigurable TPU, an equipment and a storage medium. BACKGROUND
[0002] With the deep penetration of artificial intelligence and Internet of Things technology in the fields of assisted driving, industrial Internet, intelligent security, etc., the data processing scene presents the significant characteristics of "multi-source, high concurrency and strong real-time". Taking the assisted driving scene as an example, the vehicle needs to synchronously process the massive data generated by multiple types of sensors such as cameras, millimeter wave radars and laser radars. Such data not only has a huge data volume and a high transmission rate, but also has a significant difference in processing complexity. This poses extremely stringent requirements on the real-time performance, resource utilization and adaptive ability of the data processing system.
[0003] In related technologies, the to-be-processed data is usually allocated to each processing subunit according to the data volume of the to-be-processed data and the processing capacity of each processing subunit in the past. This causes high-complexity data blocks to be too large, resulting in processing delay and lag, and low-complexity data blocks to be too small, resulting in resource scheduling redundancy, which seriously affects the data processing efficiency. Moreover, in the case of dynamic changes in data types and processing subunit state parameters, the data processing efficiency is low, the resource utilization is insufficient, and the system adaptability is poor. SUMMARY
[0004] Embodiments of the present application provide a data stream processing method and device based on a reconfigurable TPU, an equipment and a storage medium, which solve the problems of low data processing efficiency, insufficient resource utilization and poor system adaptability in the case of dynamic changes in data types and processing subunit state parameters during the to-be-processed data allocation process. The to-be-processed data can be split based on the processing complexity of the to-be-processed data, which improves the data splitting accuracy and rationality, effectively avoids the situation that high-complexity data blocks are too large, resulting in processing delay and lag, and low-complexity data blocks are too small, resulting in resource scheduling redundancy, and improves the data processing efficiency, resource utilization and system adaptability in the case of dynamic changes in data types and processing subunit state parameters by matching the demand parameters of each to-be-processed data block with the running state parameters of each processing subunit.
[0005] In a first aspect, embodiments of the present application provide a data stream processing method based on a reconfigurable TPU, comprising:
[0006] obtaining to-be-processed data and running state parameters of each processing subunit, performing processing complexity evaluation on the to-be-processed data to obtain a complexity evaluation value;
[0007] determine a real-time splitting granularity corresponding to the running state parameter of each processing subunit, and adjust the real-time splitting granularity based on the complexity evaluation value to obtain a target splitting granularity;
[0008] split the to-be-processed data based on the target splitting granularity, and mark the data source of each to-be-processed data block to obtain a data source identifier of each data block;
[0009] match the running state parameter of each processing subunit with each data source identifier, and determine the to-be-processed data block corresponding to each processing subunit according to the matching result, so that each processing subunit performs data operation processing on the corresponding to-be-processed data block.
[0010] Optionally, the running state parameter includes a current processing rate and a current processing completion rate, and the determination of the real-time splitting granularity corresponding to the running state parameter of each processing subunit includes:
[0011] calculate an average processing rate and an average processing completion rate according to the current processing rate and the current processing completion rate of each processing subunit, respectively, and determine an initial splitting granularity of each data type corresponding to the average processing rate;
[0012] adjust the initial splitting granularity in a case where the average processing completion rate does not satisfy a preset processing completion rate range, and determine a real-time splitting granularity according to the adjustment result.
[0013] Optionally, the running state parameter further includes a current channel congestion degree and a current load rate, and the matching of the running state parameter of each processing subunit with each data source identifier includes:
[0014] generate a multi-dimensional dynamic capability label of each processing subunit according to the current channel congestion degree, the current load rate and the current processing rate of each processing subunit;
[0015] determine a reference rate, a channel congestion coefficient and a load margin coefficient corresponding to each data source identifier, and generate a processing demand label of each to-be-processed data block according to the reference rate, the channel congestion coefficient and the load margin coefficient;
[0016] match each multi-dimensional dynamic capability label with each processing demand label.
[0017] Optionally, the matching of each multi-dimensional dynamic capability label with each processing demand label includes:
[0018] The capability score of each subunit is calculated according to the capability parameter corresponding to each multi-dimensional dynamic capability label and a preset weight coefficient.
[0019] The demand score of each to-be-processed data block is calculated according to the demand parameter corresponding to each processing demand label and the preset weight coefficient, and each capability score is matched with each demand score.
[0020] Optionally, the processing complexity evaluation on the to-be-processed data comprises:
[0021] The data type of the to-be-processed data is identified, and an evaluation strategy corresponding to the data type is determined, and the processing complexity evaluation on the to-be-processed data of the corresponding type is performed based on the evaluation strategy.
[0022] Optionally, the splitting of the to-be-processed data based on the target splitting granularity comprises:
[0023] The splitting boundary of the to-be-processed data is determined based on the target splitting granularity, and a splitting strategy corresponding to the to-be-processed data is determined.
[0024] The boundary calibration processing is performed on the splitting boundary according to the splitting strategy, to obtain a target splitting boundary, and the to-be-processed data is split based on the target splitting boundary.
[0025] Optionally, the matching of each capability score with each demand score comprises:
[0026] The matching degree value of each capability score with each demand score is calculated, and the maximum value in the plurality of matching degree values is determined.
[0027] The processing subunit and the to-be-processed data block corresponding to the maximum value are matched.
[0028] In a second aspect, an embodiment of the present application provides a data stream processing device based on a reconfigurable TPU, comprising:
[0029] A data acquisition module is configured to acquire running state parameters of each processing subunit and to-be-processed data in real time.
[0030] A processing complexity evaluation module is configured to perform processing complexity evaluation on the to-be-processed data to obtain a complexity evaluation value.
[0031] A target splitting granularity determination module is configured to determine a real-time splitting granularity corresponding to the running state parameters of each processing subunit, and adjust the real-time splitting granularity based on the complexity evaluation value to obtain a target splitting granularity.
[0032] The data source identification determination module is configured to split the to-be-processed data based on the target split granularity, and mark the data sources of the plurality of to-be-processed data blocks obtained by the splitting, to obtain the data source identification of each data block.
[0033] The matching module is configured to match the running state parameters corresponding to each processing subunit with each data source identification, and determine the to-be-processed data block corresponding to each processing subunit according to the matching result.
[0034] In a third aspect, an electronic device is provided, and the device includes one or more processors, and a storage configured to store one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the reconfigurable TPU-based data stream processing method of the first aspect.
[0035] In a fourth aspect, a storage medium containing computer executable instructions is provided. When the computer executable instructions are executed by a computer processor, the computer executable instructions are used to execute the reconfigurable TPU-based data stream processing method of the first aspect.
[0036] In the embodiments of the present application, the to-be-processed data and the running state parameters of the current processing subunits are obtained, the processing complexity of the to-be-processed data is evaluated, and a complexity evaluation value is obtained. The real-time split granularity corresponding to the running state parameters of each processing subunit is determined, and the real-time split granularity is adjusted based on the complexity evaluation value to obtain a target split granularity. The to-be-processed data is split based on the target split granularity, and the data source of the plurality of to-be-processed data blocks obtained by the splitting is marked to obtain the data source identification of each data block. The running state parameters corresponding to each processing subunit are matched with each data source identification, and the to-be-processed data block corresponding to each processing subunit is determined according to the matching result, for the data operation processing of the corresponding to-be-processed data block by each processing subunit. In the above scheme, the to-be-processed data can be split based on the processing complexity of the to-be-processed data, improving the data split accuracy and rationality, effectively avoiding the situation that the high-complexity data block is too large to cause processing delay and lag, and the low-complexity data block is too small to cause resource scheduling redundancy. By matching the demand parameters of each to-be-processed data block with the running state parameters corresponding to each processing subunit, the data processing efficiency, resource utilization rate, and system adaptability can be improved in the case of dynamic changes of data types and processing subunit state parameters. BRIEF DESCRIPTION OF DRAWINGS
[0037] Figure 1 is a flowchart of a reconfigurable TPU-based data stream processing method provided by the embodiments of the present application;
[0038] Figure 2 is a flowchart of a running state parameter and data source identification matching method provided by an embodiment of the present application;
[0039] Figure 3 is a multi-dimensional dynamic capability label diagram provided by an embodiment of the present application;
[0040] Figure 4 is a processing demand label diagram provided by an embodiment of the present application;
[0041] Figure 5 is a flowchart of a to-be-processed data splitting method provided by an embodiment of the present application;
[0042] Figure 6 is a structural schematic diagram of a data stream processing device based on a reconfigurable TPU provided by an embodiment of the present application;
[0043] Figure 7 is a structural schematic diagram of a data stream processing device based on a reconfigurable TPU provided by an embodiment of the present application. DETAILED DESCRIPTION
[0044] In order to make the objects, technical solutions and advantages of the present application clearer, the following further describes the specific embodiments of the present application with reference to the drawings. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, for the convenience of description, only parts related to the present application are shown in the drawings, but not all contents. Before discussing the example embodiments in more detail, it should be mentioned that some example embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations (or steps) as sequential processes, many of the operations can be implemented in parallel, concurrently or simultaneously. In addition, the order of the operations can be rearranged. The processes can be terminated when the operations are completed, but can also have additional steps not included in the drawings. The processes can correspond to methods, functions, procedures, subroutines, subprograms, etc.
[0045] The technical solutions in the embodiments of the present application will be described clearly with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art belong to the scope of protection of the present application.
[0046] The terms "first", "second", etc. in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally a class and do not limit the number of objects, for example, the first object can be one or more. In addition, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / ", generally indicates that the front and rear associated objects are in an "or" relationship.
[0047] The reconfigurable TPU-based data flow processing method, device, equipment and medium provided by the embodiments of the present application will be described in detail below in combination with the drawings, specific embodiments and application scenarios.
[0048] The reconfigurable TPU-based data flow processing method provided by the embodiments of the present application can be used in an automatic driving scenario. Based on the above application scenario, it can be understood that the execution subject of each step can be a computer device, which refers to any electronic device with data calculation, processing and storage capabilities, such as mobile phones, PC (Personal Computer), tablet computers and other terminal devices, and can also be a server or other device. The embodiments of the present application do not limit this.
[0049] Figure 1 is a flow chart of a reconfigurable TPU-based data flow processing method provided by the embodiments of the present application, as shown in Figure 1 , including:
[0050] In step S101, the running state parameters of the current processing sub-units and the to-be-processed data are obtained, the processing complexity of the to-be-processed data is evaluated, and a complexity evaluation value is obtained.
[0051] The to-be-processed data can refer to raw data or semi-processed data collected or received by a vehicle sensor, a communication module, a storage unit, or the like, which needs to be processed by an algorithm to support real-time decision-making and execution of an assisted driving function. The data stream can refer to to-be-processed data collected in the process of automatic driving of the vehicle. The processing subunit can refer to a software component responsible for performing a specific processing task on the to-be-processed data. The running state parameter can refer to a set of core indicators for monitoring the working state, task execution efficiency, and functional reliability of each data processing subunit in real time, or can be a numerical value representing the working capacity of the subunit. Optionally, the running state parameter includes a current processing rate and a current processing completion rate. The current processing rate can refer to a quantitative indicator of the amount of to-be-processed data blocks processed per unit time by the processing subunit in real-time operation, which is a key parameter for measuring the system algorithm adaptability and task response capability. The current processing completion rate can refer to the ratio of the number or amount of to-be-processed data blocks successfully processed to the total number or amount of received to-be-processed data blocks within a certain statistical period, which is a key indicator for measuring system stability and task execution reliability. Optionally, the running state parameter further includes a current channel congestion degree and a current load rate. The current channel congestion degree can refer to a quantitative state of data accumulation, delay increase, and throughput decrease of the data processing channel in real-time operation due to the processing request of data blocks exceeding the carrying capacity of the channel, which can reflect the load saturation degree of the channel. The current load rate can refer to the ratio of the actual occupied algorithm resource to the maximum available resource of the processing subunit in real-time operation, which can reflect the saturation degree of the algorithm resource. The complexity evaluation value can refer to a numerical indicator that comprehensively quantifies the complexity of to-be-processed data in terms of size, shape, and associated logic, which can be used to judge the data processing difficulty.
[0052] In one embodiment, raw data collected or received by a vehicle sensor, a communication module, a storage unit, and the like is acquired in real time, and the current working state, task execution efficiency, and the like of each processing subunit are acquired to obtain the running state parameter. The processing complexity of the to-be-processed data is evaluated according to the length and the number of combinations of data types of the to-be-processed data, and the complexity evaluation value of the to-be-processed data is obtained. For example, the length and the data type of the to-be-processed data are normalized, and the complexity evaluation value of the to-be-processed data is obtained by weighted calculation according to the preset weight coefficients of the data length and the data type and the normalized processing results.
[0053] In step S102, the real-time splitting granularity corresponding to the running state parameter of each processing subunit is determined, and the real-time splitting granularity is adjusted based on the complexity evaluation value to obtain the target splitting granularity.
[0054] The real-time splitting granularity can refer to the quantization standard of the splitting unit size, dimension granularity and splitting rule currently adopted when splitting the multi-source heterogeneous data to be processed. The target splitting granularity can refer to the quantization standard of the splitting unit size, dimension granularity and splitting rule that are more accurate and more in line with the current subunit running state after adjusting the real-time splitting granularity.
[0055] In one embodiment, the real-time splitting granularity corresponding to each processing subunit is determined according to the association between the preset subunit running state parameter and the splitting granularity. The complexity evaluation value is compared with the preset complexity range. If the complexity threshold is greater than the preset complexity range, the real-time splitting granularity is reduced to obtain the target splitting granularity. Otherwise, if the complexity threshold is less than the preset complexity threshold range, the real-time splitting granularity is increased to obtain the target splitting granularity.
[0056] Step S103, splitting the data to be processed based on the target splitting granularity, and marking the data source of the plurality of data blocks obtained by splitting, to obtain the data source identification of each data block.
[0057] The data source identification can refer to a unique and analyzable source identity tag, such as a sensor identification, assigned to each piece of data to be processed. The data block to be processed can refer to the smallest data unit with independent processing properties formed after structuring and dividing the multi-source data to be processed according to a preset rule.
[0058] In one embodiment, the data to be processed is split and marked according to the target splitting granularity, and the data to be processed is cut at the marked position to obtain a plurality of minimum data units to be processed. The sensor identification and installation position corresponding to each data block to be processed are queried in the database, and the sensor identification and installation position are combined to generate the data source identification. Each data block to be processed is bound to the corresponding data source identification to obtain the data source identification of each data block.
[0059] Step S104, matching the running state parameter corresponding to each processing subunit with each data source identification, and determining the data block to be processed corresponding to each processing subunit according to the matching result, for data operation processing of the corresponding data block to be processed by each processing subunit.
[0060] Data processing can refer to the process by which a processing subunit transforms raw data into effective information that supports driving decisions through a series of structured algorithm operations performed on the data blocks to be processed. In one embodiment, the processing priority corresponding to each data source identifier is determined according to a preset mapping relationship between data source identifiers and processing priorities. The processing rate range of the subunit corresponding to each processing priority is determined according to the mapping relationship between processing priorities and processing rates. Based on the above two mapping relationships, the data blocks to be processed corresponding to each processing subunit can be determined, and each data block to be processed is allocated to the corresponding processing subunit for data processing. Each processing subunit can perform data processing on the corresponding data blocks to be processed. The number of data blocks to be processed corresponding to each processing subunit can be one or more.
[0061] In this embodiment, the process involves acquiring the data to be processed and the current operating status parameters of each processing subunit, evaluating the processing complexity of the data to be processed, and obtaining a complexity evaluation value; determining the real-time splitting granularity corresponding to the operating status parameters of each processing subunit, and adjusting the real-time splitting granularity based on the complexity evaluation value to obtain a target splitting granularity; splitting the data to be processed based on the target splitting granularity, and marking the data source of each of the multiple data blocks to be processed obtained from the splitting to obtain a data source identifier for each data block; matching the operating status parameters corresponding to each processing subunit with each data source identifier, and determining the data block to be processed corresponding to each processing subunit based on the matching result, for each processing subunit to perform data operation processing on the corresponding data block to be processed. The above scheme can split the data to be processed based on the processing complexity of the data to be processed, which improves the accuracy and rationality of data splitting. It effectively avoids the situation where the processing delay is caused by the large size of the high-complexity data block and the resource scheduling redundancy is caused by the small size of the low-complexity data block. By matching the requirement parameters of each data block to be processed with the running status parameters of each processing sub-unit, it can improve the data processing efficiency, resource utilization and system adaptability when the data type and the status parameters of the processing sub-unit change dynamically.
[0062] Optionally, determining the real-time splitting granularity corresponding to the operating status parameters of each processing subunit includes: calculating the average processing rate and average processing completion rate according to the current processing rate and current processing completion rate of each processing subunit, and determining the real-time splitting granularity of each data type corresponding to the average processing rate; adjusting the real-time splitting granularity when the average processing completion rate does not meet the preset processing completion rate range, and determining the initial splitting granularity based on the adjustment result.
[0063] The average processing rate can refer to the ratio of the current processing rate of each processing subunit to the number of processing subunits. The average processing completion rate can refer to the ratio of the current completion rate of each processing subunit to the number of processing subunits. In one embodiment, the average processing rate of each processing subunit is calculated based on the current processing rate of each processing subunit and the number of processing subunits. The average completion rate of each processing subunit is calculated based on the current processing completion rate of each processing subunit and the number of processing subunits. The real-time splitting granularity corresponding to the calculated average processing rate is determined according to the mapping relationship between the preset average processing rate and the real-time splitting granularity of each data type, and it is determined whether the calculated average completion rate is within the preset processing completion rate range. If the average completion rate is within the preset processing completion rate range, the real-time splitting granularity is determined as the initial splitting granularity. If the average completion rate is not within the preset processing completion rate range, the real-time splitting granularity is adjusted to obtain the adjusted initial splitting granularity. For example, if the average completion rate is less than the preset processing completion rate range, the real-time split granularity is amplified to obtain the initial split granularity; if the average completion rate is greater than the preset processing completion rate range, the real-time split granularity is reduced to obtain the initial split granularity.
[0064] In this embodiment, the average processing rate and average processing completion rate are calculated based on the current processing rate and current processing completion rate of each processing subunit, and the real-time splitting granularity for each data type corresponding to the average processing rate is determined. If the average processing completion rate does not meet the preset processing completion rate range, the real-time splitting granularity is adjusted, and the initial splitting granularity is determined based on the adjustment result. In the above scheme, the splitting granularity can be dynamically adjusted according to the actual operating status of the processing subunit, ensuring that the split data blocks can fully utilize the computing power advantage of the processing subunit while avoiding processing delays or resource waste caused by unreasonable data block partitioning.
[0065] Optionally, the processing complexity of the data to be processed is evaluated, including: identifying the data type of the data to be processed, determining the evaluation strategy corresponding to the data type, and evaluating the processing complexity of the data to be processed of the corresponding type based on the evaluation strategy.
[0066] Here, data type can refer to the category to which the data to be processed belongs, such as image data, text data, audio data, etc. Different types of data have different characteristics and processing difficulties. Evaluation strategy can refer to a systematic evaluation scheme based on the complexity of the data block to be processed, which includes an evaluation index system, hierarchical standards, dynamic adaptation mechanisms, and error correction logic.
[0067] In one embodiment, the data to be processed is classified using a pre-defined data type identification algorithm or model to determine its data type. Based on a pre-defined correspondence between data types and evaluation strategies, an evaluation strategy matching the data type is selected. For example, for image data, the evaluation strategy may consider factors such as image resolution, color depth, the number and complexity of objects in the image; for text data, the evaluation strategy may involve text length, vocabulary complexity, and semantic richness; for audio data, the evaluation strategy may involve emotional intensity, speech rate, vocabulary density, and background noise complexity. Based on the selected evaluation strategy, the data to be processed is analyzed and calculated accordingly to obtain a processing complexity evaluation value. During the calculation process, the evaluation factors can be weighted according to pre-defined weight coefficients corresponding to each reference factor to obtain the complexity evaluation value of the data to be processed.
[0068] In this embodiment, the data type of the data to be processed is identified, and an evaluation strategy corresponding to the data type is determined. Based on the evaluation strategy, the processing complexity of the data to be processed for the corresponding type is evaluated. In the above scheme, targeted evaluation strategies can be adopted according to the characteristics of different types of data, making the complexity evaluation results more accurate and reasonable, and effectively improving the accuracy and effectiveness of the entire data processing flow.
[0069] Figure 2 This is a flowchart illustrating a method for matching runtime status parameters with data source identifiers, as provided in an embodiment of this application. Figure 2 As shown, it includes:
[0070] Step S1041: Generate multi-dimensional dynamic capability tags for each processing subunit based on the current channel congestion level, current load rate, and current processing rate corresponding to each processing subunit.
[0071] The multi-dimensional dynamic capability tags refer to a standardized set of identifiers dynamically generated based on multiple dimensions of attributes, such as hardware characteristics, processing capabilities, task adaptability, and real-time status, for core objects like processing subunits, data blocks, and transmission channels. In one embodiment, a congestion level tag is generated based on the current channel congestion level corresponding to each processing subunit, a load rate tag is generated based on the current load rate, and a processing rate tag is generated based on the current processing rate. These capability tags are then bound to the corresponding processing subunits.
[0072] Step S1042: Determine the baseline rate, channel congestion coefficient, and load margin coefficient corresponding to each data source identifier, and generate processing requirement labels for each data block to be processed based on the baseline rate, channel congestion coefficient, and load margin coefficient.
[0073] Among these, the baseline rate refers to the minimum processing rate required for each data block to be processed. This baseline rate is related to the processing priority of the data block; the higher the priority, the faster the baseline rate required for the data block. The channel congestion coefficient refers to the degree of congestion in the data processing channel, calculated through a weighted fusion of multiple dimensions. The load margin coefficient refers to the ratio of the remaining available computing power resources of the processing subunit after completing its current task to the total computing power. This coefficient reflects the subunit's capacity to handle new tasks. The processing requirement label refers to a set of standardized identifiers pre-defined for each data block to be processed, describing its core requirements.
[0074] In one embodiment, the priority corresponding to each data source identifier is queried according to a preset priority mapping table, and the base rate, channel congestion coefficient, and load margin coefficient corresponding to the priority are determined respectively. The higher the priority, the faster the corresponding base rate, the smaller the channel congestion coefficient, and the larger the load margin coefficient. Conversely, the lower the priority, the slower the corresponding base rate, the larger the channel congestion coefficient, and the smaller the load margin coefficient. After determining the base rate, channel congestion coefficient, and load margin coefficient corresponding to each data block, a processing requirement label containing the base rate, channel congestion coefficient, and load margin coefficient is generated for each data block.
[0075] Step S1043: Match each multidimensional dynamic capability tag with each processing requirement tag.
[0076] In one embodiment, the tag data in the multidimensional dynamic capability tag is compared with the tag data of the corresponding type in the processing requirement tag, and the processing requirement tag that matches the multidimensional dynamic capability tag is determined based on the comparison result. Figure 3 This is a schematic diagram of a multi-dimensional dynamic capability tag provided in an embodiment of this application. Figure 4 This is a schematic diagram of a processing requirement label provided in an embodiment of this application, such as... Figure 3 and Figure 4 As shown, the current processing rate contained in the multidimensional dynamic capability tag is compared to the baseline rate in the processing demand tag, and the current congestion level contained in the multidimensional dynamic capability tag is compared to the channel congestion coefficient in the processing demand tag. The load surplus coefficient is calculated based on the current load rate contained in the multidimensional dynamic capability tag, and the load surplus is compared to the load surplus coefficient in the processing tag. Based on the comparison results, the multidimensional dynamic capability tags that can meet the processing demand tag are determined to be mutually matched tags.
[0077] In this embodiment, a multi-dimensional dynamic capability tag is generated for each processing subunit based on its current channel congestion level, current load rate, and current processing speed. A baseline rate, channel congestion coefficient, and load margin coefficient corresponding to each data source identifier are determined. Based on these parameters, a processing requirement tag for each data block to be processed is generated. The multi-dimensional dynamic capability tags are then matched with the processing requirement tags. This scheme achieves intelligent allocation of data streams through precise matching of multi-dimensional dynamic capability tags and processing requirement tags, ensuring that high-priority data receives processing resources first, while avoiding the ineffective occupation of system resources by low-priority data. This improves data processing speed, reduces the risk of system congestion and uneven load, and provides a strong guarantee for stable and efficient data stream processing.
[0078] Optionally, the multidimensional dynamic capability labels are matched with the processing requirement labels, including: calculating the capability score of the corresponding sub-unit based on the capability parameters and preset weight coefficients corresponding to each multidimensional dynamic capability label; calculating the requirement score of the corresponding data block to be processed based on the requirement parameters and preset weight coefficients corresponding to each processing requirement label, and matching each capability score with each requirement score.
[0079] The capability parameters include the current channel congestion level, current load rate, and current processing rate contained in the multi-dimensional dynamic capability label. The demand parameters include the baseline rate, channel congestion coefficient, and load margin coefficient contained in the processing demand label. The capability score is a numerical indicator used to quantify the comprehensive processing capability of the processing sub-unit, calculated by weighting the capability parameters in the multi-dimensional dynamic capability label with preset weighting coefficients. The demand score is a numerical indicator used to quantify the urgency and resource consumption of the processing demand for the data block to be processed, calculated by weighting the demand parameters in the processing demand label with preset weighting coefficients.
[0080] In one embodiment, preset weighting coefficients are determined for each capability parameter. For example, the weighting coefficient for the current channel congestion level is a1, the weighting coefficient for the current load rate is a2, and the weighting coefficient for the current processing rate is a3, where a1 + a2 + a3 = 1. The capability score of each processing subunit is obtained by weighting the current channel congestion level, current load rate, and current processing rate corresponding to each subunit, along with the aforementioned weighting coefficients. Similarly, preset weighting coefficients are determined for each demand parameter, such as the weighting coefficient for the base rate is b1, the weighting coefficient for the channel congestion coefficient is b2, and the weighting coefficient for the load margin coefficient is b3, where b1 + b2 + b3 = 1. The demand score of each data block to be processed is obtained by weighting the base rate, channel congestion coefficient, and load margin coefficient corresponding to each data block to be processed, along with the aforementioned weighting coefficients. The capability scores of each processing subunit are matched with the demand scores of each data block to be processed. Processing subunits with similar scores or whose capability scores are greater than or equal to their demand scores are matched with the data blocks to be processed to determine the data blocks to be processed corresponding to each processing subunit.
[0081] In one possible embodiment, the weight coefficient combinations corresponding to each capability parameter can be pre-set according to the needs of different business scenarios, and different weight coefficient combinations can be selected according to the current application's business scenario. For example, if the current application's business scenario is a vehicle detection and tracking scenario, then the weight coefficient for the current channel congestion level is a1, the weight coefficient for the current load rate is a2, and the weight coefficient for the current processing rate is a3, and a1+a2+a3=1. If the current application's business scenario is an obstacle detection scenario, then the weight coefficient for the current channel congestion level is b1, the weight coefficient for the current load rate is b2, and the weight coefficient for the current processing rate is b3, and b1+b2+b3=1. In this case, the weight coefficients a1 and b1 for the current channel congestion level can be the same or different under different business scenarios, the weight coefficients a2 and b2 for the current load rate can be the same or different, and the weight coefficients a3 and b3 for the current processing rate can also be the same or different, but the combination of a1+a2+a3 and b1+b2+b3 is different under different business scenarios. After determining the weight coefficient combination under the current business scenario, the demand score of each data block to be processed is obtained by weighted calculation based on the baseline rate, channel congestion coefficient, load margin coefficient and corresponding weight coefficient combination of each data block to be processed.
[0082] In this embodiment, the capability score of the corresponding sub-unit is calculated based on the capability parameters and preset weighting coefficients corresponding to each multi-dimensional dynamic capability tag; the demand score of the corresponding data block to be processed is calculated based on the demand parameters and preset weighting coefficients corresponding to each processing demand tag, and the capability scores are matched with the demand scores. This scheme achieves a more accurate and flexible data flow allocation mechanism by quantifying the comprehensive processing capability of the processing sub-unit and the urgency of the processing demand for the data block to be processed. This ensures efficient utilization of system resources and high efficiency in data processing.
[0083] Optionally, the capability scores are matched with the requirement scores, including: calculating the fit value between each capability score and each requirement score, and determining the maximum value among multiple fit values; matching the processing sub-unit corresponding to the maximum value with the data block to be processed.
[0084] Among them, the fit score can refer to a quantitative indicator used to measure the degree of matching between the processing sub-unit capability score and the requirement score of the data block to be processed.
[0085] In one embodiment, the difference between the computing power score and the scores of each requirement is used to determine the corresponding fit value based on a preset mapping relationship between score differences and fit values. A larger difference corresponds to a smaller fit value, and vice versa. After obtaining the fit values corresponding to multiple combinations of processing sub-units and data blocks to be processed, the maximum value is determined. It can be understood that the maximum value means that the corresponding processing sub-unit best matches the processing requirements of the data block to be processed in terms of overall capability. Then, the processing sub-unit corresponding to this maximum value is matched and bound to the data block to be processed, thereby determining the specific data block to be processed by each processing sub-unit.
[0086] In this embodiment, the matching degree value between each capability score and each requirement score is calculated, and the maximum value among multiple matching degree values is determined; the processing sub-unit corresponding to the maximum value is matched with the data block to be processed. In the above scheme, the most suitable processing sub-unit can be accurately found to process the corresponding data block to be processed in a quantitative manner, optimizing the dynamic allocation of data flow and improving the efficiency and accuracy of data processing.
[0087] Figure 5 This is a flowchart of a method for splitting data to be processed provided in an embodiment of this application, such as... Figure 5 As shown, it includes:
[0088] Step S1031: Determine the splitting boundary of the data to be processed based on the fine-grained target splitting, and determine the splitting strategy corresponding to the data to be processed.
[0089] In this context, the split boundary refers to the specific segmentation position defined in the data to be processed based on the target splitting fine-grainedness. Based on these positions, the data is divided into multiple data blocks of specific size and characteristics. The splitting strategy, on the other hand, is the splitting rules and methods formulated according to the characteristics of the data to be processed, such as text data, image data, and audio data.
[0090] In one embodiment, for image data, if the target segmentation is fine-grained, the segmentation boundary may be set at the pixel level or small region level of the image. The segmentation strategy may consider features such as image texture and color distribution to divide the image into multiple small blocks with similar features. For text data, the segmentation boundary may be set at the paragraph, sentence, or word level. The segmentation strategy may be based on features such as the text's theme and semantics to ensure that each data block contains a relatively complete information unit. For audio data, the segmentation boundary may be set at the audio segment or specific sound effect level. The segmentation strategy may be based on features such as the audio's rhythm and pitch changes to preserve the integrity and coherence of the audio.
[0091] Step S1032: Perform boundary calibration processing on the splitting boundary according to the splitting strategy to obtain the target splitting boundary, and split the data to be processed based on the target splitting boundary.
[0092] The target splitting boundary refers to the more precise and reasonable splitting positions obtained after boundary calibration, ensuring the integrity of the split data blocks. In one embodiment, for image data, boundary calibration may involve fine-tuning the initially divided pixel-level or small-block-level boundaries to eliminate unreasonable splitting caused by factors such as image edges and texture variations. For text data, it may involve calibrating the boundaries at the paragraph, sentence, or word level to ensure the semantic integrity and coherence of each data block. For audio data, boundary calibration may involve smoothing the initially divided audio segment boundaries to eliminate inaccurate splitting caused by factors such as speech pauses and background noise. After obtaining the target splitting boundary, the data to be processed is split according to the target splitting boundary, resulting in multiple data blocks of appropriate size and relatively complete content.
[0093] In this embodiment, the splitting boundary of the data to be processed is determined based on the fine-grained target splitting, and a splitting strategy corresponding to the data to be processed is determined. The splitting boundary is then calibrated according to the splitting strategy to obtain the target splitting boundary, and the data to be processed is split based on the target splitting boundary. This scheme can formulate targeted splitting strategies according to the characteristics of different types of data, and ensure the integrity and rationality of the split data blocks through boundary calibration, thereby guaranteeing the accuracy of subsequent data processing.
[0094] Figure 6This is a schematic diagram of the structure of a data stream processing device based on a reconfigurable TPU provided in an embodiment of this application, as shown below. Figure 6 As shown, it includes:
[0095] The data acquisition module 21 is used to acquire the running status parameters and data to be processed of each processing subunit in real time;
[0096] The processing complexity assessment module 22 is used to assess the processing complexity of the data to be processed and obtain a complexity assessment value.
[0097] The target split fine-grainedness determination module 23 is used to determine the real-time split fine-grainedness corresponding to the running status parameters of each of the processing sub-units, and adjust the real-time split fine-grainedness based on the complexity evaluation value to obtain the target split fine-grainedness.
[0098] The data source identification determination module 24 is used to split the data to be processed based on the target split fine granularity, and to mark the data source of the multiple data blocks to be processed obtained by the split, so as to obtain the data source identification of each data block;
[0099] The matching module 25 is used to match the running status parameters corresponding to each processing subunit with each data source identifier, and determine the data block to be processed corresponding to each processing subunit based on the matching result.
[0100] In this embodiment, the process involves acquiring the data to be processed and the current operating status parameters of each processing subunit, evaluating the processing complexity of the data to be processed, and obtaining a complexity evaluation value; determining the real-time splitting granularity corresponding to the operating status parameters of each processing subunit, and adjusting the real-time splitting granularity based on the complexity evaluation value to obtain a target splitting granularity; splitting the data to be processed based on the target splitting granularity, and marking the data source of each of the multiple data blocks to be processed obtained from the splitting to obtain a data source identifier for each data block; matching the operating status parameters corresponding to each processing subunit with each data source identifier, and determining the data block to be processed corresponding to each processing subunit based on the matching result, for each processing subunit to perform data operation processing on the corresponding data block to be processed. The above scheme can split the data to be processed based on the processing complexity of the data to be processed, which improves the accuracy and rationality of data splitting. It effectively avoids the situation where the processing delay is caused by the large size of the high-complexity data block and the resource scheduling redundancy is caused by the small size of the low-complexity data block. By matching the requirement parameters of each data block to be processed with the running status parameters of each processing sub-unit, it can improve the data processing efficiency, resource utilization and system adaptability when the data type and the status parameters of the processing sub-unit change dynamically.
[0101] In one possible embodiment, the target split fine-grained determination module 23 is specifically used for:
[0102] Calculate the average processing rate and average processing completion rate based on the current processing rate and current processing completion rate of each processing subunit, and determine the initial splitting granularity of each data type corresponding to the average processing rate.
[0103] If the average processing completion rate does not meet the preset processing completion rate range, the initial split granularity is adjusted, and the real-time split granularity is determined based on the adjustment result.
[0104] In one possible embodiment, the matching module 25 is specifically used for:
[0105] Generate multi-dimensional dynamic capability tags for each processing subunit based on the current channel congestion level, current load rate, and current processing rate corresponding to each processing subunit;
[0106] Determine the baseline rate, channel congestion coefficient, and load margin coefficient corresponding to each of the data source identifiers, and generate processing requirement tags for each data block to be processed based on the baseline rate, the channel congestion coefficient, and the load margin coefficient.
[0107] Match each of the multidimensional dynamic capability tags with each of the processing requirement tags.
[0108] In one possible embodiment, the matching module 25 is specifically used for:
[0109] Calculate the capability score of the corresponding sub-unit based on the capability parameters and preset weight coefficients corresponding to each of the multi-dimensional dynamic capability tags;
[0110] The requirement score for each data block to be processed is calculated based on the requirement parameters corresponding to each processing requirement label and the preset weight coefficient, and the capability score is matched with the requirement score.
[0111] In one possible embodiment, the complexity evaluation module 22 is specifically used for:
[0112] Identify the data type of the data to be processed, determine the evaluation strategy corresponding to the data type, and evaluate the processing complexity of the data to be processed of the corresponding type based on the evaluation strategy.
[0113] In one possible embodiment, the data source identification determination module 24 is specifically used for:
[0114] Based on the target split fine-grainedness, the split boundary of the data to be processed is determined, and the split strategy corresponding to the data to be processed is determined;
[0115] The splitting boundary is calibrated according to the splitting strategy to obtain the target splitting boundary, and the data to be processed is split based on the target splitting boundary.
[0116] In one possible embodiment, the matching module 25 is specifically used for:
[0117] Calculate the fit value between each of the capability scores and each of the requirement scores, and determine the maximum value among the multiple fit values;
[0118] Match the processing sub-unit corresponding to the maximum value with the data block to be processed.
[0119] This application also provides an electronic device, which is a data stream processing device based on a reconfigurable TPU that can integrate a data stream processing apparatus based on a reconfigurable TPU provided in this application. Figure 7 This is a schematic diagram of the structure of a data stream processing device based on a reconfigurable TPU provided in an embodiment of this application, with reference to... Figure 7 The electronic device includes: an input device 33, an output device 34, a memory 32, and one or more processors 31; the memory 32 is used to store one or more programs; when one or more programs are executed by one or more processors 31, the one or more processors 31 implement the data stream processing method based on the reconfigurable TPU provided in the above embodiments. The input device 33, output device 34, memory 32, and processor 31 can be connected via a bus or other means. Figure 7 Taking the example of a connection between China and Israel via a bus.
[0120] The memory 32, as a computing device readable storage medium, can be used to store software programs, computer-executable programs, and modules, such as the program instructions / modules corresponding to the data flow processing method based on the reconfigurable TPU provided in any embodiment of this application. The memory 32 may primarily include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a function; the data storage area may store data created based on the use of the device, etc. Furthermore, the memory 32 may include high-speed random access memory and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some instances, the memory 32 may further include memory remotely located relative to the processor 31, and these remote memories can be connected to the device via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0121] Input device 33 can be used to receive input digital or character information, and to generate key signal inputs related to user settings and function control of the device. Output device 34 may include display devices such as a display screen.
[0122] The processor 31 executes various functional applications and data processing of the device by running software programs, instructions and modules stored in the memory 32, thereby realizing the above-mentioned data flow processing method based on the reconfigurable TPU.
[0123] The data stream processing apparatus, device, and computer based on reconfigurable TPU provided above can be used to execute the data stream processing method based on reconfigurable TPU provided in any of the above embodiments, and have corresponding functions and beneficial effects.
[0124] This application embodiment also provides a storage medium for storing computer-executable instructions. When executed by a computer processor, the computer-executable instructions are used to execute the data stream processing method based on a reconfigurable TPU provided in the above embodiment. The data stream processing method based on a reconfigurable TPU includes: acquiring data to be processed and the current running status parameters of each processing subunit; evaluating the processing complexity of the data to be processed to obtain a complexity evaluation value; determining a real-time splitting granularity corresponding to the running status parameters of each processing subunit, and adjusting the real-time splitting granularity based on the complexity evaluation value to obtain a target splitting granularity; splitting the data to be processed based on the target splitting granularity, and marking the data source of the multiple data blocks to be processed obtained from the splitting to obtain a data source identifier for each data block; matching the running status parameters corresponding to each processing subunit with each data source identifier, and determining the data blocks to be processed corresponding to each processing subunit according to the matching result, for each processing subunit to perform data operation processing on the corresponding data blocks to be processed.
[0125] Storage medium – any type of memory device or storage device. The term “storage medium” is intended to include: mounting media, such as CD-ROMs, floppy disks, or magnetic tape devices; computer system memory or random access memory, such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; non-volatile memory, such as flash memory, magnetic media (e.g., hard disks or optical storage); registers or other similar types of memory elements, etc. Storage media may also include other types of memory or combinations thereof. Furthermore, storage media may reside in a first computer system in which a program is executed, or may reside in a different second computer system connected to the first computer system via a network (such as the Internet). The second computer system can provide program instructions to the first computer for execution. The term “storage medium” can include two or more storage media that may reside in different locations (e.g., in different computer systems connected via a network). Storage media may store program instructions (e.g., specifically implemented as a computer program) executable by one or more processors.
[0126] Of course, the computer-executable instructions provided in the embodiments of this application are not limited to the data stream processing method based on the reconfigurable TPU as described above, but can also execute related operations in the data stream processing method based on the reconfigurable TPU provided in any embodiment of this application.
[0127] The data stream processing apparatus, device, and storage medium based on reconfigurable TPU provided in the above embodiments can execute the data stream processing method based on reconfigurable TPU provided in any embodiment of this application. For technical details not described in detail in the above embodiments, please refer to the data stream processing method based on reconfigurable TPU provided in any embodiment of this application.
[0128] The above description is merely a preferred embodiment and the technical principles employed in this application. This application is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions that can be made by those skilled in the art will not depart from the scope of protection of this application. Therefore, although this application has been described in detail through the above embodiments, this application is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of this application, the scope of which is determined by the scope of the claims.
Claims
1. A data stream processing method based on a reconfigurable TPU, characterized in that, include: The system acquires the data to be processed and the current operating status parameters of each processing subunit, evaluates the processing complexity of the data to be processed, and obtains the complexity evaluation value. The operating status parameters include the current processing rate, the current processing completion rate, the current channel congestion level, and the current load rate. Calculate the average processing rate and average processing completion rate based on the current processing rate and current processing completion rate of each processing subunit, and determine the initial split granularity of each data type corresponding to the average processing rate. If the average processing completion rate does not meet the preset processing completion rate range, adjust the initial split granularity. Determine the real-time split granularity based on the adjustment result, and adjust the real-time split granularity based on the complexity evaluation value to obtain the target split granularity. Based on the target split fine-grainedness, the split boundary of the data to be processed is determined, and the split strategy corresponding to the data to be processed is determined. The split boundary is calibrated according to the split strategy to obtain the target split boundary. The data to be processed is split based on the target split boundary, and the data source is marked on the multiple data blocks to be processed obtained by the split to obtain the data source identifier of each data block. Based on the current channel congestion level, current load rate, and current processing rate corresponding to each processing subunit, a multidimensional dynamic capability label is generated for each processing subunit. A baseline rate, channel congestion coefficient, and load margin coefficient corresponding to each data source identifier are determined. A processing requirement label for each data block to be processed is generated based on the baseline rate, channel congestion coefficient, and load margin coefficient. Each multidimensional dynamic capability label is matched with each processing requirement label. Based on the matching result, the data block to be processed corresponding to each processing subunit is determined, and the data blocks to be processed are used by each processing subunit to perform data operation processing on the corresponding data blocks to be processed.
2. The data stream processing method based on a reconfigurable TPU according to claim 1, characterized in that, The step of matching each of the multidimensional dynamic capability tags with each of the processing requirement tags includes: Calculate the capability score of the corresponding sub-unit based on the capability parameters and preset weight coefficients corresponding to each of the multi-dimensional dynamic capability tags; The requirement score for each data block to be processed is calculated based on the requirement parameters corresponding to each processing requirement label and the preset weight coefficient, and the capability score is matched with the requirement score.
3. The data stream processing method based on a reconfigurable TPU according to claim 1, characterized in that, The process complexity assessment of the data to be processed includes: Identify the data type of the data to be processed, determine the evaluation strategy corresponding to the data type, and evaluate the processing complexity of the data to be processed of the corresponding type based on the evaluation strategy.
4. The data stream processing method based on a reconfigurable TPU according to claim 2, characterized in that, The matching of each capability score with each requirement score includes: Calculate the fit value between each of the capability scores and each of the requirement scores, and determine the maximum value among the multiple fit values; Match the processing sub-unit corresponding to the maximum value with the data block to be processed.
5. A data stream processing device based on a reconfigurable TPU, characterized in that, include: The data acquisition module is used to acquire the operating status parameters and data to be processed of each processing subunit in real time. The operating status parameters include the current processing rate, the current processing completion rate, the current channel congestion level, and the current load rate. The processing complexity assessment module is used to assess the processing complexity of the data to be processed and obtain a complexity assessment value. The target split fine-grainedness determination module is used to calculate the average processing rate and average processing completion rate according to the current processing rate and current processing completion rate of each processing sub-unit, and determine the initial split fine-grainedness of each data type corresponding to the average processing rate. If the average processing completion rate does not meet the preset processing completion rate range, the initial split fine-grainedness is adjusted, the real-time split fine-grainedness is determined according to the adjustment result, and the real-time split fine-grainedness is adjusted based on the complexity evaluation value to obtain the target split fine-grainedness. The data source identification determination module is used to determine the splitting boundary of the data to be processed based on the target splitting fine-grainedness, and determine the splitting strategy corresponding to the data to be processed. The module performs boundary calibration processing on the splitting boundary according to the splitting strategy to obtain the target splitting boundary, splits the data to be processed based on the target splitting boundary, and marks the data source of the multiple data blocks to be processed obtained by the splitting to obtain the data source identifier of each data block. The matching module is used to generate multi-dimensional dynamic capability tags for each processing sub-unit based on the current channel congestion level, current load rate, and current processing rate corresponding to each processing sub-unit; determine the baseline rate, channel congestion coefficient, and load margin coefficient corresponding to each data source identifier; generate processing requirement tags for each data block to be processed based on the baseline rate, channel congestion coefficient, and load margin coefficient; match each multi-dimensional dynamic capability tag with each processing requirement tag; and determine the data block to be processed corresponding to each processing sub-unit based on the matching result.
6. An electronic device, characterized in that, The device includes: one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the data stream processing method based on a reconfigurable TPU as described in any one of claims 1-4.
7. A storage medium for storing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the data stream processing method based on a reconfigurable TPU as described in any one of claims 1-4.
Citation Information
Patent Citations
Anti-radiation low-delay neural network reasoning acceleration chip
CN117474061A
Heterogeneous computing system, cache consistency maintenance method and device, equipment and medium
CN120353614A