HPC system and task processing method
By introducing content management platform, authentication module and HPC control module in the HPC system, multi-user sharing and data isolation are achieved, and the problem that existing HPC systems cannot maximize resource utilization and data isolation are solved, reducing costs and providing security Reliable HPC rental service.
Patent Information
- Application Number
- CN202411215673.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-08-30
AI Technical Summary
The existing HPC system cannot achieve data isolation between multiple different users, and is expensive, making it difficult to maximize resource utilization, especially for users with limited conditions, it is difficult to bear the cost of the system.
An HPC system was designed, including a content management platform, authentication module and HPC control module. It receives user login and task requests through the operation interface, authenticates and authorizes, ensures the effective allocation and use of task resources, and realizes HPC shared by multiple users. Serve.
It realizes data isolation between multiple users, makes full use of HPC system resources, effectively protects user privacy and data security, and at the same time reduces the cost of the system, and provides rental services similar to public cloud services.
Smart Images

Figure CN119128845A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a HPC system and a task processing method. Background Art
[0002] High Performance Computing (HPC) is a technology that uses powerful processor clusters working in parallel to process massive multidimensional data sets (big data) and solve complex problems at extremely high speeds. HPC systems usually include a computer cluster (i.e., an HPC cluster) consisting of multiple networked high-speed computer servers, which runs multiple tasks simultaneously on multiple computing nodes, achieving large-scale parallel computing and thus achieving faster running speeds.
[0003] However, current HPC systems cannot achieve data isolation between multiple different users and are generally only available to a single user. On the one hand, this cannot maximize resource utilization. On the other hand, for some users with limited conditions, it is difficult to independently bear the cost of the HPC system. Therefore, it is expected that the HPC system can provide rentable services similar to public cloud services. Summary of the invention
[0004] In view of the above-mentioned deficiencies of the prior art, the object of the present invention is to provide a HPC system task processing method to support multiple users to use the HPC system and provide HPC services that can be rented.
[0005] In order to achieve the above object, the present invention adopts the following technical solutions:
[0006] A HPC system includes a content management platform, an authentication module, a database and an HPC control module, wherein the content management platform provides an operation interface, wherein:
[0007] The database is used to store data, including user information corresponding to each user, the total amount of valid resources purchased by each user, the amount of resources used by each user, and the quota requirements corresponding to each user;
[0008] The content management platform is used to receive a login request carrying user information submitted by a user through the operation interface, and send a user authentication request to the authentication module based on the login request, so that the authentication module verifies the user authentication request, and when the verification is successful, sends an authorization token to the content management platform;
[0009] The content management platform is also used to receive task requests submitted by users through the operation interface, and send the authorization token and the task request to the HPC control module. The HPC control module is used to send a task authentication request to the authentication module based on the authorization token and the task request, so that the authentication module verifies the task authentication request and feeds back the verification result to the HPC control module. When the verification is successful, the HPC control module is used to determine whether the task request meets the quota requirements corresponding to the user and whether the amount of resources required by the task request does not exceed the difference between the total amount of effective resources purchased by the user and the amount of resources used by the user. If both are true, the task corresponding to the task request is executed.
[0010] Furthermore, the amount of resources used by each user is counted by the HPC control module and stored in the database, the resources include storage resources and computing power resources, and the computing power resources include GPU resource packages and CPU resource packages.
[0011] Furthermore, the quota requirements corresponding to each user include: the maximum number of GPU cards that the user can use, the maximum number of GPU cards for running a single task, the maximum number of instances for running a single task, the maximum number of running tasks, and the allowed running time of a single task.
[0012] Further, the HPC control module includes a controller and a scheduler management unit, a storage management unit and a user management unit connected to the controller;
[0013] The scheduling management unit is connected to a plurality of schedulers and is used to manage the task scheduling of the plurality of schedulers. Each of the schedulers is used to split the task to be executed into a plurality of subtasks, and then schedule different computing nodes to execute each subtask, and summarize the execution results.
[0014] The storage management unit is used for data storage management;
[0015] The user management unit is used to perform user management;
[0016] The controller is used to control the scheduler management unit, the storage management unit or the user management unit to perform corresponding operations according to the task request.
[0017] Furthermore, the content management platform is also used to receive a user creation request submitted by a user through the operation interface, and obtain an authorization token corresponding to the user information carried in the user creation request from the authentication module, and then send the user creation request and the authorization token to the HPC control module;
[0018] The HPC control module is also used to send the user creation request and the authorization token to the authentication module for verification. When the verification is successful, the HPC control module is also used to call the content management platform to create a user and register the user in the scheduler management unit and the storage management unit.
[0019] Furthermore, the content management platform is also used to store the user information carried in the user creation request into the database when receiving the user creation request.
[0020] Furthermore, after executing the task corresponding to the task request, the HPC control module is further used to feed back the execution result through the operation interface provided by the content management platform.
[0021] Furthermore, the system also includes a login node connected to the control module, wherein the login node is deployed with a console-agent service.
[0022] Furthermore, the content management platform is connected to the database via a conductor module; the scheduler includes a slurm scheduler and / or an openpbs scheduler.
[0023] In a second aspect, the present invention provides a task processing method based on the aforementioned HPC system, comprising:
[0024] When the content management platform receives a login request submitted by a user through the operation interface, the content management platform sends a user authentication request to the authentication module based on the login request, so that the authentication module verifies the user authentication request, and when the verification is successful, sends an authorization token to the content management platform;
[0025] When the content management platform receives a task request submitted by a user through the operation interface, the authorization token and the task request are sent to the HPC control module. The HPC control module is used to send a task authentication request to the authentication module based on the authorization token and the task request, so that the authentication module verifies the task authentication request. When the verification is successful, the HPC control module determines whether the task request meets the quota requirements corresponding to the user and whether the amount of resources required by the task request does not exceed the difference between the total amount of effective resources purchased by the user and the amount of resources used by the user. If both are true, the task corresponding to the task request is executed.
[0026] By adopting the above technical solution, the present invention has the following beneficial effects:
[0027] By adopting the above-mentioned content management platform, authentication module, database and HPC control module, the present invention can lease the HPC system to multiple users and ensure data isolation between different users, thereby effectively protecting the privacy and data security of each user when the HPC system is fully used. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] Figure 1 Schematic diagram of the structure of the HPC system in Example 1 of the present invention;
[0029] Figure 2 Schematic diagram of the structure of the HPC system in Example 2 of the present invention. DETAILED DESCRIPTION
[0030] In order to make the purpose, technical scheme and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.
[0031] The terms used in the present invention are only for the purpose of describing specific embodiments and are not intended to limit the present disclosure. The singular forms "a", "the" and "the" used in the present disclosure and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0032] Example 1
[0033] This embodiment provides a HPC system, such as Figure 1 As shown, it includes CMP (Content Management Platform), authentication module, HPC control module and database. Among them, the HPC control module specifically includes a controller and a scheduler management unit, a storage management unit and a user management unit connected to the controller.
[0034] In this embodiment, the database is used to store data, including but not limited to user information corresponding to each user, the total amount of valid resources purchased by each user, the amount of resources used by each user, and the quota requirements corresponding to each user.
[0035] In this embodiment, the scheduler management unit is connected to several schedulers. Each scheduler is used to split the task to be executed into multiple subtasks, and then schedule different computing nodes to execute each subtask, and summarize the execution results; and the scheduling management unit is used to manage the task scheduling operations of each scheduler. It should be noted that this embodiment does not impose any restrictions on the number and type of schedulers. Specifically, 1, 2, 3 or more schedulers can be used, and the type of scheduler can be selected from any one or more schedulers such as slurm, openpbs, etc.
[0036] In this embodiment, the storage management unit is connected to the memory for data storage management. The memory used in this embodiment may be one or more of lustre, BGFS, CephFS and other memory, and this embodiment does not impose any specific restrictions on this. The stored data in the memory includes but is not limited to task-related data, such as temporary task data, task results, etc.).
[0037] In this embodiment, the user management unit is connected to the user storage system for user management (including user creation, addition, deletion, and modification, user group management, etc.). The user storage system used in this embodiment may be an openldap system or other systems.
[0038] In this embodiment, the controller is preferably implemented using ForceControl, which is pre-configured with various scheduler agents. The scheduler management module, storage management module, and user management module can call the corresponding scheduler agent when executing the corresponding task to perform task scheduling and return the scheduling result. ForceControl plays a connecting role in this embodiment: for the upper layer, it provides API services for CMP; for the lower layer, it provides a variety of drivers that can drive different memories and schedulers.
[0039] In this embodiment, the content management platform CMP can provide users with a good operation interface, so that different users can establish and submit user creation requests, login requests and task requests through the operation interface.
[0040] When the content management platform receives a user creation request submitted by a user through the operation interface (the request carries user information such as user name, password, identity, etc.), it stores the user information carried in the request in the database, and sends the user creation request to the authentication module, so that the authentication module generates a corresponding authorization token based on the user information carried in the user creation request, and feeds the authorization token back to the content management platform. Then, the content management platform sends the received user creation request and the corresponding authorization token to the HPC control module, and the HPC control module sends the user creation request and the authorization token to the authentication module for verification. When the verification authorization token is legal, the verification is successful. At this time, the HPC control module calls the content management platform to create a user (based on user information). After the creation is completed, the user is registered in the scheduler management unit and the storage management unit, so that the user can access the underlying memory and tasks in the scheduler after registration. It should be understood that the user only has the right to access the tasks in the memory and scheduler corresponding to his identity information.
[0041] After creating the user, when the content management platform receives a login request (carrying user information such as user name, password, and identity) submitted by the user through the operation interface, it generates a user authentication request carrying the user information based on the login request, and sends the user authentication request to the authentication module to verify the user authentication request through the authentication module. When the authentication module already has an authorization token corresponding to the user information in the request, the verification is successful, and the authorization token corresponding to the user information is fed back to the content management platform, that is, the user login is completed. At this time, the private directory corresponding to the user can be displayed on the operation interface.
[0042] After the user logs in, when the content management platform receives a task request submitted by the user through the operation interface (the request carries task information such as task type and task identifier), it sends the aforementioned authorization token and task request to the HPC control module; the HPC control module then generates a task authentication request (carrying a token) based on the authorization token and the task request, and sends the task authentication request to the authentication module, so that the authentication module verifies the task authentication request and feeds back the verification result to the HPC control module. When the verification is successful (the user corresponding to the token has the authority to perform the corresponding task), the HPC control module is used to determine whether the task request meets the quota requirements corresponding to the user, whether the amount of resources required by the task request does not exceed the difference between the total amount of effective resources purchased by the user and the amount of resources already used by the user. If so, the task corresponding to the task request is executed, specifically including: through the controller, the scheduler management unit, the storage management unit or the user management unit is controlled to execute the corresponding task according to the task request.
[0043] After executing the operation corresponding to the task request, the HPC control module is also used to feedback the execution result through the operation interface provided by the content management platform. Users can see the task results in their own private directory through the interface, and the interface lists the files on the host by calling ftp.
[0044] By adopting the above-mentioned content management platform, authentication module and HPC control module, this embodiment can lease the HPC system to multiple users and ensure data isolation between different users, thereby effectively protecting the privacy and data security of each user when the HPC system is fully used.
[0045] In this embodiment, the amount of resources used by each user is counted by the HPC control module and stored in the database. The resources here include storage resources and computing resources. The computing resources include GPU resource packages (unit: core hours) and CPU resource packages (unit: card hours). The CPU resource package usage is the number of CPU cores used * running time, and the GPU resource package usage is the number of GPU cards used * running time.
[0046] In one feasible method, GPU resource packages and CPU resource packages do not support expansion and renewal operations. After a resource package is used up or expires, a new resource package can be purchased. Storage resources can support expansion and renewal. Expansion refers to the expansion of storage capacity packages with insufficient content in a predetermined period (such as daily) to increase the storage capacity quota that can be deducted in the predetermined period. Renewal refers to the renewal of storage capacity packages with insufficient usage time to extend their usage time.
[0047] In this embodiment, the quota requirements configured for each user include: the maximum number of GPU cards that the user can use, the maximum number of GPU cards for a single task, the maximum number of instances for a single task, the maximum number of running tasks, and the allowed running time of a single task. Among them, the maximum number of GPU cards that a user can use refers to: for a GPU resource package, the maximum number of GPU cards available to the user; the maximum number of GPU cards for a single task refers to the maximum number of GPU cards available when a single task is executed; the maximum number of instances for a single task refers to the maximum number of instances available when a single task is executed; the maximum number of running tasks refers to the maximum number of tasks that can be run simultaneously; the allowed running time of a single task refers to the longest running time of a single task, and the task will be terminated if it exceeds this time. In a preferred embodiment, a conductor (constructor) is also provided between the CMP and the database to connect to the database based on the resful API, thereby improving security. Conductor is an open source workfilow orchestration system that provides a unified API (application programming interface) that enables users to easily manage, orchestrate and monitor complex data tasks and machine learning pipelines.
[0048] In addition, in addition to configuring and submitting task requests, the operation interface of this embodiment can also manage and transfer job files, share data, etc. It is simple and easy to use, reducing the difficulties caused by complex command line operations.
[0049] Example 2
[0050] This embodiment provides another implementation of the HPC system of the present invention. Figure 2 As shown, the difference between this embodiment and embodiment 1 is that a login node connected to the control module is added, thereby providing another user login method besides CMP.
[0051] In this embodiment, the login node is deployed with a console-agent service, which is used to expose the console graphical interface and API. By configuring novnc (novnc is a Web-based VNC client that can directly access the VNC server in the browser) or DCV (DeepCloud VNC, an enhanced version of VNC that provides better performance and security), VNC (Virtual Network Console) service can be implemented for users. After the user logs in through the node, he can write tasks on the node and perform debugging. The node supports a graphical interface.
[0052] Example 3
[0053] This embodiment provides a task processing method based on the aforementioned HPC system, which specifically includes the following steps:
[0054] When the content management platform receives a login request submitted by a user through the operation interface, it sends a user authentication request to the authentication module based on the login request, so that the authentication module verifies the user authentication request. When the verification is successful, it sends an authorization token to the content management platform.
[0055] When the content management platform receives a task request submitted by a user through the operation interface, the authorization token and the task request are sent to the HPC control module. The HPC control module is used to send a task authentication request to the authentication module based on the authorization token and the task request, so that the authentication module verifies the task authentication request. When the verification is successful, the HPC control module determines whether the task request meets the quota requirements corresponding to the user and whether the amount of resources required by the task request does not exceed the difference between the total amount of effective resources purchased by the user and the amount of resources used by the user. If both are true, the operation corresponding to the task request is executed, specifically including: through the controller, the scheduler management unit, the storage management unit or the user management unit is controlled to perform corresponding operations according to the task request.
[0056] When the HPC control module completes the operation corresponding to the task request, it will feedback the execution result through the operation interface provided by the content management platform. Users can see the task results in their own private directory through the interface, and the interface lists the files on the host by calling ftp.
[0057] Through the method of this embodiment, the HPC system can be provided to multiple users, and data isolation between different users can be guaranteed, so that the privacy and data security of each user can be effectively protected when the HPC system is fully used.
[0058] Although the specific embodiments of the present invention are described above, it should be understood by those skilled in the art that this is only for illustration and the protection scope of the present invention is defined by the appended claims. Those skilled in the art may make various changes or modifications to these embodiments without departing from the principles and essence of the present invention, but these changes and modifications all fall within the protection scope of the present invention.
Claims
1. A HPC system, characterized in that: It includes a content management platform, an authentication module, a database and an HPC control module, and the content management platform provides an operation interface, wherein: The database is used to store data, including user information corresponding to each user, the total amount of valid resources purchased by each user, the amount of resources used by each user, and the quota requirements corresponding to each user; The content management platform is used to receive a login request carrying user information submitted by a user through the operation interface, and send a user authentication request to the authentication module based on the login request, so that the authentication module verifies the user authentication request, and when the verification is successful, sends an authorization token to the content management platform; The content management platform is also used to receive task requests submitted by users through the operation interface, and send the authorization token and the task request to the HPC control module. The HPC control module is used to send a task authentication request to the authentication module based on the authorization token and the task request, so that the authentication module verifies the task authentication request and feeds back the verification result to the HPC control module. When the verification is successful, the HPC control module is used to determine whether the task request meets the quota requirements corresponding to the user and whether the amount of resources required by the task request does not exceed the difference between the total amount of effective resources purchased by the user and the amount of resources used by the user. If both are true, the operation corresponding to the task request is executed.
2. The HPC system according to claim 1, wherein: The amount of resources used by each user is counted by the HPC control module and stored in the database. The resources include storage resources and computing power resources. The computing power resources include GPU resource packages and CPU resource packages.
3. The HPC system according to claim 2, characterized in that: The quota requirements corresponding to each user include: the maximum number of GPU cards that the user can use, the maximum number of GPU cards for running a single task, the maximum number of instances for running a single task, the maximum number of running tasks, and the allowed running time of a single task.
4. The HPC system according to claim 1, wherein: The HPC control module includes a controller and a scheduler management unit, a storage management unit and a user management unit connected to the controller; The scheduling management unit is connected to a plurality of schedulers and is used to manage the task scheduling of the plurality of schedulers. Each of the schedulers is used to split the task to be executed into a plurality of subtasks, and then schedule different computing nodes to execute each subtask, and summarize the execution results. The storage management unit is used for performing data storage management; The user management unit is used to perform user management; The controller is used to control the scheduler management unit, the storage management unit or the user management unit to perform corresponding operations according to the task request.
5. The HPC system according to claim 4, characterized in that: The content management platform is also used to receive a user creation request submitted by a user through the operation interface, and obtain an authorization token corresponding to the user information carried in the user creation request from the authentication module, and then send the user creation request and the authorization token to the HPC control module; The HPC control module is also used to send the user creation request and the authorization token to the authentication module for verification. When the verification is successful, the HPC control module is also used to call the content management platform to create a user and register the user in the scheduler management unit and the storage management unit.
6. The HPC system according to claim 5, characterized in that: The content management platform is also used to store the user information carried in the user creation request into the database when receiving the user creation request.
7. The HPC system according to claim 1, wherein: After executing the task corresponding to the task request, the HPC control module is further used to feed back the execution result through the operation interface provided by the content management platform.
8. The HPC system according to claim 1, wherein: The system further comprises a login node connected to the control module, wherein the login node is deployed with a console-agent service.
9. The HPC system according to claim 1, wherein: The content management platform is connected to the database via a conductor module; the scheduler includes a slurm scheduler and / or an openpbs scheduler.
10. A task processing method of an HPC system based on any one of claims 1 to 9, comprising: When the content management platform receives a login request submitted by a user through the operation interface, the content management platform sends a user authentication request to the authentication module based on the login request, so that the authentication module verifies the user authentication request, and when the verification is successful, sends an authorization token to the content management platform; When the content management platform receives a task request submitted by a user through the operation interface, the authorization token and the task request are sent to the HPC control module. The HPC control module is used to send a task authentication request to the authentication module based on the authorization token and the task request, so that the authentication module verifies the task authentication request. When the verification is successful, the HPC control module determines whether the task request meets the quota requirements corresponding to the user and whether the amount of resources required by the task request does not exceed the difference between the total amount of effective resources purchased by the user and the amount of resources used by the user. If both are true, the operation corresponding to the task request is executed.
Citation Information
Patent Citations
Task issuing method and device, storage medium and electronic equipment
CN111796934A
Hypercomputing-based public computing platform
CN115766714A
Multi-tenant GPU cluster elastic quota scheduling method and system
CN117707759A
Method and Apparatus for Providing Cloud Service, and Device
US20240013116A1
