CN110928693B - Computing equipment and resource allocation method - Google Patents

Computing equipment and resource allocation method Download PDF

Info

Publication number
CN110928693B
CN110928693B CN202010076232.0A CN202010076232A CN110928693B CN 110928693 B CN110928693 B CN 110928693B CN 202010076232 A CN202010076232 A CN 202010076232A CN 110928693 B CN110928693 B CN 110928693B
Authority
CN
China
Prior art keywords
resource
resources
type
virtual management
management unit
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202010076232.0A
Other languages
Chinese (zh)
Other versions
CN110928693A (en
Inventor
沈寓实
汝聪翀
姚正斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fenomen Array Beijing Technology Co ltd
Original Assignee
Fenomen Array Beijing Technology Co ltd
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
Application filed by Fenomen Array Beijing Technology Co ltd filed Critical Fenomen Array Beijing Technology Co ltd
Priority to CN202010076232.0A priority Critical patent/CN110928693B/en
Publication of CN110928693A publication Critical patent/CN110928693A/en
Application granted granted Critical
Publication of CN110928693B publication Critical patent/CN110928693B/en
Priority to PCT/CN2021/073406 priority patent/WO2021148015A1/en
Priority to US17/794,468 priority patent/US11706076B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package

Abstract

The embodiment of the invention provides a computing device and a resource allocation method, wherein the computing device comprises: at least one storage unit comprising a first virtual management unit circuit for communicating and managing the storage unit; at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit; the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with an external physical communication interface. Therefore, according to the scheme of the invention, calculation and storage are fused into a network, a calculation unit is set to have a uniform interface for external communication, and calculation and storage are performed in parallel, so that the data processing speed can be increased, and the explosive requirements of mass data and large computational power caused by artificial intelligence and block chaining can be met to a certain extent.

Description

Computing equipment and resource allocation method
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a computing device and a resource allocation method.
Background
The current computer system mainly uses a Central Processing Unit (CPU) as a main component, and with the development of technologies such as cloud computing and artificial intelligence, a big data algorithm is limited by the word length precision of the CPU, the CPU is a serial reading and computing mode, and the CPU-based computer system cannot meet the current big concurrent computing requirement. The current network adopts the principle of best effort under the condition of extremely narrow bandwidth, and each data packet in the network needs to execute protocol operation, thereby wasting chip computing power. With the explosion of big data and the development of optical fiber technology, under the condition of sufficient bandwidth resources, the original network architecture is continuously retransmitted after making mistakes, and the mode of sacrificing quality and controlling flow cannot meet the explosion requirements of mass data and large computational power caused by artificial intelligence and block chains.
Disclosure of Invention
The invention provides a computing device and a resource allocation method, which are used for meeting the explosive requirements of mass data and large computational power caused by artificial intelligence and block chains to a certain extent.
In a first aspect of embodiments of the present invention, there is provided a computing device, comprising:
at least one storage unit comprising a first virtual management unit circuit for communicating and managing the storage unit;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with an external physical communication interface.
Optionally, the computing unit includes a programmable logic device.
Optionally, when the second virtual management unit circuit obtains the hardware architecture adjustment instruction, the second virtual management unit circuit controls the programmable logic device to perform hardware architecture adjustment according to the hardware architecture adjustment instruction.
Optionally, the programmable logic device is an FPGA (field programmable gate array).
Optionally, the computing device further comprises an MCU (micro control unit).
Optionally, 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.
In a second aspect of the embodiments of the present invention, there is provided a resource allocation method applied to a computing device, where the computing device includes:
at least one storage unit comprising a first virtual management unit circuit for communicating and managing the storage unit;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with an external physical communication interface;
the resources comprise any one of a first type of resources, a second type of resources, a third type of resources and a fourth type of resources, or comprise the first type of resources and the second type of resources, or comprise the first type of resources and the fourth type of resources, or comprise the second type of resources and the third type of resources, or comprise the third type of resources and the fourth type of resources;
the first type of resource comprises a first number of the storage units, the second type of resource comprises a second number of the computing units, the third type of resource comprises a third number of the unit circuits in the storage units, the fourth type of resource comprises a fourth number of the unit circuits in the computing units, and the first number, the second number, the third number and the fourth number are integers;
the resource allocation method comprises the following steps:
when a resource request instruction sent by a network side is received, determining a first residual resource of the computing equipment at the current moment;
acquiring required resource information according to the resource request instruction, wherein the required resource information comprises at least one resource selection mode;
and allocating resources according to the first residual resources and the resource selection mode included by the required resource information.
Optionally, the allocating resources according to the first remaining resources and the resource selection manner included in the required resource information includes:
determining a first resource selection mode which can be satisfied by the first remaining resource and a second resource selection mode which cannot be satisfied by the first remaining resource, wherein the first resource selection mode and the second resource selection mode are at least one of the resource selection modes included in the required resource information respectively;
determining a second residual resource after the first residual resource meets the first resource selection mode;
and sending the information of the first resource selection mode, the second resource selection mode and the second remaining resource to the network side.
Optionally, the resource request instruction includes a hardware type for implementing an algorithm, resource requirement information, and communication requirement information.
In a third aspect of embodiments of the present invention, there is provided a computing device, comprising:
at least one storage unit comprising a first virtual management unit circuit for communicating and managing the storage unit;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with an external physical communication interface;
the communication module is respectively connected with the storage unit, the computing unit and the external physical communication interface and is used for determining a first residual resource of the computing equipment at the current moment when receiving a resource request instruction sent by a network side;
the resource module is respectively connected with the storage unit, the computing unit, the external physical communication interface and the communication module and is used for acquiring required resource information according to the resource request instruction, wherein the required resource information comprises at least one resource selection mode;
the resource module is further configured to allocate resources according to the first remaining resource and a resource selection manner included in the required resource information;
the resources comprise any one of a first type of resources, a second type of resources, a third type of resources and a fourth type of resources, or comprise the first type of resources and the second type of resources, or comprise the first type of resources and the fourth type of resources, or comprise the second type of resources and the third type of resources, or comprise the third type of resources and the fourth type of resources;
the first type of resource comprises a first number of the storage units, the second type of resource comprises a second number of the computing units, the third type of resource comprises a third number of the unit circuits in the storage units, the fourth type of resource comprises a fourth number of the unit circuits in the computing units, and the first number, the second number, the third number and the fourth number are integers.
Optionally, when the resource module allocates resources according to the first remaining resource and the resource selection manner included in the required resource information, the resource module is specifically configured to:
determining a first resource selection mode which can be satisfied by the first remaining resource and a second resource selection mode which cannot be satisfied by the first remaining resource, wherein the first resource selection mode and the second resource selection mode are at least one of the resource selection modes included in the required resource information respectively;
determining a second residual resource after the first residual resource meets the first resource selection mode;
and sending the information of the first resource selection mode, the second resource selection mode and the second remaining resource to the network side.
Optionally, the resource request instruction includes a hardware type for implementing an algorithm, resource requirement information, and communication requirement information.
Aiming at the prior art, the invention has the following advantages:
the computing equipment provided by the embodiment of the invention comprises a storage unit and a computing unit, wherein the storage unit and the computing unit are both provided with virtual management unit circuits for communication and management and are connected with an external physical communication interface, so that the storage unit and the computing unit are parallel, and different computing units are parallel. Therefore, the computing equipment does not distinguish computing and networks, melts computing and storage into the networks, sets the computing unit to have a uniform interface for external communication, and parallels the computing and storage, so that the data processing speed can be increased, and the explosion requirements of mass data and large computing power caused by artificial intelligence and block chaining can be met to a certain extent.
The foregoing description is only an overview of the technical solutions of the present invention, and the embodiments of the present invention are described below in order to make the technical means of the present invention more clearly understood and to make the above and other objects, features, and advantages of the present invention more clearly understandable.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below.
Fig. 1 is a block diagram of a computing device according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating steps of a resource allocation method according to an embodiment of the present invention;
fig. 3 is a block diagram of another computing device according to an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
As shown in FIG. 1, an embodiment of the present invention provides a computing device comprising:
at least one storage unit comprising a first virtual management unit circuit for communicating and managing the storage unit;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with an external physical communication interface.
The first virtual management unit circuit is a unit circuit in which a program for realizing communication (including internal communication and external communication of the computing device) and management (e.g., resource management) of the storage unit is stored in the storage unit. The second virtual management circuit is a unit circuit in which a program for realizing communication (including internal communication and external communication of the computing device) and management (e.g., resource management) of the computing unit is stored in the computing unit.
In addition, the storage unit and the computing unit are both provided with a virtual management unit circuit for communication and management and are connected with an external physical communication interface, namely the storage unit and the computing unit are parallel, and different computing units are parallel. Therefore, any two of all the computing units and the storage units included in the computing device in the embodiment of the present invention are connected in parallel.
In addition, the virtual management unit circuits of the storage unit and the computing unit are both connected with 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, so that the information instruction transmitted by the external physical communication interface can directly enter the computing unit and the storage unit.
Therefore, the computing equipment does not distinguish computing and networks, melts computing and storage into the networks, parallels the computing units, parallels the storage units and the computing units, and sets a uniform interface for external communication, so that the computing speed can be improved, and the explosion requirements of mass data and large computing power caused by artificial intelligence and block chaining can be met to a certain extent. Moreover, the computing device of the embodiment of the present invention does not include a Central Processing Unit (CPU), and thus can be extended indefinitely.
Optionally, the computing unit includes a programmable logic device. Therefore, the computing unit of the computing device of the embodiment of the invention can be formed by a programmable logic device.
The logic device is an electronic device for realizing a specific logic function, and the simplest logic device is an AND, OR, NOT gate and the like, so that the complex time sequence and combinational logic function can be realized on the basis. The function of the programmable logic device is not fixed, but can be changed according to the needs of a user, namely, the logic function of the device is determined by a programming method. Therefore, the computing device of the embodiment of the present invention includes the computing unit therein including the programmable logic device, so that the computing unit of the computing device may change the functions that can be implemented according to the needs of the user, that is, each computing unit of the computing device of the embodiment of the present invention may implement different logic functions, that is, implement different algorithms, by a programming method instead of implementing a unique function, so that the bandwidth of the computing device of the embodiment of the present invention may be dynamically configured.
Optionally, when the second virtual management unit circuit obtains the hardware architecture adjustment instruction, the second virtual management unit circuit controls the programmable logic device to perform hardware architecture adjustment according to the hardware architecture adjustment instruction.
In the embodiment of the present invention, the hardware architecture adjustment instruction may be sent by a network side, or may be automatically generated under a preset condition, and in the embodiment of the present invention, the computing device may also automatically adjust the hardware architecture of the programmable logic device, that is, adjust the logic function of the programmable logic device, according to an instruction of the network side. Therefore, the functional fragment of the support node of the computing device in the embodiment of the present invention can be used as a relay node, a control node, a service node, and the like.
Optionally, the programmable logic device is an FPGA array. That is, when the computing device in the embodiment of the present invention includes a computing unit including a programmable logic device, the programmable logic device may be an FPGA. The FPGA is a programmable device, and can theoretically implement any computation, but in consideration of efficiency, the FPGA is suitable for performing parallel computation and pipeline computation, and typical computation such as AI (Artificial Intelligence), video transcoding, and searching, so that the computing device in the embodiment of the present invention supports high-speed access, and can be inserted and pulled at will and expanded at will. It is to be understood that the computing device included in the computing unit in the embodiment of the present invention may also include other programmable logic devices besides the FPGA.
In addition, optionally, in the embodiment of the present invention, the FPGA is used as an independent resource, and is separated from the CPU, and the FPGA resource may be divided and used. Namely, the FPGA can be provided with a fixed module to complete the following functions:
1. network communication;
2. parsing a specific instruction, i.e. a response to a set of resource applications;
3. and feeding back the application which can be met by the feedback and the resource use condition of the feedback.
In short, the FPGA in the embodiment of the invention can be independent of the CPU control and network communication, can flexibly use FPGA resources for different tasks, and can update in real time.
Optionally, the computing device further includes an MCU. Specifically, the MCU may be disposed inside the computing unit and connected to the FPGA, or disposed inside the storage unit, or disposed independently of the computing unit and the storage unit.
Optionally, 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 meanwhile, the computing unit and the storage unit are connected through the high-speed bus, so that a single computing device can implement local high-speed storage and nearby computing. The high-speed bus connection between the computing unit and the storage unit guarantees the IO speed of data, high-speed reading and writing of multi-path data is achieved in a high concurrency mode, and random structuralization can be performed on the stored data in an offline mode according to business requirements, so that cooperative computing with other nodes is facilitated.
Optionally, the external physical communication interface includes an optical fiber interface or a network interface. The optical fiber interface is a physical interface for connecting an optical fiber cable. In the embodiment of the invention, the computing unit is connected with the optical fiber interface, so that the computing equipment can guarantee the external bandwidth and meet the real-time communication requirement.
In summary, the computing device in the embodiment of the present invention may 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 a main operation and control carrier and is assisted by a small number of MCU control units.
The embodiment of the invention provides a resource allocation method, which is applied to computing equipment, wherein the computing equipment comprises the following steps:
at least one storage unit comprising a first virtual management unit circuit for communicating and managing the storage unit;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with an external physical communication interface;
the resources comprise any one of a first type of resources, a second type of resources, a third type of resources and a fourth type of resources, or comprise the first type of resources and the second type of resources, or comprise the first type of resources and the fourth type of resources, or comprise the second type of resources and the third type of resources, or comprise the third type of resources and the fourth type of resources;
the first type of resource includes a first number of the storage units, the second type of resource includes a second number of the computing units, the third type of resource includes a third number of unit circuits in the storage units, the fourth type of resource includes a fourth number of unit circuits in the computing units, and the first number, the second number, the third number, and the fourth number are integers, that is, the resource of the computing device may be granular in the unit circuits of the computing device. For example, when the computing unit of the computing device described above includes an FPGA, the resources include LUT (Look-Up-Table), REG (register resource), DSP (digital signal processor), MEM (memory resource), IO (input/output), communication bandwidth, and other parts.
As shown in fig. 2, the resource allocation method may include the steps of:
step 201: and when a resource request instruction sent by a network side is received, determining the first residual resource of the computing equipment at the current moment.
In the embodiment of the invention, when the computing device receives the resource request instruction sent by the network side, the computing device counts the resources left at the current moment of the computing device, namely the first remaining resources, so as to judge whether the current remaining resources of the computing device can meet the resource request of the network side.
Optionally, the resource request instruction includes a hardware type (i.e., an IP core type) for implementing an algorithm, resource requirement information, and communication requirement information. Further, the data packet corresponding to the resource request command may have a length of 1kb and a fixed format. In addition, the resource request instruction may set an instruction frame header, and the computing device may read the content with the corresponding length according to the instruction frame header.
Step 202: and acquiring the required resource information according to the resource request instruction.
Wherein the required resource information includes at least one resource selection mode. That is, the network side may carry at least one resource selection manner corresponding to the function to be implemented by the resource request in the resource request instruction, and the computing device may allocate resources to the resource request instruction according to the current remaining resources of the computing device and the at least one resource selection manner indicated by the network side.
Step 203: and allocating resources according to the first residual resources and the resource selection mode included by the required resource information.
As can be seen from the above, the resource allocation method according to the embodiment of the present invention can allocate resources for the unit circuit in the computing device according to the resource granularity, and flexibly allocate resources according to the resource request instruction issued by the network side.
Optionally, the allocating resources according to the first remaining resources and the resource selection manner included in the required resource information includes:
determining a first resource selection mode which can be satisfied by the first remaining resource and a second resource selection mode which cannot be satisfied by the first remaining resource, wherein the first resource selection mode and the second resource selection mode are at least one of the resource selection modes included in the required resource information respectively;
determining a second residual resource after the first residual resource meets the first resource selection mode;
and sending the information of the first resource selection mode, the second resource selection mode and the second remaining resource to the network side.
In the embodiment of the present invention, the computing device may determine, according to at least one resource selection manner indicated by the network side and the current remaining resources of the computing device, a resource selection manner that the computing device can support by itself and a resource selection manner that the computing device cannot support, and calculate the remaining resources after allocating the resources according to the resource selection manner that the computing device supports by itself, and further report the resource selection manner that the computing device supports by itself and the remaining resources after allocating the resources according to the resource selection manner that the computing device supports by itself to the network side.
That is, when the computing device receives a resource request instruction issued by a network side, the computing device obtains the required resource information from the resource request instruction (for example, there are three algorithms for functions to be implemented corresponding to the instruction, and the numbers of units such as storage units and algorithms required by different algorithms are different, for example, the first algorithm requires 100 storage units, 200 algorithm units, and 50 registers), and then the computing device obtains whether the remaining resources of the computing device can implement one of the algorithms, for example, the first algorithm can be implemented, and then the remaining resources after the first algorithm is implemented are also calculated. And then reporting which algorithm can be supported by the network side, and the subsequent residual resource condition to the network side.
For example, when a computing unit included in the computing device includes an FPGA, a network side issues an instruction to request to implement a function of AI inference, where the instruction includes a set of capability requirements of hardware (i.e., an IP core) and a network structure that need to implement an algorithm for deep learning computation, and these requirements have various choices according to different parallel situations, and the FPGA fills in feedback according to its current resource situation, which can be supported, and which cannot be supported. After the network processes the feedback of each FPGA device, the network determines who calculates, and issues a calculation instruction and hardware (namely an IP core) for realizing the algorithm, and the FPGA downloads the hardware (namely the IP core) for realizing the algorithm, completes the calculation and then releases resources.
The FPGA can also respond to resource requests of a plurality of different tasks at the same time, and under the condition of resource permission, local resources are used for downloading the IP to form corresponding data packets and feed back different task results.
In addition, the computing device can also directly report the first remaining resources counted when the computing device receives the resource request instruction sent by the network side to the network side, the network side determines the resource selection mode that the first remaining resources can satisfy and the resource selection mode that the first remaining resources cannot satisfy, and calculates the resources that the computing device can remain after allocating the resources to the computing device according to the resource selection mode that the first remaining resources can satisfy, and returns the information to the computing device.
In addition, when the information of the first resource selection mode, the second resource selection mode and the second remaining resource is sent to the network side, the feedback can be directly packaged and not stored, and the information can be sent according to a normal communication (for example, ethernet media access control layer protocol communication) format or a frame format newly defined in advance.
As shown in fig. 3, embodiments of the present invention also provide a computing device, comprising:
at least one storage unit comprising a first virtual management unit circuit for communicating and managing the storage unit;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with an external physical communication interface;
the communication module is respectively connected with the storage unit, the computing unit and the external physical communication interface and is used for determining a first residual resource of the computing equipment at the current moment when receiving a resource request instruction sent by a network side;
the resource module is respectively connected with the storage unit, the computing unit, the external physical communication interface and the communication module and is used for acquiring required resource information according to the resource request instruction, wherein the required resource information comprises at least one resource selection mode;
the resource module is further configured to allocate resources according to the first remaining resource and a resource selection manner included in the required resource information;
the resources comprise any one of a first type of resources, a second type of resources, a third type of resources and a fourth type of resources, or comprise the first type of resources and the second type of resources, or comprise the first type of resources and the fourth type of resources, or comprise the second type of resources and the third type of resources, or comprise the third type of resources and the fourth type of resources;
the first type of resource comprises a first number of the storage units, the second type of resource comprises a second number of the computing units, the third type of resource comprises a third number of the unit circuits in the storage units, the fourth type of resource comprises a fourth number of the unit circuits in the computing units, and the first number, the second number, the third number and the fourth number are integers.
Optionally, when the resource module allocates resources according to the first remaining resource and the resource selection manner included in the required resource information, the resource module is specifically configured to:
determining a first resource selection mode which can be satisfied by the first remaining resource and a second resource selection mode which cannot be satisfied by the first remaining resource, wherein the first resource selection mode and the second resource selection mode are at least one of the resource selection modes included in the required resource information respectively;
determining a second residual resource after the first residual resource meets the first resource selection mode;
and sending the information of the first resource selection mode, the second resource selection mode and the second remaining resource to the network side.
Optionally, the resource request instruction includes a hardware type for implementing an algorithm, resource requirement information, and communication requirement information.
As can be seen from the above, the computing device in the embodiment of the present invention can allocate resources for the unit circuit in the computing device according to the resource granularity, and flexibly allocate resources according to the resource request instruction issued by the network side.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
All the embodiments in the present specification are described in a related manner, and the same and similar parts among the embodiments may be referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only for the preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims (12)

1. A computing device, comprising:
at least one memory unit comprising a first virtual management unit circuit for communicating and managing said memory units, wherein said memory units are in parallel when there are at least two of said memory units;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively and directly connected with an external physical communication interface.
2. The computing device of claim 1, wherein the computational unit comprises a programmable logic device.
3. The computing device according to claim 2, wherein when the second virtual management unit circuit acquires a hardware architecture adjustment instruction, the second virtual management unit circuit controls the programmable logic device to perform hardware architecture adjustment according to the hardware architecture adjustment instruction.
4. The computing device of claim 2, wherein the programmable logic device is a Field Programmable Gate Array (FPGA).
5. The computing device of claim 1, further comprising a Micro Control Unit (MCU).
6. The computing device of claim 1, wherein the first virtual management unit circuit and the second virtual management unit circuit are each connected to the out-of-site physical communication interface via a high-speed bus.
7. A resource allocation method is applied to a computing device, and the computing device comprises:
at least one memory unit comprising a first virtual management unit circuit for communicating and managing said memory units, wherein said memory units are in parallel when there are at least two of said memory units;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively and directly connected with an external physical communication interface;
the resources comprise any one of a first type of resources, a second type of resources, a third type of resources and a fourth type of resources, or comprise the first type of resources and the second type of resources, or comprise the first type of resources and the fourth type of resources, or comprise the second type of resources and the third type of resources, or comprise the third type of resources and the fourth type of resources;
the first type of resource comprises a first number of the storage units, the second type of resource comprises a second number of the computing units, the third type of resource comprises a third number of the unit circuits in the storage units, the fourth type of resource comprises a fourth number of the unit circuits in the computing units, and the first number, the second number, the third number and the fourth number are integers;
the resource allocation method comprises the following steps:
when a resource request instruction sent by a network side is received, determining a first residual resource of the computing equipment at the current moment;
acquiring required resource information according to the resource request instruction, wherein the required resource information comprises at least one resource selection mode;
and allocating resources according to the first residual resources and the resource selection mode included by the required resource information.
8. The method according to claim 7, wherein the allocating resources according to the resource selection manner included in the first remaining resources and the required resource information comprises:
determining a first resource selection mode which can be satisfied by the first remaining resource and a second resource selection mode which cannot be satisfied by the first remaining resource, wherein the first resource selection mode and the second resource selection mode are at least one of the resource selection modes included in the required resource information respectively;
determining a second residual resource after the first residual resource meets the first resource selection mode;
and sending the information of the first resource selection mode, the second resource selection mode and the second remaining resource to the network side.
9. The method according to claim 7, wherein the resource request instruction includes hardware type for implementing algorithm, resource requirement information, and communication requirement information.
10. A computing device, comprising:
at least one memory unit comprising a first virtual management unit circuit for communicating and managing said memory units, wherein said memory units are in parallel when there are at least two of said memory units;
at least one compute unit including a second virtual management unit circuit for communicating and managing the compute unit;
the first virtual management unit circuit and the second virtual management unit circuit are respectively connected with a direct external physical communication interface;
the communication module is respectively connected with the storage unit, the computing unit and the external physical communication interface and is used for determining a first residual resource of the computing equipment at the current moment when receiving a resource request instruction sent by a network side;
the resource module is respectively connected with the storage unit, the computing unit, the external physical communication interface and the communication module and is used for acquiring required resource information according to the resource request instruction, wherein the required resource information comprises at least one resource selection mode;
the resource module is further configured to allocate resources according to the first remaining resource and a resource selection manner included in the required resource information;
the resources comprise any one of a first type of resources, a second type of resources, a third type of resources and a fourth type of resources, or comprise the first type of resources and the second type of resources, or comprise the first type of resources and the fourth type of resources, or comprise the second type of resources and the third type of resources, or comprise the third type of resources and the fourth type of resources;
the first type of resource comprises a first number of the storage units, the second type of resource comprises a second number of the computing units, the third type of resource comprises a third number of the unit circuits in the storage units, the fourth type of resource comprises a fourth number of the unit circuits in the computing units, and the first number, the second number, the third number and the fourth number are integers.
11. The computing device according to claim 10, wherein the resource module, when allocating resources according to the first remaining resource and the resource selection manner included in the required resource information, is specifically configured to:
determining a first resource selection mode which can be satisfied by the first remaining resource and a second resource selection mode which cannot be satisfied by the first remaining resource, wherein the first resource selection mode and the second resource selection mode are at least one of the resource selection modes included in the required resource information respectively;
determining a second residual resource after the first residual resource meets the first resource selection mode;
and sending the information of the first resource selection mode, the second resource selection mode and the second remaining resource to the network side.
12. The computing device of claim 10, wherein the resource request instructions include a hardware type to implement an algorithm, resource requirement information, communication requirement information.
CN202010076232.0A 2020-01-23 2020-01-23 Computing equipment and resource allocation method Active CN110928693B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010076232.0A CN110928693B (en) 2020-01-23 2020-01-23 Computing equipment and resource allocation method
PCT/CN2021/073406 WO2021148015A1 (en) 2020-01-23 2021-01-22 Computer system
US17/794,468 US11706076B2 (en) 2020-01-23 2021-01-22 Computer system with computing devices, communication device, task processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010076232.0A CN110928693B (en) 2020-01-23 2020-01-23 Computing equipment and resource allocation method

Publications (2)

Publication Number Publication Date
CN110928693A CN110928693A (en) 2020-03-27
CN110928693B true CN110928693B (en) 2021-01-15

Family

ID=69854672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010076232.0A Active CN110928693B (en) 2020-01-23 2020-01-23 Computing equipment and resource allocation method

Country Status (1)

Country Link
CN (1) CN110928693B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11706076B2 (en) 2020-01-23 2023-07-18 Novnet Computing System Tech Co., Ltd. Computer system with computing devices, communication device, task processing device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182304A (en) * 2014-08-12 2014-12-03 西北工业大学 Universal multi-mode redundant pico/nano satellite on-board computer system
CN106529517A (en) * 2016-12-30 2017-03-22 北京旷视科技有限公司 Image processing method and image processing device
CN107273099A (en) * 2017-05-10 2017-10-20 苏州大学 A kind of AdaBoost algorithms accelerator and control method based on FPGA
CN107656812A (en) * 2017-09-27 2018-02-02 咪咕文化科技有限公司 block chain processing method, system, node device, terminal and storage medium
CN108805272A (en) * 2018-05-03 2018-11-13 东南大学 A kind of general convolutional neural networks accelerator based on FPGA

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19806237B4 (en) * 1998-02-16 2005-05-25 Sennheiser Electronic Gmbh & Co. Kg Transportable EDP system for communication with at least one second EDP sysytem
CN106598737A (en) * 2016-12-13 2017-04-26 腾讯科技(深圳)有限公司 Method and device for implementing hardware resource allocation
CN106886503A (en) * 2017-02-08 2017-06-23 无锡十月中宸科技有限公司 heterogeneous system, data processing method and device
CN109324890B (en) * 2017-07-31 2021-01-05 华为技术有限公司 Resource management method, device and computer readable storage medium
CN109564638B (en) * 2018-01-15 2023-05-26 深圳鲲云信息科技有限公司 Artificial intelligence processor and processing method applied by same
WO2019211715A1 (en) * 2018-04-29 2019-11-07 Nima Kavand Accelerating distributed stream processing
CN109814552A (en) * 2018-12-28 2019-05-28 百度在线网络技术(北京)有限公司 Vehicular control unit, the Vehicular automatic driving method and device based on FPGA

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182304A (en) * 2014-08-12 2014-12-03 西北工业大学 Universal multi-mode redundant pico/nano satellite on-board computer system
CN106529517A (en) * 2016-12-30 2017-03-22 北京旷视科技有限公司 Image processing method and image processing device
CN107273099A (en) * 2017-05-10 2017-10-20 苏州大学 A kind of AdaBoost algorithms accelerator and control method based on FPGA
CN107656812A (en) * 2017-09-27 2018-02-02 咪咕文化科技有限公司 block chain processing method, system, node device, terminal and storage medium
CN108805272A (en) * 2018-05-03 2018-11-13 东南大学 A kind of general convolutional neural networks accelerator based on FPGA

Also Published As

Publication number Publication date
CN110928693A (en) 2020-03-27

Similar Documents

Publication Publication Date Title
CN107590001B (en) Load balancing method and device, storage medium and electronic equipment
KR102004160B1 (en) Apparatus and method for logical grouping method of iot connected client nodes using client identifier
US10003649B2 (en) Systems and methods to improve read/write performance in object storage applications
JP3382953B2 (en) Client management flow control method and apparatus on finite memory computer system
US9270527B2 (en) Methods, systems, and computer readable media for enabling real-time guarantees in publish-subscribe middleware using dynamically reconfigurable networks
US9110884B2 (en) Message publishing and subscribing method and apparatus
US10833995B2 (en) Method and apparatus for datacenter congestion control based on software defined network
WO2020073903A1 (en) Latency-sensitive network communication method and apparatus thereof
CN104618164A (en) Management method for rapid cloud computing platform application deployment
CN111382115B (en) Path creating method and device for network on chip and electronic equipment
CN108153803A (en) A kind of data capture method, device and electronic equipment
CN110928693B (en) Computing equipment and resource allocation method
Yi et al. A multi-criteria decision approach for minimizing the influence of VNF migration
CN104486442A (en) Method and device for transmitting data of distributed storage system
CN110932920B (en) Network topology structure
CN110708678B (en) Communication method and device
CN105656794A (en) Data distribution method and device
US11595471B1 (en) Method and system for electing a master in a cloud based distributed system using a serverless framework
US10560527B2 (en) Network service chains using hardware logic devices in an information handling system
CN113261249A (en) Data transmission method, related equipment and computer storage medium
CN111752728B (en) Message transmission method and device
CN105519055A (en) Dynamic equilibrium method and apparatus for QoS of I/O channel
CN111611068B (en) Data writing method in distributed system, server and client
CN109831385B (en) Message processing method and device and electronic equipment
CN115878309A (en) Resource allocation method, device, processing core, equipment and computer readable medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant