WO2023005926A1 - 云端服务系统及其操作方法 - Google Patents

云端服务系统及其操作方法 Download PDF

Info

Publication number
WO2023005926A1
WO2023005926A1 PCT/CN2022/107924 CN2022107924W WO2023005926A1 WO 2023005926 A1 WO2023005926 A1 WO 2023005926A1 CN 2022107924 W CN2022107924 W CN 2022107924W WO 2023005926 A1 WO2023005926 A1 WO 2023005926A1
Authority
WO
WIPO (PCT)
Prior art keywords
computing
task
coprocessor
resource pool
server
Prior art date
Application number
PCT/CN2022/107924
Other languages
English (en)
French (fr)
Inventor
王新
Original Assignee
上海壁仞智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 上海壁仞智能科技有限公司 filed Critical 上海壁仞智能科技有限公司
Publication of WO2023005926A1 publication Critical patent/WO2023005926A1/zh

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

Definitions

  • the present invention relates to a cloud server technology, and in particular to a cloud service system and an operation method thereof.
  • Cloud servers can provide various services, such as computing power services. Cloud servers can provide computing resources to perform various tasks.
  • a cloud server refers to a cluster of one or more computing platforms.
  • the computing platform can be any type of computer (computer), such as personal computer, server, workstation (workstation) or other types of computers. These computing platforms may be scattered across different locations.
  • the present invention is directed to a cloud service system and its operation method to efficiently provide computing resources to perform tasks.
  • the cloud service system includes a first computing resource pool, a second computing resource pool, a task dispatching server, and a resource intermediary 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 has no co-processors.
  • the task dispatching server is used for receiving multiple tasks and dispatching the currently pending tasks among the multiple tasks.
  • the task dispatch server establishes a communication connection with each computing platform in the first computing resource pool.
  • the first computing resource pool accepts the assigned tasks of the task assignment server.
  • the resource intermediary server establishes a communication connection with each computing platform in the first computing resource pool, and establishes a communication connection with each computing platform in the second computing resource pool.
  • the resource intermediary server forwards the non-coprocessor computing job to a selected one in the second computing resource pool.
  • computing platform executes the non-coprocessor computing work
  • the execution result of the non-cooperative processor computing work is returned and/or notified to the first computing resource pool that issued the non-cooperative processor computing work through the resource intermediary server.
  • the computing platform coprocessor computes jobs.
  • the operation method includes: receiving a plurality of tasks by the task dispatching server of the cloud service system; assigning the currently to-be-distributed tasks among the plurality of tasks by the task dispatching server;
  • the resource intermediary server forwards the non-cooperative processor computing job to the second computing resource in the cloud service system A selected computing platform in the pool; and after the selected computing platform executes the non-coprocessor computing work, return and/or notify the execution result of the non-cooperative processor computing work through the resource intermediary server to the computing platform issuing the non-coprocessor computing job in the first computing resource pool.
  • the task assignment server in various embodiments of the present invention may assign the task to be assigned currently to a computing platform in the first computing resource pool for execution.
  • the computing platform in the first computing resource pool can send the non-coprocessor computing work to the resource intermediary server, and the resource intermediary server can forward the non-coprocessor computing work to the second computing resource pool Selected computing platforms in the resource pool.
  • the selected computing platform executes the non-coprocessor computing work
  • the execution result is sent back and/or notified to the said non-cooperative processor computing job in the first computing resource pool through the resource intermediary server.
  • computing platform Therefore, the cloud service system can efficiently and adaptively provide computing resources to perform tasks.
  • FIG. 1 is a schematic diagram of a cloud service system according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of 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 schematic flowchart of an operation method of a cloud service system according to another embodiment of the present invention.
  • FIG. 5 is a schematic flow diagram of a task dispatching server checking a task according to an embodiment of the present invention.
  • 120_1, 120_m, 140_1, 140_n, 340_1, 340_n computing platform
  • CPU central processing unit
  • 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 can provide computing resources to perform various 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 intermediary server (resource intermediary server) 130 and a second computing resource pool 140.
  • task dispatch server task dispatch server
  • first computing resource pool computing resource pool
  • resource intermediary server resource intermediary server
  • the first computing resource pool 120 includes one or more computing platforms, such as m computing platforms 120_1, . . . , 120_m shown in FIG. 1 , where m is an integer determined according to 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, server, workstation (workstation) or other types of computers. According to actual design/application, these computing platforms 120_1 ⁇ 120 — m may be scattered in different places (or placed in the same place).
  • the task dispatching server 110 establishes a communication connection with each computing platform 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 (Central Processing Unit, CPU), a co-processor (co-processor) and other components (not shown).
  • the computing platform 120_m is configured with a CPU 121 and a coprocessor 123, and the CPU 121 can assign work to the coprocessor 123 through the coprocessor programming interface 122 for execution.
  • the coprocessor programming interface 122 may be an application programming interface (application programming interface, API).
  • the “CPU” module means one or more CPU chips, and/or means one or more CPU cores (core). The number of CPU chips and CPU cores in a computing platform can be determined according to the actual design/application.
  • the "coprocessor” module means one or more coprocessor chips, and/or means one or more coprocessor cores.
  • the number of coprocessor chips and the number of coprocessor cores in a computing platform can be determined according to the actual design/application.
  • the "coprocessor” may include a graphics processing unit (Graphics Processing Unit, GPU), an artificial intelligence (Artificial Intelligence, AI) processor or other coprocessors.
  • 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 actual design/application. Any one of the computing platforms 140_1 ⁇ 140_n may be any type of computer, such as a personal computer, server, workstation or other types of computers. According to actual design/application, these computing platforms 140_1 ⁇ 140_n may be scattered in different places (or placed in the same place).
  • the resource intermediary server 130 establishes a communication connection with each computing platform 140_1 - 140_n in the second computing resource pool 140 .
  • the resource intermediary server 130 also establishes a communication connection with each computing platform 120_1 - 120 — m in the first computing resource pool 120 .
  • the first computing resource pool 120 (which may be called a coprocessor pool) and the second computing resource pool 140 (which may be called 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 has no co-processor.
  • the “CPU” module means one or more CPU chips, and/or means one or more CPU cores (core). The number of CPU chips and the number of CPU cores in a computing platform can be determined according to the actual design/application.
  • FIG. 2 is a schematic flowchart of an operation method of a cloud service system according to an embodiment of the present invention. Please refer to Figure 1 and Figure 2.
  • the task dispatching server 110 may receive a plurality of tasks.
  • the task assignment server 110 may assign the currently to-be-assigned task among the plurality of tasks.
  • the first computing resource pool 120 accepts assigned tasks from the task assignment server 110 .
  • the task assignment server 110 may base on the number of coprocessors of each computing platform 120_1-120_m in the first computing resource pool 120, the current computing power of each coprocessor, and the At least one of the coprocessor computing power requirements of the task to be assigned at the moment is required, and a computing platform is selected from the first computing resource pool 120 as the assignment destination of the task to be assigned at the moment.
  • the task dispatching server 110 may base on the number of CPU cores and the number of coprocessor cores of each computing platform 120_1-120_m in the first computing resource pool 120, the current computing power of each CPU core, and the Based on the current computing power of a coprocessor core and the computing power requirements of the current to-be-distributed task, a computing platform is selected from the first computing resource pool 120 as the assignment destination of the current to-be-distributed task.
  • the task assignment server 110 may selectively decide whether to assign the currently to-be-assigned task among the plurality of tasks to the first computing resource pool 120 for execution.
  • the task assignment server 110 may also non-selectively assign the currently to-be-assigned tasks among 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 distribute multiple jobs of the tasks given by the task dispatching server 110, and selectively decide whether to assign one of the multiple jobs to One or more jobs are sent to the second computing resource pool 140 through the resource intermediary server 130 .
  • the resource intermediary server 130 may forward the non-coprocessor computing job to the second A selected computing platform in the computing resource pool 140 (step S240).
  • the resource intermediary server 130 selects a computing platform 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 in the second computing resource pool 140 .
  • step S250 the selected computing platforms in the second computing resource pool 140 can perform the non-coprocessor computing work. 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 through the resource intermediary server 130 to the The computing platform in the first computing resource pool 120 that issues the computing work of the non-coprocessor (step S250).
  • the task assignment server 110 may decide whether to assign the current task to be assigned to any computing platform 120_1 - 120_m of the first computing resource pool 120 for execution. For example, it is assumed here that the task assignment server 110 decides to assign the current task to be assigned to the computing platform 120_m of the first computing resource pool 120 for execution.
  • the CPU 121 of the computing platform 120_m can accept the task (distributed task) given by the task dispatching server 1100.
  • the CPU 121 of the computing platform 120_m can manage and dispatch multiple jobs of the dispatched tasks.
  • the computing platform 120_m can determine the job attribute of the current job to be assigned according to the identification feature of the command line (command line) in the current job to be assigned.
  • the CPU 121 of the computing platform 120_m can check the job attribute of the current job to be assigned in the plurality of jobs, and select the coprocessor 123 and computing platform that will assign the current job to be assigned to the computing platform 120_m according to the job attribute.
  • the CPU 121 of the computing platform 120_m may be based on the number of coprocessors of the coprocessors 123 in the computing platform 120_m, the current computing power of each coprocessor in the computing platform 120_m, And at least one of the coprocessor computing power requirements of the current task to be allocated is required, and a coprocessor is selected from the coprocessors 123 of the computing platform 120_m as the allocation destination of the current task to be allocated.
  • the CPU 121 of the computing platform 120_m can assign the computing work of the multiple working coprocessors to the coprocessor 123 of the computing platform 120_m for execution through the API 122.
  • the CPU 121 may assign one or more non-coprocessor computing tasks among the plurality of tasks to the CPU 121 for execution by itself.
  • the CPU 121 of the computing platform 120_m may assign one or more non-coprocessor computing jobs among the multiple jobs to the second computing resource pool 140. That is, the CPU 121 of the computing platform 120_m can issue the non-coprocessor computing work to the resource intermediary server 130.
  • the resource broker server 130 may forward the non-coprocessor computing job to a selected computing platform in the second computing resource pool 140 (e.g., computing platform 140_1).
  • the selected computing platform 140_1 may execute the non-coprocessor computing job, and then return and/or notify the computing platform 120_m of the execution result of the non-coprocessor computing job through the resource intermediary server 130 .
  • the CPU 121 of the computing platform 120_m can notify the task dispatching server 110, and the user can obtain and further use the execution result through the task dispatching server 110 in a conventional manner. In some other embodiments, the CPU 121 may return the execution result of the assigned task to the task assignment server 110.
  • the task assignment server 110 in this embodiment can assign the task to be assigned currently to a computing platform in the first computing resource pool 120 for execution.
  • the computing platform in the first computing resource pool 120 can send the non-coprocessor computing work to the resource intermediary server 130, and the resource intermediary server 130 can forward the non-coprocessor computing work to the Selected computing platforms in the second pool of computing resources 140 .
  • the selected computing platform executes the non-coprocessor computing work
  • the execution result is returned and/or notified to the computer that issued the non-cooperative processor computing job in the first computing resource pool 120 through the resource intermediary server 130.
  • the computing platform. 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 assignment server 310 , a first computing resource pool 120 , a resource intermediary server 130 and a second computing resource pool 340 .
  • the cloud service system 300 shown in Figure 3, the task assignment server 310, the first computing resource pool 120, the resource intermediary server 130 and the second computing resource pool 340 can refer to the cloud service system 100 shown in Figure 1, the task assignment server 110, the first The relevant descriptions of the computing resource pool 120 , the resource intermediary server 130 and the second computing resource pool 140 are analogous, so they are not repeated here.
  • the first computing resource pool 120 and the second computing resource pool 340 are two parallel resource pools. That is, the task dispatching server 310 also establishes a communication connection with each computing platform in the second computing resource pool 340 .
  • FIG. 4 is a schematic flowchart of an operation method of a cloud service system according to another embodiment of the present invention.
  • the task dispatching server 310 may receive a plurality of tasks.
  • the task assignment server 310 may check any one of the plurality of tasks, such as the task attribute of the task currently to be assigned.
  • the task assignment server 310 may select the first computing resource pool 120 or the second computing resource pool 340 according to the task attribute, and then assign the task to be assigned to the selected computing resource pool for execution (or start, launch).
  • the first computing resource pool 120 (which may be called a coprocessor pool) and the second computing resource pool 340 (which may be called a CPU pool) are independent of each other.
  • the task dispatch server 310 may select a coprocessor pool 120 parallel to the CPU pool 340 to independently start/execute a task, and select a CPU pool 340 parallel to the coprocessor pool 120 to independently start/execute another task.
  • the task assignment server 310 may select the first computing resource pool 120 or the second computing resource pool 340 based on task attributes (for example, only use CPU, or use coprocessor).
  • the task dispatching server 310 can implement any task dispatching technology (such as an existing task dispatching algorithm or other task dispatching algorithms) to dispatch tasks to the selected computing resource pool.
  • the task dispatching server 310 may further apply any dispatching optimization technology (such as an existing task dispatching optimization algorithm or other task dispatching optimization algorithms) according to the current needs of the task to be dispatched on the coprocessor.
  • the task assignment server 310 may be based on the number of co-processors of each of the computing platforms 120_1-120_m in the first computing resource pool 120, the current computing power of each co-processor, and the current number of tasks to be assigned The computing power of the coprocessors requires at least one of them, and a computing platform is selected from the first computing resource pool 120 as the assignment destination of the current task to be assigned. All existing virtual machine (virtual machines, VM) or container (container) technologies can be applied to the task dispatching server 310 without modification.
  • VM virtual machines
  • container container
  • the task dispatching server 310 can unify the access of the coprocessor pool (the first computing resource pool 120 ). Without intercepting API calls (API calls), task dispatching server 310 can use coprocessors through conventional local CPU control techniques. Therefore, the cloud service system 300 can automatically maintain the native efficiencies of the computing platform, and unify the solution for any type of co-processor without limitation.
  • API calls API calls
  • FIG. 5 is a schematic flow diagram of task dispatching server 310 checking tasks according to an embodiment of the present invention. Please refer to Figure 3 and Figure 5 .
  • the task dispatching server 310 may check the command line of the task to be dispatched currently.
  • the determination result of step S520 is "Yes"
  • the task dispatching server 310 may proceed to step S530.
  • the task dispatching server 310 may proceed to step S550.
  • the "identification feature" in steps S510 and S520 can be defined according to actual design/application. For example, in some embodiments, if the word “-GPU” appears in the command line, it means that such command line needs to use GPU computing power. Therefore, in such an implementation scenario, "-GPU” can be used as the "identification feature”.
  • the task assignment server 310 may assign the task to be assigned to one of the computing platforms 120_1-120_m in the first computing resource pool 120 (coprocessor pool) for execution.
  • the task assignment server 310 assigns the current task to be assigned to the computing platform 120_m in the first computing resource pool 120 in step S530 .
  • the CPU 121 of the computing platform 120_m can accept the dispatched tasks dispatched by the task dispatching server 310.
  • the CPU 121 of the computing platform 120_m can manage and dispatch multiple jobs of the dispatched tasks.
  • the CPU 121 of the computing platform 120_m may assign at least one job of the plurality of jobs to the coprocessor 123 of the computing platform 120_m for execution through the API 122.
  • the CPU 121 of the computing platform 120_m may also assign the non-coprocessor computing tasks in the plurality of jobs to the resource intermediary server 130.
  • the CPU 121 of the computing platform 120_m can notify the task dispatching server 310 (step S540), and the user can obtain and further use the execution result through the task dispatching server 310 in a conventional manner.
  • the CPU 121 may return the execution result of the assigned task to the task assignment server 310 in step S540.
  • the CPU 121 assigns work to the coprocessor 123.
  • the CPU 121 can check the job attribute of the currently to-be-distributed job among the multiple jobs, and the CPU 121 can choose to assign the current to-be-distributed job to the collaborative processing according to the job attribute
  • the device 123 or the CPU 121 executes.
  • the CPU 121 may further apply any dispatching optimization technology (such as an existing task dispatching optimization algorithm or other task dispatching optimization algorithms) according to the needs of the co-processor 123 for the currently dispatched work.
  • the CPU 121 may require at least one of them according to the number of coprocessors of the coprocessors 123, the current computing power of each of the at least one coprocessor 123, and the coprocessor computing power of the current task to be assigned, from The at least one co-processor 123 selects one co-processor as the assignment destination of the currently to-be-allocated work.
  • the number of coprocessors may be the number of one or more computing acceleration cards (such as graphics cards or AI accelerator cards) installed on the computing platform 120_m, and (or) the computing acceleration integrated circuits in the computing platform 120_m (for example, the number of GPU chips or AI chips), and (or) the number of computing acceleration cores (for example, GPU cores or AI cores) installed in one or more integrated circuits of the computing platform 120_m.
  • computing acceleration cards such as graphics cards or AI accelerator cards
  • the computing acceleration integrated circuits in the computing platform 120_m for example, the number of GPU chips or AI chips
  • computing acceleration cores for example, GPU cores or AI cores
  • the task assignment server 310 may assign the task to be assigned to one of the computing platforms 340_1, . . . , 340_n of the second computing resource pool 340 (CPU pool) for execution.
  • the task assignment server 310 assigns the current task to be assigned to the computing platform 340_1 in the second computing resource pool 340 in step S550 .
  • the CPU of the computing platform 340_1 accepts the dispatched tasks dispatched by the task dispatching server 310 .
  • the CPU of computing platform 340_1 may execute the dispatched task.
  • the CPU of the computing platform 340_1 can notify the task dispatching server 310 (step S560), and the user can obtain and further use the execution result through the task dispatching server 310 in a conventional manner.
  • the CPU 121 may return the execution result of the assigned task to the task assignment server 310 in step S560.
  • the task dispatching server 310 can check the task attributes of the current task to be dispatched.
  • the task assignment server 310 can assign the task to be dispatched to the first computing resource pool 120 (coprocessor pool) Execute on one of the computing platforms 120_1-120_m.
  • the task dispatch server 310 may assign the task to be dispatched to one of the computing platforms 110_1-110_m in the second computing resource pool 340 (CPU pool) platform execution.
  • the “task not requiring a coprocessor” does not need to be distributed to the second computing resource pool 340 through the resource intermediary server 130 , but is directly distributed to the second computing resource pool 340 by the task dispatching server 310 . Therefore, the cloud service system 300 can efficiently and adaptively provide computing resources to perform tasks.

Abstract

本发明提供一种云端服务系统及其操作方法。所述云端服务系统包括第一计算资源池、第二计算资源池、任务分派服务器以及资源中介服务器。在第一计算资源池中的每一个计算平台具有至少一个协同处理器。第一计算资源池中的计算平台通过资源中介服务器可以将非协同处理器计算工作根据需要转发给在第二计算资源池中的经选计算平台。执行所述非协同处理器计算工作后,所述经选计算平台将执行结果回传和/或通知给发出所述非协同处理器计算工作的所述计算平台。

Description

云端服务系统及其操作方法 技术领域
本发明涉及一种云端服务器技术,且特别涉及一种云端服务系统及其操作方法。
背景技术
云端服务器(cloud server)可以提供各式各样的服务,例如算力服务。云端服务器可以提供计算资源,以执行各种任务(tasks)。一般而言,云端服务器是指一部或多部计算平台(computing platform)的丛集。所述计算平台可以是任何类型的计算机(computer),例如个人计算机、服务器、工作站(workstation)或是其他类型的计算机。这些计算平台可能被散置在不同地点。
发明内容
本发明是针对一种云端服务系统及其操作方法,以有效率地提供计算资源去执行任务。
在根据本发明的实施例中,云端服务系统包括第一计算资源池、第二计算资源池、任务分派服务器以及资源中介服务器。在第一计算资源池中的每一个计算平台具有至少一个协同处理器。在第二计算资源池中的每一个计算平台不具有协同处理器。任务分派服务器用以接收多个任务且对所述多个任务中的当下待分派任务进行分派。任务分派服务器与在第一计算资源池中的每一个计算平台建立通信连接。所述第一计算资源池接受所述任务分派服务器的经分派任务。资源中介服务器与在第一计算资源池中的每一个计算平台建立通信连接,以及与在第二计算资源池中的每一个计算平台建立通信连接。当在第一计算资源池中的一个计算平台发出非协同处理器计算工作给资源中介服务器时,资源中介服务器将所述非协同处理器计算工作转发给在第二计算资源池中的一个经选计算平台。所述经选计算平台执行所述非协同处理器计算工作后将所述非协同处理器计算工作的执行结果通过资源中介服务器回传和/或通知给在第一计算资源池中发出所述非协同处理器计算工作的 所述计算平台。
在根据本发明的实施例中,操作方法包括:由云端服务系统的任务分派服务器接收多个任务;由任务分派服务器对所述多个任务中的当下待分派任务进行分派;当在所述第一计算资源池中的一个计算平台发出非协同处理器计算工作给云端服务系统的资源中介服务器时,由资源中介服务器将所述非协同处理器计算工作转发给在云端服务系统的第二计算资源池中的一个经选计算平台;以及由所述经选计算平台执行所述非协同处理器计算工作后,将所述非协同处理器计算工作的执行结果通过资源中介服务器回传和/或通知给在第一计算资源池中发出所述非协同处理器计算工作的所述计算平台。
基于上述,本发明诸实施例所述任务分派服务器可以将当下待分派任务分派给在第一计算资源池中的一个计算平台执行。在任务的执行过程中,在第一计算资源池中的计算平台可以发出非协同处理器计算工作给资源中介服务器,而资源中介服务器可以将所述非协同处理器计算工作转发给在第二计算资源池中的经选计算平台。所述经选计算平台执行所述非协同处理器计算工作后,将执行结果通过资源中介服务器回传和/或通知给在第一计算资源池中发出所述非协同处理器计算工作的所述计算平台。因此,所述云端服务系统可以有效率地且适应性地提供计算资源去执行任务。
附图说明
图1是依照本发明的一实施例的一种云端服务系统的示意图;
图2是依照本发明的一实施例的一种云端服务系统的操作方法的流程示意图;
图3是依照本发明的另一实施例的一种云端服务系统的示意图;
图4是依照本发明的另一实施例的一种云端服务系统的操作方法的流程示意图;以及
图5是依照本发明的一实施例所绘示,任务分派服务器检查任务的流程示意图。
附图标记说明
100、300:云端服务系统;
110、310:任务分派服务器;
120:第一计算资源池;
120_1、120_m、140_1、140_n、340_1、340_n:计算平台;
121:中央处理器(CPU);
122:协同处理器编程接口;
123:协同处理器;
140、340:第二计算资源池;以及
S210、S220、S230、S240、S250、S410、S420、S430、S510、S520、S530、S540、S550、S560:步骤。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在图式和描述中用来表示相同或相似部分。
图1是依照本发明的一实施例的一种云端服务系统100的示意图。云端服务系统100可以提供计算资源,以执行各种任务(tasks)。图1所示云端服务系统100包括任务分派服务器(task dispatch server)110、第一计算资源池(computing resource pool)120、资源中介服务器(resource intermediary server)130以及第二计算资源池140。
第一计算资源池120包括一部或多部计算平台(computing platform),例如图1所示m部计算平台120_1、…、120_m,其中m为依照实际设计/应用所决定的整数。所述计算平台120_1~120_m的任一个可以是任何类型的计算机(computer),例如个人计算机、服务器、工作站(workstation)或是其他类型的计算机。依照实际设计/应用,这些计算平台120_1~120_m可能被散置在不同地点(或安置在相同地点)。任务分派服务器110与在第一计算资源池120中的每一个计算平台120_1~120_m建立通信连接。在所述第一计算资源池120中的计算平台120_1~120_m的任一个配置有中央处理器(Central Processing Unit,CPU)、协同处理器(co-processor)与其他组件(未绘示)。举例来说,计算平台120_m配置有CPU 121与协同处理器123,而CPU 121可以通过协同处理器编程接口122将工作分派给协同处理器123执行。协同处理器编程接口122可以是一种应用编程接口(application programming interface,API)。在计算平台120_1~120_m的任一个中,“CPU”模块表示一个或多个CPU芯片,和/或表示一个或多个CPU核(core)。一部 计算平台中的CPU芯片数量以及CPU核数量可以依照实际设计/应用来决定。
在计算平台120_1~120_m的任一个中,“协同处理器”模块表示一个或多个协同处理器芯片,和/或表示一个或多个协同处理器核。一部计算平台中的协同处理器芯片数量以及协同处理器核数量可以依照实际设计/应用来决定。依照实际设计/应用,在一些实施例中,所述“协同处理器”可以包括图形处理器(Graphics Processing Unit,GPU)、人工智能(Artificial Intelligence,AI)处理器或是其他协同处理器。
第二计算资源池140包括一部或多部计算平台,例如图1所示n部计算平台140_1、…、140_n,其中n为依照实际设计/应用所决定的整数。所述计算平台140_1~140_n的任一个可以是任何类型的计算机,例如个人计算机、服务器、工作站或是其他类型的计算机。依照实际设计/应用,这些计算平台140_1~140_n可能被散置在不同地点(或安置在相同地点)。资源中介服务器130与在第二计算资源池140中的每一个计算平台140_1~140_n建立通信连接。资源中介服务器130亦与在第一计算资源池120中的每一个计算平台120_1~120_m建立通信连接。第一计算资源池120(可称为协同处理器池)与第二计算资源池140(可称为CPU池)是互为独立的。在所述第二计算资源池140中的计算平台140_1~140_n的任一个配置有CPU与其他组件(未绘示),但是没有协同处理器。在计算平台140_1~140_n的任一个中,“CPU”模块表示一个或多个CPU芯片,和/或表示一个或多个CPU核(core)。一部计算平台中的CPU芯片数量以及CPU核数量可以依照实际设计/应用来决定。
图2是依照本发明的一实施例的一种云端服务系统的操作方法的流程示意图。请参照图1与图2。在步骤S210中,任务分派服务器110可以接收多个任务。在步骤S220中,任务分派服务器110可以对所述多个任务中的当下待分派任务进行分派。第一计算资源池120接受任务分派服务器110的经分派任务。举例来说,在一些实施例中,任务分派服务器110可以依据在第一计算资源池120中的每一个计算平台120_1~120_m的协同处理器数量、每一个协同处理器的当下算力、以及所述当下待分派任务的协同处理器算力需要其中至少一者,从第一计算资源池120中选择一个计算平台作为所述当下待分派任务的分派目的地。在另一些实施例中,任务分派服务器110可以 依据在第一计算资源池120中的每一个计算平台120_1~120_m的CPU核数量与协同处理器核数量、每一个CPU核的当下算力、每一个协同处理器核的当下算力、以及所述当下待分派任务的算力需要,从第一计算资源池120中选择一个计算平台作为所述当下待分派任务的分派目的地。
应当说明的是,任务分派服务器110可以选择性地决定是否将所述多个任务中的当下待分派任务分派给第一计算资源池120执行。任务分派服务器110还可以非选择性地将所述多个任务中的当下待分派任务直接分派给第一计算资源池120执行。
在第一计算资源池120中的每一个计算平台120_1~120_m可以管理与分派所述任务分派服务器110所给予的任务的多个工作,以及选择性地决定是否将所述多个工作中的一个或多个工作通过资源中介服务器130发给第二计算资源池140。当在第一计算资源池120中的一个计算平台发出非协同处理器计算工作给资源中介服务器130(步骤S230)时,资源中介服务器130可以将所述非协同处理器计算工作转发给在第二计算资源池140中的一个经选计算平台(步骤S240)。资源中介服务器130依据可以在第二计算资源池140中的每一个计算平台140_1~140_n的当下CPU算力,从第二计算资源池140中选择一个计算平台作为所述经选计算平台。在步骤S250中,第二计算资源池140中的所述经选计算平台可以执行所述非协同处理器计算工作。在所述经选计算平台执行所述非协同处理器计算工作后,所述经选计算平台可以将所述非协同处理器计算工作的执行结果通过资源中介服务器130回传和/或通知给在第一计算资源池120中发出所述非协同处理器计算工作的所述计算平台(步骤S250)。
任务分派服务器110在步骤S220中可以决定是否将当下待分派任务分派给第一计算资源池120的任一个计算平台120_1~120_m执行。举例来说,在此假设任务分派服务器110决定将当下待分派任务分派给第一计算资源池120的计算平台120_m执行。计算平台120_m的CPU 121可以接受任务分派服务器1100所给予的任务(经分派任务)。计算平台120_m的CPU 121可以管理与分派所述经分派任务的多个工作。依照实际设计,在一些实施例中,计算平台120_m可以依据在当下待分派工作中的命令行(command line)的识别特征来判断当下待分派工作的工作属性。举例来说,若在命令行中出现“-GPU”字样,表示这样的命令行需要使用GPU的算力,因此CPU 121可 以将这样的当下待分派工作视为「协同处理器计算工作」,而将其他工作视为「非协同处理器计算工作」。
计算平台120_m的CPU 121可以检查所述多个工作中的当下待分派工作的工作属性,以及依据所述工作属性选择将所述当下待分派工作分派给计算平台120_m的协同处理器123、计算平台120_m的CPU 121或是所述资源中介服务器130。举例来说,在一些实施例中,计算平台120_m的CPU 121可以依据在计算平台120_m中的协同处理器123的协同处理器数量、在计算平台120_m中的每一个协同处理器的当下算力、以及所述当下待分派工作的协同处理器算力需要其中至少一者,从计算平台120_m的协同处理器123中选择一个协同处理器作为所述当下待分派工作的分派目的地。
计算平台120_m的CPU 121可以通过API 122将所述多个工作中的协同处理器计算工作分派给计算平台120_m的协同处理器123执行。在一些实际操作情境中,CPU 121可以将所述多个工作中的一或多个非协同处理器计算工作分派给CPU 121自己执行。依据实际操作,计算平台120_m的CPU 121可以将所述多个工作中的一或多个非协同处理器计算工作分派给第二计算资源池140。亦即,计算平台120_m的CPU 121可以发出所述非协同处理器计算工作给资源中介服务器130。
当计算平台120_m发出非协同处理器计算工作给资源中介服务器130时,资源中介服务器130可以将所述非协同处理器计算工作转发给在第二计算资源池140中的经选计算平台(例如计算平台140_1)。所述经选计算平台140_1可以执行所述非协同处理器计算工作,然后将所述非协同处理器计算工作的执行结果通过资源中介服务器130回传和/或通知给计算平台120_m。在计算平台120_m执行完所述经分派任务后,在一些实施例中,计算平台120_m的CPU 121可以通知任务分派服务器110,用户可以通过任务分派服务器110按常规方式得到和进一步使用执行结果。在另一些实施例中,CPU 121可以将所述经分派任务的执行结果回传给任务分派服务器110。
综上所述,本实施例所述任务分派服务器110可以将当下待分派任务分派给在第一计算资源池120中的一个计算平台执行。在任务的执行过程中,在第一计算资源池120中的计算平台可以发出非协同处理器计算工作给资源中介服务器130,而资源中介服务器130可以将所述非协同处理器计算工作转发给在第二计算资源池140中的经选计算平台。所述经选计算平台执行所 述非协同处理器计算工作后,将执行结果通过资源中介服务器130回传和/或通知给在第一计算资源池120中发出所述非协同处理器计算工作的所述计算平台。因此,所述云端服务系统100可以有效率地且适应性地提供计算资源去执行任务。
图3是依照本发明的另一实施例的一种云端服务系统300的示意图。图3所示云端服务系统300包括任务分派服务器310、第一计算资源池120、资源中介服务器130以及第二计算资源池340。图3所示云端服务系统300、任务分派服务器310、第一计算资源池120、资源中介服务器130以及第二计算资源池340可以参照图1所示云端服务系统100、任务分派服务器110、第一计算资源池120、资源中介服务器130以及第二计算资源池140的相关说明加以类推,故不再赘述。在图3所示实施例中,所述第一计算资源池120和所述第二计算资源池340是两个并列的资源池。亦即,任务分派服务器310还与在第二计算资源池340中的每一个计算平台建立通信连接。
图4是依照本发明的另一实施例的一种云端服务系统的操作方法的流程示意图。请参照图3与图4。在步骤S410中,任务分派服务器310可以接收多个任务。在步骤S420中,任务分派服务器310可以检查所述多个任务中的任一个,例如当下待分派任务的任务属性。在步骤S430中,任务分派服务器310可以依据所述任务属性选择第一计算资源池120或是第二计算资源池340,然后将当下待分派任务分派给所选的计算资源池执行(或启动,launch)。
第一计算资源池120(可称为协同处理器池)与第二计算资源池340(可称为CPU池)是互为独立的。在计算平台120_1~120_m(协同处理器物理系统)的任一个中的CPU 121可以被充分利用。任务分派服务器310可以选择与CPU池340并行的协同处理器池120来独立启动/执行任务,以及选择与协同处理器池120并行的CPU池340来独立启动/执行另一个任务。任务分派服务器310可以基于任务属性(例如仅使用CPU,或使用协处理器)选择第一计算资源池120或是第二计算资源池340。在选定计算资源池后,任务分派服务器310可以实行任何任务分派技术(例如现有的任务分派算法或其他任务分派算法)去对经选计算资源池进行任务分派。
任务分派服务器310可以根据当下待分派任务对协同处理器的需要而进一步施用任何分派优化技术(例如现有的任务分派优化算法或其他任务分派优化算法)。举例来说,所述任务分派服务器310可以依据在第一计算资源池 120中计算平台120_1~120_m的每一个的协同处理器数量、每一个协同处理器的当下算力、以及当下待分派任务的协同处理器算力需要其中至少一者,从第一计算资源池120中选择一个计算平台作为当下待分派任务的分派目的地。无需更改即可将所有现有的虚拟机(virtual machines,VM)或容器(container)技术应用在任务分派服务器310。
在图3所示实施例中,任务分派服务器310可以统一协同处理器池(第一计算资源池120)的访问。在不拦截API调用(API calls)的情况下,任务分派服务器310可以通过常规的本地CPU控制技术来使用协同处理器。因此,云端服务系统300可以自动保持计算平台的原生效率(native efficiencies),并不受限制地为任何类型的协同处理器统一解决方案。
本实施例并不限制任务分派服务器310检查任务的具体方式。依照实际设计,在一些实施例中,任务分派服务器310可以依据在当下待分派任务中的命令行(command line)的识别特征来判断当下待分派任务的任务属性。举例来说,图5是依照本发明的一实施例所绘示,任务分派服务器310检查任务的流程示意图。请参照图3与图5。在步骤S510中,任务分派服务器310可以检查当下待分派任务的命令行。当在当下待分派任务的命令行中具有协同处理器所对应的所述识别特征时(步骤S520的判断结果为“是”),任务分派服务器310可以进行步骤S530。当在当下待分派任务的所有命令行中皆没有协同处理器所对应的所述识别特征时(步骤S520的判断结果为“否”),任务分派服务器310可以进行步骤S550。
在步骤S510与S520中所述“识别特征”可以依照实际设计/应用来定义。举例来说,在一些实施例中,若在命令行中出现“-GPU”字样,表示这样的命令行需要使用GPU的算力。因此在这样的实施情境中,“-GPU”可以作为所述“识别特征”。
在步骤S530中,所述任务分派服务器310可以将当下待分派任务分派给在第一计算资源池120(协同处理器池)的计算平台120_1~120_m中的一个计算平台执行。为了方便说明,在此假设任务分派服务器310在步骤S530中将当下待分派任务分派给在第一计算资源池120中的计算平台120_m。计算平台120_m的CPU 121可以接受任务分派服务器310所派发的经分派任务。计算平台120_m的CPU 121可以管理与分派所述经分派任务的多个工作。计算平台120_m的CPU 121可以通过API 122将所述多个工作的至少一 个工作分派给计算平台120_m的协同处理器123执行。在实际操作情境中,计算平台120_m的CPU 121还可能将所述多个工作中的非协同处理器计算工作分派给资源中介服务器130。在计算平台120_m执行完所述经分派任务后,计算平台120_m的CPU 121可以通知任务分派服务器310(步骤S540),用户可以通过任务分派服务器310按常规方式得到和进一步使用执行结果。在另一些实施例中,CPU 121可以在步骤S540将所述经分派任务的执行结果回传给任务分派服务器310。
本实施例并不限制“CPU 121分派工作给协同处理器123”的具体实现方式。依照实际设计,在一些实施例中,CPU 121可以检查所述多个工作中的当下待分派工作的工作属性,以及CPU 121可以依据所述工作属性选择将所述当下待分派工作分派给协同处理器123或是CPU 121执行。CPU 121可以根据当下待分派工作对协同处理器123的需要而进一步施用任何分派优化技术(例如现有的任务分派优化算法或其他任务分派优化算法)。举例来说,CPU 121可以依据协同处理器123的协同处理器数量、至少一个协同处理器123的每一个的当下算力、以及当下待分派工作的协同处理器算力需要其中至少一者,从所述至少一个协同处理器123中选择一个协同处理器作为当下待分派工作的分派目的地。所述协同处理器数量可以是,被安装在计算平台120_m的一或多个计算加速卡(例如图形卡或AI加速卡)的数量,以及(或是)在计算平台120_m中的计算加速集成电路(例如GPU芯片或AI芯片)的数量,以及(或是)被安装在计算平台120_m的一或多个集成电路中的计算加速核(例如GPU核或AI核)的数量。
在步骤S550中,所述任务分派服务器310可以将当下待分派任务分派给在第二计算资源池340(CPU池)的计算平台340_1、…、340_n中的一个计算平台执行。为了方便说明,在此假设任务分派服务器310在步骤S550中将当下待分派任务分派给在第二计算资源池340中的计算平台340_1。计算平台340_1的CPU接受任务分派服务器310所派发的经分派任务。计算平台340_1的CPU可以执行所述经分派任务。在计算平台340_1的CPU执行完所述经分派任务后,计算平台340_1的CPU可以通知任务分派服务器310(步骤S560),用户可以通过任务分派服务器310按常规方式得到和进一步使用执行结果。在另一些实施例中,CPU 121可以在步骤S560将所述经分派任务的执行结果回传给任务分派服务器310。
综上所述,任务分派服务器310可以检查当下待分派任务的任务属性。当所述当下待分派任务需要协同处理器(例如GPU或是AI处理器)的计算资源时,任务分派服务器310可以将当下待分派任务分派给在第一计算资源池120(协同处理器池)的计算平台120_1~120_m中的一个计算平台执行。当所述当下待分派任务不需要协同处理器的计算资源时,任务分派服务器310可以将当下待分派任务分派给在第二计算资源池340(CPU池)的计算平台110_1~110_m中的一个计算平台执行。须注意的是,“不需要协同处理器的任务”不需要通过资源中介服务器130派发给第二计算资源池340,而是由任务分派服务器310直接派发给第二计算资源池340。因此,所述云端服务系统300可以有效率地且适应性地提供计算资源去执行任务。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (22)

  1. 一种云端服务系统,其特征在于,所述云端服务系统包括:
    第一计算资源池,其中在所述第一计算资源池中的每一个计算平台具有至少一个协同处理器;
    任务分派服务器,用以接收多个任务且对所述多个任务中的当下待分派任务进行分派,其中所述任务分派服务器与在所述第一计算资源池中的每一个计算平台建立通信连接,以及所述第一计算资源池接受所述任务分派服务器的经分派任务;
    第二计算资源池,其中在所述第二计算资源池中的每一个计算平台不具有协同处理器;以及
    资源中介服务器,与在所述第一计算资源池中的每一个计算平台建立通信连接,以及与在所述第二计算资源池中的每一个计算平台建立通信连接,其中
    当在所述第一计算资源池中的一个计算平台发出非协同处理器计算工作给所述资源中介服务器时,所述资源中介服务器将所述非协同处理器计算工作转发给在所述第二计算资源池中的一个经选计算平台,以及所述经选计算平台执行所述非协同处理器计算工作后将所述非协同处理器计算工作的执行结果通过所述资源中介服务器回传和/或通知给在所述第一计算资源池中发出所述非协同处理器计算工作的所述计算平台。
  2. 根据权利要求1所述的云端服务系统,其特征在于,所述至少一个协同处理器包括图形处理器或是人工智能处理器。
  3. 根据权利要求1所述的云端服务系统,其特征在于,所述任务分派服务器依据在所述第一计算资源池中的每一个计算平台的协同处理器数量、每一个协同处理器的当下算力、以及所述当下待分派任务的协同处理器算力需要其中至少一者,从所述第一计算资源池中选择一个计算平台作为所述当下待分派任务的分派目的地。
  4. 根据权利要求1所述的云端服务系统,其特征在于,在所述第一计算资源池中的一个计算平台包括中央处理器与所述至少一个协同处理器,所述中央处理器接受所述任务分派服务器的所述经分派任务,所述中央处理器管理与分派所述经分派任务的多个工作,所述中央处理器通过协同处理器编程 接口将所述多个工作中的协同处理器计算工作分派给所述至少一个协同处理器执行,所述中央处理器将所述多个工作中的所述非协同处理器计算工作分派给所述中央处理器或是所述资源中介服务器,以及所述中央处理器执行所述经分派任务后通知所述任务分派服务器。
  5. 根据权利要求4所述的云端服务系统,其特征在于,
    所述中央处理器检查所述多个工作中的当下待分派工作的工作属性,以及
    所述中央处理器依据所述工作属性选择将所述当下待分派工作分派给所述至少一个协同处理器、所述中央处理器或是所述资源中介服务器。
  6. 根据权利要求5所述的云端服务系统,其特征在于,所述中央处理器依据所述至少一个协同处理器的协同处理器数量、所述至少一个协同处理器的每一个的当下算力、以及所述当下待分派工作的协同处理器算力需要其中至少一者,从所述至少一个协同处理器中选择一个协同处理器作为所述当下待分派工作的分派目的地。
  7. 根据权利要求1所述的云端服务系统,其特征在于,所述资源中介服务器依据在所述第二计算资源池中的每一个计算平台的当下中央处理器算力,从所述第二计算资源池中选择一个计算平台作为所述经选计算平台。
  8. 根据权利要求1所述的云端服务系统,其特征在于,所述任务分派服务器还与在所述第二计算资源池中的每一个计算平台建立通信连接,所述任务分派服务器检查所述当下待分派任务的任务属性,以及依据所述任务属性选择将所述当下待分派任务分派给所述第一计算资源池或是所述第二计算资源池执行。
  9. 根据权利要求8所述的云端服务系统,其特征在于,所述任务分派服务器依据在所述当下待分派任务中的命令行的识别特征来判断所述当下待分派任务的所述任务属性。
  10. 根据权利要求9所述的云端服务系统,其特征在于,
    当在所述当下待分派任务的所述命令行中具有协同处理器所对应的所述识别特征时,所述任务分派服务器将所述当下待分派任务分派给在所述第一计算资源池中的一个计算平台执行,以及
    当在所述当下待分派任务的所有命令行皆没有协同处理器所对应的所述识别特征时,所述任务分派服务器将所述当下待分派任务分派给在所述第 二计算资源池中的一个计算平台执行。
  11. 根据权利要求8所述的云端服务系统,其特征在于,在所述第二计算资源池中的一个计算平台的中央处理器接受所述任务分派服务器的所述经分派任务,以及所述中央处理器执行所述经分派任务后通知所述任务分派服务器。
  12. 一种云端服务系统的操作方法,其特征在于,所述操作方法包括:
    由所述云端服务系统的任务分派服务器接收多个任务;
    由所述任务分派服务器对所述多个任务中的当下待分派任务进行分派,其中在所述第一计算资源池中的每一个计算平台具有至少一个协同处理器,所述任务分派服务器与在所述第一计算资源池中的每一个计算平台建立通信连接,以及所述第一计算资源池接受所述任务分派服务器的经分派任务;
    当在所述第一计算资源池中的一个计算平台发出非协同处理器计算工作给所述云端服务系统的资源中介服务器时,由所述资源中介服务器将所述非协同处理器计算工作转发给在所述云端服务系统的第二计算资源池中的一个经选计算平台,其中所述资源中介服务器与在所述第一计算资源池中的每一个计算平台建立通信连接,在所述第二计算资源池中的每一个计算平台不具有协同处理器,以及所述资源中介服务器与在所述第二计算资源池中的每一个计算平台建立通信连接;以及
    由所述经选计算平台执行所述非协同处理器计算工作后,将所述非协同处理器计算工作的执行结果通过所述资源中介服务器回传和/或通知给在所述第一计算资源池中发出所述非协同处理器计算工作的所述计算平台。
  13. 根据权利要求12所述的操作方法,其特征在于,所述至少一个协同处理器包括图形处理器或是人工智能处理器。
  14. 根据权利要求12所述的操作方法,其特征在于,所述操作方法还包括:
    由所述任务分派服务器依据在所述第一计算资源池中的每一个计算平台的协同处理器数量、每一个协同处理器的当下算力、以及所述当下待分派任务的协同处理器算力需要其中至少一者,从所述第一计算资源池中选择一个计算平台作为所述当下待分派任务的分派目的地。
  15. 根据权利要求12所述的操作方法,其特征在于,在所述第一计算资源池中的一个计算平台包括中央处理器与所述至少一个协同处理器,所述操 作方法还包括:
    由所述中央处理器接受所述任务分派服务器的所述经分派任务;
    由所述中央处理器管理与分派所述经分派任务的多个工作;
    由所述中央处理器通过协同处理器编程接口将所述多个工作中的协同处理器计算工作分派给所述至少一个协同处理器执行;
    由所述中央处理器将所述多个工作中的所述非协同处理器计算工作分派给所述中央处理器或是所述资源中介服务器;以及
    由所述中央处理器执行所述经分派任务后通知所述任务分派服务器。
  16. 根据权利要求15所述的操作方法,其特征在于,所述操作方法还包括:
    由所述中央处理器检查所述多个工作中的当下待分派工作的工作属性;以及
    由所述中央处理器依据所述工作属性选择将所述当下待分派工作分派给所述至少一个协同处理器、所述中央处理器或是所述资源中介服务器。
  17. 根据权利要求16所述的操作方法,其特征在于,所述操作方法还包括:
    由所述中央处理器依据所述至少一个协同处理器的协同处理器数量、所述至少一个协同处理器的每一个的当下算力、以及所述当下待分派工作的协同处理器算力需要其中至少一者,从所述至少一个协同处理器中选择一个协同处理器作为所述当下待分派工作的分派目的地。
  18. 根据权利要求12所述的操作方法,其特征在于,所述操作方法还包括:
    由所述资源中介服务器依据在所述第二计算资源池中的每一个计算平台的当下中央处理器算力,从所述第二计算资源池中选择一个计算平台作为所述经选计算平台。
  19. 根据权利要求12所述的操作方法,其特征在于,所述任务分派服务器还与在所述第二计算资源池中的每一个计算平台建立通信连接,所述操作方法还包括:
    由所述任务分派服务器检查所述当下待分派任务的任务属性;以及
    由所述任务分派服务器依据所述任务属性选择将所述当下待分派任务分派给所述第一计算资源池或是所述第二计算资源池执行。
  20. 根据权利要求19所述的操作方法,其特征在于,所述操作方法还包括:
    由所述任务分派服务器依据在所述当下待分派任务中的命令行的识别特征来判断所述当下待分派任务的所述任务属性。
  21. 根据权利要求20所述的操作方法,其特征在于,所述操作方法还包括:
    当在所述当下待分派任务的所述命令行中具有协同处理器所对应的所述识别特征时,由所述任务分派服务器将所述当下待分派任务分派给在所述第一计算资源池中的一个计算平台执行;以及
    当在所述当下待分派任务的所有命令行皆没有协同处理器所对应的所述识别特征时,由所述任务分派服务器将所述当下待分派任务分派给在所述第二计算资源池中的一个计算平台执行。
  22. 根据权利要求19所述的操作方法,其特征在于,所述操作方法还包括:
    由在所述第二计算资源池中的一个计算平台的中央处理器接受所述任务分派服务器的所述经分派任务;以及
    由所述中央处理器执行所述经分派任务后通知所述任务分派服务器。
PCT/CN2022/107924 2021-07-30 2022-07-26 云端服务系统及其操作方法 WO2023005926A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110874293.6 2021-07-30
CN202110874293.6A CN113485844B (zh) 2021-07-30 2021-07-30 云端服务系统及其操作方法

Publications (1)

Publication Number Publication Date
WO2023005926A1 true WO2023005926A1 (zh) 2023-02-02

Family

ID=77943777

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/107924 WO2023005926A1 (zh) 2021-07-30 2022-07-26 云端服务系统及其操作方法

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113485844B (zh) * 2021-07-30 2022-03-15 上海壁仞智能科技有限公司 云端服务系统及其操作方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160308783A1 (en) * 2015-04-20 2016-10-20 Peter G. Bookman Systems and Methods for Allocating Online Resources
CN106201723A (zh) * 2016-07-13 2016-12-07 浪潮(北京)电子信息产业有限公司 一种数据中心的资源调度方法及装置
CN107343045A (zh) * 2017-07-04 2017-11-10 北京百度网讯科技有限公司 云计算系统及用于控制服务器的云计算方法和装置
EP3671447A1 (en) * 2018-12-21 2020-06-24 XRSpace CO., LTD. Dispatching method and edge computing system
US10891156B1 (en) * 2017-04-26 2021-01-12 EMC IP Holding Company LLC Intelligent data coordination for accelerated computing in cloud environment
CN113485844A (zh) * 2021-07-30 2021-10-08 上海壁仞智能科技有限公司 云端服务系统及其操作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210117889A1 (en) * 2016-12-01 2021-04-22 Trovata, Inc. Co-operative resource pooling system
US10776699B2 (en) * 2017-05-05 2020-09-15 Intel Corporation Optimized compute hardware for machine learning operations
US11388054B2 (en) * 2019-04-30 2022-07-12 Intel Corporation Modular I/O configurations for edge computing using disaggregated chiplets
CN111126895A (zh) * 2019-11-18 2020-05-08 青岛海信网络科技股份有限公司 一种复杂场景下调度智能分析算法的管理仓库及调度方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160308783A1 (en) * 2015-04-20 2016-10-20 Peter G. Bookman Systems and Methods for Allocating Online Resources
CN106201723A (zh) * 2016-07-13 2016-12-07 浪潮(北京)电子信息产业有限公司 一种数据中心的资源调度方法及装置
US10891156B1 (en) * 2017-04-26 2021-01-12 EMC IP Holding Company LLC Intelligent data coordination for accelerated computing in cloud environment
CN107343045A (zh) * 2017-07-04 2017-11-10 北京百度网讯科技有限公司 云计算系统及用于控制服务器的云计算方法和装置
EP3671447A1 (en) * 2018-12-21 2020-06-24 XRSpace CO., LTD. Dispatching method and edge computing system
CN113485844A (zh) * 2021-07-30 2021-10-08 上海壁仞智能科技有限公司 云端服务系统及其操作方法

Also Published As

Publication number Publication date
CN113485844B (zh) 2022-03-15
CN113485844A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
US6505250B2 (en) Apparatus and method for scheduling and dispatching queued client requests within a server in a client/server computer system
US9542223B2 (en) Scheduling jobs in a cluster by constructing multiple subclusters based on entry and exit rules
EP1730638B1 (en) Facilitating allocation of resources in a heterogeneous computing environment
US9465663B2 (en) Allocating resources in a compute farm to increase resource utilization by using a priority-based allocation layer to allocate job slots to projects
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
KR101606613B1 (ko) 자원관리방법과 컴퓨터 프로그램제품 및 시스템
US7644137B2 (en) Workload balancing in environments with multiple clusters of application servers
US10505832B2 (en) Resource coordinate system for data centers
CN106033373A (zh) 一种云计算平台中虚拟机资源调度方法和调度系统
CN111488205B (zh) 面向异构硬件架构的调度方法和调度系统
US20110022861A1 (en) Reducing power consumption in data centers having nodes for hosting virtual machines
US20080229320A1 (en) Method, an apparatus and a system for controlling of parallel execution of services
JPH02116955A (ja) ネツトワークにおける端末アドレス通知方法
JPH02127757A (ja) 分散アプリケーション・プログラム実行方法及びシステム資源管理方法
WO2019148854A1 (zh) 虚拟化网元设备的部署方法以及装置
CN101657795A (zh) 多处理器上的数据并行计算
CN112783659B (zh) 一种资源分配方法、装置、计算机设备及存储介质
WO2023005926A1 (zh) 云端服务系统及其操作方法
US10437645B2 (en) Scheduling of micro-service instances
CN112256414A (zh) 一种连接多种计算存储引擎的方法及系统
CN113821308A (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
KR102052964B1 (ko) 컴퓨팅 스케줄링 방법 및 시스템
Singh et al. Artificial Intelligence Based Virtual Machine Allocation and Migration Policy using Improved MBFD
CN115951974B (zh) Gpu虚拟机的管理方法、系统、设备和介质
JP2018190355A (ja) リソース管理方法

Legal Events

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

Ref document number: 22848531

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE