CN113485844B - Cloud service system and operation method thereof - Google Patents

Cloud service system and operation method thereof Download PDF

Info

Publication number
CN113485844B
CN113485844B CN202110874293.6A CN202110874293A CN113485844B CN 113485844 B CN113485844 B CN 113485844B CN 202110874293 A CN202110874293 A CN 202110874293A CN 113485844 B CN113485844 B CN 113485844B
Authority
CN
China
Prior art keywords
computing
task
processor
dispatched
server
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
CN202110874293.6A
Other languages
Chinese (zh)
Other versions
CN113485844A (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.)
Shanghai Bi Ren Technology Co ltd
Original Assignee
Shanghai Biren Intelligent 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 Shanghai Biren Intelligent Technology Co Ltd filed Critical Shanghai Biren Intelligent Technology Co Ltd
Priority to CN202110874293.6A priority Critical patent/CN113485844B/en
Publication of CN113485844A publication Critical patent/CN113485844A/en
Application granted granted Critical
Publication of CN113485844B publication Critical patent/CN113485844B/en
Priority to PCT/CN2022/107924 priority patent/WO2023005926A1/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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

The invention provides a cloud service system and an operation method thereof. The cloud service system comprises a first computing resource pool, a second computing resource pool, a task assignment server and a resource intermediary server. Each computing platform in the first pool of computing resources has at least one co-processor. Computing platforms in the first computing resource pool may forward non-coprocessor computing work to selected computing platforms in the second computing resource pool as needed through the resource broker server. After the non-coprocessor computing work is executed, the selected computing platform returns and/or informs the computing platform which sends out the non-coprocessor computing work of the execution result.

Description

Cloud service system and operation method thereof
Technical Field
The present invention relates to a cloud server technology, and more particularly, to a cloud service system and an operating method thereof.
Background
Cloud servers (cloud servers) may provide a wide variety of services, such as computing services. The cloud server may provide computing resources to perform various tasks (tasks). Generally, a cloud server refers to a cluster of one or more computing platforms (computing platforms). The computing platform may be any type of computer (computer), such as a personal computer, a server, a workstation (workstation), or other type of computer. These computing platforms may be interspersed in different locations.
Disclosure of Invention
The present invention is directed to a cloud service system and an operating method thereof for efficiently providing computing resources to execute tasks.
In an embodiment of the present invention, a cloud service system includes a first computing resource pool, a second computing resource pool, a task assignment server, and a resource broker server. Each computing platform in the first pool of computing resources has at least one co-processor. Each computing platform in the second pool of computing resources does not have a co-processor. The task dispatching server is used for receiving a plurality of tasks and dispatching a task to be dispatched in the plurality of tasks. The task dispatch server establishes a communication connection with each computing platform in the first pool of computing resources. The first pool of computing resources accepts assigned tasks of the task assignment server. The resource broker server establishes a communication connection with each computing platform in the first computing resource pool and with each computing platform in the second computing resource pool. When a computing platform in a first computing resource pool sends a non-coprocessor computing job to a resource broker server, the resource broker server forwards the non-coprocessor computing job to a selected computing platform in a second computing resource pool. And after the selected computing platform executes the computing work of the non-coprocessor, the execution result of the computing work of the non-coprocessor is returned and/or informed to the computing platform which sends out the computing work of the non-coprocessor in a first computing resource pool through a resource intermediary server.
In an embodiment according to the invention, the method of operation comprises: receiving a plurality of tasks by a task dispatch server of a cloud service system; dispatching a task to be dispatched in the plurality of tasks by a task dispatching server; when a computing platform in the first computing resource pool sends out non-coprocessor computing work to a resource intermediary server of the cloud service system, the resource intermediary server forwards the non-coprocessor computing work to a selected computing platform in a second computing resource pool of the cloud service system; and after the selected computing platform executes the non-coprocessor computing work, returning and/or informing the execution result of the non-coprocessor computing work to the computing platform which sends the non-coprocessor computing work in a first computing resource pool through a resource intermediary server.
Based on the above, the task dispatch server according to embodiments of the present invention can dispatch a current task to be dispatched to a computing platform in a first computing resource pool for execution. During execution of a task, a computing platform in a first computing resource pool may issue non-coprocessor computing work to a resource broker server, and the resource broker server may forward the non-coprocessor computing work to a selected computing platform in a second computing resource pool. And after the selected computing platform executes the computing work of the non-coprocessor, the execution result is returned and/or notified to the computing platform which sends out the computing work of the non-coprocessor in the first computing resource pool through the resource intermediary server. Therefore, the cloud service system can efficiently and adaptively provide computing resources to execute tasks.
Drawings
Fig. 1 is a schematic diagram of a cloud service system according to an embodiment of the present invention.
Fig. 2 is a flowchart illustrating an operation method of a cloud service system according to an embodiment of the present invention.
Fig. 3 is a schematic diagram of a cloud service system according to another embodiment of the present invention.
Fig. 4 is a flowchart illustrating an operation method of a cloud service system according to another embodiment of the present invention.
FIG. 5 is a flowchart illustrating the task dispatch server checking the task according to an embodiment of the present invention.
Description of the reference numerals
100. 300, and (2) 300: cloud service system
110. 310: task assignment server
120: a first computing resource pool
120_1, 120_ m, 140_1, 140_ n, 340_1, 340_ n: computing platform
121: central Processing Unit (CPU)
122: coprocessor programming interface
123: synergistic processor
140. 340, and (3): second pool of computing resources
S210, S220, S230, S240, S250, S410, S420, S430, S510, S520, S530, S540, S550, S560: step (ii) of
Detailed Description
Reference will now be made in detail to exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings and the description to refer to the same or like parts.
Fig. 1 is a schematic diagram of a cloud service system 100 according to an embodiment of the present invention. The cloud service system 100 may provide computing resources to perform various tasks (tasks). The cloud service system 100 shown in fig. 1 includes a task dispatch server (task dispatch server)110, a first computing resource pool (computing resource pool)120, a resource broker server (resource intermediary server)130, and a second computing resource pool 140.
The first computing resource pool 120 includes one or more computing platforms (computing platforms), such as m computing platforms 120_1, …, 120_ m shown in fig. 1, where m is an integer determined according to the actual design/application. Any one of the computing platforms 120_ 1-120 _ m may be any type of computer (computer), such as a personal computer, a server, a workstation (workstation), or other type of computer. Depending on the actual design/application, the computing platforms 120_ 1-120 _ m may be scattered at different locations (or placed at the same location). The task dispatch server 110 establishes a communication connection with each of the computing platforms 120_ 1-120 _ m in the first computing resource pool 120. Any one of the computing platforms 120_ 1-120 _ m in the first computing resource pool 120 is configured with a Central Processing Unit (CPU), a co-processor (co-processor) and other components (not shown). For example, the computing platform 120_ m is configured with the CPU121 and the co-processor 123, and the CPU121 may dispatch the work to the co-processor 123 for execution through the co-processor programming interface 122. The co-processor programming interface 122 may be an Application Programming Interface (API). In any of computing platforms 120_1 ~ 120_ m, a "CPU" module represents one or more CPU chips, and/or represents one or more CPU cores (cores). The number of CPU chips and the number of CPU cores in a computing platform may be determined according to the actual design/application.
In any of the computing platforms 120_1 ~ 120_ m, a "coprocessor" module represents one or more coprocessor chips, and/or represents one or more coprocessor cores. The number of coprocessor chips and the number of coprocessor cores in a computing platform may be determined according to the actual design/application. Depending on the actual design/application, in some embodiments, the "co-processor" may include a Graphics Processing Unit (GPU), an Artificial Intelligence (AI) processor, or other co-processor.
The second computing resource pool 140 includes one or more computing platforms, such as n computing platforms 140_1, …, 140_ n shown in FIG. 1, where n is an integer determined according to the actual design/application. Any of the computing platforms 140_1 ~ 140_ n can be any type of computer, such as a personal computer, a server, a workstation, or other type of computer. Depending on the actual design/application, the computing platforms 140_ 1-140 _ n may be interspersed at different locations (or located at the same location). The resource broker server 130 establishes a communication connection with each of the computing platforms 140_ 1-140 _ n in the second computing resource pool 140. The resource broker server 130 also establishes communication connections with each of the computing platforms 120_ 1-120 _ m in the first computing resource pool 120. The first computing resource pool 120 (which may be referred to as a coprocessor pool) and the second computing resource pool 140 (which may be referred to as a CPU pool) are independent of each other. Any one of the computing platforms 140_ 1-140 _ n in the second computing resource pool 140 is configured with a CPU and other components (not shown), but without a co-processor. In any of the computing platforms 140_1 ~ 140_ n, a "CPU" module represents one or more CPU chips, and/or represents one or more CPU cores (cores). The number of CPU chips and the number of CPU cores in a computing platform may be determined according to the actual design/application.
Fig. 2 is a flowchart illustrating an operation method of a cloud service system according to an embodiment of the present invention. Please refer to fig. 1 and fig. 2. In step S210, the task dispatch server 110 can receive a plurality of tasks. In step S220, the task dispatch server 110 can dispatch the task to be dispatched in the plurality of tasks. The first pool of computing resources 120 accepts the dispatched tasks of the task dispatch server 110. For example, in some embodiments, the task dispatch server 110 can select a computing platform from the first computing resource pool 120 as a dispatch destination of the task to be dispatched according to at least one of the number of coprocessors of each computing platform 120_ 1-120 _ m in the first computing resource pool 120, the next computing power of each coprocessor, and the computing power requirement of the coprocessors of the task to be dispatched. In other embodiments, the task dispatch server 110 may select a computing platform from the first computing resource pool 120 as the dispatch destination of the task to be dispatched according to the number of CPU cores and the number of cooperative processor cores of each computing platform 120_ 1-120 _ m in the first computing resource pool 120, the next computing power of each CPU core, the next computing power of each cooperative processor core, and the computing power requirement of the task to be dispatched.
It should be noted that task dispatch server 110 may selectively decide whether to dispatch a current task to be dispatched from the plurality of tasks to first computing resource pool 120 for execution. The task dispatch server 110 can also non-selectively dispatch a current task to be dispatched from the plurality of tasks directly to the first computing resource pool 120 for execution.
Each computing platform 120_ 1-120 _ m in the first computing resource pool 120 can manage and dispatch a plurality of jobs for the tasks given by the task dispatch server 110 and selectively decide whether to send one or more of the jobs to the second computing resource pool 140 through the resource broker server 130. When a computing platform in the first computing resource pool 120 issues a non-co-processor computing job to the resource broker server 130 (step S230), the resource broker server 130 may forward the non-co-processor computing job to a selected one of the computing platforms in the second computing resource pool 140 (step S240). The resource broker server 130 selects one of the computing platforms 140 from the second computing resource pool 140 as the selected computing platform according to the current CPU computing power of each computing platform 140_ 1-140 _ n available in the second computing resource pool 140. In step S250, the selected computing platforms in the second computing resource pool 140 may execute the non-co-processor computing job. After the selected computing platform executes the non-coprocessor computing job, the selected computing platform may return and/or notify the execution result of the non-coprocessor computing job to the computing platform issuing the non-coprocessor computing job in the first computing resource pool 120 through the resource broker server 130 (step S250).
The task dispatch server 110 can decide whether to dispatch the task to be dispatched to any one of the computing platforms 120_ 1-120 _ m of the first computing resource pool 120 in step S220. For example, assume herein that the task dispatch server 110 decides to dispatch the task to be dispatched to execution by the computing platform 120_ m of the first computing resource pool 120. The CPU121 of the computing platform 120_ m can accept a task (a dispatched task) given by the task dispatch server 1100. The CPU121 of the computing platform 120_ m may manage and dispatch the plurality of jobs of the dispatched tasks. According to actual design, in some embodiments, the computing platform 120_ m may determine the work attribute of the work to be dispatched according to the identification characteristics of the command line (command line) in the work to be dispatched. For example, if the word "-GPU" appears in a command line, indicating that such command line requires the computational power of a GPU, CPU121 may treat such current work to be dispatched as "co-processor computing work" while treating other work as "non-co-processor computing work".
The CPU121 of the computing platform 120_ m may check the work attribute of the work to be dispatched at present in the plurality of works, and select the co-processor 123 of the computing platform 120_ m, the CPU121 of the computing platform 120_ m or the resource broker server 130 to dispatch the work to be dispatched at present according to the work attribute. For example, in some embodiments, the CPU121 of the computing platform 120_ m may select one co-processor from the co-processors 123 of the computing platform 120_ m as the dispatch destination of the work to be dispatched according to at least one of the number of co-processors 123 in the computing platform 120_ m, the next computing power of each co-processor in the computing platform 120_ m, and the computing power requirement of the co-processor of the work to be dispatched at that time.
The CPU121 of the computing platform 120_ m may dispatch a co-processor computing job of the plurality of jobs to the co-processor 123 of the computing platform 120_ m for execution through the API 122. In some practical operational scenarios, the CPU121 may dispatch one or more non-co-processor computing jobs of the plurality of jobs to the CPU121 for execution on its own. Depending on the actual operation, the CPU121 of the computing platform 120_ m may dispatch one or more non-co-processor computing jobs of the plurality of jobs to the second computing resource pool 140. That is, the CPU121 of the computing platform 120_ m may issue the non-coprocessor computing job to the resource broker server 130.
When the computing platform 120_ m issues a non-co-processor computing job to the resource broker server 130, the resource broker server 130 may forward the non-co-processor computing job to a selected computing platform (e.g., computing platform 140_1) in the second computing resource pool 140. The selected computing platform 140_1 may execute the non-co-processor computing job and then return and/or notify the execution of the non-co-processor computing job to the computing platform 120_ m through the resource broker server 130. After computing platform 120_ m has completed executing the dispatched task, in some embodiments, CPU121 of computing platform 120_ m may notify task dispatch server 110 that the user may obtain and further use the execution results in a conventional manner through task dispatch server 110. In other embodiments, the CPU121 may communicate the results of the execution of the dispatched task back to the task dispatch server 110.
In summary, the task dispatching server 110 of the present embodiment can dispatch the task to be dispatched to a computing platform in the first computing resource pool 120 for execution. During execution of the task, the computing platforms in the first computing resource pool 120 may issue non-co-processor computing jobs to the resource broker server 130, and the resource broker server 130 may forward the non-co-processor computing jobs to the selected computing platforms in the second computing resource pool 140. After the selected computing platform executes the non-coprocessor computing job, the execution result is returned and/or notified to the computing platform that issued the non-coprocessor computing job in the first computing resource pool 120 through the resource broker server 130. Therefore, the cloud service system 100 can efficiently and adaptively provide computing resources to perform tasks.
Fig. 3 is a schematic diagram of a cloud service system 300 according to another embodiment of the present invention. The cloud service system 300 shown in fig. 3 includes a task dispatch server 310, a first computing resource pool 120, a resource broker server 130, and a second computing resource pool 340. The cloud service system 300, the task assignment server 310, the first computing resource pool 120, the resource broker server 130, and the second computing resource pool 340 shown in fig. 3 can be analogized with reference to the related descriptions of the cloud service system 100, the task assignment server 110, the first computing resource pool 120, the resource broker server 130, and the second computing resource pool 140 shown in fig. 1, and therefore, the description thereof is omitted. In the embodiment shown in FIG. 3, the first computing resource pool 120 and the second computing resource pool 340 are two parallel resource pools. That is, task dispatch server 310 also establishes a communication connection with each computing platform in second computing resource pool 340.
Fig. 4 is a flowchart illustrating an operation method of a cloud service system according to another embodiment of the present invention. Please refer to fig. 3 and fig. 4. In step S410, the task dispatch server 310 can receive a plurality of tasks. In step S420, the task dispatch server 310 can check any of the plurality of tasks, such as task attributes of the task to be dispatched next. In step S430, the task dispatch server 310 can select the first computing resource pool 120 or the second computing resource pool 340 according to the task attribute, and then dispatch the task to be dispatched to the selected computing resource pool for execution (or launch).
The first computing resource pool 120 (which may be referred to as a coprocessor pool) and the second computing resource pool 340 (which may be referred to as a CPU pool) are independent of each other. The CPU121 in any one of the computing platforms 120_1 ~ 120_ m (coprocessor physical system) can be fully utilized. The task dispatch server 310 may select the synergistic processor pool 120 in parallel with the CPU pool 340 to independently launch/execute a task and select the CPU pool 340 in parallel with the synergistic processor pool 120 to independently launch/execute another task. Task dispatch server 310 may select either first computing resource pool 120 or second computing resource pool 340 based on task attributes (e.g., using only CPU, or using co-processor). After selecting the pool of computing resources, the task dispatch server 310 may implement any task dispatch technique (e.g., existing task dispatch algorithms or other task dispatch algorithms) to task dispatch the selected pool of computing resources.
The task dispatch server 310 may further apply any dispatch optimization technique (e.g., existing task dispatch optimization algorithms or other task dispatch optimization algorithms) based on the needs of the task to be dispatched at the time for the co-processor. For example, the task dispatch server 310 can select a computing platform from the first computing resource pool 120 as a dispatch destination of the task to be dispatched according to at least one of the number of coprocessors, the next computing power of each of the coprocessors, and the computing power requirement of the coprocessors in the first computing resource pool 120. All existing Virtual Machines (VMs) or container (containers) technology can be applied to the task dispatch server 310 without modification.
In the embodiment shown in FIG. 3, the task dispatch server 310 may unify access of the pool of cooperating processors (the first computing resource pool 120). Without intercepting API calls (API calls), the task dispatch server 310 may use the co-processors through conventional local CPU control techniques. Thus, cloud services system 300 may automatically maintain native efficiencies (native efficiencies) of computing platforms, not limited to any type of co-processor unified solution.
The embodiment does not limit the specific way in which the task dispatch server 310 checks the task. According to actual design, in some embodiments, the task dispatch server 310 may determine the task attribute of the current task to be dispatched according to the identification characteristics of the command line (command line) in the current task to be dispatched. For example, fig. 5 is a schematic flow chart of the task dispatch server 310 checking the task according to an embodiment of the present invention. Please refer to fig. 3 and 5. In step S510, the task dispatch server 310 can check the command line of the task that is currently to be dispatched. When the identified feature corresponding to the co-processor is present in the command line of the current task to be dispatched (yes in step S520), the task dispatch server 310 may proceed to step S530. When the identification feature corresponding to the co-processor is not available in all the command lines of the current task to be dispatched (no in step S520), the task dispatch server 310 may proceed to step S550.
The "identification feature" may be defined according to the actual design/application in steps S510 and S520. For example, in some embodiments, if a "-GPU" word appears in a command line, it indicates that such command line requires the computational power of using a GPU. Thus, in such an implementation scenario, a "-GPU" may be the "identifying feature".
In step S530, the task dispatch server 310 can dispatch the task to be dispatched to one of the computing platforms 120_ 1-120 _ m in the first computing resource pool 120 (cooperative processor pool) for execution. For convenience of explanation, it is assumed herein that the task assignment server 310 assigns the task to be assigned at present to the computing platform 120_ m in the first computing resource pool 120 in step S530. The CPUs 121 of computing platform 120_ m may accept dispatched tasks dispatched by the task dispatch server 310. The CPU121 of the computing platform 120_ m may manage and dispatch the plurality of jobs of the dispatched tasks. The CPU121 of the computing platform 120_ m may dispatch at least one of the plurality of jobs to the co-processor 123 of the computing platform 120_ m for execution through the API 122. In an actual operating scenario, the CPU121 of the computing platform 120_ m may also assign a non-co-processor computing job of the plurality of jobs to the resource broker server 130. After the computing platform 120_ m has executed the dispatched task, the CPU121 of the computing platform 120_ m may notify the task dispatch server 310 (step S540) that the user may obtain and further use the execution results in a conventional manner through the task dispatch server 310. In other embodiments, the CPU121 may transmit the execution result of the dispatched task back to the task dispatch server 310 at step S540.
The embodiment does not limit the specific implementation manner of "the CPU121 dispatches work to the coprocessor 123". According to actual design, in some embodiments, the CPU121 may check the work attribute of the work to be dispatched currently in the plurality of works, and the CPU121 may select to dispatch the work to be dispatched currently to the co-processor 123 or the CPU121 to execute the work according to the work attribute. The CPU121 may further apply any dispatch optimization technique (e.g., existing task dispatch optimization algorithms or other task dispatch optimization algorithms) based on the needs of the work to be dispatched at the time to the co-processor 123. For example, the CPU121 may select one co-processor from the at least one co-processor 123 as the dispatching destination of the work to be dispatched according to at least one of the number of co-processors 123, the next calculation power of each of the at least one co-processor 123, and the calculation power requirement of the co-processor of the work to be dispatched. The number of coprocessors may be the number of one or more compute acceleration cards (e.g., graphics cards or AI acceleration cards) installed in the computing platform 120_ m, and (or) the number of compute acceleration integrated circuits (e.g., GPU chips or AI chips) in the computing platform 120_ m, and (or) the number of compute acceleration cores (e.g., GPU cores or AI cores) installed in the one or more integrated circuits of the computing platform 120_ m.
In step S550, the task dispatch server 310 can dispatch the task to be dispatched to one of the computing platforms 340_1, …, 340_ n in the second computing resource pool 340(CPU pool) for execution. For ease of illustration, it is assumed herein that the task assignment server 310 assigns the task to be assigned at present to the computing platform 340_1 in the second computing resource pool 340 in step S550. The CPU of computing platform 340_1 accepts dispatched tasks dispatched by task dispatch server 310. The CPU of computing platform 340_1 may execute the dispatched task. After the CPU of computing platform 340_1 has completed executing the dispatched task, the CPU of computing platform 340_1 may notify task dispatch server 310 (step S560) that the user may obtain and further use the execution results in a conventional manner via task dispatch server 310. In other embodiments, the CPU121 may transmit the execution result of the dispatched task back to the task dispatch server 310 at step S560.
In summary, task dispatch server 310 can check the task attributes of the task that is currently to be dispatched. When the task to be dispatched requires the computing resources of a co-processor (e.g., GPU or AI processor), the task dispatch server 310 can dispatch the task to be dispatched to one of the computing platforms 120_ 1-120 _ m in the first computing resource pool 120 (co-processor pool) for execution. When the task to be dispatched does not require the computing resources of the co-processor, the task dispatching server 310 can dispatch the task to be dispatched to one of the computing platforms 110_ 1-110 _ m in the second computing resource pool 340(CPU pool) for execution. It should be noted that the "task not requiring a coprocessor" is not necessarily served to the second computing resource pool 340 through the resource broker server 130, but is directly served to the second computing resource pool 340 by the task assignment server 310. Therefore, the cloud service system 300 can efficiently and adaptively provide computing resources to perform tasks.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; while the invention has been described in detail and with reference to the foregoing embodiments, it will be understood by those skilled in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (22)

1. A cloud service system, comprising:
a first pool of computing resources, wherein each computing platform in the first pool of computing resources has at least one co-processor;
a task dispatch server configured to receive a plurality of tasks and dispatch a current task to be dispatched from the plurality of tasks, wherein the task dispatch server establishes a communication connection with each computing platform in the first computing resource pool, and the first computing resource pool accepts dispatched tasks from the task dispatch server;
a second pool of computing resources, wherein each computing platform in the second pool of computing resources does not have a co-processor; and
a resource broker server establishing a communication connection with each computing platform in the first computing resource pool and with each computing platform in the second computing resource pool, wherein
When a computing platform in the first computing resource pool sends out a non-coprocessor computing work to the resource broker server, the resource broker server forwards the non-coprocessor computing work to a selected computing platform in the second computing resource pool, and the selected computing platform returns and/or notifies the execution result of the non-coprocessor computing work to the computing platform sending out the non-coprocessor computing work in the first computing resource pool through the resource broker server after executing the non-coprocessor computing work.
2. The cloud service system of claim 1, wherein said at least one co-processor comprises a graphics processor or an artificial intelligence processor.
3. The cloud service system of claim 1, wherein the task dispatch server selects a computing platform from the first computing resource pool as the dispatch destination of the task to be dispatched according to at least one of the number of coprocessors of each computing platform in the first computing resource pool, the next computing power of each coprocessor, and the computing power requirement of the coprocessor of the task to be dispatched.
4. The cloud services system of claim 1, wherein a computing platform in said first computing resource pool comprises a central processor and said at least one co-processor, said central processor accepts said assigned tasks from said task assignment server, said central processor manages and assigns a plurality of jobs of said assigned tasks, said central processor assigns co-processor computing jobs of said plurality of jobs to said at least one co-processor for execution through a co-processor programming interface, said central processor assigns said non-co-processor computing jobs of said plurality of jobs to said central processor or to said resource broker server, and said central processor notifies said task assignment server upon execution of said assigned tasks.
5. Cloud service system according to claim 4,
the central processor checks the job attributes of the job to be dispatched in the plurality of jobs, an
The central processor selects to assign the work to be dispatched to the at least one coprocessor, the central processor or the resource intermediary server according to the work attribute.
6. The cloud service system of claim 5, wherein said central processing unit selects a co-processor from said at least one co-processor as a dispatch destination of said work to be dispatched according to at least one of a number of co-processors of said at least one co-processor, a next calculation power of each of said at least one co-processor, and a calculation power requirement of said co-processor of said work to be dispatched.
7. The cloud services system of claim 1, wherein said resource broker server selects one computing platform from said second pool of computing resources as said selected computing platform based on current central processing unit computing power of each computing platform in said second pool of computing resources.
8. The cloud service system of claim 1, wherein said task assignment server further establishes a communication connection with each computing platform in said second computing resource pool, and wherein said task assignment server checks task attributes of said task to be assigned, and selects whether to assign said task to be assigned to said first computing resource pool or said second computing resource pool for execution based on said task attributes.
9. The cloud service system of claim 8, wherein said task dispatch server determines said task attributes of said current task to be dispatched based on identifying characteristics of a command line in said current task to be dispatched.
10. The cloud service system of claim 9,
when the identification feature corresponding to the co-processor is in the command line of the current task to be dispatched, the task dispatch server dispatches the current task to be dispatched to one computing platform in the first computing resource pool for execution, and
when all command lines of the task to be dispatched have no identification feature corresponding to the co-processor, the task dispatching server dispatches the task to be dispatched to a computing platform in the second computing resource pool for execution.
11. The cloud service system of claim 8, wherein a central processor of a computing platform in said second pool of computing resources accepts said assigned tasks of said task assignment server, and wherein said central processor notifies said task assignment server upon execution of said assigned tasks.
12. An operation method of a cloud service system, the operation method comprising:
receiving, by a task dispatch server of the cloud service system, a plurality of tasks;
dispatching, by the task dispatch server, a current task to be dispatched of the plurality of tasks, wherein each computing platform in a first pool of computing resources has at least one co-processor, the task dispatch server establishes a communication connection with each computing platform in the first pool of computing resources, and the first pool of computing resources accepts dispatched tasks of the task dispatch server;
when a computing platform in the first computing resource pool issues a non-coprocessor computing job to a resource broker server of the cloud services system, forwarding, by the resource broker server, the non-coprocessor computing job to a selected computing platform in a second computing resource pool of the cloud services system, wherein the resource broker server establishes a communication connection with each computing platform in the first computing resource pool, each computing platform in the second computing resource pool does not have a coprocessor, and the resource broker server establishes a communication connection with each computing platform in the second computing resource pool; and
and after the selected computing platform executes the non-coprocessor computing work, returning and/or informing the execution result of the non-coprocessor computing work to the computing platform which sends out the non-coprocessor computing work in the first computing resource pool through the resource intermediary server.
13. The method of claim 12, wherein the at least one co-processor comprises a graphics processor or an artificial intelligence processor.
14. The method of operation of claim 12, further comprising:
selecting, by the task dispatch server, a computing platform from the first computing resource pool as a dispatch destination of the task to be dispatched according to at least one of the number of coprocessors of each computing platform in the first computing resource pool, the current computing power of each coprocessor, and the computing power requirement of the coprocessor of the task to be dispatched.
15. The method of claim 12, wherein a computing platform in the first computing resource pool comprises a central processor and the at least one co-processor, the method further comprising:
accepting, by the central processor, the dispatched task of the task dispatch server;
managing and dispatching, by the central processor, a plurality of jobs for the dispatched tasks;
assigning, by the central processor, a co-processor computing job of the plurality of jobs to the at least one co-processor for execution through a co-processor programming interface;
assigning, by the central processor, the non-co-processor computing job of the plurality of jobs to the central processor or the resource broker server; and
notifying the task dispatch server upon execution of the dispatched task by the central processor.
16. The method of operation of claim 15, further comprising:
checking, by the central processor, a job attribute of a current job to be dispatched of the plurality of jobs; and
and selecting, by the central processor, to assign the work to be dispatched to the at least one co-processor, the central processor, or the resource broker server according to the work attribute.
17. The method of operation of claim 16, further comprising:
selecting, by the central processing unit, one co-processor from the at least one co-processor as a dispatch destination of the work to be dispatched, according to at least one of the number of co-processors of the at least one co-processor, the calculated power of each of the at least one co-processor, and the calculated power requirement of the co-processor of the work to be dispatched.
18. The method of operation of claim 12, further comprising:
selecting, by the resource broker server, one computing platform from the second computing resource pool as the selected computing platform based on the current central processor computing power of each computing platform in the second computing resource pool.
19. The method of operation of claim 12 wherein the task dispatch server further establishes a communication connection with each computing platform in the second pool of computing resources, the method of operation further comprising:
checking, by the task dispatch server, task attributes of the current task to be dispatched; and
and selecting to dispatch the task to be dispatched to the first computing resource pool or the second computing resource pool to execute by the task dispatching server according to the task attribute.
20. The method of operation of claim 19, further comprising:
and judging the task attribute of the task to be dispatched according to the identification characteristic of the command line in the task to be dispatched by the task dispatching server.
21. The method of operation of claim 20, further comprising:
dispatching, by the task dispatch server, the task to be dispatched to execution on one computing platform in the first computing resource pool when the identified feature corresponding to a co-processor is in the command line of the task to be dispatched; and
when all command lines of the task to be dispatched have no identification feature corresponding to the co-processor, the task dispatching server dispatches the task to be dispatched to a computing platform in the second computing resource pool for execution.
22. The method of operation of claim 19, further comprising:
accepting, by a central processor of a computing platform in the second pool of computing resources, the dispatched task of the task dispatch server; and
notifying the task dispatch server upon execution of the dispatched task by the central processor.
CN202110874293.6A 2021-07-30 2021-07-30 Cloud service system and operation method thereof Active CN113485844B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110874293.6A CN113485844B (en) 2021-07-30 2021-07-30 Cloud service system and operation method thereof
PCT/CN2022/107924 WO2023005926A1 (en) 2021-07-30 2022-07-26 Cloud service system and operation method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110874293.6A CN113485844B (en) 2021-07-30 2021-07-30 Cloud service system and operation method thereof

Publications (2)

Publication Number Publication Date
CN113485844A CN113485844A (en) 2021-10-08
CN113485844B true CN113485844B (en) 2022-03-15

Family

ID=77943777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110874293.6A Active CN113485844B (en) 2021-07-30 2021-07-30 Cloud service system and operation method thereof

Country Status (2)

Country Link
CN (1) CN113485844B (en)
WO (1) WO2023005926A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485844B (en) * 2021-07-30 2022-03-15 上海壁仞智能科技有限公司 Cloud service system and operation method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805797A (en) * 2017-05-05 2018-11-13 英特尔公司 Optimized computing hardware for machine learning operation
CN111126895A (en) * 2019-11-18 2020-05-08 青岛海信网络科技股份有限公司 Management warehouse and scheduling method for scheduling intelligent analysis algorithm in complex scene

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2891984C (en) * 2015-04-20 2016-09-13 Anant Asthana Systems and methods for allocating online resources
CN106201723A (en) * 2016-07-13 2016-12-07 浪潮(北京)电子信息产业有限公司 The resource regulating method of a kind of data center and device
US20210117889A1 (en) * 2016-12-01 2021-04-22 Trovata, Inc. Co-operative resource pooling system
US10891156B1 (en) * 2017-04-26 2021-01-12 EMC IP Holding Company LLC Intelligent data coordination for accelerated computing in cloud environment
CN107343045B (en) * 2017-07-04 2021-03-19 北京百度网讯科技有限公司 Cloud computing system and cloud computing method and device for controlling server
EP3671447A1 (en) * 2018-12-21 2020-06-24 XRSpace CO., LTD. Dispatching method and edge computing system
US11711268B2 (en) * 2019-04-30 2023-07-25 Intel Corporation Methods and apparatus to execute a workload in an edge environment
CN113485844B (en) * 2021-07-30 2022-03-15 上海壁仞智能科技有限公司 Cloud service system and operation method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805797A (en) * 2017-05-05 2018-11-13 英特尔公司 Optimized computing hardware for machine learning operation
CN111126895A (en) * 2019-11-18 2020-05-08 青岛海信网络科技股份有限公司 Management warehouse and scheduling method for scheduling intelligent analysis algorithm in complex scene

Also Published As

Publication number Publication date
WO2023005926A1 (en) 2023-02-02
CN113485844A (en) 2021-10-08

Similar Documents

Publication Publication Date Title
US4949254A (en) Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
EP0248403B1 (en) Distributed interactive processing method in complex system including plural work stations and plural host computers and apparatus using the same
US20010039575A1 (en) Apparatus and method for scheduling and dispatching queued client requests within a server in a client/server computer system
EP0362106B1 (en) Method for scheduling execution of distributed application programs at preset times in an SNA LU 6.2 network environment
US4991089A (en) Method for establishing current terminal addresses for system users processing distributed application programs in an SNA LU 6.2 network environment
EP0366581A2 (en) Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US5925098A (en) Apparatus and method for dispatching client method calls within a server computer system
CN101657795A (en) Data parallel computing on multiple processors
US8381227B2 (en) System and method of inter-connection between components using software bus
JP4247228B2 (en) Hetero multiprocessor system and its OS configuration method
CN106033373A (en) A method and a system for scheduling virtual machine resources in a cloud computing platform
CN112256414A (en) Method and system for connecting multiple computing storage engines
CN113485844B (en) Cloud service system and operation method thereof
US7614056B1 (en) Processor specific dispatching in a heterogeneous configuration
US9772882B2 (en) Detecting and selecting two processing modules to execute code having a set of parallel executable parts
CN113535405A (en) Cloud service system and operation method thereof
US11513858B2 (en) System for operating and method for arranging nodes thereof
JPH11175485A (en) Distributed system and prallel operation control method
JPH10269323A (en) Optical character reader and character distribution recognition system
CN115951974B (en) Management method, system, equipment and medium of GPU virtual machine
EP0509946A2 (en) Apparatus and method for implementing a distributed program stack
KR20190061241A (en) Mesos process apparatus for unified management of resource and method for the same
CN115952868B (en) Quantum circuit task processing method and device, electronic equipment and readable storage medium
CN110765098B (en) Flow operation prediction system and method
CN116974767A (en) Task scheduling system, method, device, equipment and 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
CP03 Change of name, title or address

Address after: 201100 room 1302, 13 / F, building 16, No. 2388, Chenhang highway, Minhang District, Shanghai

Patentee after: Shanghai Bi Ren Technology Co.,Ltd.

Country or region after: China

Address before: 201100 room 1302, 13 / F, building 16, No. 2388, Chenhang highway, Minhang District, Shanghai

Patentee before: Shanghai Bilin Intelligent Technology Co.,Ltd.

Country or region before: China