A runtime system for collaborative computing

By running a collaborative computing runtime system on edge computing devices in the LAN, computing resource sharing and dynamic task allocation between devices is realized, which solves the problem of limited computing power when edge computing devices deal with complex algorithm tasks, and significantly improves overall processing speed.

CN118842668BActive Publication Date: 2025-02-07YUANQIXIN (SHANDONG) SEMICONDUCTOR TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411311000.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2025-02-07
Estimated Expiration
2044-09-20

AI Technical Summary

Technical Problem

When existing edge computing devices handle complex algorithm tasks, their computing power is limited, their processing speed is slow, their efficiency is low, and their computing resources cannot be effectively shared independently and between devices.

Method used

Design a collaborative computing runtime system, and realize computing resource sharing between devices by running the system on edge computing devices within a local area network. The system includes a system initialization module, a data acquisition module, a computing resource monitoring module, a scheduling decision module, a data migration module and a task processing module, and dynamically optimizes task allocation to improve the overall processing speed.

Benefits of technology

The computing resource sharing between edge computing devices in the LAN is realized, and task allocation is dynamically optimized according to the number of task requests and urgency, which significantly improves the overall task processing speed of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118842668B_ABST
    Figure CN118842668B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of data processing and heterogeneous computing, and specifically to a runtime system for collaborative computing. It includes a system initialization module, a data acquisition module, a computing resource monitoring module, a scheduling decision module, a data migration module and a task processing module; the scheduling decision module determines the edge computing device that performs the data processing task according to the data parameters of the data processing task, the state of its own edge computing device, the state of other edge computing devices in the runtime network, and the node network rate. If the task scheduling decision module determines that a certain data processing task requires collaborative processing by other edge computing devices in the runtime network, the data migration module is started, and the data migration module transfers the to-be-processed data of the task request node to the computing unit of the edge computing device of the specified IP. The present invention can realize the sharing of computing unit resources in the entire local area network between edge computing devices in the local area network, thereby improving the overall processing speed of the system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the fields of data processing and heterogeneous computing, and in particular to a collaborative computing runtime system. Background Art

[0002] In recent years, with the accelerated development of artificial intelligence technology, the demand for edge data processing has been increasing; more and more edge devices have a certain data processing capability through built-in heterogeneous acceleration units or high-performance computing cards, but the current edge devices are limited by their own cost, volume, power consumption and other factors, and the overall computing power is limited. When processing complex algorithm tasks, it takes a long time. Especially when there are multiple consecutive algorithm tasks to be processed in the system, the computing power of the device becomes a key factor restricting the overall performance of the system. Traditional edge computing devices are independent of each other. When processing complex algorithm tasks, they can only use their own computing resources, which is slow and inefficient. Summary of the invention

[0003] In view of the defects of the prior art, the present invention provides a collaborative computing runtime system, which can realize the sharing of computing unit resources within the entire local area network among edge computing devices within the local area network, thereby improving the overall processing speed of the system.

[0004] In order to solve the technical problem, the technical solution adopted by the present invention is: a collaborative computing runtime system, which runs on each edge computing device in a local area network, and the edge computing devices in the local area network are connected through a router, including a system initialization module, a data acquisition module, a computing resource monitoring module, a scheduling decision module, a data migration module and a task processing module;

[0005] The system initialization module is used to monitor the public IP of the local area network where the edge computing device is located when it is powered on, and determine whether the edge computing device is the first edge computing device in the local area network connected to the router. If so, a runtime network is created. If not, the runtime network that already exists in the local area network is scanned and an application is applied to join the runtime network.

[0006] The computing resource monitoring module is used to update the computing unit information of the edge computing device in real time, and jointly maintain a computing resource status table with the computing resource monitoring modules of other edge computing devices in the runtime network;

[0007] The data acquisition module is used to collect the data that needs to be processed and generate corresponding data processing tasks;

[0008] The task scheduling decision module receives the data collected by the data collection module, and determines the edge computing device that performs the data processing task based on the data parameters of the data processing task, the status of its own edge computing device, the status of other edge computing devices in the runtime network, and the node network rate;

[0009] The data migration module is used to migrate the data to be processed in the runtime network and read back the processed results;

[0010] The task processing module is used to receive the data to be processed, convert the data to be processed into the parameter type required by the computing unit interface, and submit it to the computing unit for processing.

[0011] Furthermore, the computing resource status table includes the computing unit type, data interface, local area network address, node access rate, node processing speed and computing unit load of the edge computing device.

[0012] Furthermore, the process of the task scheduling decision module determining the edge computing device that executes the data processing task is as follows:

[0013] 1) Each computing unit of an edge computing device is assigned a dynamic priority score based on its processing speed and the length of its pending task queue;

[0014] 2) Each data processing task is assigned a priority score based on its urgency and estimated processing time;

[0015] 3) The scheduling decision module adopts a weighted algorithm, considering the priority scores of computing units and data processing tasks, and selects edge computing devices to perform data processing tasks;

[0016] 4) If there are multiple edge computing devices with the same priority score, secondary screening is performed based on the node access rate;

[0017] 5) Assign data processing tasks to the computing units of edge computing devices and update the status information of tasks and computing units.

[0018] Furthermore, the dynamic priority score calculation formula of the computing unit is:

[0019] UnitPriority=(1−LoadFactor)×SpeedFactor×AvailabilityFactor;

[0020] LoadFactor represents the load factor of the current computing unit, 0 represents idle, 1 represents fully loaded, SpeedFactor represents the processing speed factor of the computing unit, AvailabilityFactor represents the availability factor of the computing unit, 0 represents unavailable, 1 represents fully available;

[0021] The dynamic priority score calculation formula for data processing tasks is:

[0022] TaskPriority =w1×Urgency+w2×ExpectedTime;

[0023] Urgency represents the urgency of the task, ExpectedTime represents the expected processing time, w1 and w2 represent weight coefficients, and the sum of the two is 1;

[0024] The formula for calculating the comprehensive priority score is:

[0025] CombinedPriority=TaskPriority / UnitPriority;

[0026] The comprehensive priority score is used to compare the priorities of different computing units in processing different data processing tasks. A higher comprehensive priority score indicates that the computing unit has a higher priority in processing the data processing task.

[0027] Furthermore, Urgency is a value between 0 and 1, with 1 being the most urgent.

[0028] Furthermore, a network protocol stack based on preset connection rules is built into the startup program of the system initialization module of each edge device, and the network connection between edge computing devices is realized through the network protocol stack.

[0029] Furthermore, the heartbeat packet of the network protocol stack is used to determine whether the network exists during runtime. The existence of the heartbeat packet indicates that the network exists during runtime.

[0030] Furthermore, when the task scheduling decision module determines that a data processing task requires collaborative processing by other edge computing devices in the runtime network, the data migration module is started, and the data migration module transfers the pending data of the task request node to the computing unit of the edge computing device of the specified IP.

[0031] Furthermore, the data to be processed received by the task processing module comes from the task scheduling decision module of the edge computing device itself or the data migration module of other edge computing devices in the network during runtime.

[0032] Furthermore, the runtime system created by the system initialization module uses the public network IP as its ID.

[0033] The beneficial effects of the present invention are as follows: The present invention realizes the sharing of all computing unit resources in the entire local area network among edge computing devices in the local area network, and can dynamically optimize the task allocation in the system according to the number of task requests, the degree of urgency, and the status of the computing units in the system, thereby greatly improving the overall task processing speed of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 This is a functional block diagram of the system described in Example 1;

[0035] Figure 2 This is a block diagram of the edge computing device;

[0036] Figure 3 It is a schematic diagram of the connection of multiple edge computing devices in a local area network;

[0037] Figure 4 This is a flow chart of the method described in Example 2. DETAILED DESCRIPTION

[0038] The present invention will be further described below in conjunction with the accompanying drawings and specific implementations.

[0039] Example 1

[0040] This embodiment discloses a runtime system for collaborative computing, such as Figure 1 As shown in Figure 1, the system includes a system initialization module, a data acquisition module, a computing resource monitoring module, a scheduling decision module, a data migration module, and a task processing module. The system runs on each edge computing device in the local area network, such as Figure 2 , 3 As shown, the edge computing device includes an artificial intelligence processor, a data acquisition interface and a network interface module. The artificial intelligence processor has a built-in CPU core and an acceleration unit. External data is collected through the data acquisition interface, and the network interface module is used to connect to other edge computing devices. Only modules related to the functions of the present invention are described here, and other conventional functional modules such as power circuit modules are not described. The edge computing devices in the local area network are connected through a router.

[0041] The functions of each module of this system are as follows:

