Method and device for executing cloud computing task on cloud system and storage medium
By using a command converter in the cloud system to convert user's commands into commands suitable for the target computing cluster, the complexity problem of cloud system under the management of multitasking is solved, and unified management and convenient operation of multiple computing clusters are realized. .
Patent Information
- Application Number
- CN202411126025.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-15
- Publication Date
- 2025-01-03
AI Technical Summary
In a cloud system, since multiple computing clusters are managed by multiple different task schedulers, users need to learn command-line tools for each task scheduler, resulting in complex and inconvenient management.
By introducing a command converter in the cloud system, the host receives the user's first command and determines the target computing cluster. The command converter converts the first command into a second command that is adapted to the target computing cluster and sends it to the target computing cluster to realize Unified management of multiple compute clusters.
Users do not need to learn the command line tools of each task scheduler. Multiple computing clusters can be easily managed through unified user commands, improving management efficiency and convenience.
Smart Images

Figure CN119248437A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computers, and in particular to a method, device, and storage medium for performing cloud computing tasks on a cloud system. Background Art
[0002] In recent years, with the increase in the scale of chip design, local computing power is sometimes stretched during the verification process. In addition, the verification process usually involves multiple tools, such as software simulators, formal verification tools, and hardware simulators (including prototype verification devices). A complete chip design will involve more tools.
[0003] Deploying computing clusters on a cloud system allows users to schedule computing clusters through task schedulers to execute cloud computing tasks. However, multiple computing clusters are managed by multiple different task schedulers, each of which has its own set of command line tools. Therefore, for multiple computing clusters managed by multiple different task schedulers, users need to learn how to use the command line tools of each task scheduler, which is very inconvenient for users. Summary of the invention
[0004] In view of this, the present application proposes a method, an apparatus, and a storage medium for performing cloud computing tasks on a cloud system to solve or partially solve the above-mentioned problems.
[0005] In a first aspect of the present application, a method for executing a cloud computing task on a cloud system is provided, wherein the cloud system includes multiple computing clusters, the multiple computing clusters respectively correspond to multiple command converters, and the multiple command converters are connected to a host, and the method includes: receiving a first command for executing the cloud computing task in the cloud system via the host; determining a target computing cluster for executing the cloud computing task among the multiple computing clusters via the host, the target computing cluster corresponding to a target command converter; sending the first command to the target command converter via the host, so that the target command converter converts the first command into a second command corresponding to the target computing cluster, wherein the target command converter is configured to send the second command to the target computing cluster.
[0006] In a second aspect of the present application, a method for executing cloud computing tasks on a cloud system is provided, wherein the cloud system includes multiple computing clusters, the multiple computing clusters include a target computing cluster, the multiple computing clusters respectively correspond to multiple command converters, the multiple command converters are connected to a host, the multiple command converters include a target command converter corresponding to the target computing cluster, and the method includes: receiving a first command to execute the cloud computing task in the cloud system from the host via the target command converter; converting the first command into a second command corresponding to the target computing cluster; and sending the second command to the target computing cluster.
[0007] In a third aspect of the present application, a computing device for performing cloud computing tasks on a cloud system is provided, comprising: a memory for storing a plurality of instructions; and at least one processor for executing the plurality of instructions so that the computing device performs the method described in the first aspect.
[0008] In a fourth aspect of the present application, a non-transitory computer-readable storage medium is provided, wherein the non-transitory computer-readable storage medium stores a set of instructions for a computing device, wherein the set of instructions is used to enable the computing device to execute the method described in the first aspect.
[0009] The present application provides a method, device and storage medium for executing cloud computing tasks on a cloud system, wherein the cloud system includes multiple computing clusters, each of which corresponds to a plurality of command converters, and the plurality of command converters are connected to a host. The host determines a target computing cluster for executing cloud computing tasks from among the multiple computing clusters, and sends a received first command to a target command converter corresponding to the target computing cluster, so that the target command converter converts the first command into a second command corresponding to the target computing cluster, and sends the second command to the target computing cluster through the target command converter. Through the method of the present application, command conversion is completed by a command converter, and the command converter converts user commands submitted by the user into commands adapted to a specific task scheduler, so that the user does not need to learn how to use the command line tools of each task scheduler. The use of unified user commands can achieve unified management of multiple computing clusters, which is very convenient. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to more clearly illustrate the technical solutions in the present application or the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only for the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0011] Figure 1 A schematic diagram of a computing device according to an embodiment of the present application is shown.
[0012] Figure 2 A schematic diagram of a cloud system according to an embodiment of the present application is shown.
[0013] Figure 3 A schematic diagram of a computing system according to an embodiment of the present application is shown.
[0014] Figure 4 A schematic diagram of an exemplary cloud system according to an embodiment of the present application is shown.
[0015] Figure 5 A schematic diagram of an exemplary computing system according to an embodiment of the present application is shown.
[0016] Fig. 6A A flowchart of an exemplary method for executing cloud computing tasks on a cloud system according to an embodiment of the present application is shown.
[0017] Figure 6B A flowchart of an exemplary method for executing cloud computing tasks on a cloud system according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0018] In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in combination with specific embodiments and with reference to the accompanying drawings.
[0019] It should be noted that, unless otherwise defined, the technical terms or scientific terms used in this application should be understood by people with ordinary skills in the field to which this application belongs. The words "first", "second" and similar words used in this application do not indicate any order, quantity or importance, but are only used to distinguish different components. "Include" or "comprise" and similar words mean that the elements or objects appearing before the word include the elements or objects listed after the word and their equivalents, without excluding other elements or objects. "Connect" or "connected" and similar words are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
[0020] When EDA tools are put on the cloud, many technical requirements that are completely different from those of ordinary cloud computing arise. For example, the computing resources of ordinary cloud computing are limited to processors and memory, and the amount of processor and memory resources can be considered almost infinite. However, the resources of the EDA cloud system include computing resources and hardware simulation resources (for example, hardware simulation tools and daughter cards, etc.). This makes the request and allocation of resources in the EDA cloud system far more complicated than ordinary meta-computing.
[0021] As mentioned above, deploying computing clusters on a cloud system allows users to schedule computing clusters through a task scheduler to execute cloud computing tasks. However, multiple computing clusters are managed by multiple different task schedulers, so users need to learn the usage habits of different task schedulers and cannot manage multiple computing clusters in a unified manner.
[0022] How to effectively manage the request and allocation of cloud system resources is a technical problem that needs to be solved urgently.
[0023] In order to solve at least the above technical problems, the present application proposes a method, device and storage medium for executing cloud computing tasks on a cloud system, wherein the cloud system includes multiple computing clusters, each of which corresponds to a plurality of command converters, and the plurality of command converters are connected to a host. The host determines a target computing cluster for executing cloud computing tasks from among the multiple computing clusters, and sends the received first command to a target command converter corresponding to the target computing cluster, so that the target command converter converts the first command into a second command corresponding to the target computing cluster, and sends the second command to the target computing cluster through the target command converter. Through the method of the present application, command conversion is completed by a command converter, and the command converter converts user commands submitted by the user into commands adapted to a specific task scheduler, so that the user does not need to learn how to use the command line tools of each task scheduler. The use of unified user commands can achieve unified management of multiple computing clusters, which is very convenient.
[0024] Figure 1 FIG. 1 is a schematic diagram of a computing device 100 according to an embodiment of the present application. Figure 1 As shown, the computing device 100 may include: a processor 102, a memory 104, a network interface 106, a peripheral interface 108 and a bus 110. The processor 102, the memory 104, the network interface 106 and the peripheral interface 108 are connected to each other in communication within the computing device through the bus 110.
[0025] The processor 102 may be a central processing unit (CPU), an image processor, a neural network processor (NPU), a microcontroller (MCU), a programmable logic device, a digital signal processor (DSP), an application specific integrated circuit (ASIC), or one or more integrated circuits. The processor 102 may be used to perform functions related to the technology described in this application. In some embodiments, the processor 102 may also include multiple processors integrated into a single logical component. Figure 1As shown, the processor 102 may include a plurality of processors 102a, 102b, and 102c.
[0026] The memory 104 may be configured to store data (eg, instructions, lists of TCL objects, computer code, attributes of an object and values of the attributes, etc.). Figure 1 As shown, the data stored in the memory may include program instructions (e.g., program instructions for executing a method of cloud computing tasks on a cloud system) and data to be processed (e.g., the memory may store temporary codes generated during the compilation process, attributes of an object and the values of the attributes, etc.). The processor 102 may also access the program instructions and data stored in the memory, and execute the program instructions to operate on the data to be processed. The memory 104 may include a volatile storage device or a non-volatile storage device. In some embodiments, the memory 104 may include a random access memory (RAM), a read-only memory (ROM), an optical disk, a magnetic disk, a hard disk, a solid-state drive (SSD), a flash memory, a memory stick, etc.
[0027] The network interface 106 can be configured to provide the computing device 100 with communication with other external devices via a network. The network can be any wired or wireless network capable of transmitting and receiving data. For example, the network can be a wired network, a local wireless network (e.g., Bluetooth, WiFi, near field communication (NFC), etc.), a cellular network, the Internet, or a combination thereof. It is understood that the type of network is not limited to the above specific examples. In some embodiments, the network interface 106 can include any number of network interface controllers (NICs), radio frequency modules, transceivers, modems, routers, gateways, adapters, cellular network chips, etc. Any combination.
[0028] The peripheral interface 108 may be configured to connect the computing device 100 to one or more peripheral devices to implement information input and output. For example, the peripheral devices may include input devices such as a keyboard, a mouse, a touch pad, a touch screen, a microphone, and various sensors, and output devices such as a display, a speaker, a vibrator, and an indicator light.
[0029] The bus 110 may be configured to transmit information between various components of the computing device 100 (e.g., the processor 102, the memory 104, the network interface 106, and the peripheral interface 108), such as an internal bus (e.g., a processor-memory bus), an external bus (USB port, PC IE bus), etc.
[0030] It should be noted that, although the above computing device architecture only shows the processor 102, the memory 104, the network interface 106, the peripheral interface 108 and the bus 110, in the specific implementation process, the computing device architecture may also include other components necessary for normal operation. In addition, it can be understood by those skilled in the art that the above computing device architecture may also only include components necessary for implementing the embodiments of the present application, and does not necessarily include all the components shown in the figure.
[0031] Figure 2 A schematic diagram of a cloud system 120 according to an embodiment of the present application is shown.
[0032] like Figure 2 As shown, the cloud system 120 may include multiple cloud servers (122, 124) and multiple hardware simulation tools (e.g., 126a, 126b, 126c). It is understandable that the cloud system 120 may include more types of resources, and only cloud servers and hardware simulation tools are used as examples for illustration, which is not intended to be limiting. These cloud servers may be, for example, Figure 1 The computing device 100 shown is a computer provided by a cloud computing server. The cloud server (122, 124) can provide computing resources to users on the one hand, and can also serve as a host of hardware simulation resources to call multiple hardware simulation tools (e.g., 126a, 126b, 126c) in the cloud system 120 on the other hand. It is understood that multiple hardware simulation tools can be connected to multiple hosts. Figure 2 Just an example.
[0033] The multiple hardware simulation tools may include a hardware simulator, a prototype verification tool, and peripheral modules (e.g., various daughter cards, etc.) connected to the hardware simulator or the prototype verification tool. It is understandable that the multiple hardware simulation tools may include more hardware resources and are not limited to the above examples.
[0034] The cloud system 120 may be used to provide verification cloud computing resources. Cloud computing resources may include a processor (eg, provided by a cloud server), a memory (eg, provided by a cloud server), a hardware simulation tool, etc. Therefore, the cloud system 120 is also referred to as cloud computing resources 120 in this application.
[0035] Figure 3 A schematic diagram of an EDA computing system 130 according to an embodiment of the present application is shown.
[0036] The EDA computing system 130 of the present application may be a local computing system, and may include a computing device 132 . In some embodiments, the computing system 130 may further include a local computing resource 134 .
[0037] The computing device 132 may be Figure 1 The computing device 100 shown. The computing device 132 can provide a resource manager to the user, and provide an interface connected to the cloud system 120 and an interface connected to computing resources 134a and 134b. The local host 132 (i.e., the computing device 132) can also allocate different computing tasks to the cloud or locally accordingly.
[0038] In some embodiments, the local computing resource 134 may include at least one of a server 134a or a hardware verification tool 134b. A plurality of EDA tasks (i.e., computing tasks) may be partially executed on the cloud computing resources 120 and partially executed on the local computing resources 134. It is understood that a plurality of EDA tasks may also be executed only on the cloud computing resources 120 or only on the local computing resources 134.
[0039] The server 134a may be Figure 1 The host 100 shown. In some embodiments, the server 134a can run at least one EDA software tool (e.g., a software simulator, a formal verification tool, etc.). The server 134a can also serve as a host of a hardware verification tool 134b, and is used to collaborate with the hardware verification tool 134b to complete verification tasks and read verification results.
[0040] The hardware verification tool 134b may illustratively include hardware verification tools such as a prototype verification board and a hardware emulator.
[0041] although Figure 3 Only a limited number of local computing resources 134 are used, but those skilled in the art will appreciate that any number of local computing resources 134 can be provided according to actual needs. In other words, there can be multiple servers 134a and multiple hardware verification tools 134b. The servers 134a and the hardware verification tools 134b are not necessarily provided in a one-to-one pairing. For example, one server 134a can be connected to multiple hardware verification tools.
[0042] Figure 4 A schematic diagram of an exemplary cloud system 400 according to an embodiment of the present application is shown.
[0043] like Figure 4 As shown, cloud system 400 may include multiple computing clusters 402, 404, 406, and 408. The computing cluster may be a high performance computing (HPC) cluster. A high performance computing cluster is a computer cluster system that connects multiple computer systems together and uses the combined computing power of the connected systems to process large computing problems.
[0044] The computing cluster is managed by a task scheduler, and multiple computing clusters can have multiple different task schedulers. Figure 4 As shown, computing clusters 402, 404, 406 and 408 may be managed by task schedulers 412, 414, 416 and 418, respectively. After computing task 410 is assigned to cloud system 400, the task scheduler corresponding to each computing cluster may send computing task 410 to the corresponding computing cluster for execution.
[0045] Multiple different task schedulers may include a SLURM (Simple Linux Utility for Resource Management) scheduler, an LSF (Load Sharing Facility) scheduler, or an SGE (Sun Grid Engine) scheduler, etc.
[0046] LSF scheduler is a distributed cluster management system software, responsible for the management of computing resources and the scheduling of batch jobs. It provides users with a unified cluster resource access interface, allowing users to transparently access the entire cluster resources. It also provides rich functions and customizable policies. LSF scheduler has good scalability and high availability, and supports almost all mainstream operating systems. It is usually an indispensable basic software in high-performance computing environments.
[0047] The SLURM scheduler is a free and open source job scheduler for Linux and Unix-like kernels, used by many supercomputers and computer clusters in the world. It provides three key functions. First, it allocates exclusive and / or non-exclusive access to resources (e.g., compute nodes or computing resources) to users for a period of time so that they can execute work. Second, it provides a framework for launching, executing, and monitoring work (usually parallel jobs, e.g., MP I interface) on a set of allocated nodes. Finally, it determines the scheduling order of resources by managing a queue of pending jobs.
[0048] The SGE scheduler is a distributed resource management and scheduling system that is used to optimize the use of software and hardware resources in a UNIX-based computing environment. The SGE scheduler can be used to find idle resources in the resource pool and utilize these resources (queue the tasks submitted by users and then hand them over to the settlement nodes that can run for execution).
[0049] Only some types of task schedulers are described above. It is understandable that the above schedulers are only exemplary and non-restrictive, and other types of schedulers are also covered by the embodiments of the present application. However, each task scheduler has its own set of command line tools, for example, the SLURM scheduler uses the sbatch command to submit jobs, while the LSF scheduler uses the bsub command, and the SGE scheduler uses the qsub command. Therefore, for multiple computing clusters managed by multiple different task schedulers, users need to learn how to use the command line tools of each task scheduler, which is very inconvenient for users. It should be pointed out that for ordinary cloud computing systems, due to the homogeneous cloud computing services provided by cloud service providers, the cloud computing systems behind the cloud computing services are often relatively unified, so that there will be no situation of mixing multiple schedulers. However, EDA cloud computing inevitably mixes multiple schedulers because it provides hardware simulation tools and different cloud systems as cloud computing resources.
[0050] Figure 5 A schematic diagram of an exemplary computing system 500 according to an embodiment of the present application is shown.
[0051] like Figure 5 As shown, computing system 500 may include cloud system 520 and host 132 (ie, computing device 132). Cloud system 520 may include Figure 4 The plurality of computing clusters 402, 404, 406, and 408 may correspond to a plurality of command converters 512, 514, 516, and 518, respectively. For example, the computing clusters 402, 404, 406, and 408 may be connected to the plurality of command converters 512, 514, 516, and 518 via the task schedulers 412, 414, 416, and 418. The plurality of command converters 512, 514, 516, and 518 may be connected to the host 132. In some embodiments, each computing cluster may include a small number of computing resources. Compared to managing a large-scale computing cluster with a large number of computing resources through one task scheduler, managing a computing cluster with a small number of computing resources through each command converter may reduce the complexity of maintaining a large-scale computing cluster.
[0052] It is understandable that although the command converter and task scheduler are Figure 5 132, but this is only exemplary, and the command converter and the task scheduler may be two programs running on one computer. Similarly, the plurality of command converters 512, 514, 516, and 518 may also appear as a whole, rather than as independent command converters. At the same time, the command converters 512, 514, 516, and 518 may be integrated with the host 132, Figure 5 This is for exemplary purposes only.
[0053] The user may issue a first command 502 to the host 132 to execute a cloud computing task in the cloud system 520. The first command 502 may include information such as computing resources required for the cloud computing task. For example, the first command 502 may be a command for hardware simulation of a logic system design, and the computing resources required to execute the command include a hardware simulation tool with 4 FPGAs, a 16-core CPU, and 64GB of memory. In the above example, the hardware simulation tool of 4 FPGAs, the 16-core CPU, and the 64GB of memory are all considered as computing resources. It is understandable that the computing resources may include more hardware resources (e.g., daughter cards, cables, etc.) and software resources (e.g., queues). Therefore, the computing resources may include hardware simulation tools, processors, memory, daughter cards, cables, or queues, etc. After receiving the first command 502, the host 132 may determine the target computing cluster for executing the cloud computing task and the required computing resources among multiple computing clusters according to the information carried by the first command 502.
[0054] In some embodiments, the user may also specify any computing resource for executing the cloud computing task through the first command 502. For example, the information carried by the first command 502 may be represented as queue Q-cpu4-mem 8G. Among them, queue Q indicates that the cloud computing task will be executed in the computing resource corresponding to the Q queue, cpu indicates that the cloud computing task requires 4 CPU resources, and mem indicates that the cloud computing task requires 8G memory. It can be understood that the computing resources in the computing cluster are used in a queue manner during the execution of the cloud computing task. After receiving the first command 502, the host 132 may determine whether there is a target computing cluster that meets the user's needs among multiple computing clusters according to the first command 502. If there is no computing resource specified by the user, the host 132 may determine other computing clusters that can meet the requirements of 4 CPU resources and 8G memory.
[0055] With the method of this embodiment, when a user submits a cloud computing task through the first command 502, the user does not need to worry about whether there is an available computing cluster in the cloud system 520, but only needs to worry about the resources, memory and available computing resources required for the cloud computing task.
[0056] In some embodiments, the cloud computing task submitted by the user through the first command 502 may correspond to at least one local task, and the at least one local task may be executed by at least one computing cluster among the multiple computing clusters. The host 132 may convert the cloud computing task into at least one local task after receiving the first command 502. In this way, the user does not need to submit the at least one local task separately, and the conversion and allocation of the at least one local task can be completed by submitting the cloud computing task to the host through the first command.
[0057] As Figure 5 shown, taking the computing cluster 402 and the command converter 512 corresponding to the computing cluster 402 as an example, the host 132 can send the first command 502 to the command converter 512. The command converter can be used to convert the command provided by the host into a command corresponding to the computing cluster. In some embodiments, the command converter is also referred to as an Agent.
[0058] The command converter 512 can convert the first command 502 into a second command 532 corresponding to the computing cluster 402. The second command 532 can be a command adapted to the task scheduler 412 that manages the computing cluster 402. For example, for the SLURM scheduler, the command converter 512 can convert the first command 502 into an sbatch command. Exemplarily, the command can be expressed as sbatch <jobscript.sbatch>. Wherein, jobscript.sbatch can include information such as the job (cloud computing task) name, queue name, output file, requirements of the hardware simulation tool, number of allocated CPUs, memory requirements and limits, etc.; for the LSF scheduler, the command converter 512 can convert the first command 502 into a bsub command. After the command converter 512 converts the first command 502 into the second command 532, it can send the second command 532 to the computing cluster 402 for processing.
[0059] As described above, multiple computing clusters are respectively managed by multiple task schedulers, and each task scheduler has its own set of command-line tools. For multiple computing clusters managed by multiple different task schedulers, users need to learn how to use the command-line tools of each task scheduler, which is very inconvenient for users. Through the method of this embodiment, the command conversion is completed by the command converter. The command converter converts the user command submitted by the user into a command adapted to the specific task scheduler, and the user does not need to learn how to use the command-line tools of each task scheduler. Through the use of a unified user command, the unified management of multiple computing clusters can be achieved, which is very convenient.
[0060] In some embodiments, after receiving the command to execute the cloud computing task, multiple computing clusters can send a return message corresponding to the cloud computing task executed on the computing cluster to the corresponding command converter. As Figure 5As shown, after the computing cluster 402 receives the second command 532 and executes the local task, it sends a return message 542 to the command converter 512 as an example. The command converter 512 can convert the return message 542 into a feedback message 544 corresponding to the local task and send it to the host 132. For example, when the second command 532 is an sbatch command, the computing cluster 402 can extract the job identifier of the corresponding SLURM scheduler from the sbatch command as the return message 542 and return it to the command converter 512. The command converter 512 can convert the job identifier into a job identifier (feedback message 544) adapted to the host 132 and send it to the host 132. In some embodiments, the command converter 512 can record the mapping relationship between the feedback message 544 and the return message 542, so as to view the relevant information of the local task through the feedback message corresponding to the local task. As an optional embodiment, the command converter can also send a return message to the host, and the host generates a feedback message corresponding to the cloud computing task based on the return message.
[0061] The relevant information of the cloud computing task may include the execution status of the cloud computing task (for example, the allocation of local tasks, execution progress, execution results, etc.), and other information related to the cloud computing task, and the relevant information of the cloud computing task may be indicated by the feedback message. When the user views the relevant information of the cloud computing task through the feedback message, in some embodiments, the host 132 may receive a third command for viewing the relevant information of the cloud computing task, wherein the third command may include the feedback message 544. The host 132 may determine the command converter 512 and the task scheduler corresponding to the cloud computing task according to the mapping relationship between the feedback message 544 and the return message 542, and send the third command to the command converter 512. After receiving the third command, the command converter 512 may convert the third command into a fourth command corresponding to the task scheduler and send it to the task scheduler to obtain the relevant information of the cloud computing task. In this way, when the user needs to view the relevant information of the cloud computing task, the mapping relationship between the feedback message and the return message will feed back the relevant information to the user.
[0062] It should be noted that, in addition to submitting cloud computing tasks and querying the execution status of tasks, users can also terminate cloud computing tasks, query the total resources of the computing cluster, query the remaining resources of the computing cluster, query the load information of the computing resources in the computing cluster when executing cloud computing tasks, etc. through methods similar to the embodiments of the present application. This application does not limit this.
[0063] It should be noted that the command converter of the embodiment of the present application can be deployed on a local host or on a cloud system. Figure 5The command converter is only deployed on the cloud system in an exemplary manner. When the command converter is deployed on a local host, it has the same technical effect as the embodiment of the present application, and the present application will not repeat it here.
[0064] Fig. 6A FIG. 6 is a flow chart of an exemplary method 600 for executing a cloud computing task on a cloud system according to an embodiment of the present application. The method 600 may be performed by, for example, Figure 3 The computing device 132 (i.e. Figure 5 The cloud system (e.g., Figure 5 The cloud system 520 in FIG. 5 includes multiple computing clusters (e.g., Figure 5 The computing clusters 402, 404, 406, 408 in the example, each of which corresponds to a plurality of command converters (e.g., Figure 5 The command converters 512, 514, 516, 518 in the embodiment of the present invention are connected to a host (e.g., Figure 5 The method 600 may include the following steps.
[0065] In step 602, a first command (eg, Figure 5 The first command in 502).
[0066] In step 604, the host determines, through the host, a target computing cluster (eg, Figure 5 The target computing cluster and the target command converter (eg, Figure 5 Corresponding to the command converter 512).
[0067] At step 606, the first command is sent to the target command converter via the host so that the target command converter converts the first command into a second command (eg, second command 532) corresponding to the target computing cluster. The target command converter is configured to send the second command to the target computing cluster.
[0068] In some embodiments, the plurality of computing clusters are respectively managed by a plurality of task schedulers. The target computing cluster is managed by a target task scheduler (e.g., Figure 5 The target task scheduler 412 manages the second command. The second command is adapted to the target task scheduler. The command converter converts the first command submitted by the user into a second command adapted to the task scheduler, and the user does not need to learn how to use the command line tool of each task scheduler. By focusing on the use of the first command, unified management of multiple computing clusters can be achieved, which is very convenient.
[0069] In some embodiments, the plurality of task schedulers includes at least one of the following types of task schedulers: a SLURM scheduler, a LSF scheduler, or a SGE scheduler.
[0070] In some embodiments, the cloud computing task is converted into at least one local task, the at least one local task is executed by at least one of the plurality of computing clusters, at least one of the plurality of computing clusters includes the target computing cluster, and the at least one local task includes a target local task executed on the target computing cluster; a first feedback message (e.g., Figure 5 The first feedback message corresponds to the target local task, so that the user can view the relevant information of the local task through the feedback message corresponding to the local task.
[0071] In some embodiments, the first feedback message indicates the allocation, execution progress or execution result of the target local task.
[0072] In some embodiments, at least one return message from at least one of the plurality of computing clusters is received from the target command converter, and a feedback message for executing the cloud computing task is generated based on the at least one return message.
[0073] Figure 6B FIG. 6 is a flow chart of an exemplary method 610 for executing a cloud computing task on a cloud system according to an embodiment of the present application. The method 610 may be performed by, for example Figure 5 The command converter shown (for example, Figure 5 The cloud system (e.g., Figure 5 The cloud system 520 in FIG. 5 includes multiple computing clusters (e.g., Figure 5 The plurality of computing clusters include a target computing cluster (e.g., Figure 5 The plurality of computing clusters correspond to a plurality of command converters (eg, Figure 5 The plurality of command converters are connected to a host (eg, Figure 5 The plurality of command converters include a target command converter corresponding to the target computing cluster (eg, Figure 5 command converter 512 in FIG.
[0074] At step 612, a first command (eg, Figure 5The first command in 502).
[0075] At step 614 , the first command is converted into a second command (eg, second command 532 ) corresponding to the target computing cluster.
[0076] At step 616, the second command is sent to the target computing cluster.
[0077] In some embodiments, at least one local task corresponding to the cloud computing task is received from the host, the at least one local task is executed by at least one of the multiple computing clusters, at least one of the multiple computing clusters includes the target computing cluster, and the at least one local task includes a target local task executed on the target computing cluster. A first feedback message corresponding to the target local task is returned (e.g., Figure 5 The first feedback message 544) includes the allocation, execution progress or execution result of the target local task.
[0078] The present application provides a method, device and storage medium for executing cloud computing tasks on a cloud system, wherein the cloud system includes multiple computing clusters, each of which corresponds to a plurality of command converters, and the plurality of command converters are connected to a host. The host determines a target computing cluster for executing cloud computing tasks from among the multiple computing clusters, and sends a received first command to a target command converter corresponding to the target computing cluster, so that the target command converter converts the first command into a second command corresponding to the target computing cluster, and sends the second command to the target computing cluster through the target command converter. Through this embodiment, command conversion is completed by the command converter, and the command converter converts the user command submitted by the user into a command adapted to a specific task scheduler, so that the user does not need to learn how to use the command line tool of each task scheduler. The use of unified user commands can achieve unified management of multiple computing clusters, which is very convenient.
[0079] The present application also provides a computing device (eg, Figure 3 A computing device 132) includes: a memory for storing a plurality of instructions; and at least one processor for executing the plurality of instructions so that the computing device performs the method 600 or the method 610 described above.
[0080] An embodiment of the present application also provides a non-transitory computer-readable storage medium, which stores a set of instructions for a computing device, and the set of instructions is used to enable the computing device to execute method 600 or method 610 as described above.
[0081] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, read-only compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
[0082] The above describes specific embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0083] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the present application (including the claims) is limited to these examples. In line with the concept of the present application, the technical features in the above embodiments or different embodiments may be combined, the steps may be implemented in any order, and there are many other variations of the different aspects of the present application as described above, which are not provided in detail for the sake of simplicity.
[0084] Although the present application has been described in conjunction with specific embodiments of the present application, many replacements, modifications and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may use the embodiments discussed.
[0085] This application is intended to cover all such substitutions, modifications and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this application should be included in the scope of protection of this application.
Claims
1. A method for performing cloud computing tasks on a cloud system, wherein: The cloud system includes a plurality of computing clusters, the plurality of computing clusters correspond to a plurality of command converters respectively, the plurality of command converters are connected to a host, and the method includes: receiving, via the host, a first command for executing the cloud computing task in the cloud system; Determining, via the host, a target computing cluster for executing the cloud computing task among the plurality of computing clusters, the target computing cluster corresponding to a target command converter; The first command is sent to the target command converter via the host so that the target command converter converts the first command into a second command corresponding to the target computing cluster, wherein the target command converter is configured to send the second command to the target computing cluster.
2. The method of claim 1, wherein: The multiple computing clusters are respectively managed by multiple task schedulers, the target computing cluster is managed by a target task scheduler, and the second command is adapted to the target task scheduler.
3. The method of claim 2, wherein: The plurality of task schedulers include at least one of the following types of task schedulers: a SLURM scheduler, a LSF scheduler, or a SGE scheduler.
4. The method of claim 1, further comprising: Converting the cloud computing task into at least one local task, the at least one local task being executed by at least one of the plurality of computing clusters, at least one of the plurality of computing clusters including the target computing cluster, the at least one local task including a target local task executed on the target computing cluster; A first feedback message is received from the target command converter, the first feedback message corresponding to the target local task.
5. The method of claim 4, wherein: The first feedback message indicates the allocation, execution progress or execution result of the target local task.
6. The method of claim 4, further comprising: receiving at least one return message from the target command converter from at least one of the plurality of computing clusters; A feedback message for executing the cloud computing task is generated based on the at least one return message.
7. A method for performing cloud computing tasks on a cloud system, wherein: The cloud system includes a plurality of computing clusters, the plurality of computing clusters include a target computing cluster, the plurality of computing clusters correspond to a plurality of command converters respectively, the plurality of command converters are connected to a host, the plurality of command converters include a target command converter corresponding to the target computing cluster, and the method includes: receiving, via the target command converter, from the host a first command for executing the cloud computing task in the cloud system; Converting the first command into a second command corresponding to the target computing cluster; The second command is sent to the target computing cluster.
8. The method of claim 7, further comprising: receiving, from the host, at least one local task corresponding to the cloud computing task, the at least one local task being executed by at least one of the plurality of computing clusters, at least one of the plurality of computing clusters including the target computing cluster, and the at least one local task including a target local task executed on the target computing cluster; A first feedback message corresponding to the target local task is returned, where the first feedback message includes the allocation, execution progress or execution result of the target local task.
9. A computing device for performing cloud computing tasks on a cloud system, comprising: A memory for storing a plurality of instructions; as well as At least one processor is configured to execute the plurality of instructions so that the computing device performs the method according to any one of claims 1 to 8.
10. A non-transitory computer-readable storage medium storing a set of instructions for a computing device, the set of instructions being used to cause the computing device to execute the method according to any one of claims 1 to 8.
