A mobile computing execution device, control method, and computing execution system

By leveraging the collaborative work of the mobile unit, functional unit, and communication unit of the portable computing execution device, the communication bottleneck problem in traditional supercomputer systems is solved, enabling highly efficient parallel computing.

CN116149306BActive Publication Date: 2026-02-24INSTITUTE OF PROCESS ENGINEERING CHINESE ACADEMY OF SCIENCES
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111383741.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-22
Publication Date
2026-02-24
Estimated Expiration
2041-11-22

AI Technical Summary

Technical Problem

In large-scale parallel computing, traditional supercomputer systems suffer from increased communication time due to the layered forwarding of switches and routers, which limits computing tasks and causes changes in communication relationships due to dynamic load changes, severely reducing computing efficiency.

Method used

A mobile computing execution device is adopted. The mobile unit determines the path according to the target location and moves to the target location. The functional unit executes the computing task, and the communication unit establishes a direct communication connection to avoid layer forwarding and optimize the communication path.

Benefits of technology

It improves the communication efficiency between computing units, reduces communication pressure, and enhances the parallel processing capability and computing efficiency of the computing system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116149306B_ABST
    Figure CN116149306B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a movable computing execution device, a control method and a computing execution system, the movable computing execution device comprises a moving unit, a function unit and a communication unit, wherein the moving unit is used for determining a target moving path according to a target position and moving the movable computing execution device to the target position according to the target moving path; the function unit is used for executing a target computing task associated with the target position; and the communication unit is used for establishing a communication connection with a neighboring execution device and transmitting task computing information with the neighboring execution device through the communication connection. By adjusting the position of the movable computing execution device according to the target position at any time, the movable computing execution device can directly communicate with the neighboring execution device, the communication pressure between the execution devices is reduced, the parallel processing capacity of data is improved, and the computing efficiency is effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computing processing technology, and in particular to a portable computing execution device, control method and computing execution system. Background Technology

[0002] For typical engineering problems, the computational scale is extremely large, and the computational domain is irregularly shaped, posing significant challenges to numerical computation. To address this, domain decomposition is a commonly used method. Domain decomposition algorithms divide the entire computational domain into several sub-regions. During simulation, each process computes one sub-region, and each process is mapped to a computing unit in the computer system. This transforms the solution of the original engineering problem into a parallel solution across sub-regions. The computational task is divided among various computing units, and communication and data exchange between these units achieve coupling between the sub-regions.

[0003] Large-scale parallel simulation of engineering problems presents several challenges. During computation, adjacent sub-regions need to exchange data, requiring communication between the various computational units mapped by the process to transfer their results. However, traditional supercomputer systems rely on switches and routers for all-to-all communication between computational units. When the number of participating computational units is large, the communication time increases due to the layered forwarding of data by switches and routers. Furthermore, the computational task can be interfered with by other computational tasks executing simultaneously on the system. The computational task is constrained by data transfer, hindering the utilization of computational unit performance and severely reducing the computational efficiency of the system.

[0004] Furthermore, taking a gas-solid fluidized bed, a common industrial application, as an example, initially, particles accumulate at the bottom of the reactor. As the reactor dynamically evolves, the particles fill the reactor, exhibiting a non-uniform distribution with a thinner top and denser bottom, and a thinner middle and denser sidewalls. This leads to dynamic changes in load and load imbalance. Dynamic partitioning is then required to adapt to these load changes. However, dynamic partitioning also alters the communication relationships between processes, and consequently, the communication relationships between computing units, further exacerbating congestion on switches and routers.

[0005] Therefore, improving the computational efficiency of the system is a computational problem that urgently needs to be solved. Summary of the Invention

[0006] This invention provides a portable computing execution device, a control method, and a computing execution system to improve the computing efficiency of the system.

[0007] In a first aspect, embodiments of the present invention provide a portable computing execution device, comprising a mobility unit, a functional unit, and a communication unit, wherein:

[0008] The moving unit is used to determine the target moving path based on the target location, and to move the movable computing execution device to the target location according to the target moving path;

[0009] Functional unit, used to perform target calculation tasks associated with target location;

[0010] The communication unit is used to establish a communication connection with adjacent execution devices of the movable computing execution device, and to transmit task calculation information with adjacent execution devices through the communication connection.

[0011] Optionally, further, the moving unit includes sensors, a processor, and an actuator, wherein:

[0012] Sensors are used to collect environmental information and send it to the processor;

[0013] The processor is used to determine the planned movement path based on the target location, determine the target movement path based on the planned movement path and environmental information, and control the actuators according to the target movement path.

[0014] An actuator is used to move a movable computing execution device to a target location according to processor control.

[0015] Optionally, further, moving the movable computing execution device to the target location according to processor control includes:

[0016] The movable computing execution device is moved to the target position using at least one active driving method selected from dual-wheel differential drive, quadcopter drive, propeller drive, and track drive, or a passive method driven by a robotic arm.