[0042] System initialization module: When the edge computing device is powered on, the system initialization module scans and monitors the public IP of the local area network where it is located to determine whether the device itself is the first edge computing device connected to the router in the local area network. If so, a runtime network with the public IP as the ID is created. If not, the existing runtime network in the local area network is scanned and an application is applied to join the network. In order to create a runtime network, a network protocol stack based on preset connection rules is built into the startup program of the system initialization module of each edge computing device. Through this protocol stack, the networking connection between edge computing devices is realized. The heartbeat packet of the network protocol stack is used to determine whether the runtime network exists. When the runtime network exists in the local area network, there will be a heartbeat packet sent regularly in the local area network.

[0043] Computing resource monitoring module: During operation, all edge computing devices in the network update their computing unit information in real time through the built-in computing resource monitoring module, and jointly maintain a computing resource status table. The contents of the computing resource status table include the computing unit type, data interface, LAN address, node access rate, node processing speed, and computing unit load of the edge computing device. As shown in the following table:

[0044]

[0045] Data acquisition module: The data acquisition module of the edge computing device is responsible for collecting the data to be processed through the onboard data acquisition interface, such as sensor layer data, video, audio data, etc., and generating corresponding data processing tasks.

[0046] Task scheduling decision module: The task scheduling decision module receives the data collected by the data acquisition module, and comprehensively evaluates which computing unit in the runtime network should handle the data processing task based on factors such as the data parameters of the data processing task, the status of its own computing unit, the status of other computing units in the runtime network, and the node network rate.

[0047] In this embodiment, the process of decision making by the task scheduling decision module is as follows:

[0048] 1) Each computing unit of an edge computing device is assigned a dynamic priority score based on its processing speed and the length of its pending task queue;

[0049] 2) Each data processing task is assigned a priority score based on its urgency and estimated processing time;

[0050] 3) The scheduling decision module adopts a weighted algorithm, considering the priority scores of computing units and data processing tasks, and selects edge computing devices to perform data processing tasks;

[0051] 4) If there are multiple edge computing devices with the same priority score, secondary screening is performed based on the node access rate;

[0052] 5) Assign data processing tasks to the computing units of edge computing devices and update the status information of tasks and computing units.

[0053] Specifically, the dynamic priority score calculation formula of the computing unit is:

[0054] UnitPriority=(1−LoadFactor)×SpeedFactor×AvailabilityFactor;

[0055] LoadFactor represents the load factor of the current computing unit. 0 represents idle and 1 represents fully loaded. SpeedFactor represents the processing speed factor of the computing unit. It is calculated based on historical data. The larger the value, the faster the processing speed. AvailabilityFactor represents the availability factor of the computing unit. 0 represents unavailable and 1 represents fully available.

[0056] The dynamic priority score calculation formula for data processing tasks is:

[0057] TaskPriority =w1×Urgency+w2×ExpectedTime;

[0058] Urgency represents the urgency of the task, which is a value between 0 and 1, with 1 representing the most urgent. ExpectedTime represents the expected processing time in seconds, and the smaller the value, the shorter the task processing time. w1 and w2 represent weight coefficients, and the sum of the two is 1. Adjust according to the urgency of the task and the importance of the processing time. For example, if the urgency is more important, 𝑤1=0.7 and 𝑤2=0.3.

[0059] The formula for calculating the comprehensive priority score is:

[0060] CombinedPriority=TaskPriority / UnitPriority;

[0061] The comprehensive priority score is used to compare the priorities of different computing units in processing different data processing tasks. A higher comprehensive priority score indicates that the computing unit has a higher priority in processing the data processing task.

[0062] Data migration module: responsible for the migration of pending data in the network during runtime, that is, transferring the pending data of the task request node to the computing unit of the edge computing device of the specified IP. And responsible for reading back the processed results. If the task scheduling decision module determines that the data processing task requires collaborative processing by other devices in the network, the data migration module is started; the data migration module transfers the pending data of the task request node to the computing unit of the edge computing device of the specified IP.

[0063] Task processing module: The task processing module is a software module that receives the data to be processed, converts the data into the parameter type required by the computing unit interface, and submits it to the computing unit for processing. The data to be processed can come from the task scheduling decision module of the edge computing device itself or the data migration module of other devices in the runtime network.

[0064] Example 2

[0065] This embodiment discloses a method for accelerating the computing speed of an edge computing device. This method is implemented based on the system described in Embodiment 1. Figure 4 As shown, the following steps are included:

[0066] S01) System initialization. When the edge computing device is powered on, the system initialization module scans and monitors the public IP of the local area network where it is located, and determines whether the device itself is the first edge computing device in the local area network connected to the router. If it is, it creates a runtime network with the public IP as the ID based on the network protocol stack of the preset connection rules. If not, it scans the existing runtime network in the local area network and applies to join the network.

[0067] S02) Computing resource monitoring. After the runtime network is created, all edge computing devices in the runtime network jointly maintain a computing resource status table through the built-in computing resource monitoring module, and update the acceleration unit information of their own devices in real time.

[0068] Computing Resource Status Table

[0069]

[0070] S03) Data collection. The edge computing device collects the data to be processed through the onboard data collection interface and generates corresponding data processing tasks according to application requirements.

[0071] S04) Task scheduling decision. The task scheduling decision module receives the data collected in the data collection step, and comprehensively evaluates which computing unit in the runtime network should be assigned to process the data processing task based on factors such as the data parameters of the data processing task, the status of its own computing unit, the status of other computing units in the runtime network, and the node network rate.

[0072] If the result of the task scheduling decision is that the edge computing device itself processes the data processing task, the task is executed, that is, step S06 is executed; if the result of the task scheduling decision is that other edge computing devices process the data processing task, step S05 is executed).

[0073] S05) Data migration. If the task scheduling decision module determines that the data processing task requires collaborative processing by other devices in the network, the data migration module is started; the data migration module transfers the to-be-processed data of the task request node to the computing unit of the edge computing device of the specified IP.

[0074] S06) Task processing. The task processing module receives the data to be processed. The data to be processed may come from the task scheduling decision module of the edge computing device itself or the data migration module of other devices in the runtime network. The task processing module converts the data to be processed into the parameter type required by the computing unit interface and submits it to the computing unit for processing.

[0075] S07) Output results. According to the application scenario requirements, the processed results are output to the specified location through the network or other output ports.

[0076] In step S04), the process of task scheduling decision is as follows:

[0077] 1) Each computing unit of an edge computing device is assigned a dynamic priority score based on its processing speed and the length of its pending task queue;

[0078] 2) Each data processing task is assigned a priority score based on its urgency and estimated processing time;

[0079] 3) The scheduling decision module adopts a weighted algorithm, considering the priority scores of computing units and data processing tasks, and selects edge computing devices to perform data processing tasks;

[0080] 4) If there are multiple edge computing devices with the same priority score, secondary screening is performed based on the node access rate;

[0081] 5) Assign data processing tasks to the computing units of edge computing devices and update the status information of tasks and computing units.

[0082] Specifically, the dynamic priority score calculation formula of the computing unit is:

[0083] UnitPriority=(1−LoadFactor)×SpeedFactor×AvailabilityFactor;

[0084] LoadFactor represents the load factor of the current computing unit. 0 represents idle and 1 represents fully loaded. SpeedFactor represents the processing speed factor of the computing unit. It is calculated based on historical data. The larger the value, the faster the processing speed. AvailabilityFactor represents the availability factor of the computing unit. 0 represents unavailable and 1 represents fully available.

[0085] The dynamic priority score calculation formula for data processing tasks is:

[0086] TaskPriority =w1×Urgency+w2×ExpectedTime;

[0087] Urgency represents the urgency of the task, which is a value between 0 and 1, with 1 representing the most urgent. ExpectedTime represents the expected processing time in seconds, and the smaller the value, the shorter the task processing time. w1 and w2 represent weight coefficients, and the sum of the two is 1. Adjust according to the urgency of the task and the importance of the processing time. For example, if the urgency is more important, 𝑤1=0.7 and 𝑤2=0.3.

[0088] The formula for calculating the comprehensive priority score is:

[0089] CombinedPriority=TaskPriority / UnitPriority;

[0090] The comprehensive priority score is used to compare the priorities of different computing units in processing different data processing tasks. A higher comprehensive priority score indicates that the computing unit has a higher priority in processing the data processing task.

[0091] Compared with existing technical solutions, the collaborative computing runtime system realizes the sharing of all computing unit resources in the entire LAN among devices in the LAN. It can dynamically optimize the task allocation in the system according to the number of task requests, the urgency, and the status of the computing units in the system, greatly improving the overall task processing speed of the system.

[0092] The above description is only the basic principle and preferred embodiments of the present invention. Improvements and substitutions made by those skilled in the art based on the present invention belong to the protection scope of the present invention.

Claims

1. A collaborative computing runtime system, which runs on each edge computing device in a local area network, and the edge computing devices in the local area network are connected through a router, characterized in that: It includes system initialization module, data acquisition module, computing resource monitoring module, scheduling decision module, data migration module and task processing module; The system initialization module is used to monitor the public IP of the local area network where the edge computing device is located when it is powered on, and determine whether the edge computing device is the first edge computing device in the local area network connected to the router. If so, a runtime network is created. If not, the runtime network that already exists in the local area network is scanned and an application is applied to join the runtime network. The computing resource monitoring module is used to update the computing unit information of the edge computing device in real time, and jointly maintain a computing resource status table with the computing resource monitoring modules of other edge computing devices in the runtime network; The data acquisition module is used to collect the data that needs to be processed and generate corresponding data processing tasks; The task scheduling decision module receives the data collected by the data collection module, and determines the edge computing device that performs the data processing task based on the data parameters of the data processing task, the status of its own edge computing device, the status of other edge computing devices in the runtime network, and the node network rate; The data migration module is used to migrate the data to be processed in the runtime network and read back the processed results; The task processing module is used to receive the data to be processed, convert the data to be processed into the parameter type required by the computing unit interface, and submit it to the computing unit for processing.

2. The collaborative computing runtime system according to claim 1, characterized in that: The computing resource status table includes the computing unit type, data interface, local area network address, node access rate, node processing speed and computing unit load of the edge computing device.

3. The collaborative computing runtime system according to claim 1, characterized in that: The process by which the task scheduling decision module determines the edge computing device that performs the data processing task is as follows: 1) Each computing unit of an edge computing device is assigned a dynamic priority score based on its processing speed and the length of its pending task queue; 2) Each data processing task is assigned a priority score based on its urgency and estimated processing time; 3) The scheduling decision module adopts a weighted algorithm, considering the priority scores of computing units and data processing tasks, and selects edge computing devices to perform data processing tasks; 4) If there are multiple edge computing devices with the same priority score, secondary screening is performed based on the node access rate; 5) Assign data processing tasks to the computing units of edge computing devices and update the status information of tasks and computing units.

4. The collaborative computing runtime system according to claim 3, characterized in that: The dynamic priority score of a computing unit is calculated as: UnitPriority=(1−LoadFactor)×SpeedFactor×AvailabilityFactor; LoadFactor represents the load factor of the current computing unit, 0 represents idle, 1 represents fully loaded, SpeedFactor represents the processing speed factor of the computing unit, AvailabilityFactor represents the availability factor of the computing unit, 0 represents unavailable, 1 represents fully available; The dynamic priority score calculation formula for data processing tasks is: TaskPriority =w1×Urgency+w2×ExpectedTime; Urgency represents the urgency of the task, ExpectedTime represents the expected processing time, w1 and w2 represent weight coefficients, and the sum of the two is 1; The formula for calculating the comprehensive priority score is: CombinedPriority=TaskPriority / UnitPriority; The comprehensive priority score is used to compare the priorities of different computing units in processing different data processing tasks. A higher comprehensive priority score indicates that the computing unit has a higher priority in processing the data processing task.

5. The collaborative computing runtime system according to claim 4, characterized in that: Urgency is a value between 0 and 1, with 1 being the most urgent.

6. The collaborative computing runtime system according to claim 1, characterized in that: A network protocol stack based on preset connection rules is built into the startup program of the system initialization module of each edge device, and the network connection between edge computing devices is realized through the network protocol stack.

7. The collaborative computing runtime system according to claim 6, characterized in that: The heartbeat packet of the network protocol stack is used to determine whether the runtime network exists. The existence of the heartbeat packet indicates that the runtime network exists.

8. The collaborative computing runtime system according to claim 1, characterized in that: When the task scheduling decision module determines that a data processing task requires collaborative processing by other edge computing devices in the runtime network, the data migration module is started, and the data migration module transfers the pending data of the task request node to the computing unit of the edge computing device with the specified IP.

9. The collaborative computing runtime system according to claim 1, characterized in that: The data to be processed received by the task processing module comes from the task scheduling decision module of the edge computing device itself or the data migration module of other edge computing devices in the runtime network.

10. The collaborative computing runtime system according to claim 1, characterized in that: The runtime system created by the system initialization module uses the public network IP as its ID.

Citation Information

Patent Citations

  • Edge computing power and edge gateway resource collaborative management method

    CN117519990A

  • Cloud-edge computing network computational resource balancing and scheduling method for traffic grooming, and system

    WO2023039965A1