CN112039963B - Processor binding method and device, computer equipment and storage medium - Google Patents

Processor binding method and device, computer equipment and storage medium Download PDF

Info

Publication number
CN112039963B
CN112039963B CN202010850810.1A CN202010850810A CN112039963B CN 112039963 B CN112039963 B CN 112039963B CN 202010850810 A CN202010850810 A CN 202010850810A CN 112039963 B CN112039963 B CN 112039963B
Authority
CN
China
Prior art keywords
binding
core
instance
processor
target core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010850810.1A
Other languages
Chinese (zh)
Other versions
CN112039963A (en
Inventor
田帅
王兴刚
王华夏
毛茂德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN202010850810.1A priority Critical patent/CN112039963B/en
Publication of CN112039963A publication Critical patent/CN112039963A/en
Application granted granted Critical
Publication of CN112039963B publication Critical patent/CN112039963B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

The embodiment of the invention provides a binding method and device of a processor, computer equipment and a storage medium, wherein a node is arranged in a container cluster kubenetes, an instance capable of containing a container and a scheduling component are arranged in the node, and the method is applied to the scheduling component and comprises the following steps: receiving an update event for an instance, the update event including configuration information for a binding processor; searching a logic core which is in an idle state and meets configuration information in a processor in a node to serve as a target core; and if the target core is found, binding the instance and the target core. The scheduling component is independent of the binding mode, so that the binding mode of a high-version container cluster kubenetes is not required to be relied on, the QoS level of an instance is not relied on for the configuration of the binding, and the scheduling component is used as a bypass plug-in for plug-and-play and has good universality. The scheduling component realizes the automatic management of the bound processor core, and greatly reduces the operation and maintenance cost.

Description

Processor binding method and device, computer equipment and storage medium
Technical Field
The embodiment of the invention relates to the technical field of container clusters, in particular to a binding method and device of a processor, computer equipment and a storage medium.
Background
As container clusters kubernets become de facto standard for container orchestration, more and more enterprises build container management platforms based on container clusters kubenetes.
The container management platform can deploy online tasks and offline tasks, most of the offline tasks belong to large data related operations, and the I/O (input/output) is high.
In the use of the processor, the container cluster kubernets provides a preemption mode and a binding mode, the core binding mode is a core for appointing the container to use and execute a task, but not preemption is carried out in all cores, under the binding mode, even if the offline task has insufficient CPU resources to promote iowait (waiting caused by insufficient I/O), iowait appears on the core of the core binding, other cores cannot be influenced, and therefore the isolation of the online service and the offline service on the CPU is achieved.
However, the container cluster kubernets is configured for each container individually and manually, except for offline tasks, binding cores are configured, online services also need to be configured, the number of containers in the container cluster kubernets is large, and the operation and maintenance cost for manually configuring the binding cores for each container is high in consideration of the situations that the containers are scheduled on different nodes, the number of CPU cores is adjusted, and the like.
Generally, the priority of the online Service is the highest, the priority of the offline task is the lowest, the container cluster kubernets supports the binding of the container originally, the QoS (Quality of Service) level of the container bound with the core is limited, and the priority when the eviction and the preemption occur is the highest, which does not accord with the actual priority of the offline task.
In addition, the native binding mode of the container cluster kubernets depends on a higher version, and in an actual production environment, the version of the container cluster kubernets cannot be upgraded at will, so that the application range of the binding is smaller.
Disclosure of Invention
The embodiment of the invention provides a binding method and device of a processor, computer equipment and a storage medium, and aims to solve the problems of high cost, disorder of task priority and small application range of kernel binding in a container cluster kubernets.
In a first aspect, an embodiment of the present invention provides a binding method for a processor, where a container cluster has nodes in the kubenes, and the nodes have instances that can accommodate containers and a scheduling component, where the method is applied to the scheduling component, and includes:
receiving an update event for the instance, the update event including configuration information for a binding processor;
searching a logic core which is in an idle state and meets the configuration information in a processor in the node to serve as a target core;
and if the target core is found, binding the example and the target core.
Optionally, there is an interface service in the container cluster kubenes, and the receiving the update event of the instance includes:
sending a Wath request to the interface service to subscribe to configuration information of the instance binding processor;
and receiving an update event sent by the interface service when the configuration information changes.
Optionally, the searching, in the processor in the node, for a logic core that is in an idle state and satisfies the configuration information, as a target core, includes:
reading a target value from the configuration information;
and searching the logic cores which are in an idle state and the number of the logic cores is the target value in the processor in the node to serve as the target cores.
Optionally, the searching, in the processor in the node, for a logic core that is in an idle state and satisfies the configuration information, as a target core, includes:
in a processor in the node, sequencing the logic cores in a descending order according to the serial numbers of the logic cores;
and searching the logic cores which are in an idle state and meet the configuration information according to the sequence after the descending sorting as target cores.
Optionally, the binding the instance and the target core includes:
setting the sequence number of the target core to a binding mode in a first configuration file of the instance;
and updating the sequence number of the target core to the binding mode in the second configuration file of the container.
Optionally, the binding the instance and the target core further includes:
if the second configuration file fails to be updated, generating an update failure event;
binding the update failure event to the instance.
Optionally, the method further comprises:
and if the example and the target core are bound successfully, modifying the target core from the idle state to a bound state.
Optionally, the method further comprises:
if the target core is not found, generating a binding failure event;
binding the binding failure event to the instance.
Optionally, the method further comprises:
receiving a delete event for the instance;
responding to the deletion event, and inquiring the logic core currently bound by the instance as a candidate core;
modifying the candidate core from a bound state to an idle state.
Optionally, the method further comprises:
inquiring the logic core currently bound by the instance as a reference;
and if the reference core is different from the target core, switching the example from the binding of the reference core to the binding of the target core.
In a second aspect, an embodiment of the present invention further provides an apparatus for binding a processor, where a container cluster kubenes has a node, and an instance that can accommodate a container and a scheduling component are in the node, where the apparatus is located in the scheduling component, and includes:
an update event receiving module for receiving an update event of the instance, the update event including configuration information for a binding processor;
a target checking and finding module, configured to search, in a processor in the node, a logic core that is in an idle state and satisfies the configuration information, as a target core;
and the target core binding module is used for binding the instance and the target core if the target core is found.
Optionally, there is an interface service in the container cluster kubenes, and the update event receiving module includes:
the interface service request submodule is used for sending a Wath request to the interface service so as to subscribe the configuration information of the instance binding processor;
and the interface service receiving submodule is used for receiving the update event sent by the interface service when the configuration information changes.
Optionally, the target checking module includes:
a target value reading submodule for reading a target value from the configuration information;
and the quantity searching submodule is used for searching the logic cores which are in an idle state and the quantity of which is the target value in the processor in the node as the target cores.
Optionally, the target checking module includes:
the logic core sequencing submodule is used for sequencing the logic cores in a descending order according to the serial numbers of the logic cores in the processors in the nodes;
and the descending search submodule is used for searching the logic core which is in an idle state and meets the configuration information according to the descending sequence, and the logic core is used as a target core.
Optionally, the target core binding module includes:
the instance setting submodule is used for setting the sequence number of the target core to a binding mode in a first configuration file of the instance;
and the container updating submodule is used for updating the sequence number of the target core to the binding mode in the second configuration file of the container.
Optionally, the target core binding module further includes:
an update failure event generation submodule, configured to generate an update failure event if updating of the second configuration file fails;
and the update failure event binding submodule is used for binding the update failure event to the instance.
Optionally, the method further comprises:
and the first state modification module is used for modifying the target core from the idle state to a binding state if the example and the target core are bound successfully.
Optionally, the method further comprises:
a binding failure event generating module, configured to generate a binding failure event if the target core is not found;
a binding failure event binding module for binding the binding failure event to the instance.
Optionally, the method further comprises:
a deletion event receiving module, configured to receive a deletion event of the instance;
a candidate checking and inquiring module, configured to respond to the deletion event, and inquire the logical core currently bound to the instance as a candidate core;
a second state modification module to modify the candidate core from a bound state to an idle state.
Optionally, the method further comprises:
the reference checking and inquiring module is used for inquiring the logic core currently bound by the example to be used as a reference;
and the binding switching module is used for switching the example from binding the reference core to binding the target core if the reference core is different from the target core.
In a third aspect, an embodiment of the present invention further provides a computer device, where the computer device includes:
one or more processors;
a memory for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement a binding method for a processor as in any one of the first aspects.
In a fourth aspect, the embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the binding method of the processor according to any one of the first aspect.
The scheduling component is in a component form, and the container cluster kubenetes originally supports the loading and running of the scheduling component, so that the container cluster kubenetes does not need to be invaded by a code of the container cluster kubenetes, the influence on the running of the container cluster kubenetes can be reduced, and the scheduling component is used as a bypass plug-in and is plug-and-play, so that the method has good universality.
The scheduling component receives an update event of the instance, the update event comprises configuration information used for binding the processor, the logic core which is in an idle state and meets the configuration information is searched in the processor in the node and is used as a target core, and if the target core is searched, the instance and the target core are bound.
The scheduling component realizes the automatic management of bound processor cores, automatically distributes the tasks through the declarative configuration of the nodes, greatly reduces the operation and maintenance cost, and can enable I/O intensive offline tasks to be isolated on a specific processor core by means of binding the processor cores due to the fact that iowait promotion brought by over-selling is carried out in the running process of the tasks, so that online services cannot be influenced, and the stability of the online services under a mixed scene is guaranteed.
Drawings
Fig. 1 is a flowchart of a binding method for a processor according to an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a container cluster kubenetes according to an embodiment of the present invention;
FIG. 3 is a flowchart of a binding method for a processor according to a second embodiment of the present invention;
fig. 4 is a schematic structural diagram of a binding apparatus of a processor according to a third embodiment of the present invention;
fig. 5 is a schematic structural diagram of a computer device according to a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
Fig. 1 is a flowchart of a binding method for a processor according to an embodiment of the present invention, which is applicable to a case where a scheduling component is run on a node of a container cluster kubenes, and a status change of a pod on a local machine is monitored, so as to bind a CPU core.
In specific implementation, the container cluster kubenees is a platform for automated container operation, provides functions such as application deployment, maintenance, and extension mechanisms, and can be used for managing cross-cluster running containerized applications.
A cluster in a container cluster kubenetes refers to a set of nodes, which may be physical machines or virtual machines, on which a kubernets platform is installed.
As shown in fig. 2, the container cluster kubenes may include the following structure:
master (master node): a container cluster kubenes has a master node master with a series of components, such as an API Server (Application Programming Interface Server) that provides REST (Representational State Transfer) endpoints that can be used to interact with the container cluster kubenes. The master can be used to create and copy the RC of the instance pod (a Replication Controller, RC can be used to guarantee the number of copies of a pod running at any time, thus being able to guarantee that the pod is always available).
node (node): the nodes are physical machines or virtual machines, as workers, and are also commonly referred to as minions, each of which may run the following components:
kubelet: a master node proxy.
Kube-proxy: service uses it to route links to pod.
Docker or Rocker: containers are created using container technology by kubernets.
And the instance pod is a minimum or simplest basic unit for creating or deploying the container cluster kubernets, one instance pod represents a process running on the container cluster kubernets, and one instance pod encapsulates one or more containers, storage resources, an independent IP (Internet Protocol) address and a policy option for managing and controlling the operation mode of the containers.
The container is an abstraction of program codes and the dependency relationship thereof in an application layer, and a plurality of containers respectively serve as independent processes to run in a user space on the same machine and share an operating system kernel.
vscaled (scheduling component): the scheduling component vscaled is a daemon component, runs on each node, and can monitor the state change of all the instance pod on the local computer and dynamically adjust the CPU bound by the instance pod according to the declared configuration of the binding core.
That is, in the present embodiment, there are node nodes in the container cluster kubenes, and there are instance pod and scheduling component vscaled that can accommodate the container in the node nodes.
The method can be executed by a binding apparatus of a processor, which can be implemented by software and/or hardware and can be configured in a computer device, such as a server, a workstation, a personal computer, and the like, and specifically includes the following steps:
step 101, receiving an update event of an instance.
The container cluster kubernets provides a resource model of request/limit to describe resource declaration of the container, the resource declaration of the request is the basis of the container cluster kubernets in scheduling, and the resource declaration of the limit is the resource upper limit which can be used by the container in actual operation.
Based on different requests/limits ratios, three QoS levels of guarded, burst and BestEffort are defined by container cluster kubernets, and in an actual production environment, most service containers are overfall to a certain degree so as to provide resource utilization rate.
Wherein, when limits is greater than requests, instance pod belongs to the over-sell state.
On the node, the request/limit of the container is converted into a configuration file linux group, and the purpose of limiting the use of the container resource is achieved through the configuration file cggroup.
In terms of the use of the processor CPU, the configuration file cgroup provides two resource limitation modes, namely a preemption mode in which a CPU share is used as a weight through CPU.
In the resource model of the container cluster kubernets, the processor CPU is supported to be used in a preemption mode through CPU share and a core binding mode through cpuiset, but the cpuiset is used on the premise that the request/limit ratio of the container is one to one, namely the QoS level of the container is the highest QoS level of Guaranceed, the priority is highest when the eviction and preemption occur, and the priority does not accord with the actual priority of an offline task.
In practical applications, a user may modify the indication field of metadata in the instance pod of the online service or the offline service according to the requirement of the online service or the offline service, and declare a processor that desires to bind, such as "cpu set.
The embodiment can be applied to a scheduling component vscaled, which can monitor the state change of an instance pod on the same node.
When a user modifies the association field of metadata in an instance pod, the scheduling component vsccaled in the node where the instance pod is located may receive an update event for the instance pod, the update event including configuration information for the binding processor.
Further, the scheduling component vscaled may listen to the state change of the instance pod on the same node through the list/watch mechanism of the container cluster kubenees.
The container cluster kubenes is provided with an interface service API server, the Etcd stores data information of the cluster, the interface service API server serves as a uniform entry, data operation generally monitors the create, update and delete events of resources (pod/rs/rc and the like) in the interface service API server through the list-watch through the interface service API server and a client (kubenet/scheduler/controller-manager/scheduling component vscaled), and calls corresponding event processing functions according to event types.
list is list API resources for calling resources, and is realized based on HTTP (Hypertext Transfer Protocol) short link; the watch is a watch API for calling resources to monitor resource change events and is realized based on the HTTP long link.
Wherein, the Watch API, often with Watch = true, indicates that the HTTP long connection is used to continuously listen to pod related events (such as update events), whenever an event is coming, the mobile terminal will send a command to the mobile terminal, a WatchEvent is returned.
Therefore, the scheduling component vcscaled can send a walk request to the interface service API server to subscribe the configuration information of the instance pod binding processor, after receiving the walk request in the interface service API server, call rw.walk () to create a router, use the serveWatch () to process the request, that is, record whether the configuration information of the instance pod in the same node changes, when the change occurs, read an event object from the result channel (channel) of the router, generate an update event, encode and write the update event into a response stream, and send the update event to the scheduling component vcscaled, so that the scheduling component vcscaled receives the update event sent by the interface service API server when the configuration information of the instance pod in the same node changes.
Step 102, in the processor in the node, searching a logic core which is in an idle state and meets configuration information as a target core.
In this embodiment, the scheduling component vscaled may read the topology of the processor in the node from matadata (metadata) of the node where the scheduling component vscaled is located, and maintain the state of the processor in the memory, where the state includes an idle state and a bound state, the idle state indicates that the processor is not bound, and the bound state indicates that the processor is bound.
Typically, the topology is a hierarchy of socket, core, hyperThread.
The socket is a card slot where the processor is located.
The core is a physical core/processor of the processor, has independent circuit elements and L1 and L2 caches, and can independently execute instructions.
hyperThread is a Hyper-threading (HT) on a logical core/processor (LCPU). A logical core refers to a core at a logical level within the same physical core. A hyper-thread may allocate a slot to one logical core at an interval when the other logical core waits for instruction execution (waiting for the next instruction to be fetched from cache or memory). High speed switches between the two logic cores, making this interval imperceptible to the application.
In a specific implementation, when monitoring the configuration information of the node binding processor, the scheduling component vscaled may search, in the processor in the current node, for a logical core that is in an idle state (i.e., not bound) and satisfies the configuration information, as a target core.
Taking the number as an example of configuration information, the scheduling component vsccaled may read a target value from the configuration information, e.g. the target value is 4 in the configuration information "cpu set.
And searching the logic cores which are in an idle state and the number of the logic cores is the target value in the processor in the node as the target cores.
In addition, the logic core is configured with a serial number, and system components such as a network card and the like in the node generally preferentially use the logic core with the serial number of 0, so to avoid preempting the logic core with the serial number of 0, the scheduling component vscaled may perform descending sorting on the logic cores in the processor in the node according to the serial numbers of the logic cores, and search the logic core which is in an idle state and satisfies the configuration information according to the sequence after the descending sorting to serve as a target core.
For example, after the scheduling component vscaled is started, a list of logical cores is maintained, and the sequence numbers are [0, 31], if the two previous instance pods sequentially declare the binding processor, 4 logical cores and 2 logical cores are respectively needed, the sequence numbers of the sequentially allocated logical cores are [28, 31], [26, 27], and then the other instance pods are bound in the logical core with the sequence number [0, 25 ].
Under the condition that the number of bound logic cores is large, the logic core in an idle state (namely unbound) does not meet the requirement of the current example pod, if the scheduling component vscaled does not find the target core, a binding failure event can be generated, the binding failure event is bound to the current example pod, and the upper-layer application of the container cluster kubernets is notified.
And 103, if the target core is found, binding the instance and the target core.
If the scheduling component vscaled finds a logical core in an idle state (i.e., unbound) and that satisfies the configuration information as the target core, the instance pod may be bound with the target core.
In a specific implementation, the sequence number of the target core may be set to the binding mode cpuiset in the first configuration file cgroup of the instance pod.
And calling a docker update interface to update the sequence number of the target core to a binding mode cpuiset in a second configuration file cgroup of the container in the instance pod, wherein when the container in the instance pod calls the processor to execute the service, the container calls a logic core (namely the target core) corresponding to the sequence number according to the binding mode cpuiset in the second configuration file cgroup to execute the service.
And if the first configuration file cgroup of the instance pod is successfully set and the second configuration file cgroup of the container in the instance pod is successfully updated, determining that the instance pod is successfully bound with the target core.
And if the binding of the instance pod and the target core is successful, modifying the state of the target core from an idle state to a binding state so as to prevent the subsequent calling by other instance pods.
Further, the first configuration file cgroup and the second configuration file cgroup both belong to the configuration file cgroup, the configuration file cgroup is a resource restriction mechanism provided by the linux operating system, and is divided into a plurality of subsystems, which respectively restrict different types of resources, such as CPUs, memories (storages), cpsets, and the like, wherein the cpsets cgroup restricts the range of processor cores that can be used by the process, and processor cores beyond the range cannot be used, and in a mixed part scene, the cpsets restriction can prevent iowait of offline services from spreading over all processor cores to affect the online services.
For a native container cluster kubernets, if a container bound processor core is adjusted, a container needs to be created again, which has a great influence on a service, but in the embodiment, dynamic modification of the binding is realized by dynamically adjusting a first configuration file of a node and a second configuration file of the container, and the binding configuration can be modified and can take effect immediately without creating an instance pod and the container again, so that the influence on the service can be greatly reduced.
If updating the second configuration file cgroup of the container in the instance pod fails, it is determined that the binding between the instance pod and the target core fails, at this time, an update failure event may be generated, the update failure event is bound to the current instance pod, and the upper layer application of the container cluster kubernets is notified.
The scheduling component is applied to the container cluster kubenetes for core binding, the scheduling component is independent of a core binding mode, and therefore the core binding mode of the container cluster kubenetes of a high version does not need to be relied on, the core binding configuration does not depend on the QoS level of an example, and the scheduling component is more suitable for a service over-selling scene.
The scheduling component receives an update event of the instance, the update event comprises configuration information used for binding the processor, the logic core which is in an idle state and meets the configuration information is searched in the processor in the node and is used as a target core, and if the target core is searched, the instance and the target core are bound.
The scheduling component realizes the automatic management of bound processor cores, automatically distributes the tasks through the declarative configuration of the nodes, greatly reduces the operation and maintenance cost, and can enable I/O intensive offline tasks to be isolated on a specific processor core by means of binding the processor cores due to the fact that iowait promotion brought by over-selling is carried out in the running process of the tasks, so that online services cannot be influenced, and the stability of the online services under a mixed scene is guaranteed.
Example two
Fig. 3 is a flowchart of a binding method for a processor according to a second embodiment of the present invention, where the present embodiment further adds operations of deleting an instance pod and detecting a binding condition based on the foregoing embodiment, and the method specifically includes the following steps:
step 301, receiving an update event of an instance.
Wherein the update event includes configuration information for the binding processor.
Step 302, in the processor in the node, a logic core which is in an idle state and satisfies the configuration information is searched as a target core.
And 303, if the target core is found, binding the instance and the target core.
Step 304, receiving a deletion event of the instance.
In practical application, a user may delete an instance pod of an online service or an offline service through a command such as "kubecect delete pod name" according to a requirement of the online service or the offline service.
The scheduling component vscaled can monitor the state change of the instance pod on the same node through a list/watch mechanism and the like, and when a user deletes a certain instance pod, the scheduling component vscaled in the node where the instance pod is located can receive a deletion event of the instance pod.
In a specific implementation, the scheduling component vscaled may send a walk request to the interface service API server to subscribe to information of deleting an instance pod, in the interface service API server, after receiving the walk request, call rw.
Step 305, responding to the deletion event, inquiring the logic core currently bound by the instance as a candidate core.
And the scheduling component vscaled responds to the deletion event of the instance pod and queries the logic core currently bound by the instance pod to be deleted as a candidate core.
In general, a second configuration file cgroup may be read from a container of the to-be-deleted instance pod, a sequence number in the binding mode may be read from the second configuration file cgroup, and a logical core represented by the sequence number may be determined to be currently bound by the to-be-deleted instance pod, thereby obtaining a candidate core.
Of course, in addition to querying the currently bound logical core of the instance by using the second configuration file cgroup of the container, the currently bound logical core of the instance pod may also be queried by using the first configuration file cgroup of the instance pod, that is, reading the first configuration file cgroup from the to-be-deleted instance pod, reading the sequence number in the binding mode from the first configuration file cgroup, and determining the logical core represented by the currently bound sequence number of the to-be-deleted instance pod, so as to obtain the candidate core, which is not limited in this embodiment.
Step 306, modifying the candidate core from the binding state to an idle state.
For the logic core (i.e. candidate core) bound by the instance pod to be deleted, the state of the logic core can be modified from the binding state to the idle state, so that the logic core can be preempted and bound by other instance pods, the normal allocation of the logic core is ensured, and the condition of idle occupation, namely bound and no service allocation execution, is avoided.
And 307, inquiring a logic core currently bound by the instance to serve as a reference.
In some cases, the logical core to which the instance pod actually binds may change such that it does not conform to the logical core to which it was previously expected to bind.
For example, since the scheduling component vscaled is not a control program of the container cluster kubernets, when the container cluster kubernets is restarted due to a failure, the instance pod and the logical core may be bound in a default manner, and the instance pod and the logical core are not bound according to the configuration information recorded by the scheduling component vscaled.
In this embodiment, the scheduling component vscaled may periodically query the logical core currently bound by each instance pod in the current node as a reference core.
In general, a second configuration file cgroup may be read from a container of each instance pod, a sequence number in the binding mode may be read from the second configuration file cgroup, and a logical core represented by the sequence number currently bound by each instance pod in the current node may be determined, so as to obtain a reference core.
Of course, in addition to querying the logical core to which the instance pod is currently bound by the second configuration file cgroup of the container, the logical core to which the instance pod is currently bound may also be queried by using the first configuration file cgroup of the instance pod, that is, reading the first configuration file cgroup from each instance pod, reading the sequence number in the binding mode from the first configuration file cgroup, and determining the logical core to which the to-be-deleted instance pod is currently bound and which is represented by the sequence number, so as to obtain the reference score, and the like, which is not limited in this embodiment.
And 308, if the parameter is different from the target core, switching the example from the bound parameter to the bound target core.
For the same instance pod, the reference core is a logic core actually bound, the target core is a logic core expected to be bound, and the scheduling component vscaled can compare the reference core with the target core.
If the reference core is the same as the target core, the fact that the logic core actually bound is the same as the logic core expected to be bound is shown, and the scheduling component vscaled does not process the logic core and waits for the next detection.
If the parameter core is different from the target core, the logic core which indicates the actual binding is different from the logic core which expects the binding, and the scheduling component vscaled switches the instance pod from the binding parameter core to the binding target core, so that the logic core which actually binds is the same as the logic core which expects the binding.
In a specific implementation, the sequence number of the target core may be set to the binding mode cpuiset in the first configuration file cgroup of the instance pod.
And calling a docker update interface to update the sequence number of the target core to a binding mode cpuiset in a second configuration file cgroup of the container in the instance pod, wherein when the container in the instance pod calls the processor to execute the service, the container calls a logic core (namely the target core) corresponding to the sequence number to execute the service according to the binding mode cpuiset in the second configuration file cgroup.
And if the first configuration file cgroup of the instance pod is successfully set and the second configuration file cgroup of the container in the instance pod is successfully updated, determining that the instance pod is successfully bound with the target core.
For the unbound reference cores after switching the bound target core, the state of the reference core may be set to an idle state.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present invention is not limited by the illustrated order of acts, as some steps may occur in other orders or concurrently in accordance with the embodiments of the present invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no particular act is required to implement the invention.
EXAMPLE III
Fig. 4 is a block diagram of a binding apparatus of a processor according to a third embodiment of the present invention, where a node is provided in a container cluster, and an instance and a scheduling component that can accommodate a container are provided in the node, where the apparatus is located in the scheduling component, and specifically includes the following modules:
an update event receiving module 401, configured to receive an update event of the instance, where the update event includes configuration information for a binding processor;
a target core searching module 402, configured to search, in a processor in the node, a logic core that is in an idle state and satisfies the configuration information, as a target core;
a target core binding module 403, configured to bind the instance and the target core if the target core is found.
In an embodiment of the present invention, there is an interface service in the container cluster kubenes, and the update event receiving module 401 includes:
the interface service request submodule is used for sending a Wath request to the interface service so as to subscribe the configuration information of the instance binding processor;
and the interface service receiving submodule is used for receiving the update event sent by the interface service when the configuration information changes.
In an embodiment of the present invention, the target checking module 402 comprises:
a target value reading submodule for reading a target value from the configuration information;
and the quantity searching submodule is used for searching the logic cores which are in an idle state and the quantity of which is the target value in the processor in the node as the target cores.
In an embodiment of the present invention, the target checking module 402 comprises:
the logic core sequencing submodule is used for sequencing the logic cores in a descending order according to the serial numbers of the logic cores in the processors in the nodes;
and the descending search submodule is used for searching the logic core which is in an idle state and meets the configuration information according to the descending sequence, and the logic core is used as a target core.
In an embodiment of the present invention, the target core binding module 403 includes:
the instance setting submodule is used for setting the sequence number of the target core to a binding mode in a first configuration file of the instance;
and the container updating submodule is used for updating the serial number of the target core to the binding mode in the second configuration file of the container.
In an embodiment of the present invention, the target core binding module 403 further includes:
an update failure event generation submodule, configured to generate an update failure event if updating of the second configuration file fails;
and the update failure event binding submodule is used for binding the update failure event to the instance.
In one embodiment of the present invention, further comprising:
and the first state modification module is used for modifying the target core from the idle state to a binding state if the example and the target core are bound successfully.
In one embodiment of the present invention, further comprising:
a binding failure event generating module, configured to generate a binding failure event if the target core is not found;
a binding failure event binding module for binding the binding failure event to the instance.
In one embodiment of the present invention, further comprising:
a deletion event receiving module, configured to receive a deletion event of the instance;
a candidate checking and inquiring module, configured to respond to the deletion event, inquire the currently bound logical core of the instance as a candidate core;
a second state modification module to modify the candidate core from a bound state to an idle state.
In one embodiment of the present invention, further comprising:
the reference checking and inquiring module is used for inquiring the logic core currently bound by the example to be used as a reference;
and the binding switching module is used for switching the example from binding the reference core to binding the target core if the reference core is different from the target core.
The binding device of the processor provided by the embodiment of the invention can execute the binding method of the processor provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the execution method.
Example four
Fig. 5 is a schematic structural diagram of a computer device according to a fourth embodiment of the present invention. FIG. 5 illustrates a block diagram of an exemplary computer device 12 suitable for use in implementing embodiments of the present invention. The computer device 12 shown in FIG. 5 is only an example and should not bring any limitations to the functionality or scope of use of embodiments of the present invention.
As shown in FIG. 5, computer device 12 is in the form of a general purpose computing device. The components of computer device 12 may include, but are not limited to: one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including the system memory 28 and the processing unit 16.
Bus 18 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, such architectures include, but are not limited to, industry Standard Architecture (ISA) bus, micro-channel architecture (MAC) bus, enhanced ISA bus, video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
Computer device 12 typically includes a variety of computer system readable media. Such media may be any available media that is accessible by computer device 12 and includes both volatile and nonvolatile media, removable and non-removable media.
The system memory 28 may include computer system readable media in the form of volatile memory, such as Random Access Memory (RAM) 30 and/or cache memory 32. Computer device 12 may further include other removable/non-removable, volatile/nonvolatile computer system storage media. By way of example only, storage system 34 may be used to read from and write to non-removable, nonvolatile magnetic media (not shown in FIG. 5, and commonly referred to as a "hard drive"). Although not shown in FIG. 5, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 by one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules that are configured to carry out the functions of embodiments of the invention.
A program/utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which examples or some combination thereof may comprise an implementation of a network environment. Program modules 42 generally carry out the functions and/or methodologies of embodiments of the invention as described.
Computer device 12 may also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), with one or more devices that enable a user to interact with computer device 12, and/or with any devices (e.g., network card, modem, etc.) that enable computer device 12 to communicate with one or more other computing devices. Such communication may be through an input/output (I/O) interface 22. Also, computer device 12 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the Internet) via network adapter 20. As shown, network adapter 20 communicates with the other modules of computer device 12 via bus 18. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with computer device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
The processing unit 16 executes various functional applications and data processing, such as implementing a binding method of a processor provided by an embodiment of the present invention, by executing programs stored in the system memory 28.
EXAMPLE five
An embodiment of the present invention further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program implements each process of the binding method for the processor, and can achieve the same technical effect, and in order to avoid repetition, details are not repeated here.
A computer readable storage medium may include, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, 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), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (12)

