WO2021148015A1 - 一种计算机系统 - Google Patents

一种计算机系统 Download PDF

Info

Publication number
WO2021148015A1
WO2021148015A1 PCT/CN2021/073406 CN2021073406W WO2021148015A1 WO 2021148015 A1 WO2021148015 A1 WO 2021148015A1 CN 2021073406 W CN2021073406 W CN 2021073406W WO 2021148015 A1 WO2021148015 A1 WO 2021148015A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
target
nodes
network structure
data
Prior art date
Application number
PCT/CN2021/073406
Other languages
English (en)
French (fr)
Inventor
沈寓实
汝聪翀
姚正斌
马传军
Original Assignee
飞诺门阵(北京)科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202010076227.XA external-priority patent/CN110932920B/zh
Priority claimed from CN202010076232.0A external-priority patent/CN110928693B/zh
Priority claimed from CN202010076233.5A external-priority patent/CN110928694B/zh
Application filed by 飞诺门阵(北京)科技有限公司 filed Critical 飞诺门阵(北京)科技有限公司
Priority to US17/794,468 priority Critical patent/US11706076B2/en
Publication of WO2021148015A1 publication Critical patent/WO2021148015A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • H04L41/045Network management architectures or arrangements comprising client-server management architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/04Network management architectures or arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

Definitions

  • the present invention relates to the field of communication technology, in particular to a computer system.
  • the current computer system is mainly based on CPU (central processing unit, central processing unit).
  • CPU central processing unit, central processing unit
  • big data algorithms are subject to the word length accuracy of the CPU, which is a serial reading and computing
  • CPU-based computer systems will not be able to meet the current large-concurrency computing requirements.
  • the current network adopts the principle of best effort in the case of extremely narrow bandwidth. Each data packet in the network needs to perform protocol operations, which wastes the computing power of the chip.
  • the original network architecture continues to retransmit after errors.
  • the method of sacrificing quality control traffic can no longer meet the massive data caused by artificial intelligence and blockchain. And the explosive demand for a large amount of computing power.
  • the present invention provides a computer system to meet the explosive demand of massive data and massive computing power caused by artificial intelligence and blockchain to a certain extent.
  • An embodiment of the present invention provides a computer system including a plurality of computing devices, the computing device includes a storage unit and at least one computing unit connected in parallel, the multiple computing devices are divided into a plurality of nodes, and the plurality of computing devices are divided into a plurality of nodes. Nodes make up the network topology;
  • a communication device comprising: an autonomous domain building module and a first communication module, the autonomous domain building module is used to detect that a target node among the multiple nodes meets the resource requirements of a preset type of service
  • the target node is controlled to form at least one level of autonomous domain
  • the first level of autonomous domain includes at least one autonomous domain
  • one autonomous domain includes at least one target node
  • the first communication module is used to connect the multiple Computing device communication connection;
  • the task processing equipment includes: an addressing module and a task processing module, the addressing module is used to address the first type of node and the second type of node in the network topology, the first The first type of node is a node that provides target data required by the target task to be executed, the second type of node is a node that provides the target algorithm required by the target task, and the addressing module is respectively connected to the storage unit and The computing unit is connected; the task processing module is used to interact with the first-type node and the second-type node, so that the second-type node uses the target algorithm to provide the first-type node The target data is processed.
  • the computer system of the embodiment of the present invention includes multiple computing devices, communication devices, and task processing devices.
  • the multiple computing devices are divided into multiple nodes, and the multiple nodes form a network topology.
  • Each computing device includes a parallel connection.
  • the communication device includes an autonomous domain building module and a first communication module for communicating with multiple computing devices.
  • the task processing device includes an addressing module and a task processing module. It can be seen from this that the embodiment of the present invention
  • the computer system no longer distinguishes between calculation and network, but melts calculation and storage into the network, parallels calculation and storage, which can increase the speed of data processing, and can realize communication in the network topology based on communication equipment.
  • the addressing module and the task processing module task processing can be carried out more quickly, to a certain extent, to meet the explosive demand for massive data and a large amount of computing power caused by artificial intelligence and blockchain.
  • Fig. 1 is a structural block diagram of a computer system in an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a single-layer network structure in a network topology structure in an embodiment of the present invention
  • Figure 3 is one of the schematic diagrams of the distribution of nodes involved in the addressing process in the network topology in the embodiment of the present invention
  • 5 is the third schematic diagram of the distribution of nodes involved in the addressing process in the network topology structure in the embodiment of the present invention.
  • FIG. 6 is the fourth schematic diagram of the distribution of nodes involved in the addressing process in the network topology structure in the embodiment of the present invention.
  • Figure 7 is a schematic diagram of an example of a network topology in practical application.
  • FIG. 8 is a schematic diagram of the principle of a pipeline processing method in a network topology structure in an embodiment of the present invention.
  • Figure 9 is a schematic diagram of an autonomous domain formed by a network topology in an embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of the network topology in the real-time example of the present invention connected to the existing Internet through an exoskeleton network;
  • FIG. 11 is a structural block diagram of a computing device in an embodiment of the present invention.
  • Fig. 12 is a structural block diagram of another computing device in an embodiment of the present invention.
  • An embodiment of the present invention provides a computer system.
  • the computer system includes a plurality of computing devices, the computing device includes a storage unit connected in parallel and at least one computing unit, and the multiple computing devices are divided Is a plurality of nodes, and the plurality of nodes constitute a network topology structure, wherein one node includes at least one unit circuit of the storage unit and the calculation unit, or the storage unit and at least one calculation unit, Or one said computing device, or multiple said computing devices;
  • a communication device comprising: an autonomous domain building module and a first communication module, the autonomous domain building module is used to detect that a target node among the multiple nodes meets the resource requirements of a preset type of service
  • the target node is controlled to form at least one level of autonomous domain
  • the first level of autonomous domain includes at least one autonomous domain
  • one autonomous domain includes at least one target node
  • the first communication module is used to connect the multiple Computing device communication connection;
  • the task processing equipment includes: an addressing module and a task processing module, the addressing module is used to address the first type of node and the second type of node in the network topology, the first The first type of node is a node that provides target data required by the target task to be executed, the second type of node is a node that provides the target algorithm required by the target task, and the addressing module is respectively connected to the storage unit and The computing unit is connected; the task processing module is used to interact with the first-type node and the second-type node, so that the second-type node uses the target algorithm to provide the first-type node The target data is processed.
  • the autonomous domain component module, the first communication module, the addressing module, and the task processing module may be set inside the node, or may be set independently of the node.
  • the target task may be sent by other nodes, or it may be executed by its own node under predetermined conditions.
  • 100 nodes form a network topology structure, where the node numbered 1 needs a video composed of source video material and AR material
  • the addressing module will be in the network topology structure Look for nodes that can provide the source video materials required by the task, nodes that can provide AR materials needed for the task, and nodes that can perform video synthesis; for example, the node that can provide source video materials is numbered
  • the node numbered 2 and the node that can provide AR materials is the node numbered 3
  • the node that can be used for video synthesis is the node numbered 4
  • the task processing module will control the node numbered 1 to match the numbered node 2, 3, 4 nodes interact to complete the task.
  • the task processing module controls the node numbered 1 to send instruction information to the node numbered 2, so that the node numbered 2 sends the source video material stored in its storage unit to the node numbered 4; task processing module Control the node numbered 1 to send instructions to the node numbered 3 so that the node numbered 3 sends the AR material stored in its storage unit to the node numbered 4 to the node numbered 4; the task processing module controls the number
  • the node numbered 1 sends an instruction message to the node numbered 4 so that several computing units in the node numbered 4 perform video synthesis according to the received source video material and the AR model, and after completing part of the data synthesis, It is cached in the storage unit of the node numbered 4, so that the storage unit storing the synthesized data transmits the synthesized data to the node numbered 1, and then saves it in the storage unit of the node numbered 1.
  • the computer system of the embodiment of the present invention includes multiple computing devices, communication devices, and task processing devices.
  • the multiple computing devices are divided into multiple nodes, and the multiple nodes form a network topology.
  • the device includes a storage unit and a computing unit connected in parallel.
  • the communication device includes an autonomous domain building module and a first communication module for communicatively connecting multiple computing devices.
  • the task processing device includes an addressing module and a task processing module.
  • the computer system of the embodiment of the present invention no longer distinguishes between calculation and network, but melts calculation and storage into the network, parallels calculation and storage, thus can increase the data processing speed, and can realize network topology based on communication equipment
  • the communication of the network can be processed more quickly, and to a certain extent, it can meet the explosive demand of massive data and a large amount of computing power caused by artificial intelligence and blockchain.
  • the network topology includes at least one layer of network structure (that is, the multiple nodes form at least one layer of network structure), and the value ranges of data transmission delays corresponding to different layers are different, which are different from those of the first target layer network.
  • the data transmission delay corresponding to the structure includes a data transmission delay from a node in the first target layer network structure to a target node, and the first target layer network structure is any layer of the network structure.
  • each layer of the network structure includes at least one ring structure, and each ring structure includes multiple nodes; wherein, the nodes in each ring structure are connected end to end, and each ring structure is The numbering sequence of the nodes in the state structure, the node with an odd number is connected to the next node of its neighboring node, or the node with an even number is connected to the next node of its neighboring node.
  • the network topology structure physically adopts a flat network structure
  • the left and right nodes use addresses as the unique identification
  • the entire network nodes can divide the address space geographically, which is convenient for hot plugging and adopts a layered layout.
  • the entire network is divided into multiple levels according to addresses, and all nodes within a single layer are interconnected.
  • Each layer of the network uses the same loop topology, and the layers are connected vertically.
  • connection mode of the ring structure is not limited to this, and a plurality of nodes included in each ring structure may be connected to the end and connected to the next node of its neighboring node.
  • the network topology includes a fault-tolerant network with multiple layers in series and loops, where each layer has the same structure, each layer uses the same loop topology, and the layers are connected vertically.
  • there is no connection across two or more layers in this structure which simplifies the software structure and system management.
  • the communication loops with different intervals in the layer ensure that any two points in the loop (including the extraction of the PCB board) fail, the loop will not be interrupted, and normal communication will be maintained.
  • connection paths between adjacent two-layer network structures there are at least two connection paths between adjacent two-layer network structures.
  • the third node of the first-level network structure is connected to the fourth node of the second-level network structure
  • the fifth node of the first-level network structure is connected to the sixth node of the second-level network structure, that is, the first-level network structure is connected to the fourth node of the second-level network structure.
  • the computing device further includes:
  • PCB single board, the storage unit and the calculation unit are located on the PCB single board;
  • a board frame, the PCB single board is arranged on the board frame;
  • a chassis, the plate frame is located in the chassis
  • a computer room where the chassis is located in the computer room
  • a first data management center where the first data management center includes at least two computer rooms;
  • a second data management center where the second data management center includes at least two of the first data management centers.
  • the computing device includes a storage unit and a computing unit, and both the storage unit and the computing unit are provided with a virtual management unit circuit for communication and management, and are connected to an external physical communication interface, so that the storage unit and the computing unit are connected Parallel, parallel between different computing units. It can be seen from this that the computing device in the embodiment of the present invention no longer distinguishes between computing and network, but melts computing and storage into the network, and sets the computing unit to have a unified interface for external communication to parallel computing and storage, thereby It can increase the data processing speed and meet the explosive demand of massive data and massive computing power triggered by artificial intelligence and blockchain to a certain extent.
  • these nodes form an eight-layer network structure, where the nodes of the first-layer network structure S (silicon) are the unit circuits of the computing unit, and the internal programmable Circuit structure and management; the nodes of the second-layer network structure B (board) are the computing units, that is, within a single-board PCB, between multiple chips, 10Gbps communication within a single PCB, board-level management; third-layer network structure
  • the node of F (frame) is a single PCB board, that is, in a single frame, between multiple PCBs, and between backplanes, 10Gbps communication is wired in the PCB, and it is fully connected;
  • the node of the fourth layer network structure C (cabinet) is the board frame, In a single cabinet, between the board and the frame, the optical fiber 10Gbps communication between the frames is fully connected; the nodes of the fifth-layer network structure D (district) are the cabinets, that is, they are divided into blocks in the data center and between
  • the on-demand incomplete optical fiber network in the computer room, 10Gbps; the node of the sixth layer network structure Z (zone) is the computer room, that is, it is partitioned in the data center and between multiple computer rooms.
  • the on-demand incomplete optical fiber network in the computer room, 10Gbps; the seventh-layer network structure E (enterprise) node is the first data management center, and the wide-area optical fiber is configured on demand, and the Internet carries the entire network management; the eighth-layer network structure W
  • the (world) node is the second data management center, which is configured with wide-area optical fiber, Internet bearer, and entire network management on demand.
  • the division form of each layer of the network structure is not limited to this.
  • the above-mentioned eight-layer network structure can be positioned by eight groups of 8 bits for a total of 64 bits.
  • this network topology design can meet the demand for a long period of time in the future.
  • the scale of the network is not enough to meet application requirements, the network topology can easily add more layers of network structure on top of the data center (ie, layer W).
  • the network topology structure in the embodiment of the present invention covers chips, devices, and data centers, and a huge computing system is considered as a whole in a resource domain.
  • the hardware capacity can be expanded indefinitely, the software can be reused, and the structure can be multi-layer socketed.
  • the network topology can define three kinds of hardware resources, and use a unified 64-bit address to uniquely locate them.
  • the first type, small-grain resources refers to the resources with complete functions inside the chip, and the location is marked with the address segment S (Silicon).
  • the second type, single board resources refers to the internal resources of the board with complete functions, and the location is marked with address segment B (Board).
  • the third type, multi-card combined resources refers to multi-card integrated resources assembled by independent boards, including combinations of various cabinets and computer rooms. There are 6 levels, which are marked with address segments F (Frame), C (Cabinet), D (District), Z (Zone), E (Enterprise), and W (World).
  • the data granularity can be unified, that is, 1Kb data packets.
  • the computer system of the embodiment of the present invention allocates different tasks as needed in a super resource pool. It can be compared with the reading and writing process of a single hard disk. Each time a new file is written to the hard disk, it occupies a portion of the hard disk resources. Every time a file is deleted, the occupied resources are released. Due to the different size of each file, many fragmented storage resource fragments are left after multiple writes and deletions. In order not to waste these fragmented resources, system scheduling is required to make full use of these fragments and have the ability to manage any data slice in the hard disk.
  • the computer system of the embodiment of the present invention can independently and finely schedule transmission/switching/storing/management of multiple resources. All of the above resources form a unified structure, which can perform a single task, or distribute resources from designated locations, and perform countless independent tasks at the same time.
  • the resources of the computer system in the embodiment of the present invention use 1KB data packets as the nominal management granularity, and take integer multiples of 1KB data packets as the unit.
  • the three elements of the data packet of the computer system of the example of the present invention are: 1) a fixed format. 2) Unlimited definition. 3) The only interpretation. All information and data of the computer system of the example of the present invention adopts a uniform format of 1KB, which is called in-band information. Correspondingly, in the process of data transmission and storage, auxiliary information needs to be added for data integrity, which is called out-of-band information.
  • the fixed length of 1Kbyte can express a short message, and can also be expanded into a video file composed of countless data packets as needed. 1KB is 512word, 1word is equal to 2byte, 1byte is equal to 8bit, and 1word is equal to 32bit.
  • the computing device includes a storage unit and at least one computing unit, the storage unit includes a first virtual management unit circuit for communicating and managing the storage unit, and the computing unit It includes a second virtual management unit circuit for communicating and managing the computing unit, and the first virtual management unit circuit and the second virtual management unit circuit are respectively connected to external physical communication interfaces.
  • the first virtual management unit circuit is a unit circuit in which a storage unit stores a program for implementing communication (including internal communication and external communication of the node) and managing the storage unit (for example, resource management).
  • the second virtual management circuit is a unit circuit in which a computing unit stores a program for implementing communication (including internal communication and external communication of the node) and managing the computing unit (for example, resource management).
  • both the storage unit and the computing unit are provided with a virtual management unit circuit for communication and management, and are connected to an external physical communication interface, that is, the storage unit and the computing unit are in parallel, and different computing units are in parallel. It can be seen that any two of all the computing units and storage units included in the computing device in the embodiment of the present invention are connected in parallel.
  • the virtual management unit circuits of the storage unit and the computing unit are both connected to the external physical communication interface, that is, the storage unit and the computing unit included in the computing device in the embodiment of the present invention are provided with a unified external communication interface, thereby external physical communication
  • the information commands transmitted by the interface can directly enter the computing unit and storage unit.
  • the computing device in the embodiment of the present invention no longer distinguishes between computing and network, but melts computing and storage into the network, parallels between computing units, and parallels between storage units and computing units, and sets The unified interface for external communication can increase the calculation speed and meet the explosive demand for massive data and a large amount of computing power caused by artificial intelligence and blockchain to a certain extent.
  • the computing device in the embodiment of the present invention does not include a CPU (central processing unit, central processing unit), so that it can be expanded infinitely.
  • the calculation unit includes a programmable logic device. It can be seen from this that the computing unit of the computing device in the embodiment of the present invention may be composed of a programmable logic device.
  • logic devices are electronic devices used to implement certain characteristic logic functions.
  • the simplest logic devices are AND, OR, NOT gates, etc., on this basis, complex timing and combinational logic functions can be realized.
  • the programmable logic device its function is not fixed, but can be changed according to the needs of users, that is, the logic function of the device is determined by the method of programming.
  • the computing unit included therein includes a programmable logic device, so that the computing unit of the computing device can change the functions that can be implemented according to the needs of the user, that is, the computing device in the embodiment of the present invention
  • the various computing units of the computing unit are no longer the only function, but can be programmed to realize different logic functions, that is, to realize different algorithms, so that the bandwidth of the computing device in the embodiment of the present invention can be dynamically configured.
  • the second virtual management unit circuit when the second virtual management unit circuit obtains the hardware architecture adjustment instruction, it controls the programmable logic device to perform hardware architecture adjustment according to the hardware architecture adjustment instruction.
  • the hardware architecture adjustment instruction may be sent by the network side or automatically generated under preset conditions.
  • the computing device can be based on the instruction from the network side or can be autonomous Adjust the hardware architecture of the programmable logic device, that is, adjust the logic function of the programmable logic device. While multiple computing devices are divided into multiple nodes, some nodes can also adjust the hardware architecture. Therefore, the nodes in the embodiments of the present invention can also support node function slicing, and can be used not only as transit nodes, but also as transit nodes. Control node, service node, etc.
  • the programmable logic device is an FPGA array. That is, when the computing unit included in the computing device in the embodiment of the present invention includes a programmable logic device, the programmable logic device may be an FPGA.
  • FPGA is a programmable device, which can realize any calculation in theory. However, considering efficiency, FPGA is suitable for parallel calculation and pipeline calculation. Typical calculations include AI (Artificial Intelligence), video transcoding, search, etc. Therefore, the computing device in the embodiment of the present invention supports high-speed access, can be plugged and unplugged, and can be expanded at will. It can be understood that the computing unit included in the computing device in the embodiment of the present invention includes a programmable logic device or may be another programmable logic device other than an FPGA.
  • the FPGA is used as an independent resource and works without the CPU, and the FPGA resource can be used by dicing. That is, there can be a fixed module in the FPGA to complete the following functions:
  • the FPGA in the embodiment of the present invention can be independent of network communication without relying on CPU control, and can flexibly use FPGA resources for different tasks and update them in real time.
  • the computing device further includes an MCU, and the MCU is connected to the FPGA.
  • some FPGAs include an MCU, and some FPGAs do not include an MCU.
  • the computing device in the embodiment of the present invention includes an FPGA, it may further include an MCU to assist in managing the FPGA.
  • the MCU may be set inside the computing unit and connected to the FPGA, or the MCU may be set in the content of the storage unit, or the MCU may be set independently of the computing unit and the storage unit.
  • the first virtual management unit circuit and the second virtual management unit circuit are respectively connected to the external physical communication interface through a high-speed bus, and at the same time, the computing unit and the storage unit are connected through a high-speed bus, thereby
  • the high-speed bus connection between the computing unit and the storage unit guarantees the IO speed of the data.
  • the high-speed reading and writing of multiple channels of data can be realized.
  • the stored data can also be structured offline according to business requirements.
  • the external physical communication interface includes an optical fiber interface or a network interface.
  • the optical fiber interface is a physical interface used to connect an optical fiber cable.
  • the computing unit is connected with the optical fiber interface, so that the external bandwidth of the computing device can be guaranteed and the real-time communication requirements can be met.
  • the computing device in the embodiment of the present invention can adopt an FPGA structure in which the computing unit and the storage unit are parallel, and each hardware computing unit uses the FPGA array as the main operation and control carrier, and is equipped with a small number of MCU control units. Auxiliary management.
  • the computing device further includes:
  • the second communication module respectively connected to the storage unit, the computing unit and the external physical communication interface is used to determine the first remaining resources of the computing device to which the second communication module belongs when the resource request instruction is received ;
  • the resource modules respectively connected to the storage unit, the computing unit, the external physical communication interface, and the second communication module are configured to obtain required resource information according to the resource request instruction, and the required resource
  • the information includes at least one resource selection method
  • the resource module is further configured to allocate resources according to the first remaining resources and the resource selection method included in the required resource information;
  • the resource includes at least one of the storage unit, the calculation unit, a unit circuit in the storage unit, and a unit circuit in the calculation unit.
  • the resources of the computing device can be granular with the unit circuits of the computing device.
  • the resources include lut (Look-Up-Table), reg (register resource), dsp (digital signal processor), mem (storage Resources) and io (input/output) and communication bandwidth.
  • the computing device when the computing device receives the resource request instruction sent by the network side, it will count the remaining resources at the current moment, that is, the first remaining resource, so as to determine whether the current remaining resources can satisfy the network side. Resource request.
  • the resource request instruction includes the hardware type (ie IP core type) that implements the algorithm, resource requirement information, and communication requirement information.
  • the data packet corresponding to the resource request instruction may be 1 kb in length and have a fixed format.
  • the resource request command can set the command frame header, and the computing device can read the content of the corresponding length according to the command frame header.
  • the required resource information includes at least one resource selection method. That is, the network side will carry at least one resource selection method corresponding to the function to be implemented in this resource request in the resource request instruction, and the computing device will use its current remaining resources and at least one resource selection method indicated by the network side , To allocate resources for this resource request instruction. It can be seen from the above that, in the embodiment of the present invention, the unit circuit in the computing device can be calculated as the resource granularity, resource allocation can be performed, and resources can be flexibly allocated according to the resource request instruction issued by the network side.
  • the resource module includes:
  • the first determining submodule is configured to determine a first resource selection method that can be satisfied by the first remaining resources, and a second resource selection method that cannot be satisfied by the first remaining resources, the first resource selection method and the The second resource selection methods are at least one of the resource selection methods included in the required resource information;
  • a second determining submodule configured to determine a second remaining resource after the first remaining resource satisfies the first resource selection method
  • the feedback submodule is configured to feed back information about the first resource selection mode, the second resource selection mode, and the second remaining resource to the device that sends the resource request instruction.
  • the computing device will determine the resource selection methods it can support and the resource selection methods it cannot support based on at least one resource selection method indicated by the network side and its own current remaining resources, and calculate according to its own resource selection method.
  • Supported resource selection methods The remaining resources after allocating resources, and then reporting the resource selection methods supported by itself and the remaining resources after allocating resources according to the resource selection methods supported by itself to the network side.
  • the computing device when the computing device receives the resource request instruction issued by the network side, it obtains the required resource information from the resource request instruction (for example, there are three algorithms for the function to be implemented by the corresponding instruction, the storage and algorithm required for different algorithms, etc.
  • the number of units is different.
  • the computing device will obtain whether its remaining resources can implement one of the algorithms, for example, the first algorithm can be implemented. This algorithm will also calculate the remaining resources after the first algorithm is implemented. Then it reports which algorithm it can support and the subsequent remaining resource situation to the network side.
  • the network side issues instructions to implement a certain AI inference function, including a set of hardware (IP cores) and network structures that need to implement algorithms for deep learning calculations
  • IP cores hardware
  • IP cores hardware
  • network structures that need to implement algorithms for deep learning calculations
  • FPGAs fill in feedback according to their current resource conditions, which can support and which can’t.
  • the network After the network processes the feedback from each FPGA device, it determines who calculates, and issues calculation instructions and hardware that implements the algorithm (ie IP core).
  • FPGA downloads the hardware that implements the algorithm (ie IP core), completes the calculation, and then releases resources.
  • FPGA can also respond to resource requests for several different tasks at the same time, and if the resources are permitted, use local resources to download IP, compose corresponding data packets, and feed back the results of different tasks.
  • the computing device can also directly report the first remaining resources counted when it receives the resource request instruction sent by the network side to the network side, and the network side determines the resource selection method that can be satisfied by the first remaining resource and the unsatisfiable resources. Select a method, and calculate the remaining resources of the computing device after allocating resources to the computing device according to the resource selection method that can be satisfied by the first remaining resources, and return this information to the computing device.
  • Sending can also be sent according to a newly defined frame format in advance.
  • the target node forms at least one layer of autonomous domains, and the first layer of autonomous domains includes at least one autonomous domain, At least one target node is included in an autonomous domain.
  • the autonomous domain is a logical concept generated by optimizing resources for services.
  • the target node includes at least a part of a plurality of nodes in the network topology structure.
  • the network topology includes twelve nodes numbered from 1 to 12.
  • the nodes numbered 1, 2, and 3 form a lower-level autonomous domain
  • the nodes numbered 5, 6, and 7 form another lower-level autonomous domain.
  • the node numbered 3 and the node numbered 6 form a layer of autonomous domains, that is, the network topology shown in Figure 9, forming two layers of autonomous domains.
  • the lower layer of autonomous domains includes two
  • the upper layer of autonomous domains includes one autonomous domain.
  • this is just an example for illustration, and it is not limited to the network topology including only twelve nodes, and it is not limited to the autonomous domain but the form shown in FIG. 9.
  • the resource requirements include data, bandwidth, computing power, and algorithms, so that the corresponding type of service can be executed in the corresponding autonomous domain, so as to avoid searching for resources required to execute the service on the entire network topology, causing processing time delay.
  • the time delay between any two nodes in an autonomous domain is less than a preset threshold. Therefore, when a certain task is executed in an autonomous domain, the data transmission speed will be lower. It can be seen from this that the autonomous domain formed by the network topology structure in the embodiment of the present invention logically group nodes according to resource requirements corresponding to different service types.
  • the network topology in the embodiment of the present invention automatically creates at least one layer of autonomous domains when it is detected that at least some of the nodes meet the resource requirements of a preset type of service, where one layer of autonomous domains includes At least one autonomous domain, and one autonomous domain includes at least two nodes, that is, the network topology in the embodiment of the present invention can group nodes according to actual resource requirements, so that the grouping of nodes can be dynamically changed, so that subsequent Execute the corresponding business in the autonomous domain that meets the actual resource requirements, thereby improving the execution speed of the business, accelerating the processing of the big burst data, and meeting the massive data and computing power caused by artificial intelligence and blockchain to a certain extent. Outbreak of demand.
  • control nodes of the first-level autonomous domain form a second-level autonomous domain
  • the first-level autonomous domain and the second-level autonomous domain are adjacent two-level autonomous domains.
  • the first-level autonomous domain includes autonomous domains a, b, c, and d, where the control node in each autonomous domain, for example, the control node in autonomous domain a is node A, and the control node in autonomous domain b is node B , The control node in autonomous domain c is node C, and the control node in autonomous domain d is node D.
  • Nodes A, B, C, and D form two second-level autonomous domains (for example, A and B form a second Level autonomous domain, C and D form a second level autonomous domain); then, two second level autonomous domain control nodes form a third level autonomous domain, for example, the two second level autonomous domain control nodes are respectively A , C, then nodes A and C form the third layer of autonomous domain.
  • the first-tier autonomous domains and the second-tier autonomous domains belong to adjacent autonomous domains
  • the second-tier autonomous domains and the third-tier autonomous domain belong to adjacent autonomous domains.
  • the network topology structure of the embodiment of the present invention supports local self-organization management.
  • the self-organizing area is self-organized according to nearby nodes, and a single node can participate in multiple autonomous domains.
  • the node periodically broadcasts capability information, specifies the control node of the autonomous domain through election, and then the upper level of the autonomous domain is elected among the central control nodes, thereby forming a network topology similar to the nervous system, where each The processing and storage modules of nodes are analogous to dendrites, the external communication module of each node is an axon, the transit node is a synapse, and each node is a cell body.
  • the network topology structure further includes at least one format conversion device for converting between the first data format and the second data format, and the format conversion device is connected to at least one node of the network topology structure With other networks;
  • the first data format is used to transmit data in the network topology
  • the second data format is used to transmit data in the other networks.
  • the format conversion device can be regarded as an exoskeleton network connecting the network topology and the other networks.
  • the network topology is deployed in a single computer room or multiple computer rooms connected by transparent optical fibers, which can be regarded as a super local area network. You can use a more secure and effective communication method without complying with the traditional Internet protocol. Just install a few format conversion devices on the in and out ports to convert the Internet’s TCP/IP format into the instructions used for the network topology to transmit data. Existing networks are compatible, sharing wide-area optical fiber resources with the existing Internet. Wherein, if the network topology structure is deployed in multiple independent areas, passing through the public network, leading to the residential area access network, connecting to the wireless network, etc., it is necessary to convert all the command formats between the topology network structure and the Internet .
  • the storage and switching integrated machine and the computing and switching integrated machine form the nodes of the network topology.
  • the network topology composed of such nodes is connected to the Internet through the signaling channel + format conversion equipment.
  • the network topology The structure and the Internet can share optical fiber resources.
  • the exoskeleton network can greatly reduce the cost of network construction, and the overall efficiency and scale will far exceed the traditional Internet.
  • the next-generation Internet is only a by-product of the above-mentioned network topology. When the above-mentioned network topology is large enough, the traditional Internet will naturally be marginalized.
  • the above-mentioned network topology itself is a combination of computing and network.
  • the service of the above network topology can be directly delivered to the user terminal.
  • the above-mentioned network topology simultaneously subverts the computer and Internet infrastructure, and will usher in a huge new era of artificial intelligence and sensory networks.
  • the network topology structure includes at least one layer of network structure
  • the addressing module includes:
  • the first addressing sub-module is used to address the first type of node in the first layer network structure according to the first relevant parameter of the target data, and to address the first type of node in the first layer of the network structure according to the second relevant parameter of the target algorithm. Addressing the second-type node in the first-layer network structure, and the first-layer network structure is the network structure of the layer where the node to which the addressing module belongs;
  • the second addressing submodule is configured to forward the first related parameters to the nodes of the second layer network structure when the first addressing submodule does not address the first type of node, and the first After receiving the first relevant parameter, the node of the second-layer network structure addresses the first-type node in the second-layer network structure;
  • the third addressing submodule is used to forward the second related parameters to the nodes of the second layer network structure when the first addressing submodule does not address the second type of node, so After the nodes of the second layer network structure receive the second related parameters, the second type nodes are addressed in the second layer network structure.
  • the first type of node is addressed in the first layer of network structure according to the first relevant parameter of the target data
  • the first type of node is addressed in the first layer of network structure according to the second relevant parameter of the target algorithm.
  • Addressing the second type of node in the target data that is, the node that can provide the target data is addressed in the layer according to the first related parameter of the target data
  • the node that can provide the target algorithm is in the layer according to the second related parameter of the target algorithm.
  • Content addressing within the layer In other words, addressing is performed through related parameters instead of real addresses, which can enhance a certain degree of security.
  • content addressing is performed in the layer, which reduces the scope of content addressing and reduces certain overhead.
  • the first relevant parameter is forwarded to the second-layer network structure, so that the second-layer network structure can continue to communicate according to the first relevant parameter.
  • the node that provides the target data is addressed. If the node that can provide the target data is still not addressed in the second-layer network structure, the nodes in the second-layer network structure continue to forward the first relevant parameters to other layers of the network
  • the structure stops addressing until a node that can provide target data is addressed, or until the entire addressing time for a node that can provide target data reaches a preset time.
  • the second relevant parameters are forwarded to the second layer network structure, so that the second layer network structure can continue according to the second relevant parameters Address the node that can provide the target algorithm. If the node that can provide the target algorithm is still not addressed in the second layer network structure, the nodes in the second layer network structure continue to forward the second relevant parameters to other layers
  • the network structure will stop addressing until the node that can provide the target algorithm is addressed, or until the addressing time of the entire node that can provide the target algorithm reaches the preset time.
  • the node that needs to perform the target task in the first layer network structure according to the required target content (including target data and target algorithm) related parameters, to provide the target content The node performs content addressing, and when it is not addressed in the first layer of the network structure, it directly forwards the relevant parameters to the other layer of the network structure, so that it is addressed again in the other layer of the network structure, until it finds the target content node.
  • target content including target data and target algorithm
  • each layer of the network structure in the above-mentioned network topology may have a control node or no control node.
  • the control node stores the capability information of all nodes in the network structure of this layer, that is, the other nodes except the control node in the network structure of one layer will periodically report their capability information to the control node of this layer.
  • a control node is set in each layer of the network structure, and when a control node is not set, the specific implementation manners are different.
  • the first addressing submodule includes:
  • the broadcasting unit is configured to broadcast the first related parameter and the second related parameter in the first layer network structure.
  • the first node that needs to perform the target task can be controlled by the broadcasting unit to directly broadcast the first relevant parameter in the first layer network structure, then After receiving the first relevant parameter, other nodes in the first-layer network structure can each determine whether they can provide target data.
  • the second addressing submodule includes:
  • the first sending unit is configured to control the first node to send the first relevant parameter to the third node through a path between the first node and the third node, where the first node is a
  • the node performing the target task after the third node receives the first related parameter, forwards the first related parameter to a fourth node, and the fourth node is located in the second layer network structure ,
  • the third node and the first node are both in the first-layer network structure, and the third node is connected to the fourth node.
  • the first-layer network structure and the second-layer network structure realize communication through the connection between the third node and the fourth node.
  • the broadcast unit controls the node that needs to perform the target task (that is, the first node) and does not receive feedback information from other nodes in the first-layer network structure within the preset time period after the first relevant parameter is broadcast, which means that the first-layer network There is no node that can provide target data in the structure, so you need to continue to look for other layers.
  • the first sending unit may control the first node to send the instruction information to the third node according to a communication link between the first node and the third node, so that the third node forwards the first related parameters to the The fourth node of the second-level network structure, thereby enabling the fourth node to continue to address nodes that can provide target data in the second-level network structure.
  • the fourth node receives the first relevant parameter sent by the third node, it broadcasts the first relevant parameter in the second-layer network structure, and other nodes in the second-layer network structure except the fourth node receive the first relevant parameter. After a related parameter, it will judge whether it can provide the target data. If so, it will feed back its own address to the fourth node through a connection from itself to the fourth node, so that the fourth node can further forward it to the fourth node. Three nodes, so that the third node further forwards to the first node through the communication link from the third node to the first node.
  • the process of addressing the node capable of providing target data in the embodiment of the present invention can be illustrated as shown in FIG. 3. That is, the first node A broadcasts the first related parameters in the first layer. After the preset time, the first node A does not receive feedback from other nodes in the first node, then the first node A passes to the third node A path of C sends instruction information to the third node. After receiving the instruction information, the third node sends the first relevant parameter to the fourth node D; the fourth node D broadcasts the first relevant parameter in layer 2.
  • the second node B After that, after the second node B receives the first relevant parameter, it determines that it can provide the target data, then the second node B passes through a path to the fourth node D, and feeds back its address to the fourth node D; the fourth node D Then the address of the second node B is forwarded to the third node C; the third node C sends the address of the second node B to the first node A through a path with the first node A.
  • the first node to the fourth node are drawn in layer one and layer two in FIG. 3.
  • the third addressing submodule includes:
  • the fifth sending unit is configured to control a path between the first node and the third node, and send the second related parameter to the third node, where the third node receives the second After the relevant parameters, the second relevant parameters are forwarded to the fourth node, the fourth node is located in the second layer network structure, the third node and the first node are both in the first layer In the network structure, the third node is connected to the fourth node.
  • the broadcast unit controls the node that needs to perform the target task (that is, the first node) and does not receive feedback information from other nodes in the first layer network structure within the preset time period after broadcasting the second related parameter, which means that the first layer network There is no node that can provide the target algorithm in the structure, so you need to continue to look for other layers.
  • the fifth sending unit may control the first node to send the instruction information to the third node according to a communication link between the first node and the third node, so that the third node forwards the second related parameters to the The fourth node of the second-layer network structure, thereby enabling the fourth node to continue to address nodes that can provide the target algorithm in the second-layer network structure.
  • the fourth node receives the second relevant parameter sent by the third node, it broadcasts the second relevant parameter in the second layer network structure, and then other nodes in the second layer network structure except the fourth node receive the second relevant parameter. After the second relevant parameters, it will judge whether it can provide the target data. If so, it will feed back its own address to the fourth node through a connection from itself to the fourth node, so that the fourth node can further forward it to the fourth node. Three nodes, so that the third node further forwards to the first node through the communication link from the third node to the first node.
  • the above example of addressing the node that can provide the target data can be taken into consideration, which will not be repeated here.
  • the nodes that can provide target data in the first-layer network structure will pass a path with the first node , Feed back its own address to the first node.
  • the node that can provide the target algorithm in the first-layer network structure will feed back its own address to the first node through a path with the first node.
  • the process of addressing a node capable of providing target data in the embodiment of the present invention can also be illustrated as shown in FIG. 4. That is, the first node A broadcasts the first related parameters in layer 1, and the second node B determines that it can provide the target data after receiving the first related parameters, then the second node B passes through a path to the first node A to The first node A feeds back its own address. Among them, for ease of understanding, the first node and the second node are drawn in each layer in FIG. 4.
  • a first control node is provided in the first layer network structure, and the first control node stores capability information of nodes in the first layer network structure;
  • the first addressing submodule includes:
  • the second sending unit is configured to control the first node to send the first related parameter to the first control node
  • the first node is a node that needs to perform the target task, and after receiving the first related parameter, the first control node performs the function according to the first related parameter and the first-layer network structure.
  • the capability information of the node addresses the first type of node.
  • the first control node when the first control node is set in the first layer network structure, since the first control node stores the capability information of the nodes in the first layer network structure, the first control node itself can determine Find out which node or nodes in the first-layer network structure can provide the target data. Therefore, the first node only needs to send the first relevant parameters to the first control node.
  • a second control node is provided in the second layer network structure, and the second control node stores capability information of the nodes in the second layer network structure; wherein, the second control node Used to receive the first related parameter sent when the first control node is not addressed to the first-type node, and based on the first related parameter and the capability of the node in the second-layer network structure The information addresses the first type of node.
  • the first control node makes a decision based on the capability information of the nodes in the first-layer network structure.
  • the first control node needs to send the first relevant parameters.
  • the second control node determines whether there is a node that can provide target data in the second-level network structure.
  • the first control node and the second control node are not directly connected (that is, the first control node is not directly connected to the node of the second layer network structure, or the second control node is not connected to the node of the first layer network structure Directly connected), for example, the third node of the first layer network structure is connected to the fourth node of the second layer network structure, and the third node and the fourth node are not control nodes, then the first control node to the second control node In the process of sending the first relevant parameter, the first control node first needs to send the first relevant parameter to the third node through the communication link with the third node; then, the third node forwards the first relevant parameter to The fourth node; finally, the fourth node sends the first relevant parameters to the second control node through the communication link with the second control node.
  • the second control node after the second control node receives the first relevant parameter, it can decide which node or nodes in the second-layer network structure can provide the target data according to the capability information of the nodes in the second-layer network structure, and when it exists When a node that can provide target data is available, the address of the node is fed back to the first control node of the first-layer network structure, so that the first control node can send it to the first node.
  • the process of addressing a node capable of providing target data in the embodiment of the present invention can be illustrated as shown in FIG. 5. That is, the first node A sends the first relevant parameters to the first control node E, and the first control node E decides that there is no node that can provide target content in this layer according to the capability information of the nodes in the first layer, the first The control node E sends the first relevant parameter to the third node C through a path with the third node C; the third node C forwards the first relevant parameter to the fourth node D; the fourth node D then sends the first relevant parameter to the fourth node D.
  • a related parameter is forwarded to the second control node F of the second layer.
  • the second control node F decides that there is a node that can provide the target content in this layer according to the capability information of the second node, that is, the second node B, then the second control node F
  • the control node F sends the address of the second node B to the fourth node D through a path with the fourth node D; the fourth node D then forwards the address of the second node B to the third node C; third Node C then sends the address of the second node B to the first control node E through a path with the first control node E, so that the first control node E can use a path with the first node A to connect the second node
  • the address of B is sent to the first node A.
  • only the first node to the fourth node and the first control node and the second control node are drawn in the first and second layers in FIG. 5.
  • a first control node is provided in the first layer network structure, and the first control node stores capability information of nodes in the first layer network structure;
  • the third addressing submodule includes:
  • a sixth sending unit configured to control the first node to send the second related parameter to the first control node
  • the first node is a node that needs to perform the target task, and after receiving the second related parameter, the first control node will perform according to the second related parameter and the value in the first-layer network structure.
  • the capability information of the node addresses the second type of node.
  • the first control node when the first control node is set in the first layer network structure, since the first control node stores the capability information of the nodes in the first layer network structure, the first control node itself can determine Find out which node or nodes in the first-layer network structure can provide the target algorithm. Therefore, only the sixth sending unit is required to control the first node to send the second related parameters to the first control node.
  • a second control node is provided in the second layer network structure, and the second control node stores capability information of the nodes in the second layer network structure; wherein, the second control node Used to receive the second related parameter sent when the first control node is not addressed to the second type node, and based on the second related parameter and the capability of the node in the second layer network structure The information addresses the second type of node.
  • the first control node makes a decision based on the capability information of the nodes in the first-layer network structure.
  • the first control node needs to send the second relevant parameters.
  • the second control node determines whether there is a node that can provide the target algorithm in the second-layer network structure.
  • the first control node and the second control node are not directly connected (that is, the first control node is not directly connected to the node of the second layer network structure, or the second control node is not connected to the node of the first layer network structure Directly connected), for example, the third node of the first layer network structure is connected to the fourth node of the second layer network structure, and the third node and the fourth node are not control nodes, then the first control node to the second control node In the process of sending the second related parameters, the first control node first needs to send the second related parameters to the third node through the communication link with the third node; then, the third node forwards the second related parameters to The fourth node; finally, the fourth node sends the second related parameters to the second control node through the communication link with the second control node.
  • the second control node after the second control node receives the second related parameters, it can decide which node or nodes in the second layer network structure can provide the target algorithm according to the capability information of the nodes in the second layer network structure, and when it exists When a node of the target algorithm can be provided, the address of the node is fed back to the first control node of the first-layer network structure, so that the first control node can send it to the first node.
  • the first relevant parameter of the target content is broadcast through the control node to provide the address of the node that can provide the target content.
  • the target content is required.
  • the node in may not need to know the node that provides the target content, and the node that provides the target content may not need to know which node to provide, so that the security in the addressing process can be further improved.
  • the target content is the above-mentioned target data or target algorithm.
  • the first node when a control node is set in each layer of the network topology, the first node sends the first relevant parameters to the first control node of the first layer network structure, and the first control node sends the first relevant parameter to the first control node according to the The related parameters and the capability information of the nodes in the first-layer network structure determine whether there is a second node that can provide the target content in the first-layer network structure. If so, the first control node sends the address of the second node to the first layer network structure.
  • the process of addressing the second node that can provide target data can also be exemplified as shown in FIG. 6. That is, the first node A sends the first relevant parameters to the first control node E of layer 1, and the first control node E determines that there is a second node B that can provide target content in layer 1, and the first control node E passes to A path of the first node A feeds back the address of the second node B to the first node A.
  • the process of addressing nodes that can provide target algorithms in the embodiment of the present invention can also be exemplified as shown in FIG. 6. For the specific process, refer to the process of addressing nodes that can provide target data. Go into details again.
  • content addressing is adopted within the layer, and the parameters on which the content addressing is performed are directly forwarded between the layers, thereby establishing a communication connection.
  • the business content is divided into blocks according to address addressing and processing functions, and the data is marked and sent.
  • the transit node only does its own divided processing, and reassembles the processed packet, and other content is transparently transmitted.
  • the content is processed during the transmission process. After each processing, the data is no longer transmitted, but the knowledge generated after processing the data is transmitted.
  • the network topology of a large company includes a three-layer network structure, where layer one includes business hall nodes 101 to 106, and layer two includes regional branch nodes 201 to 202. Level three includes the provincial company node 301.
  • each business hall node is connected to different types of equipment, including face recognition cameras, crowd monitoring cameras, smoke sensors, and air quality sensors. These devices collect data separately and store them in the corresponding business hall nodes.
  • the provincial company node when the provincial company node has real-time data requirements, for example, the provincial company node requires an accurate search for a certain person, the provincial company node addresses a node that can provide content related to the task in the second layer, for example, the provincial company node can send task packages To the regional branch node in the second layer (or broadcast the task package), the regional branch node will determine whether it is its own task, and then the regional branch node that matches the task will send the task to the business hall node connected to it Package, so that the business hall node that receives the task package parses the data, obtains the service type as firmware update, data type as code, and specific device number, and then executes the task according to the obtained information, and performs the task after completing the task Feedback.
  • the regional branch node will determine whether it is its own task, and then the regional branch node that matches the task will send the task to the business hall node connected to it Package, so that the business hall node that receives the task package parses the data, obtains the service type
  • the task package sent by the provincial company node includes: real-time reporting, data type video, any device type, and the content is the photo and number of the monitored person.
  • the business hall node After receiving the task package, the business hall node will execute the following process:
  • the business hall node obtains the netlist file, and the onboard management ARM downloads it through the jtag (joint test working group) interface.
  • the download module of the business hall node When the download is completed, the download module of the business hall node generates a confirmation message and sends it to the communication module of the business hall node to make the business
  • the communication module of the hall node fills in the content and feedback according to the 1kB frame format.
  • the ARM of the business hall node sends instructions to the FPGA of the business hall node to open the FPGA communication module, so that the FPGA directly receives the IP data of the camera connected to the business hall node (among which, the camera connected to the business hall node runs UDP (User Datagram Protocol) mode).
  • UDP User Datagram Protocol
  • the decoding is completed through the FPGA video decoding module, and the downloaded AI module is responsible for inference.
  • the AI module feeds back the discovery message, triggers the forwarding mode, records the time point, and forwards the latest video within 1 minute of DDR (Double Data Rate) to the regional branch node through the FPGA communication module.
  • DDR Double Data Rate
  • FPGA maintains the file system through ARM, and the video content is directly loaded into the hard disk by FPGA.
  • FPGA and ARM communicate through PCIE (High Speed Serial Computer Expansion Bus Standard) port.
  • PCIE High Speed Serial Computer Expansion Bus Standard
  • the business hall node includes multiple FPGAs, and the FPGA here is only responsible for this scenario task, and other daily monitoring tasks are executed in parallel by other FPGAs.
  • the data transmission method may further include:
  • the storage unit further includes: a seventh sending subunit, configured to periodically report target data to a node of the second-layer network structure.
  • the network topology of a large company shown in Figure 7 includes a three-tier network structure.
  • the specific execution process can be as described in the first to fourth steps as follows:
  • the first step The daily monitoring data, business type, equipment number, and data type of the business hall nodes are stored locally. For example: according to business VIP statistics, the first face camera, video source files, store VIP customer related videos; or according to business VIP statistics, the first face camera, store time, store the monitored VIP store time statistics; Or according to the statistics of the business clerk, the first face camera, the store time, store the statistics of the store clerk's time in the store.
  • the second step the business hall node automatically groups the package at the specified time according to the pre-set report content (mainly the statistical content), and the package length is unified 1kB.
  • the existing network can still be used for transmission.
  • the address layer is only used for content identification.
  • the business hall node has 0 gateways, which are responsible for TCP (TCP, Transmission Control Protocol)/IP encapsulation and docking with the existing network. This is the standard TCP/IP protocol, so I won't repeat it here.
  • the third step regional branch nodes, perform local statistics based on the content reported by each business hall node, generate reports, and use messages (see Table 1 for the message format) to continue reporting.
  • regional branch nodes there is a logical ring between the regional branch nodes, and each branch has a data transmission export to the upper and lower layers.
  • the fourth step the statistical content of the provincial company node, such as statistics of the average length of VIP entering the store, the length of staff working hours, and the passenger flow of each store.
  • any two points (origin and end point)
  • the first node that is, the start point
  • the second node that is, the end point
  • the node address of the network topology structure includes a field corresponding to each layer.
  • the network topology includes a three-layer network structure, it can be divided into a high-level, a middle-level, and a low-level.
  • the three-segment addresses of the two are all equal, it means that the data packet arrives at the destination and the switch of the second node accepts the data packet. And it means the end of the exchange function. Then, perform subsequent possible storage or calculation operations. If the two are not equal, further analysis is needed: if the two high-level addresses are not equal, they will be forwarded to the high-level network structure through a crossover.
  • the data packet will be forwarded along the level until the connecting node of the higher layer network structure is found; if the destination address of the data packet is equal to the upper layer address of the local port, but the local layer address is not equal, Then, according to the random address mark of this layer, send along the direction of increasing or decreasing the address of this layer until a local match is found; if the upper layer and this layer address of the data packet are equal to the local port, but the lower layer address is not equal, it will be forwarded through a jumper To the lower layer; if the node is not directly connected to the lower layer, it will be forwarded along the level until it finds the connection node of the lower layer network.
  • the task processing module includes:
  • the selection sub-module is used to select a node that provides a group of the target data as the first target node from at least one node of the first type addressed by the addressing module, and the node that is addressed from the addressing module At least one second-type node selects a node that provides a set of the target algorithm as the second target node;
  • a processing submodule configured to interact with the first target node and the second target node, so that the second target node uses the target algorithm to process the target data provided by the first target node .
  • the target data includes at least one item of data, for example, it may include two items of data A and B.
  • the target algorithm includes at least one algorithm, for example, may include C and D algorithms.
  • the target data corresponds to the target algorithm, that is, the target data is the data required to execute the target algorithm.
  • the target task to be executed is to execute C algorithm and D algorithm successively on A and B data, then A and B data correspond to C and D algorithms.
  • the data and algorithms are separately distributed to the network, instead of storing the data uniformly on the nodes that need to execute the target task, and the nodes that need to execute the target task no longer execute the target algorithm by themselves, but Allocate to nodes with the processing capabilities of the target algorithm to execute, that is, the embodiment of the present invention combines distributed storage and distributed computing to reduce the capacity of a single node in the network topology, thereby reducing the design cost of a single node. In turn, the design cost of the entire network topology is reduced.
  • the network topology includes multiple nodes, so there may be multiple nodes that can provide target data, and multiple nodes can execute the target algorithm.
  • the target data is distributed on multiple nodes, and the target algorithm is also distributed on multiple nodes. The execution of the target task only needs to provide a set of target data nodes and a set of target algorithm nodes.
  • the task processing device further includes:
  • the task splitting module is configured to split the task to be executed into at least one subtask according to the capability information of the node in the network topology, and determine one of the at least one subtask as the target task .
  • the task to be executed involves a complex algorithm
  • the task can also be split first according to the capability information of each node in the network topology (that is, which algorithm processing capability each node has). In this way, multiple subtasks can be obtained, in which the algorithm of one subtask is provided by one node.
  • Each subtask obtained by splitting corresponds to the order of execution.
  • subtask one, subtask two and subtask three are obtained by splitting.
  • the data and algorithms required by subtask one and subtask two do not conflict with each other and can be parallel.
  • Execution, the data required for subtask three is the data generated by subtask one and subtask two, then subtask one and subtask two can be executed in parallel, and for subtask one and subtask two, you can first obtain the data in the network topology.
  • Provide nodes that provide data and algorithms then select one of the nodes that can provide data and one that can provide algorithms, and then the node that provides the algorithm processes the data provided by the node that provides the data, and then stores the processed data.
  • sub-task three when performing sub-task three, if the nodes for sub-task one and sub-task two to execute the algorithm have been clarified, first determine the node in the network topology that can provide the algorithm corresponding to sub-task three, and then select a node that can provide sub-task three.
  • the corresponding algorithm node processes the data required by the subtask three stored in the node executing the algorithm in the subtask one and the subtask two, so as to realize the execution of the entire overall task.
  • the task can be divided into three sub-tasks, namely:
  • Subtask 1 Perform the first model processing on the first 5 minutes of the source video
  • Subtask 2 Perform the second model processing on the last 5 minutes of the source video
  • Subtask 3 Perform video synthesis.
  • subtask 1 First, you need to obtain the nodes that can provide the source video in the network topology, and the nodes that can provide the first model, so as to select a node that can provide the source video, a node that can provide the first model, and then the source The video stream of the first 5 minutes of the video is transmitted to the selected node that can provide the first model.
  • subtask two Since a node that can provide the source video has been selected in subtask one, in the processing of subtask two, it is necessary to obtain the node that can provide the second model in the network topology, so as to select a node that can provide the source video. Provide the node that provides the second model, and then stream the last 5 minutes of the source video to the selected node that can provide the second model.
  • sub-task three Since the data required by sub-task three is the data obtained after sub-task one and sub-task two are executed, during the processing of sub-task three, it is necessary to obtain nodes in the network topology that can be used for video synthesis. A node that can perform video synthesis is selected, and the data output by the node that provides the first model in subtask one and the data output by the node that provides the second model in subtask two are combined for video synthesis.
  • the embodiment of the present invention can perform task splitting for tasks with complex algorithms, so that the algorithms of each task are distributed to the network instead of being executed by one node at the same time, which can not only reduce the capability requirements of a single node, but also And can shorten the task processing time.
  • the selection submodule includes:
  • the selection unit is configured to select a target combination according to the capability information of each combination, and determine a node that provides a set of the target data in the target combination as the first target node, and provide A set of nodes of the target algorithm is determined to be the second target node;
  • the capability information of the combination includes the time delay from a node that provides a set of the target data to a node that provides a set of the target algorithm in the combination, and a node that provides a set of the target algorithm executes the target algorithm At least one of the required duration and the size of the cache space of the node providing a set of the target algorithm.
  • a set of target algorithms may be provided by multiple nodes. Then, in this case:
  • the time delay from the node that provides a set of target data to the node that provides a set of target algorithms can be as follows: The delay difference or average value of the nodes that provide the target algorithm.
  • the nodes that provide a set of target data include nodes a and b, and the nodes that provide a set of target algorithms are nodes c and d, then ac, bc, ad, bd
  • the delay difference or average value can be used as the delay between the group of nodes providing the target data and the group of nodes providing the target algorithm.
  • the time required for the nodes that provide a group of the target algorithm to execute the target algorithm may be the sum or average of the time required to execute the algorithms provided by each in the group.
  • the size of the cache space of the nodes that provide a group of the target algorithm may be the sum or average of the cache spaces of the nodes that provide the target algorithm in the group.
  • a set of target algorithms is provided by a node, then, in this case:
  • the time delay from the node that provides a set of target data to the node that provides a set of target algorithms can be:
  • the delay difference or average value of the nodes of the algorithm for example, the node that provides a set of target data includes a and b nodes, and the node that provides a set of target algorithm is the c node, then the delay difference or average value of ac and bc can be As the delay between the group of nodes that provide the target data and the nodes that provide the target algorithm.
  • the time required for the node providing a set of the target algorithm to execute the target algorithm is the time required for the node providing the target algorithm to execute the target algorithm.
  • the size of the cache space of the node that provides a set of the target algorithm may be the cache space of the node that provides the target algorithm.
  • the target data includes A and B data, which can be provided by nodes a and b in the network topology respectively
  • the target algorithm includes the C algorithm, which can be provided by the c and b in the network topology.
  • the target combination is the combination with the strongest capability among all combinations formed by nodes providing a set of target data and nodes providing a set of target algorithms.
  • the ability to combine can be determined by the time delay from the node that provides a set of target data to the node that provides a set of target algorithms, the time required for the node that provides a set of target algorithms to execute the target algorithm, and the node that provides a set of target algorithms. At least one item in the size of the cache space, for example, the shorter the delay from a node that provides a set of target data to a node that provides a set of target algorithms, and the shorter the time required for a node that provides a set of target algorithms to execute the target algorithm.
  • the larger the cache space of the node that provides a set of target algorithms the stronger the capability of the combination.
  • the selection unit includes:
  • the first selection subunit is configured to select the combination corresponding to the minimum value in the delay from the node providing the set of target data to the node providing the set of target algorithm in the combination, as the target combination;
  • the second selection subunit is configured to select the combination corresponding to the minimum value of the time required for the node that provides a set of the target algorithm to execute the target algorithm in the combination, as the target combination;
  • the third selection subunit is configured to select the combination corresponding to the maximum value in the cache space of the node that provides a set of the target algorithm among the combinations, as the target combination;
  • the fourth selection subunit is used to select the time delay from the node that provides a set of the target data in the combination to the node that provides the set of the target algorithm, and the node that provides the set of the target algorithm in the combination
  • the combination corresponding to the minimum of the sum of the time lengths required to execute the target algorithm is used as the target combination;
  • the fifth selection subunit is used to select the combination corresponding to the smallest value in the first ratio of the combination as the target combination, wherein the first ratio is the combination that provides a set of the target data
  • the sixth selection subunit is used to select the combination corresponding to the smallest value in the second ratio of the combination as the target combination, and the second ratio is the node execution that provides a set of the target algorithm in the combination The ratio of the time required by the target algorithm to the value of the buffer space size of the node in the combination that provides a set of the target algorithm.
  • any one of the above six selection subunits can be used to select the target combination.
  • the specific method for selecting the target combination is not limited to this, and other methods for selecting according to the capability information of the combination may also be used.
  • processing sub-module includes:
  • a third sending unit configured to send first indication information to the first target node, where the first indication information is used to instruct the first target node to send the target data to the second target node;
  • a fourth sending unit configured to send second indication information to the second target node, where the second indication information is used to instruct the second target node to use the target algorithm to process the target data;
  • the receiving unit is configured to receive data sent by the second target node after processing the target data using the target algorithm.
  • the node that needs to perform the target task selects the node that provides a set of target data (ie the first target node) and the node that provides a set of target algorithms (ie the second target node) ), send instruction information to the first target node, so that the first target node sends the target data stored therein to the second target node, so that the second target node uses the target algorithm for processing, and then returns the processed data Give the above nodes that need to perform the target task.
  • a set of target algorithms may be provided by multiple nodes. Then, in this case:
  • the multiple nodes that provide a set of target data respectively transmit the corresponding data to the node of the corresponding algorithm.
  • the node that provides a set of target data includes nodes a and b, and provides The nodes of the target algorithm include nodes c and d.
  • the data provided by node a needs to be processed by node c, and the data provided by node b needs to be processed by node d. Then node a needs to transmit data to node c, and node b needs to transmit data to d-node to deal with.
  • a set of target algorithms is provided by a node, then, in this case:
  • the nodes that provide the target data send the data they provide to the node that provides the target algorithm, and the node that provides the target algorithm can process the received data.
  • the processing submodule includes:
  • the first processing unit is configured to interact with the first target node and the second target node, so that the second target node uses the target algorithm to analyze the target data sent by the first target node
  • the first data packet is processed
  • the first data packet includes a video stream or an audio stream of a preset duration.
  • the video of the preset duration may include a preset number of video frames.
  • processing sub-module further includes:
  • the second processing unit is configured to interact with the first target node and the second target node in the process of receiving the processed first data packet sent by the second target node, so that the The second target node uses the target algorithm to process the second data packet of the target data sent by the first target node;
  • the second data packet includes a video stream or an audio stream of a preset duration.
  • the data packets when the video stream or the audio stream is processed, the data packets can be processed one by one, and then the processed data packets are sent out. That is, in the embodiment of the present invention, the data-driven calculation is no longer used. Waiting for the completion of data collection, but in the process of output transmission, step-by-step calculations, which can improve efficiency and shorten time delay.
  • a network topology structure includes a three-layer network structure, where layer one includes nodes 101 to 106, layer two includes nodes 201 to 202, and layer three includes node 301.
  • the node 101 stores real-time video data
  • 102 stores AR materials
  • 103 stores 3D scan data.
  • the 301 node When the 301 node needs a video with the real shot of the video in the 101 node as the background, the AR in the 102 node to increase the interest, and the scan data of the 103 node as the content, when the business starts, the 301 node sends three requests. It can be broadcast or sent directly from point to point, where the request includes: service type, resource request, data type, and content description.
  • Nodes 101, 102, and 103 respectively responded to the request with sample content feedback.
  • node 301 uses the task processing method of the embodiment of the present invention to plan the processing path, that is, to determine the node that provides data and the node that provides content.
  • the node that provides data is node 101, Node 102 and node 103
  • the node that provides the algorithm is node 201
  • node 301 will issue the required video background generation code to node 101, issue the AR action and time point to node 102, and issue 3D extraction time information and required
  • the content is sent to node 103, and the video synthesis code is delivered to node 201.
  • the 101 node uses the tool issued by the 301 to preprocess the requested video to generate the background video, which is encoded and compressed and sent to the 201 node; the 102 node provides AR materials to the 201 node according to the required AR action and time point; 103 node According to the required 3D content and time point, provide 3D content to node 201; node 201 receives relevant data provided by node 101, node 102, and video node 103 for video synthesis, transcodes, synthesizes a new video, and forwards it to node 301 .
  • the embodiment of the present invention when task processing is performed, data and algorithms are separately distributed to the network, instead of uniformly storing data to nodes that need to perform target tasks, and no longer need to perform target task nodes. Execute the target algorithm by itself, but allocate it to nodes with the processing capability of the target algorithm to execute. That is, the embodiment of the present invention combines distributed storage and distributed computing, which can not only improve the security of data, but also reduce the network The ability of a single node in the topology, thereby reducing the design cost of a single node, thereby reducing the design cost of the entire network topology.
  • the computer application process is thoroughly decomposed and optimized, and it is not difficult to obtain the task processing method (that is, the information processing pipeline, or neural network) as shown in FIG. 8.
  • the design of each neuron process in the pipeline does not require complex software.
  • the assembly line consists of many simple processes, and the key is a strong back-end support system.
  • computing networks do not require onion-like complex software, but rely on network protocols to achieve superior management and collaboration capabilities.
  • This network protocol can be implemented in a variety of ways, adapting measures to local conditions, process decomposition, and centralized management. Among them, the network protocol does not require complex software, or it can easily realize the intercommunication of different software systems.
  • the computer system of the embodiment of the present invention abandons the inefficient Neumann onion structure, adopts an efficient pipeline task processing method, a CPU-free computer and an infinite computer network architecture, and integrates fusion computing and the network. Dynamically adjust resources. It can be seen that the computer system of the embodiment of the present invention integrates calculation, communication, and storage, eliminates the boundary of the CPU, and proposes a new network pipeline calculation process, which greatly simplifies network operations, and forms an autonomous system that integrates software and hardware.
  • the controlled network computing architecture and general computing platform will be further combined with vertical industry applications to form a low-latency artificial intelligence era product with convenient development, flexible deployment and superior performance.
  • the first communication module is a wireless communication module. That is, at least some of the multiple computing devices in the computer system in the embodiment of the present invention may be communicatively connected in a wireless manner.
  • the wireless communication module is a centrally controlled time-division multiplexed wireless communication micro base station network, that is, at least some of the multiple computing devices in the computer system in the embodiment of the present invention pass through the boundary adaptive micro base station. Wireless communication network communication connection.
  • the boundary adaptive micro base station wireless communication network on the basis of traditional time division, adds dynamic transmit power control, multi-base station unified resource coordination, and statistical multiplexing technology, and breaks through the traditional wireless cellular structure, and implements multi-base station unified macro time. Slot allocation, assimilation of all base stations and terminals, and dynamic adjustment of subdivision boundaries according to user terminal distribution density and communication traffic.
  • the computer system of the embodiment of the present invention is a combination of unstructured resources and a computing network of unstructured resources, which is equivalent to the Intel of the PC industry.
  • three basic resources computing power, bandwidth, storage
  • it further defines two combinations, namely storage exchange and computing exchange. These two combinations can meet the computing needs of any scale, and even exceed the scope of traditional computers to cover the functions of high-performance networks.
  • these basic resources are managed through a set of protocol languages and executed by a single-chip microcomputer.
  • the scale of this management resource can reach more than ten thousand times that of the single-chip itself. Therefore, the management cost is negligible.
  • the computer system of the embodiment of the present invention is actually a super network, with a unified resource definition, a unified data structure, a unified hardware design, and a heterogeneous algorithm engine with a unified interface.
  • a unified resource definition e.g., a unified resource definition
  • a unified data structure e.g., a unified data structure
  • a unified hardware design e.g., a unified interface
  • a heterogeneous algorithm engine with a unified interface.
  • the computer system design of the embodiment of the present invention revolves around one goal: to carry the operating system and application software. Therefore, first make the data center stronger (100 times efficiency), then bigger (no boundaries), and finally face the big market (artificial intelligence and sensory network).
  • the data center proposed by the embodiment of the present invention includes: a hardware structure, an operating system, and application software. It is able to face large-scale services and massive consumers, and once again expand the scale of calculations based on non-Neumann structures by more than a hundred times. In other words, the two measures together can easily expand the total computing power by more than ten thousand times. Moreover, this expansion of computing power is not restricted by Moore's Law, once and for all, providing almost unlimited low-energy computing resources for the next generation of computers.
  • the goal of the computer system of the embodiment of the present invention is to eliminate the CPU.
  • This is a one-way street of programmable computing: from the starting point, all CPUs, to GPUs, to a single FPGA to coordinate multiple CPUs/GPUs, to a single CPU to manage multiple GPUs/FPGAs, to the end, all FPGAs.
  • the road chosen by the computer system in the embodiment of the present invention is the ultimate goal of going straight to the computer. It is to break the restrictions set by Neumann, abandon the CPU, and abandon the multi-core CPU and multi-server architecture recommended by the industry. According to this ultimate goal, traditional operating systems, clusters and virtual software, various middleware and database software must be abandoned. In fact, the CPU and traditional software have been abandoned as a whole. In fact, the abandonment of the CPU greatly simplifies the structure of the computer system of the embodiment of the present invention.
  • the embodiments of the present invention can reduce dependence on existing computer networks and complex CPI chips, can achieve complete intellectual property rights, and can be controlled independently from the bottom up. All designs are realized based on the existing Chinese industrial basic courses, that is, they have significant technology. Significance: Major products that can serve major industrial fields, face the massive market of AI finance, AI transportation, AI chips, and edge computing, and generate world-class computing and network architecture companies in the AI era, which are of great industrial significance.
  • the device embodiments described above are merely illustrative.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in One place, or it can be distributed to multiple network units.
  • Some or all of the modules can be selected according to actual needs to achieve the objectives of the solutions of the embodiments. Those of ordinary skill in the art can understand and implement it without creative work.
  • any reference signs placed between parentheses should not be constructed as a limitation to the claims.
  • the word “comprising” does not exclude the presence of elements or steps not listed in the claims.
  • the word “a” or “an” preceding an element does not exclude the presence of multiple such elements.
  • the application can be realized by means of hardware including several different elements and by means of a suitably programmed computer. In the unit claims listing several devices, several of these devices may be embodied in the same hardware item.
  • the use of the words first, second, and third, etc. do not indicate any order. These words can be interpreted as names.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种计算机系统,包括:多个计算设备,所述计算设备包括并联的存储单元和至少一个计算单元,所述多个计算设备被划分为多个节点,所述多个节点组成网络拓扑结构;通信设备,所述通信设备包括:自治域组建模块和第一通信模块;所述第一通信模块用于将所述多个计算设备通信连接;任务处理设备,所述任务处理设备包括:寻址模块和任务处理模块。因此,在一定程度上满足了人工智能、区块链引发的海量数据和大量算力的爆发需求。

Description

一种计算机系统
本申请要求在2020年1月23日提交中国专利局、申请号为202010076233.5、发明名称为“一种计算机系统”的中国专利申请的优先权,在2020年1月23日提交中国专利局、申请号为202010076227.X、发明名称为“一种网络拓扑结构”的中国专利申请的优先权,以及在2020年1月23日提交中国专利局、申请号为202010076232.0、发明名称为“一种计算设备及资源分配方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及通信技术领域,尤其涉及一种计算机系统。
背景技术
目前的计算机系统主要以CPU(central processing unit,中央处理器)为主,随着云计算、人工智能等技术的发展,大数据算法受制于CPU的字长精度,CPU是读取与计算串行的方式,基于CPU的计算机系统将无法满足当前大并发的计算要求。当前的网络采用在带宽极窄的情况下尽力而为的原则,网络中每个数据包需要执行协议操作,浪费芯片运算力。随着大数据的爆发,光纤技术的发展,在带宽资源充足的情况下,原有网络架构的出错后不断重传,牺牲质量控制流量的方式已无法满足人工智能、区块链引发的海量数据和大量算力的爆发需求。
发明内容
本发明提供一种计算机系统,以在一定程度上满足人工智能、区块链引发的海量数据和大量算力的爆发需求。
本发明的实施例提供了一种计算机系统,包括多个计算设备,所述计算设备包括并联的存储单元和至少一个计算单元,所述多个计算设备被划分为多个节点,所述多个节点组成网络拓扑结构;
通信设备,所述通信设备包括:自治域组建模块和第一通信模块,所述自治域组建模块,用于在检测到所述多个节点中的目标节点满足预设类型的业务的资源需求的情况下,控制所述目标节点形成至少一层自治域,一层自治域包括至少一个自治域,一个自治域中包括至少一个所述目标节点;所述第一通信模块用于将所述多个计算设备通信连接;
任务处理设备,所述任务处理设备包括:寻址模块和任务处理模块,所 述寻址模块用于在所述网络拓扑结构中对第一类节点和第二类节点进行寻址,所述第一类节点为提供待执行的目标任务所需的目标数据的节点,所述第二类节点为提供所述目标任务所需的目标算法的节点,所述寻址模块分别与所述存储单元和所述计算单元连接;所述任务处理模块用于与所述第一类节点和所述第二类节点交互,以使所述第二类节点采用所述目标算法对所述第一类节点提供的所述目标数据进行处理。
本发明实施例的计算机系统,包括多个计算设备、通信设备和任务处理设备,其中,多个计算设备被划分为多个节点,多个节点组成网络拓扑结构,其中每个计算设备包括并联的存储单元与计算单元,通信设备包括自治域组建模块和用于将多个计算设备通信连接的第一通信模块,任务处理设备包括寻址模块和任务处理模块,,由此可见,本发明实施例的计算机系统,不再区分计算和网络,而是把计算和储存融化到网络之中,将计算与存储并行,从而可以提升数据处理速度,并且可以基于通信设备实现网络拓扑结构中的通信,在寻址模块和任务处理模块的配合下,更加快速的进行任务处理,在一定程度上满足人工智能、区块链引发的海量数据和大量算力的爆发需求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中的计算机系统的结构框图;
图2为本发明实施例中的网络拓扑结构中单层网络结构的示意图;
图3为本发明实施例中寻址的过程所涉及的节点在网络拓扑结构中的分布示意图之一;
图4为本发明实施例中寻址的过程所涉及的节点在网络拓扑结构中的分布示意图之二;
图5为本发明实施例中寻址的过程所涉及的节点在网络拓扑结构中的分布示意图为之三;
图6为本发明实施例中寻址的过程所涉及的节点在网络拓扑结构中的分布示意图之四;
图7为网络拓扑在实际应用中的实例示意图;
图8为本发明实施例中网络拓扑结构中流水线处理方法原理示意图;
图9为本发明实施例中的网络拓扑结构形成的自治域的示意图;
图10为本发明实时例中的网络拓扑结构通过外骨骼网络与现有互联网连接的结构示意图;
图11为本发明实施例中的一种计算设备的结构框图;
图12为本发明实施例中的另一种计算设备的结构框图。
具体实施例
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例中提供了一种计算机系统,如图1所示,该计算机系统包括多个计算设备,所述计算设备包括并联的存储单元和至少一个计算单元,所述多个计算设备被划分为多个节点,所述多个节点组成网络拓扑结构,其中,一个节点中包括所述存储单元和所述计算单元中的至少一个单元电路,或者所述存储单元和至少一个所述计算单元,或者一个所述计算设备,或者多个所述计算设备;
通信设备,所述通信设备包括:自治域组建模块和第一通信模块,所述自治域组建模块,用于在检测到所述多个节点中的目标节点满足预设类型的业务的资源需求的情况下,控制所述目标节点形成至少一层自治域,一层自治域包括至少一个自治域,一个自治域中包括至少一个所述目标节点;所述第一通信模块用于将所述多个计算设备通信连接;
任务处理设备,所述任务处理设备包括:寻址模块和任务处理模块,所述寻址模块用于在所述网络拓扑结构中对第一类节点和第二类节点进行寻址,所述第一类节点为提供待执行的目标任务所需的目标数据的节点,所述第二类节点为提供所述目标任务所需的目标算法的节点,所述寻址模块分别与所述存储单元和所述计算单元连接;所述任务处理模块用于与所述第一类节点和所述第二类节点交互,以使所述第二类节点采用所述目标算法对所述第一类节点提供的所述目标数据进行处理。
其中,自治域组件模块、第一通信模块、寻址模块和任务处理模块可以设置在节点内部,也可以独立于节点之外设置。
另外,所述目标任务可以是其他节点发送的,也可以是自身节点在预定条件下需要执行的。
对于本发明实施例的计算机系统,例如其由100个节点形成网络拓扑结构,其中,编号为1的节点需要由源视频材料和AR素材合成的一段视频, 则寻址模块会在网络拓扑结构中寻找可以提供该项任务所需的源视频材料的节点、可以提供该项任务所需的AR素材的节点、以及可以进行视频合成的节点;例如寻址到的可以提供源视频材料的节点为编号为2的节点、可以提供AR素材的节点为编号为3的节点,可以进行视频合成的节点为编号为4的节点,则任务处理模块会控制编号为1的节点会与编号与2、3、4的节点进行交互,来完成该项任务。
具体地例如,任务处理模块控制编号为1的节点向编号为2的节点发送指示信息,使得编号为2的节点将其存储单元中存储的源视频材料发送给编号为4的节点;任务处理模块控制编号为1的节点向编号为3的节点发送指示信息,使得编号为3的节点向编号为4的节点将其存储单元中存储的AR素材发送给编号为4的节点;任务处理模块控制编号为1的节点向编号为4的节点发送一指示信息,使得编号为4的节点中的若干个计算单元根据接收到的源视频材料和AR模型进行视频合成,并在完成一部分数据的合成后,缓存到编号为4的节点中的存储单元,从而由存储有合成后的数据的存储单元将合成后的数据传输给编号为1的节点,进而保存在编号为1的节点中的存储单元中。
由上述可知,本发明实施例的计算机系统,包括多个计算设备、通信设备和任务处理设备,其中,多个计算设备被划分为多个节点,多个节点组成网络拓扑结构,其中每个计算设备包括并联的存储单元与计算单元,通信设备包括自治域组建模块和用于将多个计算设备通信连接的第一通信模块,任务处理设备包括寻址模块和任务处理模块,,由此可见,本发明实施例的计算机系统,不再区分计算和网络,而是把计算和储存融化到网络之中,将计算与存储并行,从而可以提升数据处理速度,并且可以基于通信设备实现网络拓扑结构中的通信,在寻址模块和任务处理模块的配合下,更加快速的进行任务处理,在一定程度上满足人工智能、区块链引发的海量数据和大量算力的爆发需求。
可选的,所述网络拓扑结构包括至少一层网络结构(即所述多个节点形成至少一层网络结构),不同层对应的数据传输时延的取值范围不同,与第一目标层网络结构对应的数据传输时延包括所述第一目标层网络结构中的节点到目标节点的数据传输时延,所述第一目标层网络结构为任意一层所述网络结构。
可选的,如图2所示,每一层网络结构包括至少一个环状结构,每个环状结构包括多个节点;其中,每个环状结构中的节点首尾相连,且按照每个环状结构中的节点的编号顺序,编号为奇数的节点与其相邻节点的下一节点相连,或者编号为偶数的节点与其相邻节点的下一节点相连。由此可 知,本发明实施例中,网络拓扑结构在物理上采用扁平网络结构,左右节点以地址作为唯一识别标致,全网节点可以地域划分地址空间,方便热插拔,并采用分层布局,全网按照地址分为多个层级,单层之内所有节点互联。网络每一层都使用相同的环路拓扑结构,层间垂直跨接。
其中,可以理解的是,对于环状结构的具体连接方式并不局限于此,还可是每个环状结构包括的多个节点收尾相连,并与其相邻节点的下一节点相连。
由此可知,所述网络拓扑结构包括多层串联加环路的容错网络,其中每一层结构相同,每一层都使用相同的环路拓扑结构,层间垂直跨接。这种相同的硬件设备,相同结构的重复叠加,配合相同的软件管理,逐步扩大资源聚集度,完成面向应用的超级工程。另外,本结构不存在跨两层以上的连接,简化了软件结构和系统管理。层内不同间隔的通信环,确保环内任意两点出现故障(包括抽取PCB板卡),环路不会中断,并保持正常通信。
可选的,相邻的两层网络结构之间存在至少两条连接路径。例如第一层网络结构的第三节点与第二层网络结构的第四节点连接,第一层网络结构的第五节点与第二层网络结构的第六节点连接,即第一层网络结构与第二层网络结构之间可以存在两条连接路径。
可选的,所述计算设备还包括:
PCB单板,所述存储单元、所述计算单元位于所述PCB单板上;
板框,所述PCB单板设置于所述板框上;
机箱,所述板框位于所述机箱内;
机房,所述机箱位于所述机房内;
第一数据管理中心,所述第一数据管理中心包括至少两个机房;
第二数据管理中心,所述第二数据管理中心包括至少两个所述第一数据管理中心。
由此可知,该计算设备,包括存储单元和计算单元,且存储单元和计算单元都设置有用于通信和管理的虚拟管理单元电路,并与对外物理通信接口连接,使得存储单元和计算单元之间并行,不同计算单元之间并行。由此可知,本发明实施例中的计算设备,不再区分计算和网络,而是把计算和储存融化到网络之中,并设置计算单元存在统一的接口对外通信,将计算与存储并行,从而可以提升数据处理速度,在一定程度上满足人工智能、区块链引发的海量数据和大量算力的爆发需求。
进一步地,所述多个计算设备划分为多个节点后,这些节点组成了八层网络结构,其中,第一层网络结构S(silicon)的节点为所述计算单元的 单元电路,可编程内部电路结构和管理;第二层网络结构B(board)的节点为所述计算单元,即在单板PCB内,多芯片之间,单PCB内布线10Gbps通信,板级管理;第三层网络结构F(frame)的节点为PCB单板,即在单机框内,多PCB之间,背板间PCB内布线10Gbps通信,全联通;第四层网络结构C(cabinet)的节点为板框,在单机柜内,板框之间,机框间光纤10Gbps通信,全联通;第五层网络结构D(district)的节点为机箱,即在数据中心内分块,多机箱之间。机房内按需不完全光纤网络,10Gbps;第六层网络结构Z(zone)的节点为机房,即在数据中心内分区,多机房之间。机房内按需不完全光纤网络,10Gbps;第七层网络结构E(enterprise)的节点为所述第一数据管理中心,按需配置广域光纤,互联网承载全网管理;第八层网络结构W(world)的节点为所述第二数据管理中心,按需配置广域光纤,互联网承载,全网管理。其中,可以理解的是,对于由多个计算设备组成的网络拓扑结构,对于各层网络结构的划分形式,并不局限于此。
其中,上述八层网络结构,可以由八组8bit,共计64bit定位。也就是说,在全网(全世界)范围内可以独立查询和管理任一台设备,或者,其中任意一片单元电路,任意一块硬盘的工作状态。显然,这项网络拓扑结构设计可以在未来相当长的时期内满足需求。但是,如果将来某一天,网络规模不足以满足应用需求,该网络拓扑结构很容易在数据中心(即W层)之上增加更多层网络结构。如果将来超级芯片可服务的独立对象大幅增加,导致网络地址不够分配,很容易在芯片层(即S层)之下扩展,甚至定位到细胞级别。由此可见,该网络拓扑结构规模可以无限伸缩,满足未来可能的需求。
即本发明实施例中的网络拓扑结构,涵盖从芯片,设备,直到数据中心,在一个资源域中整体考虑巨大计算系统。实现硬件能力可无限扩展,软件可重复使用,结构可多层套接。
此外,所述网络拓扑结构可以定义三种硬件资源,并且用统一的64bit地址唯一定位。
第一种,小颗粒资源:指芯片内部具备完整功能的资源,用地址段S(Silicon)标示定位。
第二种,单板资源:指完整功能的板卡内部资源,用地址段B(Board)标示定位。
第三种,多卡组合资源:泛指由独立板卡组装的多卡集成资源,包括各种机柜和机房的组合。其中分为6个等级,分别用地址段F(Frame),C(Cabinet),D(District),Z(Zone),E(Enterprise),和W(World) 标示定位。
而对于存储资源,可统一数据颗粒度,即1Kb数据包。具体的,本发明实施例的计算机系统,在一个超级资源池中,按需分配不同的任务。可以用单一硬盘的读写过程来比喻。每次新建文件写入硬盘,占据一部分硬盘资源。每次删除文件时,释放所占用的资源。由于每个文件大小不一,多次写入和删除后,留下许多零碎的储存资源碎片。为了不浪费这些碎片资源,要求系统调度能够充分利用这些碎片,有能力管理硬盘中任意一个数据片。同理,如果把一个传统硬盘操作放大到整个系统,在本发明实施例中的计算机系统中也会遇到类似情况,要求系统能够在全域内统一调度全系统中任意一粒微小资源。其中不同的是,本发明实施例的计算机系统可以独立精细调度传输/交换/储存/管理多种资源。以上全部资源构成统一结构,可执行单一任务,也可分散指定各地的资源,同时执行无数个独立任务。在网络传输、网络交换、网络储存、网络计算、和网络管理中,本发明实施例的计算机系统的资源以1KB数据包为标称管理颗粒度,以1KB数据包的整数倍为单位。
即本发明实例的计算机系统的数据包的三要素为:1)固定格式。2)无限定义。3)唯一解读。本发明实例的计算机系统的所有信息和数据采用1KB统一格式,称为带内信息。相对应,在数据传输和储存过程中,为了数据完整性,还需加入辅助信息,称为带外信息。固定长度1Kbyte可以表达一条短信息,也可以按需扩展成无数数据包组成的视频文件。1KB是512word,1word等于2byte,1byte等于8bit,1word等于32bit。
可选的,如图11所示,所述计算设备包括:存储单元和至少一个计算单元,所述存储单元包括用于通信和管理所述存储单元的第一虚拟管理单元电路,所述计算单元包括用于通信和管理所述计算单元的第二虚拟管理单元电路,所述第一虚拟管理单元电路和所述第二虚拟管理单元电路分别与对外物理通信接口连接。
其中,第一虚拟管理单元电路为存储单元中存储有用于实现通信(包括节点的内部通信和外部通信)以及对存储单元进行管理(例如资源管理)的程序的单元电路。第二虚拟管理电路为计算单元中存储有用于实现通信(包括节点的内部通信和外部通信)以及对计算单元进行管理(例如资源管理)的程序的单元电路。
另外,存储单元和计算单元都设置有用于通信和管理的虚拟管理单元电路,并与对外物理通信接口连接,即存储单元与计算单元之间并行,不同计算单元之间并行。由此可知,本发明实施例中的计算设备包括的所有计算单元和存储单元中的任意两个都是并联的连接关系。
此外,存储单元和计算单元的虚拟管理单元电路,均与对外物理通信接口连接,即本发明的实施例中的计算设备包括的存储单元和计算单元设置有统一的对外通信接口,从而对外物理通信接口传输过来的信息指令,可以直接进入计算单元和存储单元。
由此可知,本发明实施例中的计算设备,不再区分计算和网络,而是把计算和储存融化到网络之中,将计算单元之间并行,存储单元与计算单元之间并行,并设置统一的接口对外通信,从而可以提高计算速度,在一定程度上满足人工智能、区块链引发的海量数据和大量算力的爆发需求。并且,本发明实施例中的计算设备,不包括CPU(central processing unit,中央处理器),从而可以无限扩展。
可选的,所述计算单元包括可编程逻辑器件。由此可知,本发明实施例中的计算设备的计算单元可以由可编程逻辑器件构成。
其中,逻辑器件是用来实现某种特点逻辑功能的电子器件,最简单的逻辑器件是与、或、非门等,在此基础上可实现复杂的时序和组合逻辑功能。而可编程逻辑器件,其功能不是固定不变的,而是可以根据用户的需要而进行改变,即由编程的方法来确定器件的逻辑功能。因而本发明实施例中的计算设备,在其中包括的计算单元包括可编程逻辑器件,使得该计算设备的计算单元可以根据用户的需要而改变可以实现的功能,即本发实施例中的计算设备的各个计算单元不再是实现唯一一种功能,而是可以由编程方法实现不同的逻辑功能,即实现不同算法,从而使得本发明实施例中的计算设备的带宽可动态配置。
可选的,所述第二虚拟管理单元电路在获取到硬件架构调整指令时,根据所述硬件架构调整指令控制所述可编程逻辑器件进行硬件架构调整。
本发明的实施例中,硬件架构调整指令可以是网络侧发送的,也可以是在预设条件下自动生成的,则本发明的实施例中,计算设备可以根据网络侧的指示,也可以自主调整可编程逻辑器件的硬件架构,即调整可编程逻辑器件的逻辑功能。而多个计算设备被划分为多个节点,则有些节点中也可以进行硬件架构的调整,因此,本发明实施例中的节点也可以支持节点功能分片,不仅可作为中转节点,还可作为控制节点,服务节点等。
可选的,所述可编程逻辑器件为FPGA阵列。即当本发明实施例中的计算设备包括的计算单元中包括可编程逻辑器件时,该可编程逻辑器件可以是FPGA。其中,FPGA是可编程器件,理论上可以实现任何计算,但是从效率考虑,FPGA适合进行并行计算和流水线计算,典型的计算例如AI(Artificial Intelligence,人工智能)、视频转码、搜索等,从而使得本发明实施例中的计算设备,支持高速访问,可随插随拔,随意扩展。可以理解 的是,本发明实施例中的计算设备包括的计算单元中包括可编程逻辑器件也可以是除FPGA之外的其他可编程逻辑器件。
此外,可选的,在本发明的实施例中,FPGA作为独立资源,脱离CPU工作,FPGA资源可以划片使用。即FPGA里可以有一个固定模块完成以下功能:
1、网络通信;
2、解析特定指令,即对一组资源申请的响应;
3、反馈自身能满足的申请和自身资源使用情况。
总之,本发明实施例中的FPGA可以不依赖CPU控制独立于网络通信,可为不同任务灵活使用FPGA资源,并实时更新。
可选的,所述计算设备还包括MCU,所述MCU与所述FPGA连接。其中,有些FPGA中包括MCU,有些FPGA中不包括MCU,则当本发明实施例的计算设备包括的FPGA时,还可进一步包括MCU来辅助管理FPGA。其中,具体地,MCU可以设置在计算单元内部,与FPGA连接,或者MCU设置在存储单元内容,或者MCU独立于计算单元和存储单元之外设置。
可选的,所述第一虚拟管理单元电路和所述第二虚拟管理单元电路分别通过高速总线与所述对外物理通信接口连接,同时实现了计算单元和存储单元之间通过高速总线连接,从而使得单个计算设备可以实现本地高速存储和就近计算。其中,计算单元和存储单元间的高速总线连接,保证数据的IO速度,在高并发模式下,实现多路数据的高速读写,也可以根据业务需求,离线对存储数据做任意结构化,以方便与其他节点的协同计算。
可选的,所述对外物理通信接口为包括光纤接口或者网口。其中,光纤接口是用来连接光纤线缆的物理接口。本发明实施例中,将计算单元与光纤接口连接,从而使得计算设备对外带宽获得保障,满足实时通信要求。
综上所述,本发明实施例中的计算设备,可以采用计算单元与存储单元并行的FPGA结构,将每个硬件计算单元以FPGA阵列为主要运算和控制载体,并配以少量MCU控制单元来辅助管理。
可选的,如图12所示,所述计算设备还包括:
分别与所述存储单元、所述计算单元和对外物理通信接口连接的第二通信模块,用于在接收到资源请求指令时,确定所述第二通信模块所属计算设备当前时刻的第一剩余资源;
分别与所述存储单元、所述计算单元、所述对外物理通信接口和所述第二通信模块连接的资源模块,用于根据所述资源请求指令,获取所需资 源信息,所述所需资源信息包括至少一种资源选择方式;
所述资源模块,还用于根据所述第一剩余资源以及所述所需资源信息包括的资源选择方式,分配资源;
所述资源包括所述存储单元、所述计算单元、所述存储单元中的单元电路以及所述计算单元中的单元电路中的至少一种。
由上述可知,计算设备的资源可以计算设备的单元电路为粒度。例如,当上述所述的计算设备的计算单元包括FPGA时,所述资源包括lut(Look-Up-Table,显示查找表)、reg(寄存器资源)、dsp(数字信号处理器)、mem(存储资源)和io(输入/输出)和通信带宽等部分。
本发明的实施例中,在计算设备接收到网络侧发送的资源请求指令时,会统计自身当前时刻所剩余的资源,即第一剩余资源,以便于判断自身当前所剩资源是否可以满足网络侧的资源请求。
其中,可选的,所述资源请求指令包括实现算法的硬件类型(即IP核类型)、资源需求信息、通信需求信息。进一步地,所述资源请求指令对应的数据包可以为1kb长度,且格式固定。另外,资源请求指令可设置指令帧头,则计算设备可以根据指令帧头,读取对应长度的内容。
另外,所述所需资源信息包括至少一种资源选择方式。即网络侧会在资源请求指令中携带本次资源请求所要实现的功能对应的至少一种资源选择方式,则计算设备会根据自身当前的剩余资源,以及网络侧所指示的至少一种资源选择方式,为本次资源请求指令分配资源。由上述可知,本发明的实施例中,可以计算设备中的单元电路为资源粒度,进行资源分配,并根据网络侧下发的资源请求指令,灵活分配资源。
可选的,所述资源模块包括:
第一确定子模块,用于确定所述第一剩余资源可满足的第一资源选择方式,以及所述第一剩余资源不可满足的第二资源选择方式,所述第一资源选择方式和所述第二资源选择方式分别为所述所需资源信息中包括的资源选择方式中的至少一种;
第二确定子模块,用于确定所述第一剩余资源满足所述第一资源选择方式后的第二剩余资源;
反馈子模块,用于向发送所述资源请求指令的设备反馈所述第一资源选择方式、所述第二资源选择方式和所述第二剩余资源的信息。
本发明的实施例中,计算设备会根据网络侧指示的至少一种资源选择方式,以及自身当前的剩余资源,判断自身能够支持的资源选择方式,以及不能支持的资源选择方式,并计算按照自身支持的资源选择方式分配资源后的剩余资源,进而将自身所支持的资源选择方式,以及按照自身支持 的资源选择方式分配资源后的剩余资源上报给网络侧。
即当计算设备接收到网络侧下发的资源请求指令时,从资源请求指令中获取到所需的资源信息(例如对应指令所要实现的功能有三种算法,不同算法所需的存储、算法等等单元数目不同,例如其中第一种算法需要100个存储单元、200个算法单元、50个寄存器),则该计算设备会获取自己剩余的资源是否能够实现其中的一种算法,例如可实现第一种算法,则还会计算出实现第一种算法后剩余的资源。然后将自身可以支持哪种算法,以及后续的剩余资源情况上报给网络侧。
例如,当计算设备中包括的计算单元中包括FPGA时,网络侧下发指令,要求实现某个AI推理的功能,其中包括一组深度学习计算需要实现算法的硬件(即IP核)和网络结构的能力要求,这些根据不同的并行情况,有多种选择,FPGA根据自身目前资源情况,填写反馈,哪些能支持,哪些不能。网络处理各FPGA设备反馈后,确定由谁计算,并下发计算指令和实现算法的硬件(即IP核),FPGA下载实现算法的硬件(即IP核),完成计算,然后释放资源。
其中,FPGA也可同时响应若干不同任务的资源请求,在资源许可的情况下,使用局部资源下载IP,组成相应的数据包,并反馈不同任务结果。
另外,计算设备还可直接将其接收到网络侧发送的资源请求指令时统计的第一剩余资源上报给网络侧,由网络侧确定第一剩余资源可满足的资源选择方式,以及不可满足的资源选择方式,并计算按照第一剩余资源可满足的资源选择方式为计算设备分配资源后,该计算设备所剩余的资源,并将这些信息返回给计算设备。
此外,在向网络侧发送第一资源选择方式、第二资源选择方式和第二剩余资源的信息时,可以直接组包反馈,不存储,并按照正常通信(例如以太网mac层协议通信)格式发送,也可按照预先新定义的帧格式发送。
可选的,在检测到所述多个节点中的目标节点满足预设类型的业务的资源需求的情况下,所述目标节点形成至少一层自治域,一层自治域包括至少一个自治域,一个自治域中包括至少一个所述目标节点。
其中,所述自治域是针对业务对资源进行优化产生的逻辑上的概念。所述目标节点包括所述网络拓扑结构中的多个节点中的至少部分节点。
假设网络拓扑结构包括编号为1至12的十二个节点,其中,编号为1、2、3的节点形成一个下层自治域,编号为5、6、7的节点形成另一个下层自治域,编号为3的节点和编号为6的节点形成一个层自治域,即图9所示的网络拓扑结构,形成两层自治域,下层自治域包括两个只有,上层自治域包括一个自治域。其中,可以理解的是,这里只是举例说明,并不局限 于网络拓扑结构只包括十二个节点,且不限于自治域只是图9所示的形式。
其中,所述资源需求包括数据、带宽、算力和算法,从而可以在对应自治域内执行对应类型的业务,避免在整个网络拓扑结构上寻找执行业务所需的资源,造成处理时间上的延迟。此外,本发明的实施例中,一个自治域内的任意两个节点间的时延小于预设阈值,因而,在一个自治域内执行某项任务时,数据的传输速度会更块。由此可知,本发明实施例中的网络拓扑结构形成的自治域,是根据不同业务类型对应的资源需求,对节点进行逻辑上的分组。
由此可知,本发明实施例中的网络拓扑结构,在检测到其中的至少部分节点满足预设类型的业务的资源需求的情况下,自动创建至少一层自治域,其中,一层自治域包括至少一个自治域,一个自治域包括至少两个节点,即本发明实施例中的网络拓扑结构可以按照实际的资源需求来对节点进行分组,实现对节点进行的分组可动态变化,从而使得后续可以在符合实际资源需求的自治域中执行对应的业务,进而提升业务的执行速度,加快对大爆发数据的处理,在一定程度上满足了人工智能、区块链引发的海量数据和大量算力的爆发需求。
可选的,第一层自治域的控制节点组成第二层自治域,所述第一层自治域与所述第二层自治域为相邻的两层自治域。
例如第一层自治域包括自治域a、b、c、d,其中,每一个自治域中的控制节点,例如自治域a中的控制节点为节点A,自治域b中的控制节点为节点B,自治域c中的控制节点为节点C,自治域d中的控制节点为节点D,则由节点A、B、C、D形成两个第二层自治域(例如A、B形成一个第二层自治域,C、D形成一个第二层自治域);然后,两个第二层自治域的控制节点再组成第三层自治域,例如两个第二层自治域的控制节点分别为A、C,那么节点A、C再组成第三层自治域。其中,第一层自治域、第二层自治域属于相邻的自治域,第二层自治域和第三层自治域属于相邻的自治域。
由此上述可知,本发明的实施例的网络拓扑结构,支持局域自组织管理,自组织区域根据附近节点自行组建,单个节点可参与多个自治域。其中,可选的,节点定期广播能力消息,通过选举方式指定自治域的控制节点,再由中心控制节点间选举产生上一层自治域,从而形成类似神经系统的网络拓扑结构,其中,每个节点的处理和存储模块类比为树突,每个节点的对外通信模块为轴突,中转节点为突触,每个节点为胞体。
可选的,所述网络拓扑结构还包括至少一个用于在第一数据格式和第二数据格式之间进行转换的格式转换设备,所述格式转换设备连接在所述 网络拓扑结构的至少一个节点与其他网络之间;
其中,所述网络拓扑结构中采用所述第一数据格式传输数据,所述其他网络中采用所述第二数据格式传输数据。另外,所述格式转换设备可看做一个连接所述网络拓扑结构和所述其他网络的外骨骼网络。
例如,所述网络拓扑结构部署在单个机房、或多个透明光纤连接的机房,可以看作为一个超级局域网。可以使用更加安全有效的通信方式,无需遵守传统互联网协议,只需在进出端口安装几台格式转换设备,将互联网的TCP/IP格式转换成所述网络拓扑结构传输数据采用的指令,即可与现有网络兼容,与现有互联网共享广域光纤资源。其中,如果所述网络拓扑结构部署在多个独立的区域,穿过公共网络,通往住宅区接入网,连接无线网络等,则需要转换所有所述拓扑网络结构与互联网之间的命令格式。
例如,如图10所示,存储交换一体机和运算交换一体机组成网络拓扑结构的节点,这样的节点组成的网络拓扑结构,通过信令通道+格式转换的设备,与互联网连接,该网络拓扑结构和互联网可以共享光纤资源。
由此可知,外骨骼网络可以大幅降低建网成本,总体效率和规模将远超过传统互联网。下一代互联网只是上述网络拓扑结构的一个副产品,当上述网络拓扑结构足够大时,传统互联网就自然被边缘化了。
另外,上述网络拓扑结构本身是一个计算和网络的联合体。通过在5G无线网络基站加入转换模块,可以将上述网络拓扑结构的服务直接送达用户终端。上述网络拓扑结构同时颠覆计算机和互联网基础结构,将迎来巨大的人工智能和感观网络新时代。
可选的,所述网络拓扑结构包括至少一层网络结构,所述寻址模块包括:
第一寻址子模块,用于根据所述目标数据的第一相关参数在第一层网络结构中对所述第一类节点进行寻址,并根据所述目标算法的第二相关参数在所述第一层网络结构中对所述第二类节点进行寻址,所述第一层网络结构为所述寻址模块所属节点所处层的网络结构;
第二寻址子模块,用于在所述第一寻址子模块未寻址到所述第一类节点时,将所述第一相关参数转发给第二层网络结构的节点,所述第二层网络结构的节点接收到所述第一相关参数后,在所述第二层网络结构中对所述第一类节点进行寻址;
第三寻址子模块,用于在所述第一寻址子模块未寻址到所述第二类节点时,将所述第二相关参数转发给所述第二层网络结构的节点,所述第二层网络结构的节点接收到所述第二相关参数后,在所述第二层网络结构中对所述第二类节点进行寻址。
由上述可知,本发明的实施例中,根据目标数据的第一相关参数在第一层网络结构中对第一类节点进行寻址,并根据目标算法的第二相关参数在第一层网络结构中对第二类节点进行寻址,即根据目标数据的第一相关参数对可以提供目标数据的节点在层内进行内容寻址,根据目标算法的第二相关参数对可以提供目标算法的节点在层内进行内容寻址。亦即通过相关参数进行寻址,而不是真实的地址进行寻址,从而可以增强一定的安全性。另外,本发明的实施例,在层内进行内容寻址,缩小了内容寻址的范围,减小了一定开销。
而若在第一层网络结构中未寻址到可以提供目标数据的节点时,则将第一相关参数转发给第二层网络结构,使得第二层网络结构可以根据第一相关参数继续对能够提供目标数据的节点进行寻址,若在第二层网络结构中仍未寻址到能够提供目标数据的节点,则第二层网络结构中的节点继续将第一相关参数转发给其他层的网络结构,直到寻址到可以提供目标数据的节点,或者直到整个对可以提供目标数据节点的寻址时间达到预设时间时,停止寻址。
同理,若在第一层网络结构中未寻址到可以提供目标算法的节点时,则将第二相关参数转发给第二层网络结构,使得第二层网络结构可以根据第二相关参数继续对能够提供目标算法的节点进行寻址,若在第二层网络结构中仍未寻址到能够提供目标算法的节点,则第二层网络结构中的节点继续将第二相关参数转发给其他层的网络结构,直到寻址到可以提供目标算法的节点,或者直到整个对可以提供目标算法节点的寻址时间达到预设时间时,停止寻址。
其中,无论在哪一层寻址到可以提供目标数据的节点和可以提供目标算法的节点,在寻址到后,都需要将可以提供目标数据的节点的地址和可以提供目标算法的节点的地址反馈给需要执行目标任务的节点。
由上述可知,本发明的实施例中,在需要执行目标任务的节点在第一层网络结构中根据所需的目标内容(包括目标数据和目标算法)的相关参数,对能够提供该目标内容的节点进行内容寻址,并在第一层网络结构中未寻址到时,直接将相关参数转发给其他层网络结构中,从而在其他层网络结构中再次寻址,直到找到可以提供目标内容的节点。由此可知,本发明实施例中,在进行寻址的过程中,只在层内进行内容寻址,在层与层之间直接转发寻址所依据的参数,从而缩写了内容寻址的范围,减小了开销,并且,通过内容寻址方式,在一定程度上达到了安全性要求。
其中,上述网络拓扑结构中的每一层网络结构,可以设置控制节点,也可不设置控制节点。该控制节点中存储有本层网络结构中的所有节点的 能力信息,即一层网络结构中除控制节点之外的其他节点会周期性向该层的控制节点上报各自的能力信息。
本发明实施例的数据传输方法,在每一层网络结构中设置控制节点,以及未设置控制节点的情况,具体的实现方式不同。
具体地,针对每一层网络结构中未设置控制节点的情况:
可选的,所述第一寻址子模块包括:
广播单元,用于在所述第一层网络结构中广播所述第一相关参数和所述第二相关参数。
本发明的实施例中,当第一层网络结构中未设置控制节点时,可以由广播单元控制需要执行目标任务的第一节点直接在第一层网络结构中广播所述第一相关参数,则第一层网络结构中的其他节点可以在接收到该第一相关参数后,各自判断自身是否能够提供目标数据。
可选的,所述第二寻址子模块包括:
第一发送单元,用于控制第一节点通过所述第一节点与第三节点之间的一条路径,向所述第三节点发送所述第一相关参数,其中,所述第一节点为需要执行所述目标任务的节点,所述第三节点接收到所述第一相关参数后,将所述第一相关参数转发给第四节点,所述第四节点位于所述第二层网络结构中,所述第三节点与所述第一节点均处于所述第一层网络结构中,所述第三节点与所述第四节点连接。
由此可知,本发明的实施例中,第一层网络结构与第二层网络结构通过第三节点与第四节点之间的连接实现通信。
另外,广播单元控制需要执行目标任务的节点(即第一节点)广播第一相关参数后的预设时间段内未接收到第一层网络结构中其他节点的反馈信息,则表示第一层网络结构中不存在可以提供目标数据的节点,则需要向其他层中继续寻找。此种情况下,第一发送单元可以控制第一节点按照第一节点与第三节点之间的一条通信链路,向第三节点发送指示信息,使得第三节点将第一相关参数转发给与第二层网络结构的第四节点,进而使得第四节点可以在第二层网络结构中继续对能够提供目标数据的节点进行寻址。
此外,第四节点接收到第三节点发送的第一相关参数后,在第二层网络结构中广播第一相关参数,则第二层网络结构中除去第四节点之外的其他节点接收到第一相关参数后,会判断自身能否提供目标数据,若可以,则通过其自身到第四节点的一条通向连接,将自身的地址反馈给第四节点,使得第四节点可以进一步转发给第三节点,进而使得第三节点进一步通过第三节点到第一节点的通信链路,转发给第一节点。
综上所述,当网络拓扑结构的每一层中均未设置控制节点时,本发明实施例的中对能够提供目标数据的节点进行寻址的过程,可举例如图3所示。即第一节点A在层一中广播第一相关参数,在此之后的预设时间内,第一节点A并未收到层一中其他节点的反馈,则第一节点A通过到第三节点C的一条路径,向第三节点发送指示信息,第三节点收到该指示信息后,将第一相关参数发送给第四节点D;第四节点D则在层二中广播第一相关参数,此后,第二节点B接收到第一相关参数后,判定自身可以提供目标数据,则第二节点B通过到第四节点D的一条路径,向第四节点D反馈自己的地址;第四节点D则将第二节点B的地址转发给第三节点C;第三节点C通过与第一节点A的一条路径,将第二节点B的地址发送给第一节点A。其中,为了便于理解,图3中的层一和层二只画出了第一节点至第四节点。
可选的,所述第三寻址子模块包括:
第五发送单元,用于控制所述第一节点与第三节点之间的一条路径,向所述第三节点发送所述第二相关参数,其中,所述第三节点接收到所述第二相关参数后,将所述第二相关参数转发给第四节点,所述第四节点位于所述第二层网络结构中,所述第三节点与所述第一节点均处于所述第一层网络结构中,所述第三节点与所述第四节点连接。
其中,广播单元控制需要执行目标任务的节点(即第一节点)广播第二相关参数后的预设时间段内未接收到第一层网络结构中其他节点的反馈信息,则表示第一层网络结构中不存在可以提供目标算法的节点,则需要向其他层中继续寻找。此种情况下,第五发送单元可以控制第一节点按照第一节点与第三节点之间的一条通信链路,向第三节点发送指示信息,使得第三节点将第二相关参数转发给与第二层网络结构的第四节点,进而使得第四节点可以在第二层网络结构中继续对能够提供目标算法的节点进行寻址。
此外,第四节点接收到第三节点发送的第二相关参数后,在第二层网络结构中广播第二相关参数,则第二层网络结构中除去第四节点之外的其他节点接收到第二相关参数后,会判断自身能否提供目标数据,若可以,则通过其自身到第四节点的一条通向连接,将自身的地址反馈给第四节点,使得第四节点可以进一步转发给第三节点,进而使得第三节点进一步通过第三节点到第一节点的通信链路,转发给第一节点。
其中,对于发明实施例的中对能够提供目标算法的节点进行寻址的过程的举例,可参加上述对能够提供目标数据的节点进行寻址的举例,此处不再赘述。
可选的,若第一层网络结构中存在能够提供目标数据的节点和能够提供目标算法的节点,则第一层网络结构中能够提供目标数据的节点会通过与第一节点之间的一条路径,向第一节点反馈其自身的地址,同理,第一层网络结构中能够提供目标算法的节点会通过与第一节点之间的一条路径,向第一节点反馈其自身的地址。
由此可知,当网络拓扑结构的每一层中均未设置控制节点时,本发明实施例中对能够提供目标数据的节点进行寻址的过程,还可举例如图4所示。即第一节点A在层一中广播第一相关参数,第二节点B接收到第一相关参数后,判定自身可以提供目标数据,则第二节点B通过到第一节点A的一条路径,向第一节点A反馈自己的地址。其中,为了便于理解,图4中的层一只画出了第一节点和第二节点。
同理,本发明实施例中对能够提供目标算法的节点进行寻址的过程,也可举例如图4所示,具体过程可参见对能够提供目标数据的节点进行寻址的过程,此处不再赘述。
具体地,针对每一层网络结构中未设置控制节点的情况:
可选的,所述第一层网络结构中设置有第一控制节点,所述第一控制节点中存储有所述第一层网络结构中的节点的能力信息;
所述第一寻址子模块包括:
第二发送单元,用于控制第一节点将所述第一相关参数发送给第一控制节点;
其中,所述第一节点为需要执行所述目标任务的节点,所述第一控制节点接收到所述第一相关参数后,根据所述第一相关参数和所述第一层网络结构中的节点的能力信息,对所述第一类节点进行寻址。
本发明的实施例中,当第一层网络结构中设置第一控制节点时,由于第一控制节点中存储有第一层网络结构中的节点的能力信息,因而第一控制节点自身就可以确定出第一层网络结构中的哪个或者哪些节点可以提供目标数据。因而第一节点只需要把第一相关参数发送给第一控制节点即可。
可选的,所述第二层网络结构中设置有第二控制节点,所述第二控制节点中存储有所述第二层网络结构中的节点的能力信息;其中,所述第二控制节点用于接收所述第一控制节点未寻址到所述第一类节点时发送的所述第一相关参数,并根据所述第一相关参数和所述第二层网络结构中的节点的能力信息对所述第一类节点进行寻址。
其中,第一控制节点根据第一层网络结构中的节点的能力信息决策出,第一层网络结构中并不存在可提供目标数据的节点时,第一控制节点 则需要将第一相关参数发送到第二层网络结构中的第二控制节点,使得第二控制节点判断第二层网络结构中是否存在可以提供目标数据的节点。
另外,若第一控制节点和第二控制节点之间并不是直接相连(即第一控制节点不与第二层网络结构的节点直接相连,或者第二控制节点不与第一层网络结构的节点直接相连),例如第一层网络结构的第三节点与第二层网络结构的第四节点相连,且第三节点和第四节点均不是控制节点,则在第一控制节点向第二控制节点发送第一相关参数的过程中,第一控制节点首先需要通过与第三节点之间的通信链路,将第一相关参数发送给第三节点;然后,第三节点将第一相关参数转发给第四节点;最后,第四节点通过与第二控制节点之间的通信链路,将第一相关参数发送给第二控制节点。
此外,第二控制节点接收到第一相关参数后,则可以根据第二层网络结构中的节点的能力信息,决策出第二层网络结构中的哪个或者哪些节点可以提供目标数据,并在存在可以提供目标数据的节点时,将该节点的地址反馈给第一层网络结构的第一控制节点,从而使得第一控制节点可以发送给第一节点。
综上所述,当网络拓扑结构的每一层中均设置有控制节点时,本发明实施例的中对能够提供目标数据的节点进行寻址的过程,可举例如图5所示。即第一节点A将第一相关参数发送给第一控制节点E,第一控制节点E根据层一中的节点的能力信息决策出该层中并不存在可以提供目标内容的节点时,第一控制节点E通过与第三节点C之间的一条路径,将第一相关参数发送给第三节点C;第三节点C将第一相关参数转发给第四节点D;第四节点D再将第一相关参数转发给层二的第二控制节点F,若第二控制节点F根据二中的节点的能力信息决策出该层中存在可以提供目标内容的节点,即第二节点B,则第二控制节点F通过与第四节点D之间的一条路径,将第二节点B的地址发送给第四节点D;第四节点D再将第二节点B的地址转发给第三节点C;第三节点C再通过与第一控制节点E的一条路径,将第二节点B的地址发送给第一控制节点E,使得第一控制节点E可以通过与第一节点A的一条路径,将第二节点B的地址发送给第一节点A。其中,为了便于理解,图5中的层一和层二只画出了第一节点至第四节点以及第一控制节点和第二控制节点。
可选的,所述第一层网络结构中设置有第一控制节点,所述第一控制节点中存储有所述第一层网络结构中的节点的能力信息;
所述第三寻址子模块包括:
第六发送单元,用于控制第一节点将所述第二相关参数发送给第一控 制节点;
其中,所述第一节点为需要执行所述目标任务的节点,所述第一控制节点接收到所述第二相关参数后,根据所述第二相关参数和所述第一层网络结构中的节点的能力信息,对所述第二类节点进行寻址。
本发明的实施例中,当第一层网络结构中设置第一控制节点时,由于第一控制节点中存储有第一层网络结构中的节点的能力信息,因而第一控制节点自身就可以确定出第一层网络结构中的哪个或者哪些节点可以提供目标算法。因而只需要第六发送单元控制第一节点把第二相关参数发送给第一控制节点即可。
可选的,所述第二层网络结构中设置有第二控制节点,所述第二控制节点中存储有所述第二层网络结构中的节点的能力信息;其中,所述第二控制节点用于接收所述第一控制节点未寻址到所述第二类节点时发送的所述第二相关参数,并根据所述第二相关参数和所述第二层网络结构中的节点的能力信息对所述第二类节点进行寻址。
其中,第一控制节点根据第一层网络结构中的节点的能力信息决策出,第一层网络结构中并不存在可提供目标算法的节点时,第一控制节点则需要将第二相关参数发送到第二层网络结构中的第二控制节点,使得第二控制节点判断第二层网络结构中是否存在可以提供目标算法的节点。
另外,若第一控制节点和第二控制节点之间并不是直接相连(即第一控制节点不与第二层网络结构的节点直接相连,或者第二控制节点不与第一层网络结构的节点直接相连),例如第一层网络结构的第三节点与第二层网络结构的第四节点相连,且第三节点和第四节点均不是控制节点,则在第一控制节点向第二控制节点发送第二相关参数的过程中,第一控制节点首先需要通过与第三节点之间的通信链路,将第二相关参数发送给第三节点;然后,第三节点将第二相关参数转发给第四节点;最后,第四节点通过与第二控制节点之间的通信链路,将第二相关参数发送给第二控制节点。
此外,第二控制节点接收到第二相关参数后,则可以根据第二层网络结构中的节点的能力信息,决策出第二层网络结构中的哪个或者哪些节点可以提供目标算法,并在存在可以提供目标算法的节点时,将该节点的地址反馈给第一层网络结构的第一控制节点,从而使得第一控制节点可以发送给第一节点。
综上所述,当网络拓扑结构的每一层中均设置有控制节点时,本发明实施例的中对能够提供目标算法的节点进行寻址的过程,可举例如图5所示,详细过程可参加对能够提供目标数据的节点进行寻址的过程举例,此 处不再赘述。
由上述可知,当网络拓扑结构的每一层中均设置有控制节点时,目标内容的第一相关参数通过控制节点广播,能够提供目标内容的节点的地址,通过控制节点反馈,则需要目标内容的节点可以不需要知道提供目标内容的节点,提供目标内容的节点也可以不需要知道为哪个节点提供,从而可以进一步寻址过程中的安全性。其中,所述目标内容为上述目标数据或者目标算法。
可选的,当网络拓扑结构的每一层中均设置有控制节点时,第一节点将第一相关参数发送给第一层网络结构的第一控制节点,由第一控制节点根据给第一相关参数和第一层网络结构中的节点的能力信息,确定第一层网络结构中是否存在可以提供目标内容的第二节点,若存在,则第一控制节点将第二节点的地址发送给第一节点。
由此可知,当网络拓扑结构的每一层中均设置有控制节点时,本发明实施例中,对能够提供目标数据的第二节点进行寻址的过程,还可举例如图6所示。即第一节点A将第一相关参数发送给层一的第一控制节点E,由第一控制节点E判定层一中存在可以提供目标内容的第二节点B,则第一控制节点E通过到第一节点A的一条路径,向第一节点A反馈第二节点B的地址。其中,为了便于理解,图6中的层一和层二只画出了第一节点、第二节点和第一控制节点。同理,本发明实施例中对能够提供目标算法的节点进行寻址的过程,也可举例如图6所示,具体过程可参见对能够提供目标数据的节点进行寻址的过程,此处不再赘述。
综上所述,本发明的实施例中,在层内采用内容寻址,在层与层之间直接转发进行内容寻址所依据的参数,从而建立通信连接。其中,链路组成完成后,业务内容按照地址寻址和处理功能分块,对数据进行标记和发送,中转节点只做自己被划分的处理,并重新组成处理后的包,其他内容透传。内容在传输过程中进行处理,每次处理后不再传输数据,而是传输处理完数据产生的知识。
此外,在实际应用场景中,例如图7所示,一个大型公司的网络拓扑结构包括三层网络结构,其中,层一包括营业厅节点101~106,层二包括地区分公司节点201~202,层三包括省公司节点301。其中,每个营业厅节点都连接有不同类型的设备,主要包括人脸识别摄像头、人流监控摄像头、烟雾传感器、空气质量传感器,则这些设备分别进行数据采集,并存储到对应的营业厅节点。
其中,在省公司节点存在实时数据需求时,例如省公司节点要求准确寻找某个人,则省公司节点在层二中寻址可以提供该任务相关内容的节 点,例如省公司节点可以将发送任务包给层二中的地区分公司节点(或者广播该任务包),则各地区分公司节点会判断是否是自己的任务,然后匹配到任务的地区分公司节点向与其连接的营业厅节点发送该任务包,从而使得接收到任务包的营业厅节点解析数据,获取到业务类型为固件更新,数据类型为代码,以及具体的设备号码,进而根据获取到的这些信息执行任务,并在完成任务后进行反馈。
具体地,省公司节点发送的任务包包括:实时上报,数据类型视频,设备类型任意,内容为被监控人照片和编号。则营业厅节点接收到该任务包后,会执行如下过程:
营业厅节点获取网表文件,由板载管理ARM通过jtag(联合测试工作组)接口下载,当下载完成时,营业厅节点的下载模块生成确认消息,发给营业厅节点的通信模块,使得营业厅节点的通信模块按照1kB帧格式填写内容并反馈。其中,反馈后营业厅节点的ARM发指令给营业厅节点的FPGA,从而打开FPGA的通信模块,使得FPGA直接接收与营业厅节点连接的摄像头的IP数据(其中,与营业厅节点连接的摄像头运行UDP(用户数据报协议)模式)。其中,营业厅节点的FPGA通信模块接收数据后,通过FPGA视频解码模块完成解码,交由下载的AI模块负责推理。AI模块反馈发现消息,触发转发模式,记录时间点,将DDR(双倍数据速率)内1分钟内最新视频,通过FPGA的通信模块转发给地区分公司节点。其中,地区分公司,
还可以根据各地收到的实时上报,做进一步分析。
其中,FPGA通过ARM维护文件系统,视频内容由FPGA直接入硬盘。FPGA与ARM通过PCIE(高速串行计算机扩展总线标准)口通信。另外营业厅节点中包括多个FPGA,而此处的FPGA只负责这个场景任务,其他日常监控任务由其他FPGA并行执行。
此外,所述数据传输方法,还可包括:
存储单元还包括:第七发送子单元,用于周期性向第二层网络结构的一个节点上报目标数据。
例如图7所示的大型公司的网络拓扑结构包括三层网络结构,在营业厅节点周期上报设备数据时,具体执行过程可如下第一步骤至第四步骤所述:
第一步骤:营业厅节点每日监控数据,业务类型,设备号,数据类型存于本地。例如:可以按照业务VIP统计,第一人脸摄像头,视频源文件,存储vip客户相关视频;或者按照业务VIP统计,第一人脸摄像头,在店时间,存储所监控到VIP在店时间统计;或者按照业务店员统计,第一 人脸摄像头,在店时间,存储所监控到店员在店时间统计。
第二步骤:营业厅节点根据预先设定的上报内容(其中主要是统计内容),在规定时间,自动组包,包长统一1kB。其中,可以仍然用现有网络传输,地址这层只用于内容标识,营业厅节点有一0个网关,负责TCP(TCP,Transmission Control Protocol,传输控制协议)/IP封装和与现有网络对接,这是标准TCP/IP协议,此处不再赘述。
第三步骤:地区分公司节点,根据各营业厅节点上报内容,进行本地统计,生成报表,并采用报文(该报文格式可参见表1)继续上报。其中,地区分公司节点之间有逻辑环,且每个分公司都有对上层和下层数据传输出口。
第四步骤:省公司节点统计内容,例如统计VIP进店平均时长,员工工作时长场,每个店面客流等。
表1报文格式
Figure PCTCN2021073406-appb-000001
可选的,对于所述网络拓扑结构从宏观上,给定任意两点(原点和终点),定义一条路径,则在第一节点(即起点)向第二节点(即终点)发送数据时,首先判断原点与终点是否在同一网络层次。如果在同一层次,则执行同层转发。如果不在同一层次,则通过层间垂直跨接,向上层或下层转发。
可选的,所述网络拓扑结构的节点地址包括与每一层对应的字段。例如所述网络拓扑结构包括三层网络结构时,可以分为高层、中层和低层。在从第一节点向第二节点发送数据包时,具体过程可以如下所述:
如果两者的三段地址全部相等,表示数据包到达目的地,第二节点的交换机接纳该数据包。并且表示交换功能结束。然后,执行后续可能的储存或运算操作。如果两者不全等,则需进一步分析:若两者高层地址不等,则通过跨接,向高层网络结构转发。进一步说,如果该节点不与高层直连,则数据包沿平级转发,直到找到高层网络结构的连接节点;如果数据包的目标地址与本地端口的高层地址相等,但本层地址不等,则根据本 层随机地址标记,沿着本层地址增加或减少方向发送,直到找到本地匹配;如果数据包的高层和本层地址与本地端口都相等,但下层地址不等,则通过跨接转发至下层;如果该节点不与下层直连,则沿平级转发,直至找到下层网络的连接节点。
可选的,任务处理模块包括:
选择子模块,用于从所述寻址模块寻址到的至少一个第一类节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述寻址模块寻址到的至少一个第二类节点中选择提供一组所述目标算法的节点作为第二目标节点;
处理子模块,用于与所述第一目标节点和所述第二目标节点交互,以使所述第二目标节点采用所述目标算法对所述第一目标节点提供的所述目标数据进行处理。
其中,所述目标数据包括至少一项数据,例如可以包括A、B两项数据。所述目标算法包括至少一种算法,例如可以包括C、D算法。本发明的实施例中,目标数据与目标算法相对应,即目标数据是执行目标算法所需的数据。例如待执行的目标任务是对A、B数据先后执行C算法和D算法,则A、B数据与C、D算法对应。
另外,本发明的实施例中,将数据和算法分别分布到网络中,而不再将数据统一存储到需要执行目标任务的节点,也不再由需要执行目标任务节点自己执行目标算法,而是分配给具备目标算法的处理能力的节点去执行,即本发明的实施例,将分布式存储和分布式计算相结合,可以降低网络拓扑结构中单个节点的能力,从而降低单个节点的设计成本,进而降低整个网络拓扑结构的设计成本。
此外,网络拓扑结构中包括多个节点,因此可能存在多个节点可以提供目数据,多个节点可以执行目标算法。并且,可能目标数据分布在多个节点上,目标算法也分布在多个节点上。而执行目标任务只需要提供一组目标数据的节点以及提供一组目标算法的节点即可。
可选的,所述任务处理设备还包括:
任务拆分模块,用于根据所述网络拓扑结构中的节点的能力信息,将待执行的任务拆分为至少一个子任务,并将所述至少一个子任务中的一个确定为所述目标任务。
由此可知,本发明实施例中,在待执行的任务涉及复杂的算法时,还可可以首先根据网络拓扑结构中各个节点的能力信息(即各个节点分别具备哪些算法处理能力),进行任务拆分,从而可以获得多项子任务,其中,一项子任务的算法由一个节点提供。
对于拆分获得的各个子任务,分别对应有执行的先后顺序,例如拆分获得子任务一、子任务二和子任务三,子任务一和子任务二所需的数据和算法互不冲突,可以并行执行,子任务三所需的数据是子任务一和子任务二所生成的数据,则子任务一和子任务二可以并行执行,其中针对子任务一和子任务二,都可以首先获取网络拓扑结构中可以提供数据和算法的节点,然后选取其中一个可以提供数据的节点和一个可以提供算法的节点,然后由提供算法的节点对提供数据的节点所提供的数据进行处理,然后存储处理后的数据。另外,在执行子任务三时,已经明确子任务一和子任务二执行算法的节点,则可以首先确定网络拓扑结构中可以提供子任务三对应的算法的节点,进而选出一个可以提供子任务三对应的算法的节点,对子任务一和子任务二中执行算法的节点中存储的子任务三所需的数据进行处理,实现对整个总任务的执行。
具体的,例如,需要对一段时长为10分钟的源视频中的前5分钟采用第一模型进行处理,后5分钟采用第二模进行处理,最后再对两部分模型处理后的视频进行合成,则该任务可以划分为三个子任务,即:
子任务一:对源视频的前5分钟进行第一模型处理;
子任务二:对源视频的后5分钟进行第二模型处理;
子任务三:进行视频合成。
针对子任务一:首先需要获取网络拓扑结构中可以提供源视频的节点,可以提供第一模型的节点,从而选出一个可以提供源视频的节点,一个可以提供第一模型的节点,进而将源视频的前5分钟的视频流传输给选出的可以提供第一模型的节点。
针对子任务二:由于子任务一中已选出一个可以提供源视频的节点,则在子任务二的处理过程中,需要获取网络拓扑结构中可以提供第二模型的节点,从而选出一个可以提供第二模型的节点,进而将源视频的后5分钟的视频流传输给选出的可以提供第二模型的节点。
针对子任务三:由于子任务三所需的数据是子任务一和子任务二执行后获得的数据,因而在子任务三的处理过程中,需要获取网络拓扑结构中可以进行视频合成的节点,从而选出一个可以进行视频合成的节点,将子任务一中提供第一模型的节点输出的数据,以及子任务二中提供第二模型的节点输出的数据进行视频合成。
由此可知,本发明的实施例,针对算法复杂的任务,可以进行任务拆分,从而将各个任务的算法分布到网络中,而不是由一个节点同一执行,不仅可以降低单个节点的能力要求,而且可以缩短任务处理时间。
可选的,所述选择子模块包括:
组合单元,用于获取提供一组所述目标数据的节点和提供一组所述目标算法的节点形成的组合;
选择单元,用于根据每个组合的能力信息,选择一个目标组合,并将所述目标组合中提供一组所述目标数据的节点确定为所述第一目标节点,将所述目标组合中提供一组所述目标算法的节点确定为第二目标节点;
其中,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延、提供一组所述目标算法的节点执行所述目标算法所需的时长、提供一组所述目标算法的节点的缓存空间大小中的至少一项。
其中,需要说明的是,若未进行任务拆分,则一组目标算法可能会由多个节点来提供,那么,在此种情况下:
第一方面,若提供一组目标数据的节点也包括多个节点,则提供一组目标数据的节点到提供一组目标算法的节点的时延可以为,每一个提供目标数据的节点到每一个提供目标算法的节点的时延之差或者平均值,例如提供一组目标数据的节点包括a、b节点,提供一组目标算法的节点为c、d节点,则a-c、b-c、a-d、b-d的时延之差或者平均值可以作为该组提供目标数据的节点和该组提供目标算法的节点之间的时延。
第二方面,提供一组所述目标算法的节点执行所述目标算法所需的时长可以为,该组中执行各自所提供的算法所需的时长之和或者平均值。
第三方面,提供一组所述目标算法的节点的缓存空间大小可以为,该组中的提供目标算法的节点的缓存空间之和或者平均值。
若进行了任务拆分,则一组目标算法由一个节点来提供,那么,在此种情况下:
第一方面,若提供一组目标数据的节点也包括多个节点,则提供一组目标数据的节点到提供一组目标算法的节点的时延可以为,每一个提供目标数据的节点到提供目标算法的节点的时延之差或者平均值,例如提供一组目标数据的节点包括a、b节点,提供一组目标算法的节点为c节点,则a-c、b-c的时延之差或者平均值可以作为该组提供目标数据的节点和提供目标算法的节点之间的时延。
第二方面,提供一组所述目标算法的节点执行所述目标算法所需的时长即为提供目标算法的节点执行目标算法所需的时长。
第三方面,提供一组所述目标算法的节点的缓存空间大小可以为,提供目标算法的节点的缓存空间。
另外,对于上述组合,例如,目标数据包括A、B两项数据,分别可以由网络拓扑结构中的a、b节点提供,目标算法包括C算法这一种,可以由 网络拓扑结构中的c、d节点提供,则可以获得的组合如下所示:
组合一:a、b、c;
组合二:a、b、d。
则可以分别获取上述四个组合的能力信息,然后根据这四个组合各自的能力信息,选出一个组合,从而由选出的组合中提供目标算法的节点采用目标算法,对该组合中提供目标数据的节点所提供的目标数据进行处理。
此外,所述目标组合为提供一组目标数据的节点和提供一组目标算法的节点形成的所有组合中,能力最强的组合。其中,组合的能力可以通过组合中提供一组目标数据的节点到提供一组目标算法的节点的时延、提供一组目标算法的节点执行目标算法所需的时长、提供一组目标算法的节点的缓存空间大小中的至少一项来表示,例如提供一组目标数据的节点到提供一组目标算法的节点的时延越小、提供一组目标算法的节点执行目标算法所需的时长越小、提供一组目标算法的节点的缓存空间越大,则表示该组合的能力越强。
可选的,所述选择单元包括:
第一选择子单元,用于选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延中的最小值对应的组合,作为所述目标组合;
或者
第二选择子单元,用于选择所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长中的最小值对应的组合,作为所述目标组合;
或者
第三选子单元,用于选择所述组合中提供一组所述目标算法的节点的缓存空间中的最大值对应的组合,作为所述目标组合;
或者
第四选择子单元,用于选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点执行所述目标算法所需的时长之和中的最小值对应的组合,作为所述目标组合;
或者
第五选择子单元,用于选择所述组合的第一比值中的最小值对应的组合,作为所述目标组合,其中,所述第一比值为所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提 供一组所述目标算法的节点的缓存空间大小的数值之比;
或者
第六选择子单元,用于选择所述组合的第二比值中的最小值对应的组合,作为所述目标组合,所述第二比值为所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比。
由上述可知,本发明实施例中,可以采用上述六个选择子单元中的任意一个来选择目标组合。其中,可以理解的是,对于选择目标组合的具体方式,并不局限于此,还可是其他根据组合的能力信息进行选择的其他方式。
可选的,所述处理子模块包括:
第三发送单元,用于向所述第一目标节点发送第一指示信息,所述第一指示信息用于指示所述第一目标节点将所述目标数据发送给所述第二目标节点;
第四发送单元,用于向所述第二目标节点发送第二指示信息,所述第二指示信息用于指示所述第二目标节点采用所述目标算法,对所述目标数据进行处理;
接收单元,用于接收所述第二目标节点发送的采用所述目标算法对所述目标数据处理后获得的数据。
本发明的实施例中,需要执行目标任务的节点(即第一节点),选出提供一组目标数据的节点(即第一目标节点)和提供一组目标算法的节点(即第二目标节点)后,向第一目标节点发送指示信息,使得第一目标节点将其中存储的目标数据发送给第二目标节点,从而由第二目标节点采用目标算法进行处理,进而将处理后获得的数据返回给上述需要执行目标任务的节点。
其中,需要说明的是,未进行任务拆分,则一组目标算法可能会由多个节点来提供,那么,在此种情况下:
若提供一组目标数据的节点包括多个节点,则提供一组目标数据的多个节点分别将对应的数据传输到对应算法的节点,例如提供一组目标数据的节点包括a、b节点,提供目标算法的节点包括c、d节点,a节点提供的数据需要c节点来处理,b节点提供的数据需要d节点来处理,则a节点需要将数据传输到c节点,b节点需要将数据传输到d节点来处理。
即在一组目标算法由多个节点提供,一组目标数据由多个节点提供的情况下,需要按照数据与算法的对应关系,以及各个算法的执行顺序来进行处理。
若进行了任务拆分,则一组目标算法由一个节点来提供,那么,在此种情况下:
提供目标数据的节点将各自所提供的数据发送给提供目标算法的节点,由提供目标算法的节点对接收到的数据进行处理即可。
可选的,在所述目标数据包括视频流或者音频流的情况下,所述处理子模块包括:
第一处理单元,用于与所述第一目标节点和所述第二目标节点交互,以使所述第二目标节点采用所述目标算法对所述第一目标节点发送的所述目标数据的第一数据包进行处理;
其中,所述第一数据包包括预设时长的视频流或音频流。所述预设时长的视频可以包括预设数量的视频帧。
可选的,所述处理子模块还包括:
第二处理单元,用于在接收所述第二目标节点发送的处理后的所述第一数据包的过程中,与所述第一目标节点和所述第二目标节点交互,以使所述第二目标节点采用所述目标算法对所述第一目标节点发送的所述目标数据的第二数据包进行处理;
其中,所述第二数据包包括预设时长的视频流或音频流。
本发明的实施例中,在对视频流或者音频流进行处理时,可以针对数据包逐一进行处理,然后将处理完成的数据包发送出去,即本发明的实施例,通过数据驱动计算,不再等待数据收集完成,而是在输出传输过程中,分步进行计算,这样能提高效率,缩短时延。
综上所述,对于本发明实施例体的应用场景可举例如下:
例如图7所示,一个网络拓扑结构包括三层网络结构,其中,层一包括节点101~106,层二包括节点201~202,层三包括节点301。其中,节点101中存储有视频实拍数据,102中存储有AR素材,103中存储有3D扫描数据。
当301节点需要一个以101节点中的视频实拍为背景、以102节点中的AR舒服增加趣味性、以103节点的扫描数据作为内容的视频时,在业务开始时,301节点发出三条请求,可以广播方式,也可以直接点对点发送,其中,请求中包括:业务类型、资源请求、数据类型、内容描述。
101节点、102节点和103节点分别相应响应请求,附带样本内容反馈。301节点接收到101节点、102节点和103节点的反馈后,采用本发明实施例的任务处理方法规划处理路径,即确定提供数据的节点和提供内容的节点,例如提供数据的节点是节点101、节点102和节点103,提供算法的节点是节点201,则301节点会下发所需视频背景生成代码给101节点, 下发AR动作和时间点给102节点,下发3D提取时间信息和所需内容给103节点,下发视频合成代码给节点201。
此后,101节点使用301下发的工具,对要求视频做预处理,生成背景视频,编码压缩后发生给201节点;102节点根据要求的AR动作和时间点,提供AR素材给201节点;103节点根据要求的3D内容和时间点,提供3D内容给201节点;201节点201接收101节点、102节点、103视频节点提供的相关数据进行视频合成,并转码,合成新视频后,转发给301节点。
由上述可知,本发明的实施例,在进行任务处理时,将数据和算法分别分布到网络中,而不再将数据统一存储到需要执行目标任务的节点,也不再由需要执行目标任务节点自己执行目标算法,而是分配给具备目标算法的处理能力的节点去执行,即本发明的实施例,将分布式存储和分布式计算相结合,不仅可以提高数据的安全性,而且可以降低网络拓扑结构中单个节点的能力,从而降低单个节点的设计成本,进而降低整个网络拓扑结构的设计成本。
即本发明的实施例中,对计算机应用流程进行彻底分解和优化,不难得到如图8所示的任务处理方法(即信息处理流水线,或者说,神经网络)。显然,流水线中每道神经元工序的设计,不需要复杂软件。从表面上看,流水线由许多简单工序组成,关键是强大的后台支撑体系。未来计算网络不需要洋葱式的复杂软件,而是依赖网络协议实现超强的管理和协同能力。这种网络协议可以由多种方式实现,因地制宜,工序分解,管理集中。其中,网络协议不需要复杂软件,或者,可以轻松实现不同软件系统的互通。
由此可见,本发明实施例的计算机系统,放弃低效的诺依曼洋葱结构,采用高效的流水线任务处理方法以及无CPU的计算机和无边际的计算机网络架构,将融合计算和网络为一体,动态调整资源。由此可见,本发明实施例的计算机系统,将计算、通信、存储一体化,消除了CPU的边界,提出了新的网络流水线计算流程,大大简化了网络操作,形成了软硬件融合的自主可控的网络计算架构和通用计算平台,并将进一步结合垂直行业应用,形成开发方便,灵活部署,性能优越的低时延人工智能时代产品。
可选的,所述第一通信模块为无线通信模块。即本发明实施例中的计算机系统中的多个计算设备中的至少部分计算设备可以通过无线方式通信连接。
可选的,所述无线通信模块为中心控制时分复用无线通信微基站网 络,即本发明实施例中的计算机系统中的多个计算设备中的至少部分计算设备之间通过边界自适应微基站无线通信网络通信连接。
其中,边界自适应微基站无线通信网络,在传统时分基础上,增加了动态发射功率控制、多基站统一资源协调、和统计复用技术,并突破了传统无线蜂窝结构,实行多基站统一宏观时隙分配,同化所有基站和终端,而且还根据用户终端分布密度和通信流量,动态调整小区分界。
综上所述,本发明实施例的计算机系统,是一种去结构的资源组合,建立非结构化资源的计算网络,相当于PC工业的Intel。其在三种基本资源(算力、带宽、储存)的维度上,进一步定义两种组合,即储存交换和计算交换。这两种组合可以满足任意规模的计算需求,甚至,超过传统计算机范畴,覆盖高性能网络的功能。然后,通过一组协议语言管理这些基本资源,并由一个单片机执行,这种管理的资源规模可达单片机本身的万倍以上。因此,管理成本可以忽略不计。
本发明实施例的计算机系统实际是一个超级网络,具备统一资源定义,统一数据结构,统一硬件设计,包括统一接口的异构算法引擎。从芯片内部开始,多次叠加,形成大覆盖,一直扩展到全球大网。确保使用一套管理规则,一套软件流程,一套协议语言,构建全系统。也就是说,本发明实施例的计算机系统设计围绕一个目标:承载操作系统和应用软件。因此,首先把数据中心做强(百倍效率),然后做大(没有边界),最后面向大市场(人工智能和感观网络)。
本发明实施例提出的数据中心包括:硬件结构,操作系统,和应用软件。能够面向大规模服务和海量消费者,再次扩大基于非诺依曼结构的计算规模百倍以上。也就是说,两条措施合在一起可以轻松扩大总算力万倍以上。而且,这个算力扩展不受摩尔定律的限制,一劳永逸地为下一代计算机提供了几乎无限的低能耗算力资源。
事实上,本发明实施例的计算机系统的目标是消除CPU。这是一条可编程计算的单行道:从起点全CPU,到GPU,到单FPGA协调多CPU/GPU,再到单CPU管理多GPU/FPGA,直到终点全FPGA。而本发明实施例的计算机系统选择的道路是直奔计算机的终极目标。就是打破诺依曼设定的限制,放弃CPU,放弃业界推崇的多核CPU和多服务器结构。根据这个终极目标,还必然放弃了传统操作系统,集群和虚拟软件,各类中间件和数据库软件。实际上,从总体上放弃了CPU和传统软件。实际上,放弃CPU,使得本发明实施例的计算机系统的结构大大简化。
总之,本发明的实施例,能够降低对现有计算机网络和复杂CPI芯片的依赖,能够实现知识产权完整,自底向上自主可控,基于现有中国工业 基础课实现全部设计,即具有重大的科技意义;能够服务重大产业领域的重大产品,面向AI金融、AI交通、AI芯片、边缘计算的海量市场,在AI时代产生世界级计算和网络架构公司的领域,即具有重大产业意义。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (24)

  1. 一种计算机系统,其特征在于,包括:
    多个计算设备,所述计算设备包括并联的存储单元和至少一个计算单元,所述多个计算设备被划分为多个节点,所述多个节点组成网络拓扑结构;
    通信设备,所述通信设备包括:自治域组建模块和第一通信模块,所述自治域组建模块,用于在检测到所述多个节点中的目标节点满足预设类型的业务的资源需求的情况下,控制所述目标节点形成至少一层自治域,一层自治域包括至少一个自治域,一个自治域中包括至少一个所述目标节点;所述第一通信模块用于将所述多个计算设备通信连接;
    任务处理设备,所述任务处理设备包括:寻址模块和任务处理模块,所述寻址模块用于在所述网络拓扑结构中对第一类节点和第二类节点进行寻址,所述第一类节点为提供待执行的目标任务所需的目标数据的节点,所述第二类节点为提供所述目标任务所需的目标算法的节点,所述寻址模块分别与所述存储单元和所述计算单元连接;所述任务处理模块用于与所述第一类节点和所述第二类节点交互,以使所述第二类节点采用所述目标算法对所述第一类节点提供的所述目标数据进行处理。
  2. 根据权利要求1所述的计算机系统,其特征在于,所述存储单元包括用于通信和管理所述存储单元的第一虚拟管理单元电路,所述计算单元包括用于通信和管理所述计算单元的第二虚拟管理单元电路,所述第一虚拟管理单元电路和所述第二虚拟管理单元电路分别与对外物理通信接口连接。
  3. 根据权利要求2所述的计算机系统,其特征在于,所述计算单元包括可编程逻辑器件。
  4. 根据权利要求3所述的计算机系统,其特征在于,所述第二虚拟管理单元电路在获取到硬件架构调整指令时,根据所述硬件架构调整指令控制所述可编程逻辑器件进行硬件架构调整。
  5. 根据权利要求3所述的计算机系统,其特征在于,所述可编程逻辑器件为现场可编程逻辑门阵列FPGA。
  6. 根据权利要求2所述的计算机系统,其特征在于,所述第一虚 拟管理单元电路和所述第二虚拟管理单元电路分别通过高速总线与所述对外物理通信接口连接。
  7. 根据权利要求1所述的计算机系统,其特征在于,所述计算设备还包括:
    分别与所述存储单元、所述计算单元和对外物理通信接口连接的第二通信模块,用于在接收到资源请求指令时,确定所述第二通信模块所属计算设备当前时刻的第一剩余资源;
    分别与所述存储单元、所述计算单元、所述对外物理通信接口和所述第二通信模块连接的资源模块,用于根据所述资源请求指令,获取所需资源信息,所述所需资源信息包括至少一种资源选择方式;
    所述资源模块,还用于根据所述第一剩余资源以及所述所需资源信息包括的资源选择方式,分配资源;
    所述资源包括所述存储单元、所述计算单元、所述存储单元中的单元电路以及所述计算单元中的单元电路中的至少一种。
  8. 根据权利要求7所述的计算机系统,其特征在于,所述资源模块包括:
    第一确定子模块,用于确定所述第一剩余资源可满足的第一资源选择方式,以及所述第一剩余资源不可满足的第二资源选择方式,所述第一资源选择方式和所述第二资源选择方式分别为所述所需资源信息中包括的资源选择方式中的至少一种;
    第二确定子模块,用于确定所述第一剩余资源满足所述第一资源选择方式后的第二剩余资源;
    反馈子模块,用于向发送所述资源请求指令的设备反馈所述第一资源选择方式、所述第二资源选择方式和所述第二剩余资源的信息。
  9. 根据权利要求7所述的计算机系统,其特征在于,所述资源请求指令包括实现算法的硬件类型、资源需求信息、通信需求信息。
  10. 根据权利要求1所述的计算机系统,其特征在于,所述网络拓扑结构包括至少一层网络结构,所述寻址模块包括:
    第一寻址子模块,用于根据所述目标数据的第一相关参数在第一层网络结构中对所述第一类节点进行寻址,并根据所述目标算法的第二相关参数在所述第一层网络结构中对所述第二类节点进行寻址,所述第一层网络结构为所述寻址模块所属节点所处层的网络结构;
    第二寻址子模块,用于在所述第一寻址子模块未寻址到所述第一类节点时,将所述第一相关参数转发给第二层网络结构的节点,所述第二层网络结构的节点接收到所述第一相关参数后,在所述第二层网络结构中对所述第一类节点进行寻址;
    第三寻址子模块,用于在所述第一寻址子模块未寻址到所述第二类节点时,将所述第二相关参数转发给所述第二层网络结构的节点,所述第二层网络结构的节点接收到所述第二相关参数后,在所述第二层网络结构中对所述第二类节点进行寻址。
  11. 根据权利要求10所述的计算机系统,其特征在于,所述第一寻址子模块包括:
    广播单元,用于在所述第一层网络结构中广播所述第一相关参数和所述第二相关参数。
  12. 根据权利要求11所述的计算机系统,其特征在于,所述第二寻址子模块包括:
    第一发送单元,用于控制第一节点通过所述第一节点与第三节点之间的一条路径,向所述第三节点发送所述第一相关参数,其中,所述第一节点为需要执行所述目标任务的节点,所述第三节点接收到所述第一相关参数后,将所述第一相关参数转发给第四节点,所述第四节点位于所述第二层网络结构中,所述第三节点与所述第一节点均处于所述第一层网络结构中,所述第三节点与所述第四节点连接。
  13. 根据权利要求10所述的计算机系统,其特征在于,所述第一层网络结构中设置有第一控制节点,所述第一控制节点中存储有所述第一层网络结构中的节点的能力信息;
    所述第一寻址子模块包括:
    第二发送单元,用于控制第一节点将所述第一相关参数发送给第一控制节点;
    其中,所述第一节点为需要执行所述目标任务的节点,所述第一控制节点接收到所述第一相关参数后,根据所述第一相关参数和所述第一层网络结构中的节点的能力信息,对所述第一类节点进行寻址。
  14. 根据权利要求13所述的计算机系统,其特征在于,所述第二层网络结构中设置有第二控制节点,所述第二控制节点中存储有所述第二层网络结构中的节点的能力信息;其中,所述第二控制节点用于 接收所述第一控制节点未寻址到所述第一类节点时发送的所述第一相关参数,并根据所述第一相关参数和所述第二层网络结构中的节点的能力信息对所述第一类节点进行寻址。
  15. 根据权利要求1所述的计算机系统,其特征在于,任务处理模块包括:
    选择子模块,用于从所述寻址模块寻址到的至少一个第一类节点中选择提供一组所述目标数据的节点作为第一目标节点,并从所述寻址模块寻址到的至少一个第二类节点中选择提供一组所述目标算法的节点作为第二目标节点;
    处理子模块,用于与所述第一目标节点和所述第二目标节点交互,以使所述第二目标节点采用所述目标算法对所述第一目标节点提供的所述目标数据进行处理。
  16. 根据权利要求15所述的计算机系统,其特征在于,所述选择子模块包括:
    组合单元,用于获取提供一组所述目标数据的节点和提供一组所述目标算法的节点形成的组合;
    选择单元,用于根据每个组合的能力信息,选择一个目标组合,并将所述目标组合中提供一组所述目标数据的节点确定为所述第一目标节点,将所述目标组合中提供一组所述目标算法的节点确定为第二目标节点;
    其中,所述组合的能力信息包括所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延、提供一组所述目标算法的节点执行所述目标算法所需的时长、提供一组所述目标算法的节点的缓存空间大小中的至少一项。
  17. 根据权利要求16所述的计算机系统,其特征在于,所述选择单元包括:
    第一选择子单元,用于选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延中的最小值对应的组合,作为所述目标组合;
    或者
    第二选择子单元,用于选择所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长中的最小值对应的组合,作为所述 目标组合;
    或者
    第三选子单元,用于选择所述组合中提供一组所述目标算法的节点的缓存空间中的最大值对应的组合,作为所述目标组合;
    或者
    第四选择子单元,用于选择所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点执行所述目标算法所需的时长之和中的最小值对应的组合,作为所述目标组合;
    或者
    第五选择子单元,用于选择所述组合的第一比值中的最小值对应的组合,作为所述目标组合,其中,所述第一比值为所述组合中提供一组所述目标数据的节点到提供一组所述目标算法的节点的时延,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比;
    或者
    第六选择子单元,用于选择所述组合的第二比值中的最小值对应的组合,作为所述目标组合,所述第二比值为所述组合中提供一组所述目标算法的节点执行所述目标算法所需的时长,与该组合中的提供一组所述目标算法的节点的缓存空间大小的数值之比。
  18. 根据权利要求1所述的计算机系统,其特征在于,所述任务处理设备还包括:
    任务拆分模块,用于根据所述网络拓扑结构中的节点的能力信息,将待执行的任务拆分为至少一个子任务,并将所述至少一个子任务中的一个确定为所述目标任务。
  19. 根据权利要求1所述的计算机系统,其特征在于,所述网络拓扑结构还包括至少一个用于在第一数据格式和第二数据格式之间进行转换的格式转换设备,所述格式转换设备连接在所述网络拓扑结构的至少一个节点与其他网络之间;
    其中,所述网络拓扑结构中采用所述第一数据格式传输数据,所述其他网络中采用所述第二数据格式传输数据。
  20. 根据权利要求1所述的计算机系统,其特征在于,所述第一 通信模块为无线通信模块。
  21. 根据权利要求1所述的计算机系统,其特征在于,第一层自治域的控制节点组成第二层自治域,所述第一层自治域与所述第二层自治域为相邻的两层自治域。
  22. 根据权利要求1所述的计算机系统,其特征在于,所述计算设备还包括:
    印制电路板单板,所述存储单元、所述计算单元位于所述印制电路板单板上;
    板框,所述印制电路板单板设置于所述板框上;
    机箱,所述板框位于所述机箱内;
    机房,所述机箱位于所述机房内;
    第一数据管理中心,所述第一数据管理中心包括至少两个机房;
    第二数据管理中心,所述第二数据管理中心包括至少两个所述第一数据管理中心。
  23. 根据权利要求22所述的计算机系统,其特征在于,所述网络拓扑结构包括八层网络结构,其中,第一层网络结构的节点为所述计算单元的单元电路,第二层网络结构节点为所述计算单元,第三层网络结构的节点为印制电路板单板,第四层网络结构的节点为板框,第五层网络结构的节点为机箱,第六层网络结构的节点为机房,第七层网络结构的节点为所述第一数据管理中心,第八层网络结构的节点为所述第二数据管理中心。
  24. 根据权利要求1所述的计算机系统,其特征在于,所述计算设备还包括微控制单元MCU。
PCT/CN2021/073406 2020-01-23 2021-01-22 一种计算机系统 WO2021148015A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/794,468 US11706076B2 (en) 2020-01-23 2021-01-22 Computer system with computing devices, communication device, task processing device

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN202010076227.XA CN110932920B (zh) 2020-01-23 2020-01-23 一种网络拓扑结构
CN202010076232.0A CN110928693B (zh) 2020-01-23 2020-01-23 一种计算设备及资源分配方法
CN202010076227.X 2020-01-23
CN202010076233.5A CN110928694B (zh) 2020-01-23 2020-01-23 一种计算机系统
CN202010076233.5 2020-01-23
CN202010076232.0 2020-01-23

Publications (1)

Publication Number Publication Date
WO2021148015A1 true WO2021148015A1 (zh) 2021-07-29

Family

ID=76992075

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/073406 WO2021148015A1 (zh) 2020-01-23 2021-01-22 一种计算机系统

Country Status (2)

Country Link
US (1) US11706076B2 (zh)
WO (1) WO2021148015A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116827801B (zh) * 2023-08-25 2023-12-15 武汉吧哒科技股份有限公司 网络拓扑构建方法、装置、计算机设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986272A (zh) * 2010-11-05 2011-03-16 北京大学 一种云计算环境下的任务调度方法
CN102833289A (zh) * 2011-06-16 2012-12-19 宁波速腾电子有限公司 一种分布式云计算资源组织和任务分配方法
CN105634784A (zh) * 2014-11-06 2016-06-01 阿里巴巴集团控股有限公司 控制数据分发方法、装置及系统
US20190251048A1 (en) * 2018-04-29 2019-08-15 Sharif University Of Technology Accelerating distributed stream processing
CN110928694A (zh) * 2020-01-23 2020-03-27 飞诺门阵(北京)科技有限公司 一种计算机系统
CN110932920A (zh) * 2020-01-23 2020-03-27 飞诺门阵(北京)科技有限公司 一种网络拓扑结构
CN110928693A (zh) * 2020-01-23 2020-03-27 飞诺门阵(北京)科技有限公司 一种计算设备及资源分配方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19806237B4 (de) 1998-02-16 2005-05-25 Sennheiser Electronic Gmbh & Co. Kg Transportables EDV-System zur Kommunikation mit mindestens einem zweiten EDV-Sysytem
US7433362B2 (en) * 2004-11-05 2008-10-07 Sbc Knowledge Ventures, L.P. System and method for SONET NSAP addressing
CN101287284B (zh) * 2007-04-13 2012-04-18 中兴通讯股份有限公司 一种设备加入无线传输网络的方法
RU2396592C2 (ru) 2008-10-21 2010-08-10 Открытое акционерное общество "Научно-исследовательский центр электронной вычислительной техники" (ОАО "НИЦЭВТ") Способ организации глобально адресуемой общей памяти в многопроцессорной эвм
US20110299544A1 (en) * 2010-06-04 2011-12-08 David Lundgren Method and system for managing bandwidth by a broadband gateway
CN102204188B (zh) 2011-05-25 2013-03-20 华为技术有限公司 虚拟网络单元中的路由计算方法和主节点设备
CN103338150B (zh) 2013-07-19 2016-06-15 中国人民解放军信息工程大学 信息通信网络体系结构建立方法、装置、服务器和路由器
CN104753873A (zh) 2013-12-30 2015-07-01 中国移动通信集团公司 一种提供内容服务的方法、装置和系统
CN103780475B (zh) 2014-02-24 2017-03-15 中国人民解放军理工大学 基于分层自治域的空间信息网络异构动态组网方法
CN104182304A (zh) 2014-08-12 2014-12-03 西北工业大学 通用多模冗余皮/纳卫星星载计算机系统
CN105577572B (zh) 2014-10-11 2019-05-07 南京理工大学 基于预算限制自组织云任务执行时间最短化资源分配方法
US9781231B2 (en) * 2014-11-19 2017-10-03 Itron, Inc. Application platform operable on network node
CN106454430B (zh) 2016-10-13 2019-06-04 重庆邮电大学 Ndn/ccn中针对自治域内视频业务预先发布方法
CN106598737A (zh) 2016-12-13 2017-04-26 腾讯科技(深圳)有限公司 一种实现硬件资源分配的方法及装置
CN106529517B (zh) 2016-12-30 2019-11-01 北京旷视科技有限公司 图像处理方法和图像处理设备
CN106886503A (zh) 2017-02-08 2017-06-23 无锡十月中宸科技有限公司 异构系统、数据处理方法及装置
CN107273099A (zh) 2017-05-10 2017-10-20 苏州大学 一种基于FPGA的AdaBoost算法加速器及控制方法
US10503551B2 (en) 2017-06-07 2019-12-10 Dell Products L.P. Coordinating FPGA services using cascaded FPGA service managers
CN109324890B (zh) 2017-07-31 2021-01-05 华为技术有限公司 资源管理方法、装置及计算机可读存储介质
CN107656812A (zh) 2017-09-27 2018-02-02 咪咕文化科技有限公司 区块链处理方法、系统、节点设备、终端和存储介质
WO2019136762A1 (zh) 2018-01-15 2019-07-18 深圳鲲云信息科技有限公司 人工智能处理器、及其所应用的处理方法
FI130232B (en) 2018-04-18 2023-05-03 Meeshkan Oy Procedure for distributed processing of information and distributed information processing system
US10616136B2 (en) 2018-04-19 2020-04-07 Microsoft Technology Licensing, Llc Utilization based dynamic resource allocation
CN108805272A (zh) 2018-05-03 2018-11-13 东南大学 一种基于fpga的通用卷积神经网络加速器
US10887192B2 (en) * 2018-08-03 2021-01-05 Red Hat, Inc. Targeted network discovery and visualizations
CN109814552B (zh) 2018-12-28 2024-05-24 阿波罗智能技术(北京)有限公司 车载控制单元、基于fpga的车辆自动驾驶方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986272A (zh) * 2010-11-05 2011-03-16 北京大学 一种云计算环境下的任务调度方法
CN102833289A (zh) * 2011-06-16 2012-12-19 宁波速腾电子有限公司 一种分布式云计算资源组织和任务分配方法
CN105634784A (zh) * 2014-11-06 2016-06-01 阿里巴巴集团控股有限公司 控制数据分发方法、装置及系统
US20190251048A1 (en) * 2018-04-29 2019-08-15 Sharif University Of Technology Accelerating distributed stream processing
CN110928694A (zh) * 2020-01-23 2020-03-27 飞诺门阵(北京)科技有限公司 一种计算机系统
CN110932920A (zh) * 2020-01-23 2020-03-27 飞诺门阵(北京)科技有限公司 一种网络拓扑结构
CN110928693A (zh) * 2020-01-23 2020-03-27 飞诺门阵(北京)科技有限公司 一种计算设备及资源分配方法

Also Published As

Publication number Publication date
US20230079205A1 (en) 2023-03-16
US11706076B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
CN110928694B (zh) 一种计算机系统
Markakis et al. EXEGESIS: Extreme edge resource harvesting for a virtualized fog environment
CN111082949B (zh) 一种类脑计算机中脉冲数据包高效传输方法
CN107819742B (zh) 一种动态部署网络安全服务的系统架构及其方法
CN103809999A (zh) 具有片上集成网络的可编程逻辑器件
CN112269751B (zh) 一种面向亿级神经元类脑计算机的芯片扩展方法
CN110932920B (zh) 一种网络拓扑结构
TWI713384B (zh) 虛擬公眾WiFi電路指配系統
CN107204919A (zh) 一种基于pof的边缘快速路由与缓存系统及方法
CN113572815A (zh) 一种跨异构平台的通信技术方法、系统及介质
WO2021148015A1 (zh) 一种计算机系统
Liu et al. PSNet: Reconfigurable network topology design for accelerating parameter server architecture based distributed machine learning
Gadasin et al. Organization of Interaction between the Concept of Fog Computing and Segment Routing for the Provision of IoT Services in Smart Grid Networks
CN108737455B (zh) 网络业务识别装置及方法
Feng et al. Criso: an incremental scalable and cost-effective network architecture for data centers
Salah et al. Adaptive data placement in the Fog infrastructure of IoT applications with dynamic changes
WO2021148014A1 (zh) 一种任务处理方法、装置及电子设备
RU2800966C1 (ru) Компьютерная система
Kumar On packet switched networks for on-chip communication
CN110276705B (zh) 一种基于esn为产业园区企业提供智能制造服务的方法
Temirov et al. Using of edge/fog/cloud computing technologies in smart grid information flow management
CN115801782B (zh) 一种跨区域数据中心云资源调度系统及方法
RU2794969C1 (ru) Способ, устройство и электронное устройство для обработки задач
Guo Data Center Networking: Network Topologies and Traffic Management in Large-Scale Data Centers
CN113110111B (zh) 基于ns3的分布式半实物仿真系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21744992

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21744992

Country of ref document: EP

Kind code of ref document: A1