CN115098248A - Resource management method, resource management system and electronic equipment - Google Patents

Resource management method, resource management system and electronic equipment Download PDF

Info

Publication number
CN115098248A
CN115098248A CN202210646362.2A CN202210646362A CN115098248A CN 115098248 A CN115098248 A CN 115098248A CN 202210646362 A CN202210646362 A CN 202210646362A CN 115098248 A CN115098248 A CN 115098248A
Authority
CN
China
Prior art keywords
resource
local
api request
server
path
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210646362.2A
Other languages
Chinese (zh)
Inventor
郭帆
王鲲
陈飞
邹懋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vita Technology Beijing Co ltd
Original Assignee
Vita Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vita Technology Beijing Co ltd filed Critical Vita Technology Beijing Co ltd
Priority to CN202210646362.2A priority Critical patent/CN115098248A/en
Publication of CN115098248A publication Critical patent/CN115098248A/en
Pending legal-status Critical Current

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/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/5044Allocation 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 hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention provides a resource management method, a resource management system and electronic equipment. The method comprises the following steps: the method comprises the steps that a local packaging library obtains an API request sent by a user through a client of a first server, and a target resource path corresponding to the API request is determined; under the condition that the target resource path is a local resource path, submitting the API request to a local simulation kernel driver by the local packaging library, and calling a local resource by the local simulation kernel driver to execute the API request; and under the condition that the target resource path is a remote resource path, the local packaging library sends the API request to a server of the second server, the API request is submitted to a remote simulation kernel driver through the server of the second server, and the remote simulation kernel driver calls a remote resource to execute the API request.

Description

Resource management method, resource management system and electronic equipment
Technical Field
The present invention relates to computer technologies, and in particular, to a resource management method, a resource management system, and an electronic device.
Background
With the development of artificial intelligence technology and image Processing technology, the demand for Graphics Processing Unit (GPU) computing resources is becoming increasingly large. However, as the hardware cost increases and the computational power of a single GPU increases, the usage mode that a single user monopolizes one or more GPUs to perform a computational task is not only high in cost, but also causes resource waste. In the prior art, the sharing of the GPU resources can be realized to a certain extent by using a pooling or virtualization technology, but the requirement that a client cannot directly access the local GPU resources and the remote GPU resources cannot be realized. Therefore, a new resource management scheme is needed.
Disclosure of Invention
The invention aims to provide a resource management method, a resource management system and electronic equipment, which can support direct access to local resources and remote resources.
According to a first aspect of the invention, a resource management method is provided. The resource management method is applied to a resource management system, and the resource management system comprises a first server, a second server and a global resource manager; the first server is internally provided with a client, a local packaging library and a local simulation kernel driver; the second server is internally provided with a server side and a remote simulation kernel driver; the resource management method comprises the following steps: the local packaging library acquires an API request sent by a user through a client of a first server and determines a target resource path corresponding to the API request; the local packaging library is a packaging function library of local resources, and the local resources are resources mounted on a first server; under the condition that the target resource path is a local resource path, submitting the API request to a local simulation kernel driver by the local packaging library, and calling a local resource by the local simulation kernel driver to execute the API request; wherein the native simulation kernel driver is a virtual abstraction of a standard kernel driver of a native resource in a first server; under the condition that the target resource path is a remote resource path, the local packaging library sends the API request to a server of a second server, the API request is submitted to a remote simulation kernel driver through the server of the second server, and the remote simulation kernel driver calls a remote resource to execute the API request; the second server is a server pointed by the far-end resource path, the far-end resource is a resource mounted on the second server, and the far-end simulation kernel driver is a virtual abstraction of a standard kernel driver of the far-end resource in the second server.
Optionally, the determining, by the local wrapper library, a target resource path corresponding to the API request includes: and negotiating with a local simulation kernel driver and/or a global resource manager to determine a target resource path.
Optionally, the method further includes: before determining a target resource path corresponding to the API request, the local packaging library carries out identity authentication on the user and acquires authority information of the user under the condition that the user identity authentication is passed; the authority information of the user at least comprises one of resource quantity authority and resource level authority; the local packaging library determines a target resource path corresponding to the API request, and the determining includes: and negotiating with a local simulation kernel driver and/or a global resource manager to determine a target resource path according to the authority information of the user.
Optionally, the method further includes: before determining a target resource path corresponding to the API request, the local packaging library carries out identity authentication on the user and acquires the authority information of the user under the condition that the user identity authentication is passed; the authority information of the user comprises resource quantity authority, resource level authority and resource path authority; the local packaging library determines a target resource path corresponding to the API request, and the determining includes: determining the local resource path as a target resource path under the condition that the resource path authority of the user only comprises the local resource path authority; under the condition that the resource path authority of the user only comprises the remote resource path authority, negotiating with a global resource manager according to the resource quantity authority and the resource level authority of the user to determine a remote resource path as a target resource path; and under the condition that the resource path authority of the user simultaneously comprises the local resource path authority and the remote resource path authority, negotiating with a local simulation kernel driver and a global resource manager according to the resource quantity authority and the resource level authority of the user to determine a target resource path.
Optionally, the method further includes: under the condition that the target resource path is a local resource path, the local packaging library adds verification information into the API request before submitting the API request to a local simulation kernel driver; the local simulation kernel driver calls a local resource to execute the API request, and the steps comprise: and verifying the API request, and calling a local resource to execute the API request under the condition that the API request passes the verification.
Optionally, the invoking, by the local simulation kernel driver, a local resource to execute the API request includes: determining the execution priority of the API request according to the request type of the API request, the mapping relation between the pre-configured request type and the execution priority; and calling local resources to execute the API request according to the execution priority of the API request.
Optionally, the method further includes: the local packaging library determines a resource quota corresponding to the API request; under the condition that the target resource path is a local resource path, the local simulation kernel driver calls a local resource to execute the API request, and the method comprises the following steps: calling local resources within the quota of the resource quota, and executing the API request; under the condition that the target resource path is a far-end resource path, the far-end simulation kernel driver calls a far-end resource to execute the API request, and the method comprises the following steps: and calling a remote resource in the quota of the resource quota, and executing the API request.
Optionally, the determining, by the local wrapper library, a resource quota corresponding to the API request includes: and negotiating with a local simulation kernel driver and/or a global resource manager to determine a resource quota corresponding to the API request.
Optionally, the local resource and the remote resource are image processors.
According to a second aspect of the invention, an electronic device is provided. The electronic device comprises a processor and a memory, wherein a computer program is stored in the memory, and when executed by the processor, the computer program realizes the steps of the resource management method according to any one of the first aspect of the present invention, which are executed by the first server.
According to a third aspect of the invention, an electronic device is provided. The electronic device comprises a processor and a memory, wherein a computer program is stored in the memory, and when executed by the processor, the computer program realizes the steps executed by the second server in the resource management method according to any one of the first aspect of the invention.
According to a fourth aspect of the present invention, an electronic device is provided. The electronic device comprises a processor and a memory, wherein a computer program is stored in the memory, and when executed by the processor, the computer program realizes the steps performed by the global resource manager in the resource management method according to any one of the first aspect of the invention.
According to a fifth aspect of the present invention, there is provided a resource management system. The resource management system comprises a first server, a second server and a global resource manager; the first server comprises a first processor and a first memory, the first memory having a first computer program stored therein, the first computer program, when executed by the first processor, implementing the steps performed by the first server in the resource management method according to any one of the first aspect of the present invention; the second server includes a second processor and a second memory, the second memory stores a second computer program, and the second computer program, when executed by the second processor, implements the steps performed by the second server in the resource management method according to any one of the first aspect of the present invention; the global resource manager comprises a third processor and a third memory, wherein the third memory stores a third computer program, and the third computer program, when executed by the third processor, implements the steps performed by the global resource manager in the resource management method according to any one of the first aspect of the present invention.
The resource management method, the resource management system and the electronic equipment can support a user to directly access local resources and remote resources.
The resource management method, the resource management system and the electronic equipment provide the local resource path and the remote resource path, so that the local resource and the remote resource form a uniform resource pool, the local resource and the remote resource can be flexibly selected to respond to the API request of a user, and various requirements of different users are met.
The resource management method, the resource management system and the electronic equipment can be suitable for managing GPU resources.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention.
FIG. 1 is a schematic diagram of a resource management system of an embodiment of the present invention;
FIG. 2 is a software architecture diagram of a server according to an embodiment of the present invention;
FIG. 3 illustrates a hardware configuration of a server and a global resource manager of an embodiment of the present invention;
FIG. 4 is a flowchart of the steps of a resource management method according to an embodiment of the invention;
fig. 5 is a schematic diagram of a resource management method according to an embodiment of the present invention.
Detailed Description
Various exemplary embodiments of the present invention will now be described in detail with reference to the accompanying drawings. It should be noted that: the relative arrangement of the components and steps, the numerical expressions and numerical values set forth in these embodiments do not limit the scope of the present invention unless specifically stated otherwise.
The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the invention, its application, or uses.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate.
In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not a limitation. Thus, other examples of the exemplary embodiments may have different values.
It should be noted that: like reference numbers and letters indicate like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
< resource management System >
Referring to fig. 1, an embodiment of the present invention provides a resource management system.
The resource management system includes a global resource manager and at least two servers.
The server has one or more resources, which may be, for example, GPU resources, mounted thereon.
The global resource manager is in communication connection with each server to acquire the use condition of the resource of each server and coordinate the allocation of the resource mounted on the global resource manager with the server.
Referring to fig. 2, the software architecture of the server includes a client, a server, a wrapper library, a native library, a simulation kernel driver, and a standard kernel driver for resources.
The native library is a native function library of resources, typically provided by the vendor of the resource. The wrapper library is a wrapper function library of resources, also referred to as an adapter, which can call native functions in a native library.
A standard kernel driver is a standard kernel driver for a resource, typically provided by the vendor of the resource. The simulated kernel driver is a virtual abstraction of a standard kernel driver.
In one example, the native library includes a user authentication module, a resource negotiation module, and an API execution module. An API is an application program interface, all referred to as an "application Programming interface". The user authentication module is used for authenticating the identity of the user and determining the authority of the user. And the resource negotiation module is used for negotiating a resource path and a resource quota with the simulation kernel driver and the global resource manager. The API execution module is used for calling the native library to execute the API request.
In one example, the simulation kernel driver includes a resource management module and a device operation module. The resource management module manages the responsible resources and allocates the resources to the users for use. In one example, if the server does not mount the resource, the resource management module returns information that no resource is available when receiving the resource negotiation information of the consultation negotiation module. The device operation module is used for calling the responsible resources, and can achieve the purpose of resource segmentation by operating the resource space of the standard kernel driver to configure the resources in the kernel mode.
In one example, the resource management system adopts a Client/Server architecture, the Client is responsible for completing interaction with the user, and the Server can receive and respond to the instruction of the Client and return the instruction execution result to the Client.
In one example, the server and the global resource manager in the resource management system may each have a hardware configuration as shown in FIG. 3. The hardware configuration includes a processor 1110, a memory 1120, an interface device 1130, a communication device 1140, a display device 1150, and an input device 1160. The processor 1110 may be, for example, a central processing unit CPU or the like. The memory 1120 includes, for example, a ROM (read only memory), a RAM (random access memory), a nonvolatile memory such as a hard disk, and the like. The interface device 1130 includes, for example, a USB interface, a serial interface, and the like. The communication device 1140 is capable of wired or wireless communication, for example. The display device 1150 is, for example, a liquid crystal display panel. Input devices 1160 may include, for example, a touch screen, a keyboard, and the like. The memory 1120 stores a computer program that, when executed by the processor 1110, may perform the steps performed by the first server, or the second server, or the global resource manager in the method embodiments of the present invention.
< resource management method >
Referring to fig. 4 and fig. 5, a resource management method according to an embodiment of the present invention is described.
The method may be applied to the resource management system shown in fig. 1. The management method according to the embodiment of the present invention will be described with any one of the plurality of servers as a first server. For the first server, the resources mounted by the first server are local resources, and the resources mounted by other servers are remote resources. For the sake of convenience of differentiation, hereinafter, the wrapper library of the first server is referred to as a "local wrapper library", the native library of the first server is referred to as a "local native library", the simulated kernel driver of the first server is referred to as a "local simulated kernel driver", the standard kernel driver of the first server is referred to as a "local standard kernel driver", the simulated kernel driver of the second server is referred to as a "remote simulated kernel driver", and the standard kernel driver of the second server is referred to as a "remote standard kernel driver". The local simulation kernel driver is a virtual abstraction of a standard kernel driver of a local resource in a first server, and the remote simulation kernel driver is a virtual abstraction of a standard kernel driver of a remote resource in a second server.
S100, the local packaging library acquires an API request sent by a user through a client of the first server and determines a target resource path corresponding to the API request.
In one example, before determining a target resource path corresponding to the API request, the local packaging library performs authentication on the user, and acquires the authority information of the user when the user authentication is passed. The authority information of the user at least comprises one of resource quantity authority and resource level authority. In one example, the user is authenticated by a user authentication module of the local packaging repository, and the authority information of the user is obtained if the user authentication passes.
In one example, the resource management system is preset with a negotiation mechanism, and the local wrapper library may negotiate with the local simulation kernel driver and/or the global resource manager to determine the target resource path based on the preset negotiation mechanism. In one example, the target resource path is negotiated with a local simulation kernel driver and/or a global resource manager by a resource negotiation module of a local wrapper library.
In one example, determining a target resource path corresponding to the API request includes: and under the condition that the resource path authority of the user only comprises the local resource path authority, determining the local resource path as the target resource path. And under the condition that the resource path authority of the user only comprises the remote resource path authority, negotiating with the global resource manager according to the resource quantity authority and the resource level authority of the user to determine a remote resource path as a target resource path. And under the condition that the resource path authority of the user simultaneously comprises the local resource path authority and the remote resource path authority, negotiating with a local simulation kernel driver and a global resource manager according to the resource quantity authority and the resource level authority of the user to determine a target resource path.
In one example, the method further comprises: and the local packaging library determines the resource quota corresponding to the API request. In one example, the resource management system is preset with a negotiation mechanism, and the local wrapper library may negotiate with the local simulation kernel driver and/or the global resource manager to determine a resource quota corresponding to the API request based on the preset negotiation mechanism. In one example, a resource quota corresponding to the API request is negotiated and determined by a resource negotiation module of the local wrapper library with the local simulation kernel driver and/or the global resource manager.
In one example, determining a resource quota corresponding to the API request includes: and under the condition that the target resource path is a local resource path, negotiating with a local simulation kernel driver to determine a resource quota corresponding to the API request, wherein the local simulation kernel driver reserves the resource quota so that the local simulation kernel driver executes the API request subsequently. And under the condition that the target resource path is a local resource path, negotiating with a global resource manager to determine a resource quota corresponding to the API request, and applying for reserving the resource quota by the global resource manager and a remote simulation kernel driver of the second server so as to facilitate the remote simulation kernel driver to execute the API request subsequently.
For example, the resource is a GPU, the resource path permission of the user includes both a local resource path permission and a remote resource path permission, and the resource number permission of the user is 2 units, where the resource level permission corresponding to the first unit is high, that is, the first unit may use the GPU with a higher performance, and the resource level permission corresponding to the second unit is low, that is, the second unit may only use the GPU with a lower performance. And negotiating and determining a target resource path and a resource quota corresponding to the API request according to the resource quantity authority of the user, the resource level authority, the performance level and the current use condition of the GPU mounted on the first server, and the performance level and the current use condition of the GPUs mounted on other servers in the system.
And S200, under the condition that the target resource path is a local resource path, submitting the API request to a local simulation kernel driver by the local packaging library, and calling the local resource by the local simulation kernel driver to execute the API request.
And under the condition that the target resource path is a local resource path, the local packaging library adds verification information into the API request before submitting the API request to the local simulation kernel driver. The local simulation kernel driver calls a local resource to execute the API request, and the method comprises the following steps: and verifying the API request, and calling the local resource to execute the API request under the condition that the API request passes the verification. If the user bypasses the local package library and directly sends the API request to the local simulation kernel driver, the API request cannot pass the verification of the local simulation kernel driver because the API request does not contain verification information, and the API request is refused to be executed by the local simulation kernel driver, so that the user is prevented from bypassing the local package library to directly use the local resources, and the process of using the local resources by the user is guaranteed to be controlled.
Under the condition that the target resource path is a local resource path, calling a local resource by the local simulation kernel driver to execute an API request, wherein the process comprises the following steps: the local resource is called within the quota of the resource quota to perform the API request.
S300, under the condition that the target resource path is a far-end resource path, the local packaging library sends the API request to a server of the second server, the API request is submitted to a far-end simulation kernel driver through the server of the second server, and the far-end simulation kernel driver calls a far-end resource to execute the API request. Wherein the second server is the server to which the remote resource path points.
Under the condition that the target resource path is a far-end resource path, the far-end simulation kernel driver calls a far-end resource to execute the API request, and the method comprises the following steps: the remote resource is called within the quota of the resource quota to perform the API request.
The resource management method of the embodiment of the invention provides the local resource path and the remote resource path, so that the local resource and the remote resource form a uniform resource pool, the local resource and the remote resource can be flexibly selected to respond to the API request of the user, and the requirement of the user for accessing the local resource and the remote resource is met.
The resource management method of the embodiment of the invention provides the remote resource for the user and simultaneously supports the user to directly access the local resource. The method supports the user to directly access the local resources, and can ensure that the user realizes some special functions, for example, when the functions related to a Debugger (debug) and a probe (Profiler) are operated, the user needs to directly access the local resources to realize the functions. The method supports the user to directly access the local resources, and is convenient for the user to perform deep analysis, for example, when the performance of the application algorithm needs to be deeply analyzed for academic research and other purposes, related tests and researches need to be directly performed on the local resources in order to obtain a conclusion that the performance can be reproduced in other non-resource pooling environments.
The resource management method of the embodiment of the invention designs a pure software-level resource pooling scheme, constructs a uniform resource pool containing local resources and remote resources, and enables a user to use the local resources or the remote resources at any granularity without perception.
The resource management method of the embodiment of the invention brings local resources and remote resources into unified management, improves the utilization rate of the whole resources and reduces the cost.
The resource management method of the embodiment of the invention supports a flexible resource scheduling strategy, and realizes flexible scheduling of local resources and remote resources by simulating kernel drive and global resource management.
The resource management method of the embodiment of the invention provides a unified management view for the local resources and the remote resources, and reduces the management cost of an administrator.
The following is a complete example of the resource management method according to the embodiment of the present invention:
p101, the client of the first server responds to the user instruction and sends out an API request.
The P102 and a local packaging library of the first server intercept the API request, a user authentication module of the local packaging library carries out identity verification on the user, and the authority information of the user is obtained under the condition that the user identity verification is passed.
And P103, under the condition that the user identity authentication is passed, the resource negotiation module of the local packaging library negotiates with the resource management module driven by the local simulation kernel and/or the global resource manager based on a preset negotiation mechanism, and determines a target resource path corresponding to the API request.
And P104, adding verification information into the API request by the API execution module of the local packaging library under the condition that the target resource path is the local resource path, and submitting the API request to the local simulation kernel driver through the local native library.
And after receiving the API request, the equipment operation module driven by the local simulation kernel verifies the received API request. If the verification is passed, the device operation module of the local simulation kernel driver calls the local resource to execute the API request through the local standard kernel driver.
If the verification is not passed, the equipment operation module driven by the local simulation kernel returns failure information so as to avoid the leakage of local resources.
And P105, under the condition that the target resource path is the far-end resource path, the API execution module of the local packaging library sends the API request to the server side of the second server.
And the server side of the second server submits the API request to the remote simulation kernel driver through the remote native library, and the equipment operation module driven by the remote simulation kernel calls the remote resource to execute the API request through the remote standard kernel driver.
An embodiment of the present invention provides an electronic device, which includes a processor and a memory, where the memory stores a computer program, and the computer program, when executed by the processor, implements the steps performed by the first server in any of the foregoing method embodiments.
An embodiment of the present invention provides an electronic device, which includes a processor and a memory, where the memory stores a computer program, and the computer program, when executed by the processor, implements the steps performed by the second server in any of the foregoing method embodiments.
An embodiment of the present invention provides an electronic device, which includes a processor and a memory, where the memory stores a computer program, and when the computer program is executed by the processor, the computer program implements the steps performed by the global resource manager in any of the foregoing method embodiments.
Embodiments of the present invention provide a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps performed by the first server in any of the method embodiments described above.
An embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps performed by the second server in any of the foregoing method embodiments.
Embodiments of the present invention provide a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps performed by the global resource manager in any of the foregoing method embodiments.
The embodiment of the invention provides a resource management system which comprises a first server, a second server and a global resource manager.
The first server comprises a first processor and a first memory, said first memory having stored therein a first computer program, which when executed by said first processor performs the steps performed by the first server in any of the method embodiments described above.
The end server comprises a second processor and a second memory, wherein a second computer program is stored in the second memory, and when executed by the second processor, the second computer program realizes the steps performed by the second server in any of the method embodiments described above.
The global resource manager comprises a third processor and a third memory, the third memory having stored therein a third computer program, which, when executed by the third processor, performs the steps performed by the global resource manager in any of the method embodiments described above.
The present invention may be a system, method and/or computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied therewith for causing a processor to implement various aspects of the present invention.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or an in-groove raised structure having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device over a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present invention may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry may execute computer-readable program instructions to implement aspects of the present invention by utilizing state information of the computer-readable program instructions to personalize a custom electronic circuit, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. It is well known to those skilled in the art that implementation by hardware, implementation by software, and implementation by a combination of software and hardware are equivalent.
Having described embodiments of the present invention, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles of the embodiments, the practical application, or the technical improvements in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein. The scope of the invention is defined by the appended claims.

Claims (13)

1. The resource management method is applied to a resource management system, wherein the resource management system comprises a first server, a second server and a global resource manager; the first server is internally provided with a client, a local packaging library and a local simulation kernel driver; the second server is internally provided with a server side and a remote simulation kernel driver;
the resource management method comprises the following steps:
the local packaging library acquires an API request sent by a user through a client of a first server and determines a target resource path corresponding to the API request; the local packaging library is a packaging function library of local resources, and the local resources are resources mounted on a first server;
under the condition that the target resource path is a local resource path, submitting the API request to a local simulation kernel driver by the local packaging library, and calling a local resource by the local simulation kernel driver to execute the API request; wherein the native simulation kernel driver is a virtual abstraction of a standard kernel driver of a native resource in a first server;
under the condition that the target resource path is a remote resource path, the local packaging library sends the API request to a server of a second server, the API request is submitted to a remote simulation kernel driver through the server of the second server, and the remote simulation kernel driver calls a remote resource to execute the API request; the second server is a server to which the remote resource path points, the remote resource is a resource mounted on the second server, and the remote simulation kernel driver is a virtual abstraction of a standard kernel driver of the remote resource in the second server.
2. The method according to claim 1, wherein the determining, by the local wrapper library, the target resource path corresponding to the API request includes:
and negotiating with a local simulation kernel driver and/or a global resource manager to determine the target resource path.
3. The method of resource management according to claim 1, wherein the method further comprises: before determining a target resource path corresponding to the API request, the local packaging library carries out identity authentication on the user and acquires the authority information of the user under the condition that the user identity authentication is passed; the authority information of the user at least comprises one of resource quantity authority and resource level authority;
the local packaging library determines a target resource path corresponding to the API request, and the determining includes: and negotiating with a local simulation kernel driver and/or a global resource manager to determine a target resource path according to the authority information of the user.
4. The method of resource management according to claim 1, wherein the method further comprises: before determining a target resource path corresponding to the API request, the local packaging library carries out identity authentication on the user and acquires the authority information of the user under the condition that the user identity authentication is passed; the authority information of the user comprises resource quantity authority, resource level authority and resource path authority;
the local packaging library determines a target resource path corresponding to the API request, and the determining includes:
determining the local resource path as a target resource path under the condition that the resource path authority of the user only comprises the local resource path authority;
under the condition that the resource path authority of the user only comprises the remote resource path authority, negotiating with a global resource manager according to the resource quantity authority and the resource level authority of the user to determine a remote resource path as a target resource path;
and under the condition that the resource path authority of the user simultaneously comprises the local resource path authority and the remote resource path authority, negotiating with a local simulation kernel driver and a global resource manager according to the resource quantity authority and the resource level authority of the user to determine a target resource path.
5. The method of resource management according to claim 1, wherein the method further comprises: under the condition that the target resource path is a local resource path, the local packaging library adds verification information into the API request before submitting the API request to a local simulation kernel driver;
the local simulation kernel driver calls a local resource to execute the API request, and the steps comprise: and verifying the API request, and calling a local resource to execute the API request under the condition that the API request passes the verification.
6. The method of claim 1, wherein the invoking of the native resource by the native simulation kernel driver to execute the API request comprises:
determining the execution priority of the API request according to the request type of the API request, the mapping relation between the pre-configured request type and the execution priority;
and calling local resources to execute the API request according to the execution priority of the API request.
7. The method of resource management according to claim 1, wherein the method further comprises: the local packaging library determines a resource quota corresponding to the API request;
under the condition that the target resource path is a local resource path, the local simulation kernel driver calls a local resource to execute the API request, and the method comprises the following steps: calling local resources within the quota of the resource quota, and executing the API request;
when the target resource path is a remote resource path, the remote simulation kernel driver calls a remote resource to execute the API request, including: and calling the remote resources within the quota of the resource quota, and executing the API request.
8. The method of claim 7, wherein determining, by the local wrapper library, the resource quota corresponding to the API request comprises:
and negotiating with a local simulation kernel driver and/or a global resource manager to determine a resource quota corresponding to the API request.
9. The method of claim 1, wherein the local resource and the remote resource are image processors.
10. An electronic device, comprising a processor and a memory, wherein a computer program is stored in the memory, and wherein the computer program, when executed by the processor, performs the steps performed by the first server in the resource management method according to any one of claims 1 to 9.
11. An electronic device, comprising a processor and a memory, wherein a computer program is stored in the memory, and wherein the computer program, when executed by the processor, performs the steps performed by the second server in the resource management method according to any one of claims 1 to 9.
12. An electronic device comprising a processor and a memory, the memory having stored therein a computer program which, when executed by the processor, carries out the steps performed by the global resource manager in the resource management method according to any one of claims 1-9.
13. A resource management system is characterized by comprising a first server, a second server and a global resource manager;
the first server comprising a first processor and a first memory having stored therein a first computer program which, when executed by the first processor, performs the steps performed by the first server in the resource management method of any of claims 1-9;
the second server comprises a second processor and a second memory, the second memory having stored therein a second computer program that, when executed by the second processor, performs the steps performed by the second server in the resource management method of any of claims 1-9;
the global resource manager comprises a third processor and a third memory, in which a third computer program is stored, which third computer program, when being executed by the third processor, carries out the steps of the resource management method of any of the claims 1-9 that are performed by the global resource manager.
CN202210646362.2A 2022-06-08 2022-06-08 Resource management method, resource management system and electronic equipment Pending CN115098248A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210646362.2A CN115098248A (en) 2022-06-08 2022-06-08 Resource management method, resource management system and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210646362.2A CN115098248A (en) 2022-06-08 2022-06-08 Resource management method, resource management system and electronic equipment

Publications (1)

Publication Number Publication Date
CN115098248A true CN115098248A (en) 2022-09-23

Family

ID=83288755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210646362.2A Pending CN115098248A (en) 2022-06-08 2022-06-08 Resource management method, resource management system and electronic equipment

Country Status (1)

Country Link
CN (1) CN115098248A (en)

Similar Documents

Publication Publication Date Title
US11627112B2 (en) Socket transferring for HPC networks using kernel tracing
US20230031297A1 (en) Binding secure keys of secure guests to a hardware security module
CN114341850B (en) Protecting workloads in Kubernets
US9858110B2 (en) Virtual credential adapter for use with virtual machines
JP2022522678A (en) Secure execution guest owner environment control
US10901749B2 (en) Running a kernel-dependent application in a container
AU2020426828B2 (en) Reserving one or more security modules for secure guest
US11533174B2 (en) Binding secure objects of a security module to a secure guest
JP7358005B2 (en) Native code generation for cloud services
JP2022522643A (en) Launching a secure guest using the initial program loading mechanism
KR102551935B1 (en) Progressive decryption and integrity verification of secure operating system images
WO2021004863A1 (en) Blackbox security for containers
US20210109841A1 (en) Application containerization based on trace information
KR20240022582A (en) Secure guest image and metadata updates
CN117795513A (en) Customization of multiple portions of metadata for secure guests
CN115098248A (en) Resource management method, resource management system and electronic equipment
KR20170136305A (en) Cloud storage device and method for offering cloud storage
US11748236B2 (en) Multi-user debugging with user data isolation
WO2023216776A1 (en) Providing system services
US20230409308A1 (en) Program code update recommendation based on a heatmap
US20230308466A1 (en) Workflow penetration testing
US10884789B2 (en) Process tracking
WO2023138384A1 (en) Propagating job contexts to a job execution environment
US11016874B2 (en) Updating taint tags based on runtime behavior profiles
CN117795510A (en) Confidential data provided to secure guests via metadata

Legal Events

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