[0017] Optionally, the actuator includes a power supply, which is powered via a wired or wireless means.

[0018] Optionally, the sensor may further include at least one of an infrared sensor, a motion processing sensor, a lidar, an ultrasonic sensor, and a depth camera.

[0019] Optionally, further, the moving unit is a nanoelectromechanical or biochemical system, which includes microactuators and microsensors, and moves the movable computational execution device to the target location according to the target movement path, including:

[0020] The micro-actuator is used to move a mobile computational execution device to a target position based on a micro-sensor. The micro-actuator is at least one of electrostatic micro-motor, colloidal motor, protein motor, and carbon nanotube motor.

[0021] Optionally, further, the communication connection includes at least one of direct connections such as wireless network connection, wired network connection, optical communication connection, and device-to-device communication connection.

[0022] The functional unit is a heterogeneous computing system, including but not limited to dedicated computing units and dedicated storage units.

[0023] Optional, further, dedicated computing units, in addition to CPU and memory, include, but are not limited to, graphics processing units and many-core processors. Dedicated storage units, in addition to CPU and memory, include, but are not limited to, memory chips and external storage.

[0024] Optionally, the communication unit has at least one port connected to the functional unit for receiving task calculation information sent by the functional unit, and / or transmitting task calculation information received by the communication unit from the adjacent execution device to the functional unit.

[0025] Optionally, the communication unit has at least one port connected to the adjacent execution device for receiving task calculation information sent by the adjacent execution device, and / or transmitting the task calculation information received by the communication unit from the functional unit to the adjacent execution device.

[0026] Secondly, embodiments of the present invention also provide a control method for a portable computing execution device, executed by the portable computing execution device provided in any embodiment of the present invention, comprising:

[0027] Based on the mobile unit, the target movement path is determined according to the target location, and the movable computing execution device is moved to the target location according to the target movement path;

[0028] Target calculation tasks based on target location association are performed by functional units;

[0029] Based on the communication unit, a communication connection is established with the adjacent execution devices of the mobile computing execution device, and task calculation information is transmitted with the adjacent execution devices through the communication connection.

[0030] Thirdly, embodiments of the present invention also provide a variable-structure parallel computing system, including a control unit and at least two portable computing execution devices provided in any embodiment of the invention, wherein:

[0031] The control unit is used to generate multiple sub-computation tasks according to the target computing task, determine the target location associated with the sub-computation tasks, and send the sub-computation tasks and the target location to the associated mobile computing execution device.

[0032] A mobile computing execution device is used to determine a target movement path based on the target location, and to move the mobile computing execution device to the target location based on the target movement path, to execute sub-computation tasks associated with the target location, and to transmit task calculation information to adjacent execution devices through a communication connection established with the mobile computing execution device.

[0033] The mobile computing execution device included in the variable-structure parallel computing system can determine the device type according to the sub-computing task corresponding to the target location, and select and combine some components from the mobile unit, the functional unit and the communication unit based on the device type to obtain the mobile computing execution device.

[0034] Optionally, further, multiple sub-computation tasks are generated based on the target computation task, and the target locations associated with the sub-computation tasks are determined, including:

[0035] Receive process information sent by each portable computing execution device. Each sub-computing task corresponds to one process. Determine the target location associated with the sub-task.

[0036] The portable computing execution device provided in this embodiment of the invention includes a moving unit, a functional unit, and a communication unit. The moving unit determines a target movement path based on the target location and moves the portable computing execution device to the target location according to the target movement path. The functional unit executes a target computing task associated with the target location. The communication unit establishes a communication connection with adjacent execution devices of the portable computing execution device and transmits task computing information to the adjacent execution devices through the communication connection. By adjusting the position of the portable computing execution device according to the target location at any time, the communication pressure between computing units is reduced, the parallel processing capability of data is improved, and the computing efficiency is effectively improved. Attached Figure Description

[0037] Figure 1 This is a schematic diagram of the structure of a portable computing execution device provided in Embodiment 1 of the present invention;

[0038] Figure 2 This is a control schematic diagram of an actuator provided in Embodiment 1 of the present invention;

[0039] Figure 3 This is a schematic diagram of a sensing and positioning method based on a grid of black lines provided in Embodiment 1 of the present invention;

[0040] Figure 4 This is a schematic diagram of the structure of a portable computing execution device provided in Embodiment 1 of the present invention;

[0041] Figure 5 This is a flowchart illustrating a control method for a portable computing execution device provided in Embodiment 2 of the present invention. Detailed Implementation

[0042] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present invention and not the entire structure.

[0043] Example 1