1. A binding method for a processor, wherein a node is arranged in a container cluster kubenes, an instance capable of containing a container and a scheduling component are arranged in the node, and the method is applied to the scheduling component and comprises the following steps:
receiving an update event for the instance, the update event including configuration information for a binding processor;
searching a logic core which is in an idle state and meets the configuration information in a processor in the node to serve as a target core;
if the target core is found, binding the example and the target core;
wherein said binding the instance to the target core comprises:
setting the sequence number of the target core to a binding mode in a first configuration file of the instance;
and updating the sequence number of the target core to the binding mode in the second configuration file of the container.
2. The method of claim 1, wherein there is an interface service in the container cluster kubenes, and wherein receiving the update event for the instance comprises:
sending a Wath request to the interface service to subscribe to configuration information of the instance binding processor;
and receiving an update event sent by the interface service when the configuration information changes.
3. The method according to claim 1, wherein the finding, in a processor in the node, a logical core that is in an idle state and satisfies the configuration information as a target core comprises:
reading a target value from the configuration information;
and searching the logic cores which are in an idle state and the number of the logic cores is the target value in the processor in the node to serve as the target cores.
4. The method according to claim 1, wherein the finding, in a processor in the node, a logical core that is in an idle state and satisfies the configuration information as a target core comprises:
in a processor in the node, sequencing the logic cores in a descending order according to the serial numbers of the logic cores;
and searching the logic core which is in an idle state and meets the configuration information as a target core according to the sequence after the descending sorting.
5. The method of claim 1, wherein the binding the instance with the target core further comprises:
if the second configuration file fails to be updated, generating an update failure event;
binding the update failure event to the instance.
6. The method of claim 1, further comprising:
and if the example and the target core are bound successfully, modifying the target core from the idle state to a bound state.
7. The method of claim 1, further comprising:
if the target core is not found, generating a binding failure event;
binding the binding failure event to the instance.
8. The method of any one of claims 1-7, further comprising:
receiving a delete event for the instance;
responding to the deletion event, and inquiring the logic core currently bound by the instance as a candidate core;
modifying the candidate core from a bound state to an idle state.
9. The method of any one of claims 1-7, further comprising:
inquiring the logic core currently bound by the instance as a reference;
and if the reference core is different from the target core, switching the example from the binding of the reference core to the binding of the target core.
10. An apparatus for binding a processor, wherein a node is located in a container cluster, and wherein the node has an instance capable of accommodating a container and a scheduling component, the apparatus being located in the scheduling component, comprising:
an update event receiving module for receiving an update event of the instance, the update event including configuration information for a binding processor;
a target checking and finding module, configured to search, in a processor in the node, a logic core that is in an idle state and satisfies the configuration information, as a target core;
a target core binding module, configured to bind the instance and the target core if the target core is found;
wherein the target core binding module comprises:
the example setting submodule is used for setting the serial number of the target core to a binding mode in a first configuration file of the example;
and the container updating submodule is used for updating the sequence number of the target core to the binding mode in the second configuration file of the container.
11. A computer device, characterized in that the computer device comprises:
one or more processors;
a memory for storing one or more programs,
when executed by the one or more processors, cause the one or more processors to implement a binding method for a processor as recited in any of claims 1-9.
12. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out a binding method for the processor according to any one of claims 1-9.
CN202010850810.1A 2020-08-21 2020-08-21 Processor binding method and device, computer equipment and storage medium Active CN112039963B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010850810.1A CN112039963B (en) 2020-08-21 2020-08-21 Processor binding method and device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010850810.1A CN112039963B (en) 2020-08-21 2020-08-21 Processor binding method and device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112039963A CN112039963A (en) 2020-12-04
CN112039963B true CN112039963B (en) 2023-04-07

Family

ID=73581775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010850810.1A Active CN112039963B (en) 2020-08-21 2020-08-21 Processor binding method and device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112039963B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010385B (en) * 2021-03-18 2022-10-28 山东英信计算机技术有限公司 Task state updating method, device, equipment and medium
CN113590313B (en) * 2021-07-08 2024-02-02 杭州网易数之帆科技有限公司 Load balancing method, device, storage medium and computing equipment

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302628A (en) * 2015-12-29 2017-01-04 北京典赞科技有限公司 ARM architecture network cluster calculates the unified management dispatching method of resource
CN106371894A (en) * 2016-08-31 2017-02-01 华为技术有限公司 Collocation method, collocation device and data processing server
CN108279979A (en) * 2018-01-19 2018-07-13 聚好看科技股份有限公司 A kind of method and device for binding CPU for Application Container
CN108351811A (en) * 2015-12-21 2018-07-31 英特尔公司 Dispatch the application of highly-parallel
CN108829509A (en) * 2018-05-03 2018-11-16 山东汇贸电子口岸有限公司 Distributed container cluster framework resources management method based on domestic CPU and operating system
CN110008027A (en) * 2019-04-09 2019-07-12 Oppo广东移动通信有限公司 Operation method, device, terminal and the storage medium of process
CN111176697A (en) * 2020-01-02 2020-05-19 广州虎牙科技有限公司 Service instance deployment method, data processing method and cluster federation
CN111240824A (en) * 2018-11-29 2020-06-05 中兴通讯股份有限公司 CPU resource scheduling method and electronic equipment
CN111488181A (en) * 2020-04-07 2020-08-04 广州虎牙科技有限公司 Task scheduling method and device, storage medium and server

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988872B (en) * 2015-02-03 2020-02-18 阿里巴巴集团控股有限公司 Method and device for CPU resource allocation and electronic equipment
CN109522101B (en) * 2017-09-20 2023-11-14 三星电子株式会社 Method, system and/or apparatus for scheduling multiple operating system tasks
US11102281B2 (en) * 2019-02-15 2021-08-24 International Business Machines Corporation Tool for managing and allocating resources in a clustered computing environment

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108351811A (en) * 2015-12-21 2018-07-31 英特尔公司 Dispatch the application of highly-parallel
CN106302628A (en) * 2015-12-29 2017-01-04 北京典赞科技有限公司 ARM architecture network cluster calculates the unified management dispatching method of resource
CN106371894A (en) * 2016-08-31 2017-02-01 华为技术有限公司 Collocation method, collocation device and data processing server
CN108279979A (en) * 2018-01-19 2018-07-13 聚好看科技股份有限公司 A kind of method and device for binding CPU for Application Container
CN108829509A (en) * 2018-05-03 2018-11-16 山东汇贸电子口岸有限公司 Distributed container cluster framework resources management method based on domestic CPU and operating system
CN111240824A (en) * 2018-11-29 2020-06-05 中兴通讯股份有限公司 CPU resource scheduling method and electronic equipment
CN110008027A (en) * 2019-04-09 2019-07-12 Oppo广东移动通信有限公司 Operation method, device, terminal and the storage medium of process
CN111176697A (en) * 2020-01-02 2020-05-19 广州虎牙科技有限公司 Service instance deployment method, data processing method and cluster federation
CN111488181A (en) * 2020-04-07 2020-08-04 广州虎牙科技有限公司 Task scheduling method and device, storage medium and server

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
docker容器的CPU配置;Zmoooon;《CSDN》;20200418;全文 *
Kubernetes高可用集群的部署实践;盛乐标等;《电脑知识与技术》;20180915(第26期);全文 *
基于Kubernetes调度器的服务质量优化调度算法研究;徐正伦等;《软件导刊》;20181115(第11期);全文 *
虚机容器统一编排管理解决方案;谭飞;潘友才;《装备维修技术》;20200415;全文 *
进程/线程绑定到特定CPU核的linux实现(有代码有实例);速趴赛亚金;《CSDN》;20200107;全文 *

Also Published As

Publication number Publication date
CN112039963A (en) 2020-12-04

Similar Documents

Publication Publication Date Title
CN112199194B (en) Resource scheduling method, device, equipment and storage medium based on container cluster
US10949237B2 (en) Operating system customization in an on-demand network code execution system
US11226847B2 (en) Implementing an application manifest in a node-specific manner using an intent-based orchestrator
US9971823B2 (en) Dynamic replica failure detection and healing
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
CN113296792B (en) Storage method, device, equipment, storage medium and system
JP3301648B2 (en) Communication control system that distributes connections to service access points
US20100138540A1 (en) Method of managing organization of a computer system, computer system, and program for managing organization
US11334372B2 (en) Distributed job manager for stateful microservices
CN112052068A (en) Method and device for binding CPU (central processing unit) of Kubernetes container platform
CN112039963B (en) Processor binding method and device, computer equipment and storage medium
CN116601606A (en) Multi-tenant control plane management on a computing platform
CN112714018B (en) Gateway-based ElasticSearch search service method, system, medium and terminal
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US7140015B1 (en) Microkernel for real time applications
US5790868A (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US8442939B2 (en) File sharing method, computer system, and job scheduler
CN116954816A (en) Container cluster control method, device, equipment and computer storage medium
US20230315531A1 (en) Method of creating container, electronic device and storage medium
CN114615263A (en) Cluster online migration method, device, equipment and storage medium
US20220382601A1 (en) Configuration map based sharding for containers in a machine learning serving infrastructure
CN115063282A (en) GPU resource scheduling method, device, equipment and storage medium
WO2024087663A1 (en) Job scheduling method and apparatus, and chip

Legal Events

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