[0044] Figure 1 This is a schematic diagram of a portable computing execution device provided in Embodiment 1 of the present invention. This embodiment is applicable to situations where a computing task is divided into multiple computing tasks and executed in parallel by multiple computing execution devices. Figure 1 As shown, the portable computing execution device includes a mobility unit 10, a functional unit 20, and a communication unit 30, wherein:

[0045] The moving unit 10 is used to determine the target moving path according to the target location, and to move the movable computing execution device to the target location according to the target moving path;

[0046] Functional unit 20 is used to perform target calculation tasks related to target location;

[0047] The communication unit 30 is used to establish a communication connection with an adjacent execution device of the portable computing execution device, and to transmit task computing information with the adjacent execution device through the communication connection.

[0048] In industrial problems where multiple computing devices execute computational tasks in parallel, the increasing communication load can lead to interference from other concurrent tasks on the computing system. Computational tasks, constrained by data transmission, cannot fully utilize the performance of the computing devices, severely reducing the system's computational efficiency. Furthermore, there is the technical problem of decreased computational efficiency due to changes in communication relationships during task execution—the dynamic load variation problem in existing technologies. Taking a common industrial gas-solid fluidized bed as an example, initially, particles accumulate at the bottom of the reactor. As the reactor dynamically evolves, particles fill the reactor, exhibiting a non-uniform distribution with a thinner top and denser bottom, and a thinner middle and denser sidewalls. This leads to dynamic load changes and load imbalance. Dynamic domain decomposition is needed to adapt to these load changes, but this also alters inter-process communication relationships, consequently changing the communication relationships of computing units, further exacerbating congestion on switches and routers.

[0049] To address the above issues, this invention provides a portable computing execution device. This device can adjust its position based on changes in topology during computation, re-establish communication connections with communication objects (i.e., other portable computing execution devices), execute computational tasks, and communicate through the re-established communication connections.

[0050] In general, the movable computing execution device provided in this embodiment of the invention determines a target location, then determines a target movement path via a movement unit, moves the movable computing execution device according to the target movement path, and after the movable computing execution device moves to the target location, establishes a communication connection with adjacent execution devices via a communication unit. The device then executes the target computing task via a functional unit and transmits task computing information to adjacent execution devices through the communication connection established by the communication unit. This task computing information can include task execution results, task execution-related information, etc. The target location can be determined before or during the execution of the computing object; this is not limited here. Adjacent execution devices of the movable computing execution device can be understood as execution devices located adjacent to the movable computing execution device in terms of location. These adjacent execution devices can be movable or immovable computing execution devices; this is not limited here.

[0051] Adjusting the target positions of each mobile computing execution device during the computation process can effectively solve the problem of dynamic load changes. The computing execution system can adjust the positions of each mobile computing execution device and its communication connections with other target computing units based on the process topology information. This ensures that the topology information formed between the mobile computing execution devices matches the process topology information sent by the application, thereby improving the communication efficiency between the mobile computing execution devices and further improving the computational efficiency of the computing execution system.

[0052] In one embodiment, the communication connection includes at least one of a wireless network connection, a wired network connection, an optical communication connection, and a device-to-device communication connection. Specifically, the communication connection established by the communication unit can be a direct communication connection such as a wireless network connection, a wired network connection, an optical communication connection, or a device-to-device communication connection. That is, a communication connection that does not require multiple layers of forwarding is established through the communication unit, which improves information transmission efficiency and thus improves computing efficiency.

[0053] In one embodiment, the communication unit has at least one port connected to the functional unit for receiving task calculation information sent by the functional unit, and / or transmitting task calculation information received by the communication unit from an adjacent execution device to the functional unit.

[0054] In one embodiment, the communication unit has at least one port connected to an adjacent execution device for receiving task calculation information sent by the adjacent execution device, and / or transmitting task calculation information received by the communication unit from the functional unit to the adjacent execution device.

[0055] In other words, the communication unit has at least one input port connected to the functional unit for receiving task calculation information, and multiple output ports connected to adjacent execution devices for transmitting task calculation information to the adjacent execution devices. In another implementation, the communication unit has multiple input ports connected to the adjacent execution device to receive task calculation information from the adjacent execution device, and at least one output port connected to the functional unit for transmitting task calculation information to the functional unit.

[0056] The target execution task of the mobile computing execution device provided in this embodiment of the invention can be determined by a domain decomposition algorithm. As a domain-specific architecture designed to address the communication bottleneck in the domain decomposition algorithm, it enables mobile computing execution devices executing target computing tasks to directly interact with each other's computation results. This eliminates the need for the redundant all-to-all design of traditional supercomputers, removes the need for layer-by-layer forwarding via switches and routers, avoids communication interference from other computing tasks, increases information transmission bandwidth, reduces information transmission latency, and thus greatly improves the computational efficiency of the variable-structure parallel computing system.

[0057] The portable computing execution device provided in this embodiment of the invention includes a moving unit, a functional unit, and a communication unit. The moving unit determines a target movement path based on the target location and moves the portable computing execution device to the target location according to the target movement path. The functional unit executes a target computing task associated with the target location. The communication unit establishes a communication connection with adjacent execution devices of the portable computing execution device and transmits task computing information to the adjacent execution devices through the communication connection. By adjusting the position of the portable computing execution device according to the target location at any time, the communication pressure between computing units is reduced, the parallel processing capability of data is improved, and the computing efficiency is effectively improved.

[0058] In one embodiment of the present invention, the moving unit includes a sensor, a processor, and an actuator, wherein: the sensor is used to collect environmental information and send the environmental information to the processor; the processor is used to determine a planned moving path based on the target location, determine a target moving path based on the planned moving path and the environmental information, and control the actuator according to the target moving path; the actuator is used to move the movable computing device to the target location according to the processor's control. Optionally, the moving unit may specifically include a sensor, a processor, and an actuator. The sensor collects environmental information, the processor determines a planned moving path, and combines the environmental information to determine a real-time target moving path, controlling the actuator to move the movable computing device to the target location according to the target moving path. Moving the movable computing device to the target location according to the processor's control includes: using at least one active driving method selected from dual-wheel differential drive, quadcopter drive, propeller drive, and track drive, or a passive method of robotic arm drive to move the movable computing device to the target location.

[0059] The processor can specifically include a microcontroller and a central processing unit (CPU). Considering voltage compatibility issues with different hardware devices, some environmental information collected by sensors needs to be transmitted to the CPU via the microcontroller, while some sensors can directly send their collected environmental information to the CPU. Specifically, sensors collect environmental information and send it to either the microcontroller or the CPU. The microcontroller integrates the environmental information collected by some sensors and sends it to the CPU via a serial port. The CPU integrates the environmental information collected by each sensor, combines it with the planned movement path to determine the real-time target movement path, and generates speed commands (which may include speed magnitude and direction) based on the target movement path, sending them to the microcontroller. Upon receiving the speed commands from the CPU, the microcontroller controls the actuators to execute the commands in real time.

[0060] Understandably, to ensure the normal operation of all hardware components, the mobile unit may also include a power supply, and the actuators may also include a power supply. The power supply can be wired or wireless, such as wired power supply at a fixed location, traction power supply, nano-triboelectric power generation, electromagnetic induction wireless power supply, magnetic resonance wireless power supply, radio wave wireless power supply, or electric field coupling wireless power supply. The actuators can be immersed in a dedicated fluid medium, which serves as both an energy source and a coolant. The power supply is connected to the microcontroller and supplies power to the various hardware devices on the computing unit via a voltage conversion module.

[0061] In this embodiment, the moving unit can be of different types of moving components. As described in the above embodiments, the moving unit can move the movable computing execution device to the target position based on at least one active driving method selected from dual-wheel differential drive, quadcopter drive, propeller drive, and track drive, or a passive method selected from robotic arm drive. That is, the actuator of the moving unit can be constructed based on wheels, motors, propellers, and tracks. Furthermore, in order to reduce the space occupied by the moving unit, a smaller structure can be used as the moving unit, such as a nanoelectromechanical system or a biochemical system. That is, the moving unit can be a nanoelectromechanical system or a biochemical system, which is equipped with micro-actuators and micro-sensors. Moving the movable computing execution device to the target position according to the target moving path includes: using micro-actuators based on micro-sensors to move the movable computing execution device to the target position. The micro-actuator is at least one of electrostatic micro-motor, colloidal motor, protein motor, and carbon nanotube motor.

[0062] Optionally, the processor determines the planned movement path based on the target location. Specifically, this can be achieved by using algorithms such as Dijkstra's algorithm, A*, and artificial potential field to plan a global path (two-dimensional or three-dimensional) based on the target location and a pre-stored global map. The global map is represented using a grid, dividing the entire environment into several grids of the same size to represent environmental information. The grid length can be chosen to be several times smaller than the distance between computing units. The core functional unit also needs to integrate sensor information to adjust the real-time path of the computing unit for obstacles (other computing units) on its movement path, and to meet the kinematic constraints of the moving unit's actuators.

[0063] In one embodiment, moving the movable computing execution device to a target location according to processor control includes: using a dual-wheel differential drive to control the rotation of two wheels of the movable computing execution device, thereby moving the movable computing execution device to the target location. An actuator is used for the movement of the movable computing execution device. Optionally, the actuator can use a dual-wheel differential drive, employing two DC geared motors to drive the rotation of the two wheels respectively, and a third omnidirectional wheel to maintain the overall stability of the computing unit. Figure 2 This is a control schematic diagram of an actuator provided in Embodiment 1 of the present invention. Figure 2As shown, the microcontroller (MCU) adjusts the duration of the high-level output pulse by pulse width modulation (PWM) of the encoder output. This involves encoding a specific analog signal level using the duty cycle of a square wave, outputting the rotational speeds of the two motors. After power amplification by the motor driver chip, the motors are driven to rotate. The encoder acquires the motor speed, converting angular displacement or angular velocity into digital pulses. The actual motor speed is calculated based on the number of pulses per unit time, completing incremental closed-loop PID control of the motors. The actuator achieves steering through two wheels rotating at different speeds. It is understandable that a mobile computational actuator moving via differential dual-wheel drive can only move in two-dimensional space.

[0064] Optionally, the mobile computational execution device using dual-wheel differential drive can be distributed across different layers to complete the mapping from the decomposition of the 3D simulation object region to the computational unit. In other words, the mobile computational execution device can move within 3D space.

[0065] Optionally, a movable computational execution device with dual-wheel differential drive is used to travel along the track to avoid position drift due to control errors.

[0066] In one embodiment, moving the mobile computing execution device to a target location under processor control includes: controlling the propeller rotation of the mobile computing execution device using propeller control, controlling the speed through motor rotation speed, and controlling the speed direction using fin rudders to move the mobile computing execution device to the target location. When the mobile computing execution device moves in three-dimensional space, the computing unit can also use quadcopter motion, using four motors to control the rotor speed, and achieving speed control of the computing unit through changes in rotor lift. The control of motor rotation speed is consistent with the motor control method using dual-wheel differential drive.

[0067] In one embodiment, a robotic arm is used to move a mobile computing execution device to a target location.

[0068] In summary, the movement of a mobile computing execution device on a two-dimensional plane can be achieved by using dual-wheel differential drive or a robotic arm, while the movement of a mobile computing execution device on a three-dimensional plane can be achieved by using a propeller or a quadcopter.

[0069] One of the main functions of sensors is localization. Sensors can include at least one of the following: infrared sensors, motion processing sensors, LiDAR, ultrasonic sensors, and depth cameras.

[0070] In one embodiment, the mobile unit uses an infrared sensor for line-following positioning. The infrared sensor utilizes the reflective properties of objects to follow a black line. When infrared light is emitted onto a black line, it is absorbed by the black line; otherwise, it is reflected onto materials of other colors and then onto an infrared receiver. A square grid of black lines can be pre-set within the environmental area where the mobile computing execution device is located, and sensing and positioning are achieved based on the pre-set grid. Figure 3 This is a schematic diagram illustrating a sensing and positioning method based on a grid of black lines, as provided in Embodiment 1 of the present invention. Figure 3 As shown, 31 represents the calculation unit, 32 represents the pre-set grid black lines, and 33 and 34 represent the different responses of the infrared sensor at different locations. The target position of the calculation unit is located on the grid points. The microcontroller records the number of left and right right angles traversed by the calculation unit and sends this information to the core functional unit via the serial port. The core functional unit records the number of crosses and left and right right angles traversed by the calculation unit, thus obtaining the current position and orientation of the calculation unit.

[0071] In another embodiment, the mobile unit uses a motion processing sensor (such as the MPU6050, equipped with an accelerometer and a gyroscope) to collect the velocity and attitude of the computing unit at each moment, and sends it to the microcontroller through the I2C interface. The microcontroller calculates the position and attitude information of the computing unit and sends the position and attitude information to the core functional unit through the serial port.

[0072] In another embodiment, the sensor of the mobile unit is a lidar, which transmits the radar information directly to the core functional unit via a USB interface, and calculates the position and attitude of the computing unit as environmental depth information.

[0073] In another embodiment, the sensor of the mobile unit is a depth camera. The RGB image information and depth information of each pixel are sent to the core functional unit via a USB interface. The core functional unit extracts the two-dimensional information from the three-dimensional information and uses it as environmental depth information to calculate the position and orientation of the computing unit.

[0074] Overall, the mobile unit can use one of the aforementioned sensors for positioning, or it can use a combination of the aforementioned sensors for positioning.

[0075] Another key function of the sensor is collision avoidance between computing units. In one embodiment, the actuator's sensor includes an ultrasonic sensor. The ultrasonic sensor detects obstacles in front of it by emitting ultrasonic waves. The ultrasonic sensor connects to the microcontroller via a general-purpose input / output interface (GPIO), and the microcontroller sends the ultrasonic information to the core functional unit via a serial port. Upon detecting an obstacle, the microcontroller controls the actuator to turn.

[0076] In another embodiment, the sensor of the mobile unit includes a lidar, which sends radar information directly to the core functional unit via a USB interface to extract obstacle information. After detecting an obstacle, the actuator is controlled to turn.

[0077] In another embodiment, the sensor of the mobile unit is a depth camera. The RGB image information and depth information of each pixel are sent to the core functional unit via a USB interface. The core functional unit extracts the two-dimensional information from the three-dimensional information and uses it as environmental depth information to calculate obstacle information. After detecting an obstacle, the unit controls the actuator to turn.

[0078] In another embodiment, the moving unit does not use sensor information for collision avoidance. Instead, the control unit ensures that no other computing units exist on the moving path, and the actuator moves according to the path sent by the control unit.

[0079] In another embodiment, the mobile unit of the mobile computing execution device adopts a nanoelectromechanical or biochemical system. The mobile unit uses micro actuators, such as electrostatic micro motors, colloidal motors, protein motors, carbon nanotube motors, etc., and is equipped with micro sensors to sense environmental information for positioning and collision avoidance between the computing unit.

[0080] It is understandable that functional units are used to perform target computation tasks related to target locations. Based on this, functional units may include dedicated computing units and dedicated storage units. Dedicated computing units are heterogeneous computing systems, wherein: a dedicated computing unit includes at least one of a graphics processing unit (GPU) and a many-core processor, as well as a central processing unit (CPU) and memory; a dedicated storage unit includes a CPU, external memory, memory chips, and secondary storage. A dedicated computing unit can be understood as a unit used to perform computation tasks, and a dedicated storage unit can be understood as a unit used to perform storage tasks. When a dedicated computing unit is a heterogeneous computing system, in addition to a CPU and memory, it also includes a graphics processing unit (GPU), a many-core processor, etc. A dedicated storage unit, in addition to a CPU and memory, also includes memory chips, secondary storage, etc.

[0081] The communication unit is mainly used to establish communication connections between portable computing execution devices and to transmit task computing information. The communication unit can use at least one communication method, such as optical communication, network card communication, device-to-device communication, or router communication, to establish point-to-point communication connections between portable computing execution devices, avoiding information transmission delays caused by layer-by-layer information forwarding in existing technologies.

[0082] By establishing point-to-point direct communication through communication units, mobile computing execution devices can form a self-organizing network without relying on devices such as routers and switches. Data is sent and received using a single-hop method, and the control unit ensures that other computing units that need to establish connections with each computing unit are located around that computing unit.

[0083] In one embodiment, the communication unit uses a network card that supports Wi-Fi Direct or Ad-hoc. After the computing unit reaches the target location, it searches for surrounding computing units, establishes a direct connection with the surrounding computing units according to the instructions of the control unit, and closes the search after a successful connection. Then, it transmits data and performs computing tasks.

[0084] In one embodiment, the communication unit uses a laser beam as the information carrier for wireless laser communication. The communication unit comprises two main subsystems: a transmitter and a receiver. After the computing unit reaches the target location, the communication unit uses an aiming, acquisition, and tracking system to capture the beacon light of neighboring computing units, completing point-to-point locking and establishing a communication connection before data transmission begins. Since the computing unit only communicates with surrounding computing units, it avoids the attenuation that occurs during laser communication transmission through the atmosphere and eliminates the need for high power.

[0085] In one embodiment, the communication unit uses mobile D2D (device-to-device) communication. After the computing unit arrives at the target location, it initiates a session request to the neighboring computing unit and waits for the neighboring computing unit to arrive. The control unit needs to have the functionality of a base station to detect the channel quality between computing units and determine whether a D2D connection can be established accordingly.

[0086] In one embodiment, the communication unit is a wired router, which is installed at a fixed grid point and connected to each other via a wired connection. After a computing unit arrives at the designated grid point, it establishes a connection with the router and waits for all computing units to arrive at the target location. Then, the computing unit sends the information directly to the router connected to the neighboring computing unit via the router, and then sends it to the neighboring computing units.

[0087] Figure 4 This is a schematic diagram of the structure of a portable computing execution device provided in Embodiment 1 of the present invention. Figure 4 As shown, 41-1, 41-2, and 41-3 are the core functional units: 41-1 is the central processing unit, 41-2 is the main memory, and 41-3 is the external storage. 42-1 to 42-7 are the motion units, where 42-1 is the microcontroller, 42-2 is the power supply, 42-3 is two differentially driven wheels, 42-4 is a DC geared motor with an encoder, 42-5 is a swivel wheel, 42-6 is an infrared sensor, and 42-7 is an ultrasonic sensor. 43-1 is the communication unit, which is a network card supporting Ad-hoc wireless communication.

[0088] The computing unit of the variable-structure parallel computing system provided in this embodiment of the invention is a domain-specific architecture designed to address the communication bottleneck in the domain decomposition algorithm. This architecture enables each mobile computing execution device to directly interact with the computation results, eliminating the need for forwarding by switches and routers, avoiding communication interference from other computing tasks, increasing the bandwidth of information transmission, reducing information transmission latency, and thus greatly improving the computing efficiency of the computing system.

[0089] Example 2

[0090] Figure 5 This is a flowchart illustrating a control method for a portable computing execution device according to Embodiment 2 of the present invention. This embodiment is applicable to situations where a computing task is divided into multiple sub-computing tasks and executed in parallel by multiple computing execution devices. This method can be executed by the portable computing execution device provided in any embodiment of the present invention. Figure 5 As shown, the method includes:

[0091] S510. Based on the target location, the mobile unit determines the target movement path and moves the mobile computing execution device to the target location according to the target movement path.

[0092] S520: Execute target location association tasks based on functional units.

[0093] S530: Establish a communication connection with the adjacent execution device of the mobile computing execution device based on the communication unit, and transmit task calculation information with the adjacent execution device through the communication connection.

[0094] In general, after determining the target location and the target computation task, the mobile computing execution device determines the target movement path based on the target location through the movement unit, and moves the mobile computing execution device based on the target movement path. After the mobile computing execution device reaches the target location, a communication connection is established between the mobile computing execution device and its adjacent execution devices. The target computation task is executed through the functional unit, and the task computation information is transmitted through the communication connection established by the communication unit. More specific implementation methods can be referred to the above embodiments, and will not be repeated here.

[0095] The portable computing execution device provided in this embodiment of the invention determines a target movement path based on the target location through a movement unit, and moves the portable computing execution device to the target location according to the target movement path; executes the target computing task associated with the target location through a functional unit; and establishes a communication connection with adjacent execution devices through a communication unit, transmitting task computing information with adjacent execution devices through the communication connection. By adjusting the position of the portable computing execution device according to the target location at any time, the communication pressure between computing units is reduced, the parallel processing capability of data is improved, and the computing efficiency is effectively improved.

[0096] Example 3

[0097] This invention provides a variable-structure parallel computing system, which is applicable to situations where a computing task is divided into multiple computing tasks and executed in parallel by multiple computing execution devices.

[0098] The variable-structure parallel computing system provided in this embodiment of the invention includes a control unit and at least two portable computing execution devices provided in any embodiment of the invention, wherein:

[0099] The control unit is used to generate multiple sub-computation tasks based on the target computation task, determine the target location associated with the sub-computation tasks, and send the sub-computation tasks and target locations to the associated mobile computation execution device.

[0100] A mobile computing execution device is used to determine a target movement path based on the target location, and to move the mobile computing execution device to the target location based on the target movement path, to execute sub-computation tasks associated with the target location, and to transmit task calculation information to adjacent execution devices through a communication connection established with the mobile computing execution device.

[0101] In this embodiment, the portable computing execution device is further configured to: determine the device type based on the sub-computing task corresponding to the target location, and recombine some components from the mobile unit, functional unit, and communication unit based on the device type to obtain the portable computing execution device. That is, the mobile unit, functional unit, and communication unit and their components of the portable computing execution device can be recombined during operation; that is, a single portable computing execution device can be transformed into different types of portable computing execution devices according to the computing task and execute different types of sub-tasks. The type of sub-task can be computing type, storage type, etc.

[0102] Overall, the control unit can divide the target computing task of the computing object into multiple sub-computing tasks according to the actual situation of the computing object. Each mobile computing execution device executes one sub-computing task, realizing parallel processing of computing tasks. For example, the control unit can divide the computing object into multiple sub-regions in real time during operation. Each sub-region is mapped to a process, corresponding to a sub-computing task. Each computing unit runs one or more processes, and the processes need to exchange information at the boundaries of the sub-regions.

[0103] In one embodiment, multiple sub-computing tasks are generated based on the target computing task, and the target location associated with each sub-computing task is determined. This includes receiving process information sent by each mobile computing execution device, where each sub-computing task corresponds to a process, and determining the target location associated with each sub-computing task. Optionally, each mobile computing execution device sends its local process ID and the process IDs of its neighbors (i.e., adjacent mobile computing execution devices) to the control unit via wireless communication. The control unit integrates the information sent by all mobile computing execution devices, calculates the target computing task and target location for each mobile computing execution device, and sends this information to the mobile computing execution devices. After a mobile computing execution device moves to the target location, it establishes a communication connection with adjacent mobile computing execution devices through a communication unit to perform data exchange and transmission. The movement method of the mobile computing execution devices can refer to the above embodiment and will not be repeated here.

[0104] To address the technical problem of reduced computational efficiency caused by changes in communication relationships due to changes in computational tasks over execution time—specifically, the problem of dynamic load variation in existing technologies—the variable-structure parallel computing system provided in this invention can adjust the target positions of each mobile computing execution device and the communication connections between them and other mobile computing execution devices by controlling the topology information of the processes. This ensures that the topology information formed between the mobile computing execution devices after the position adjustment matches the topology information of the processes sent by the application, thereby improving the communication efficiency between the mobile computing execution devices and further enhancing the computational efficiency of the variable-structure parallel computing system.

[0105] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.

Claims

1. A portable computing execution device, characterized in that, It includes a mobile unit, a functional unit, and a communication unit, wherein: The moving unit is used to determine a target moving path based on the target location, and to move the movable computing execution device to the target location according to the target moving path; The functional unit is used to perform target computation tasks associated with the target location; the functional unit includes a dedicated computing unit and a dedicated storage unit, and the dedicated computing unit is a heterogeneous computing system. The communication unit is used to establish a communication connection with an adjacent execution device of the portable computing execution device, and to transmit task computing information with the adjacent execution device through the communication connection. The mobile unit includes sensors, a processor, and an actuator, wherein: The sensor is used to collect environmental information and send the environmental information to the processor; The processor is configured to determine a planned movement path based on the target location, determine a target movement path based on the planned movement path and the environmental information, and control the actuator according to the target movement path; The actuator is used to move the movable computing execution device to the target location according to the processor control; The processor includes a microcontroller and a central processing unit; The step of determining the target movement path based on the planned movement path and the environmental information, and controlling the actuator according to the target movement path, includes: the microcontroller integrating environmental information collected by the sensors and sending it to the central processing unit via a serial port; the central processing unit integrating the environmental information collected by each sensor, combining it with the planned movement path to determine the real-time target movement path, and generating a speed command based on the target movement path and sending it to the microcontroller; and the microcontroller receiving the speed command sent by the central processing unit and controlling the actuator to execute in real time. The step of moving the portable computing execution device to the target location according to the processor control includes: The movable computing execution device is moved to the target position using at least one active driving method selected from dual-wheel differential drive, quadcopter drive, propeller drive, and track drive, or a passive method driven by a robotic arm.

2. The device according to claim 1, characterized in that, The actuator includes a power supply, which is powered via a wired or wireless means.

3. The device according to claim 1, characterized in that, The sensor includes at least one of an infrared sensor, a motion processing sensor, a lidar, an ultrasonic sensor, and a depth camera.

4. The device according to claim 1, characterized in that, The mobile unit is a nanoelectromechanical system (MEMS) or a biochemical system, which includes microactuators and microsensors. Moving the movable computing execution device to the target location according to the target movement path includes: The micro-actuator is used to move the movable computing execution device to the target position based on the micro-sensor. The micro-actuator is at least one of electrostatic micro-motor, colloidal motor, protein motor, and carbon nanotube motor.

5. The device according to claim 1, characterized in that, The dedicated computing unit includes at least one of a graphics processor and a many-core processor, as well as a central processing unit and memory; the dedicated storage unit includes a central processing unit, external memory, storage chips, and external storage.

6. The device according to claim 1, characterized in that, The communication connection includes at least one of the following: wireless network connection, wired network connection, optical communication connection, and direct connection of device-to-device communication connection.

7. The device according to claim 1, wherein the communication unit has at least one port, the port being connected to the functional unit for receiving task calculation information sent by the functional unit, and / or transmitting task calculation information received by the communication unit from the adjacent execution device to the functional unit.

8. The device according to claim 1, wherein the communication unit has at least one port connected to the adjacent execution device, for receiving task calculation information sent by the adjacent execution device, and / or transmitting the task calculation information received by the communication unit from the functional unit to the adjacent execution device.

9. A control method for a portable computing execution device, characterized in that, Performed by the portable computing execution device according to any one of claims 1-8, comprising: The mobile unit determines the target movement path based on the target location, and moves the mobile computing execution device to the target location according to the target movement path; The target calculation task associated with the target location is executed based on the functional unit; A communication connection is established between the mobile computing execution device and an adjacent execution device based on the communication unit, and task calculation information is transmitted with the adjacent execution device through the communication connection.

10. A variable-structure parallel computing system, characterized in that, It includes a control unit and at least two portable computing execution devices according to any one of claims 1-8, wherein: The control unit is configured to generate multiple sub-computation tasks based on the target computation task, determine the target location associated with the sub-computation tasks, and send the sub-computation tasks and the target location to the associated mobile computation execution device. The mobile computing execution device is used to determine a target movement path based on the target location, move the mobile computing execution device to the target location based on the target movement path, execute the sub-computation task associated with the target location, and transmit task calculation information to the adjacent execution device through a communication connection established with the adjacent execution device.

11. The system according to claim 10, characterized in that, The portable computing execution device is also used for: The device type is determined based on the sub-computing task corresponding to the target location. Based on the device type, some components from the mobile unit, the functional unit, and the communication unit are selected and combined to obtain the mobile computing execution device.

12. The system according to claim 10, characterized in that, The step of generating multiple sub-computation tasks based on the target computation task and determining the target location associated with the sub-computation tasks includes: Receive process information sent by each of the mobile computing execution devices, where each sub-computing task corresponds to a process, and determine the target location associated with the sub-computing task.

Citation Information

Patent Citations

  • Task processing method and task processing device of heterogeneous chip, and electronic equipment

    CN111142938A

  • Robot and robot system who corresponds

    CN206920923U