CN112445569B - Deployment method, device, electronic equipment and storage medium - Google Patents

Deployment method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112445569B
CN112445569B CN201910824466.6A CN201910824466A CN112445569B CN 112445569 B CN112445569 B CN 112445569B CN 201910824466 A CN201910824466 A CN 201910824466A CN 112445569 B CN112445569 B CN 112445569B
Authority
CN
China
Prior art keywords
task execution
main body
priority
execution main
tenant
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
CN201910824466.6A
Other languages
Chinese (zh)
Other versions
CN112445569A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910824466.6A priority Critical patent/CN112445569B/en
Publication of CN112445569A publication Critical patent/CN112445569A/en
Application granted granted Critical
Publication of CN112445569B publication Critical patent/CN112445569B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the disclosure discloses a deployment method, a deployment device, electronic equipment and a storage medium, wherein the method comprises the following steps: receiving a deployment request of a first task execution subject; wherein the deployment request comprises a priority of the first task execution principal; deploying the first task execution subject on physical equipment of a cloud platform according to the deployment request; wherein at least one second task execution subject having a different priority than the first task execution subject is deployable on the physical device; and scheduling resources on the physical equipment for the first task execution main body according to the priority. According to the technical scheme, the resource utilization rate can be improved, meanwhile, a selectable room for resource utilization is provided for the tenant, and the use cost of the tenant can be further reduced.

Description

Deployment method, device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a deployment method, an apparatus, an electronic device, and a storage medium.
Background
The current serious problem of the data center is that the resource utilization rate is extremely low, and the resource utilization rate of the general data center is about 10 percent. Now, as more and more users start to use the cloud platform, since the public cloud is a multi-tenant environment and the user service is close to the black box for the cloud platform, how to improve the utilization rate of physical resources on the cloud platform purchased by the user in the multi-tenant environment is achieved, so that the reduction of the tenant cost is one of the technical problems to be solved at present.
Disclosure of Invention
The embodiment of the disclosure provides a deployment method, a deployment device, electronic equipment and a computer-readable storage medium.
In a first aspect, a deployment method is provided in an embodiment of the present disclosure.
Specifically, the deployment method includes:
receiving a deployment request of a first task execution subject; wherein the deployment request comprises a priority of the first task execution principal;
deploying the first task execution subject on a physical device of a cloud platform according to the deployment request; wherein at least one second task execution subject having a different priority than the first task execution subject is deployable on the physical device;
scheduling resources on the physical device for the first task execution agent according to the priority.
Further, the first task execution body includes at least one of a virtual machine, a Docker container, an application, and a compute function.
Further, the service level targets of the first task execution subjects with different execution priorities on the cloud platform are different.
Further, the physical device comprises a dedicated host exclusively shared by the requester of the deployment request or a shared host shared with other tenants.
Further, deploying the first task execution subject on a physical device of a cloud platform according to the deployment request, including at least one of:
deploying the first task execution principal on a physical device specified in the deployment request;
and selecting the corresponding physical equipment in the cloud platform to deploy the first task execution main body according to the execution priority.
Further, selecting a corresponding physical device in the cloud platform to deploy the first task execution subject according to the execution priority includes:
and selecting corresponding physical equipment in the cloud platform according to the strategy of collocating and deploying the high-priority task execution main body and the low-priority task execution main body on the same physical equipment, and deploying the first task execution main body on the selected physical equipment.
Further, when the priority of the first task execution main body deployed on the same physical device is higher than that of at least one second task execution main body, scheduling resources on the physical device for the first task execution main body according to the execution priority includes:
when the resource utilization rate of the first task execution main body rises to a first preset threshold value, at least one part of resources occupied by the second task execution main body is dispatched to the first task execution main body.
Further, in a case that the first task execution subject deployed on the same physical device has a lower priority than at least one of the second task execution subjects, scheduling resources on the physical device for the first task execution subject according to the execution priority includes at least one of:
when the resource utilization rate of the second task execution main body is reduced to a second preset threshold value, resources are added to the first task execution main body;
and when the memory overflows, recovering the memory resources occupied by the first task execution main body.
In a second aspect, a task configuration method is provided in an embodiment of the present disclosure.
Specifically, the task configuration method includes:
receiving a configuration request of a task execution main body;
exposing at least one priority configurable for the task execution agent;
receiving the priority selected for the task execution agent;
deploying the task execution subject on a physical device of a cloud platform according to the selected priority.
In a third aspect, an embodiment of the present invention provides a deployment apparatus.
Specifically, the deployment device includes:
a first receiving module configured to receive a deployment request of a first task execution subject; wherein the deployment request comprises a priority of the first task execution principal;
a first deployment module configured to deploy the first task execution principal on a physical device of a cloud platform according to the deployment request; wherein at least one second task execution subject having a different priority than the first task execution subject is deployable on the physical device;
a scheduling module configured to schedule resources on the physical device for the first task execution agent according to the priority.
Further, the first task execution body includes at least one of a virtual machine, a Docker container, an application, and a computation function.
Further, the service level targets of the first task execution subjects with different execution priorities on the cloud platform are different.
Further, the physical device comprises a dedicated host dedicated to the requester of the deployment request or a shared host shared with other tenants.
Further, the first deployment module includes at least one of:
a first deployment submodule configured to deploy the first task execution principal on a physical device specified in the deployment request;
and the second deployment submodule is configured to select a corresponding physical device in the cloud platform to deploy the first task execution subject according to the execution priority.
Further, the second deployment submodule includes:
and the third deployment submodule is configured to select corresponding physical equipment in the cloud platform according to a strategy of collocating and deploying of the high-priority task execution main body and the low-priority task execution main body on the same physical equipment, and deploy the first task execution main body on the selected physical equipment.
Further, in a case that the first task execution subject deployed on the same physical device has a higher priority than at least one of the second task execution subjects, the scheduling module includes:
and the scheduling submodule is configured to schedule at least one part of resources currently occupied by the second task execution main body to the first task execution main body when the resource utilization rate of the first task execution main body rises to a first preset threshold value.
Further, in a case that the first task execution subject deployed on the same physical device has a lower priority than at least one of the second task execution subjects, the scheduling module includes at least one of:
a resource increasing sub-module configured to increase resources for the first task execution subject when the resource usage rate of the second task execution subject falls to a second preset threshold;
and the resource recycling submodule is configured to recycle the memory resource occupied by the first task execution main body when the memory overflows.
In a fourth aspect, an embodiment of the present invention provides a task configuration apparatus.
Specifically, the task configuration device includes:
a second receiving module configured to receive a configuration request of the task execution main body;
a presentation module configured to present at least one priority configurable for the task execution agent;
a third receiving module configured to receive the priority selected for the task execution subject;
a second deployment module configured to deploy the task execution agent on a physical device of a cloud platform according to the selected priority.
The functions can be realized by hardware, and the functions can also be realized by executing corresponding software by hardware. The hardware or software includes one or more modules corresponding to the above-described functions.
In one possible design, the structure of the deployment apparatus or the task configuration apparatus includes a memory and a processor, the memory is used for storing one or more computer instructions for supporting the deployment apparatus to execute the deployment method in the first aspect or the task configuration method in the second aspect, and the processor is configured to execute the computer instructions stored in the memory. The deployment device task configuration device may also include a communication interface for the deployment device task configuration device to communicate with other devices or a communication network.
In a fifth aspect, an embodiment of the present disclosure provides an electronic device, including a memory and a processor; wherein the memory is configured to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method of the first aspect and/or the second aspect.
In a sixth aspect, the disclosed embodiments provide a computer-readable storage medium for storing computer instructions for a security authentication apparatus for an enterprise account, which contains computer instructions for performing the deployment method in the first aspect and/or the task configuration method in the second aspect.
The technical scheme provided by the embodiment of the disclosure can have the following beneficial effects:
in the embodiment of the present disclosure, after receiving a deployment request of a first task execution main body, a first task execution main body may be deployed on a physical device in a cloud platform according to a priority configured for the first task execution main body carried in the deployment request by a requester, and a resource on the physical device may be scheduled for the first task execution main body according to the priority of the first task execution main body. By the technical scheme, different priorities can be set for different task execution main bodies based on the request of the tenant, the task execution main bodies with different priorities are deployed on the same physical device, and flexible scheduling of resources is performed among the task execution main bodies with different priorities, so that the resource utilization rate can be improved, meanwhile, a selectable resource use room is provided for the tenant, and the use cost of the tenant can be further reduced.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
Other features, objects, and advantages of the present disclosure will become more apparent from the following detailed description of non-limiting embodiments when taken in conjunction with the accompanying drawings. In the drawings:
FIG. 1 illustrates a flow diagram of a deployment method according to an embodiment of the present disclosure;
FIG. 2 illustrates a flow diagram of a task configuration method according to an embodiment of the present disclosure;
FIG. 3 illustrates a scene application diagram according to an embodiment of the present disclosure;
FIG. 4 shows a block diagram of a deployment device according to an embodiment of the present disclosure;
FIG. 5 shows a block diagram of a task configuration device according to an embodiment of the present disclosure;
FIG. 6 is a schematic structural diagram of an electronic device suitable for use in implementing a deployment method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, exemplary embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement them. Furthermore, parts that are not relevant to the description of the exemplary embodiments have been omitted from the drawings for the sake of clarity.
In the present disclosure, it is to be understood that terms such as "including" or "having," etc., are intended to indicate the presence of the disclosed features, numerals, steps, actions, components, parts, or combinations thereof in the specification, and are not intended to preclude the possibility that one or more other features, numerals, steps, actions, components, parts, or combinations thereof are present or added.
It should also be noted that the embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
FIG. 1 shows a flow diagram of a deployment method according to an embodiment of the present disclosure. As shown in fig. 1, the deployment method includes the following steps S101 to S103:
in step S101, a deployment request of a first task execution subject is received; wherein the deployment request comprises a priority of the first task execution principal;
in step S102, deploying the first task execution subject on a physical device of a cloud platform according to the deployment request; wherein at least one second task execution subject having a different priority than the first task execution subject is deployable on the physical device;
in step S103, resources on the physical device are scheduled for the first task execution entity according to the priority.
In this embodiment, the tenant may deploy a task execution subject on the physical device through the cloud platform, where the task execution subject is used to execute a certain task or certain tasks of the tenant, for example, the task execution subject is used to execute an online application, an offline application, and the like. The physical device in the cloud platform may be a device, such as a computer, a server, or the like, capable of deploying the task execution agent and providing resources required for the task execution agent to execute the task. The cloud platform is also called as a cloud computing platform and is a virtual environment developed for providing self-service, physical equipment at the bottom layer of the cloud platform can be distributed at any position in a network, upper-layer application does not need to care about the specific position of the physical equipment at the bottom layer, and the middle layer of the cloud platform manages the physical equipment at the bottom layer in a unified mode. Cloud platforms can be divided into three categories: the cloud computing platform comprises a storage type cloud platform taking data storage as a main part, a computing type cloud platform taking data processing as a main part and a comprehensive cloud computing platform taking computing and data storage processing into consideration.
In some embodiments, the task execution subjects include, but are not limited to, virtual machines, docker containers, applications, and computing functions, among others; after the virtual machine is deployed on the cloud platform, the virtual machine can be called as a cloud server, and the cloud server is a computing service which is simple, efficient, safe and reliable and has elastically stretchable processing capacity.
In this embodiment, a plurality of task execution main bodies with different priorities may be deployed on the same physical device, and the plurality of task execution main bodies may belong to the same tenant or belong to different tenants. In order to implement isolation of resources between multiple different task execution main bodies deployed on the same physical device, a Cgroup mechanism provided by a Linux kernel may be used, which is a mechanism that can limit, record, and isolate physical resources used by a process group, and specifically relates to CPU isolation, CAT (Cache Allocation Technology), memory isolation, disk IO, network, and the like.
So far, the resource utilization rate of physical devices in a cloud platform is usually about 10%. Therefore, in order to improve the resource utilization rate on the physical device in the cloud platform, the task execution main bodies with different priorities may be deployed on the same physical device based on the request of the tenant, and the resource on the physical device may be flexibly called for the task execution main bodies based on the difference of the priorities. Resources on the physical device include, but are not limited to, CPU, memory, disk I/O, network traffic, etc.
The tenant may determine, in advance, a priority of a first task execution subject to be deployed according to an actual demand, and request the cloud platform to deploy the first task execution subject on the physical device. The priority of the first task execution main body can be divided into a plurality of levels according to actual conditions.
After receiving a deployment request of a tenant, the cloud platform may deploy the first task execution main body on a corresponding physical device, where the physical device may be a dedicated host dedicated to the tenant or a host shared by other tenants, and the physical device may also deploy one or more other task execution main bodies, for example, a second task execution main body, where the second task execution main body may belong to the tenant with the first task execution main body, or belong to other tenants. The priority of the first task execution main body may be different from the priority of the second task execution main body, and in the running process of the first task execution main body and the second task execution main body, the cloud platform may schedule resources on the physical device for the first task execution main body and the second task execution main body respectively according to the priorities.
In some embodiments, the resource scheduling policy may be pre-established according to the priority, and the policy of resource scheduling may include, but is not limited to, that the high-priority task execution subject can immediately preempt the resource of the low-priority task execution subject when the resource demand is raised, and that the low-priority task execution subject can occupy more resources in a resource over-selling manner when the resource demand of the high-priority task execution subject is not high.
For example, when a task execution main body with a high priority needs to use a CPU resource, if the CPU resource is just occupied by a task execution main body with a low priority, the kernel CPU scheduler may enable the task execution main body with a high priority to immediately preempt the CPU of the task execution main body with a low priority, so that the scheduling delay of the task execution main body with a high priority to the CPU is reduced to the minimum; in addition, the memory can also be configured to be dynamically adjusted, in daily operation, the high-priority task execution main body can deploy online application, the low-priority task execution main body can deploy offline application, the memory actually used by the online application is generally not high, and the offline application generally executes a large number of computing tasks, so that the memory requirement is very large; therefore, by monitoring the actual memory usage, under the condition that the memory usage rate of the high-priority task execution main body is low, a part of the low-priority task execution main body is operated in a mode of over-selling the online memory; when the memory utilization rate of the high-priority task execution main body rises, the over-selling operation of the low-priority task execution main body is quickly recycled, and the memory is returned to the high-priority task execution main body in time. Besides, the Memory can be dynamically over-sold, a priority policy for recovering processes in an OOM (Out Of Memory), that is, a priority for recovering over-sold job processes Of a low-priority task execution subject is also configured.
In the embodiment of the present disclosure, after receiving a deployment request of a first task execution main body, the first task execution main body may be deployed on a physical device in a cloud platform according to a priority, carried in the deployment request by a requester, configured for the first task execution main body, and a resource on the physical device may be scheduled for the first task execution main body according to the priority of the first task execution main body. By the technical scheme, different priorities can be set for different task execution main bodies based on the request of the tenant, the task execution main bodies with different priorities are deployed on the same physical device, and flexible scheduling of resources is performed among the task execution main bodies with different priorities, so that the resource utilization rate can be improved, meanwhile, a selectable option for resource use is provided for the tenant, and the use cost of the tenant can be further reduced.
In an optional implementation manner of this embodiment, the first task execution body includes at least one of a virtual machine, a Docker container, an application, and a computation function.
In this optional implementation manner, the tenant may configure, according to a requirement of the tenant, a priority of the first task execution main body to be deployed through the cloud platform, and send a deployment request of the first task execution main body to the cloud platform, so that the cloud platform can deploy the first task execution main body on the corresponding physical device according to the priority configured by the tenant.
The virtual machine is a complete computer system which has the function of a complete hardware system and runs in a completely isolated environment through software simulation, is deployed on physical equipment in a cloud platform and can provide cloud services for users. For example, the tenant is an e-commerce, and the e-commerce platform thereof can be deployed on a physical device in a cloud platform through a virtual machine, so that the e-commerce platform can provide functions of online shopping and the like for a user.
Docker is an open source application container engine that allows developers to package their applications and dependencies into a portable container and then distribute them to any popular Linux machine. Thus, the tenant may place its applications in a Docker container and deploy on physical devices of the cloud platform. Similarly, the tenant may also deploy an application, a computing function, and the like developed by the tenant to the physical device of the cloud platform, and run a task borne by the application and the computing function using the resource on the physical device.
In an optional implementation manner of this embodiment, the service level targets of the first task execution subjects with different execution priorities on the cloud platform are different.
In this optional implementation manner, the Service Level Object (SLO) refers to a Service Level that can be provided by the cloud platform for the first task execution main body, for example, a performance index that can be reached when the first task execution main body runs on a physical device of the cloud platform. Therefore, when purchasing the cloud service, the tenant may select to purchase a high-priority service or a low-priority service based on its own requirements, that is, performance indexes that the first task execution main body needs to reach, and after selecting the high-priority service, the tenant may configure the priority of the first task execution main body to be a high priority, and after being deployed on the physical device of the cloud platform, may schedule resources on the physical device for the first task execution main body with a high priority standard; after selecting the low-priority service, the tenant may configure the priority of the first task execution main body as the low priority, and may schedule the resource on the physical device for the first task execution main body with the low priority standard after the tenant is deployed on the physical device of the cloud platform. As is well known, the higher the service level objective is, the higher the cost that needs to be spent is, and by this way of the present disclosure, a tenant can select a suitable service level objective based on its own needs, for example, when a first task execution subject of the tenant is used to run an offline computing task, the tenant can select a cloud service with a lower service level objective, which can reduce the cost of the tenant for using the cloud service.
In an optional implementation manner of this embodiment, the physical device includes a dedicated host dedicated to the requester of the deployment request or a shared host shared with other tenants.
In this alternative implementation, the requester of the deployment request may be a tenant requesting deployment of the first task execution principal. The special host is a physical server which is exclusively shared by the tenants, and through the technical means of the embodiment of the disclosure, resources on the physical equipment are fully utilized, so that the cost of the tenants can be reduced, and if the resource rate of the special host is increased from 10% to 30%, the cost of the tenants can be reduced by 66%. Therefore, in order to reduce the cost of the tenant, a plurality of task execution subjects with different priorities can be deployed on one special host, and machine resources on the special host are scheduled through the priorities.
For example, the online application is configured as a high-priority task execution main body, and the offline computing task is configured as a low-priority task execution main body, and in a normal case, a peak time of the online application is in the daytime, and a peak time of the online application is in the night, and resources required in the daytime are higher than resources required in the night, so that in the peak time of the high-priority task execution main body, that is, in a time period when the resource usage rate is not high, more resources can be scheduled for the low-priority task execution main body, so that the low-priority task execution main body can use the time period to accelerate the execution of the computing task, and in the peak time of the high-priority task execution main body, the resources occupied by the low-priority task execution main body can be immediately scheduled to the high-priority task execution main body after the resource usage rate is increased by the high-priority task execution main body. It should be noted that, in the process of scheduling resources by priority, it is assumed that the service level target of the task execution main body is to be guaranteed, and resources are fully used by scheduling manners such as resource preemption and over-selling between the high-priority and low-priority task execution main bodies, thereby reducing the cost.
In an optional implementation manner of this embodiment, the step S102 of deploying the first task execution subject on a physical device of a cloud platform according to the deployment request further includes one of the following steps:
deploying the first task execution principal on a physical device specified in the deployment request;
and selecting the corresponding physical equipment in the cloud platform to deploy the first task execution subject according to the execution priority.
In this optional implementation, when initiating the deployment request, the tenant may further designate a physical device in the cloud platform. For example, in a case where a tenant owns a dedicated host in a cloud platform, the tenant may designate one of the dedicated hosts to deploy the first task execution subject. And under the condition that the tenant does not specify the physical device, the cloud platform can select one from the physical devices which can be used by the tenant to deploy according to the priority of the first task execution main body, and the selection principle is to deploy the task execution main bodies with different priorities on the same physical device as much as possible, and deploy the task execution main bodies with the same priority on different physical devices. For example, when the priority of the first task execution subject is higher, a physical device that has no task execution subject deployed or a physical device that has a task execution subject with a low priority deployed may be selected; when the priority of the first task execution subject is lower, the physical device on which no task execution subject is deployed or the physical device on which a high-priority task execution subject is deployed may be selected.
In an optional implementation manner of this embodiment, the step of selecting, according to the execution priority, a corresponding physical device in the cloud platform to deploy the first task execution subject further includes the following steps:
and selecting corresponding physical equipment in the cloud platform according to the strategy of collocating and deploying the high-priority task execution main body and the low-priority task execution main body on the same physical equipment, and deploying the first task execution main body on the selected physical equipment.
In this alternative implementation, the strategy for collocating and deploying the high-priority task execution main body and the low-priority task execution main body may be understood as that the high-priority task execution main body and the low-priority task execution main body are deployed on the same physical device at the same time. In the process of executing the policy, one of the physical devices having the usage right of the tenant may be selected according to the priority of the first task execution subject, and at least one second task execution subject having a different priority from the first task execution subject may be deployed on the selected physical device, or when there is no physical device having a second task execution subject having a different priority from the first task execution subject, a physical device not having a task execution subject deployed may be selected.
In an optional implementation manner of this embodiment, when the priority of the first task execution main body deployed on the same physical device is higher than that of at least one of the second task execution main bodies, the step S103 of scheduling resources on the physical device for the first task execution main body according to the execution priority further includes the following steps:
when the resource utilization rate of the first task execution main body rises to a first preset threshold value, at least one part of resources occupied by a second task execution main body are dispatched to the first task execution main body.
In this alternative implementation, the resource utilization includes, but is not limited to, a memory utilization rate, a CPU utilization rate, a network bandwidth occupancy rate, and the like. After the resource utilization rate of the first task execution main body is increased, the resources of the second task execution main body with the priority lower than that of the first task execution main body can be preempted, that is, the cloud platform can schedule part of the resources currently occupied by the second task execution main body to the first task execution main body for use, so that the normal operation state of the first task execution main body with the high priority can be ensured. For example, when the first task execution main body runs the online application, more CPU resources may be occupied during a peak period, and at this time, at least a part of the CPU resources currently occupied by the second task execution main body with a low priority may be scheduled to the first task execution main body, so as to ensure a low latency of the first task execution main body.
In an optional implementation manner of this embodiment, in a case that the priority of the first task execution main body deployed on the same physical device is lower than that of at least one of the second task execution main bodies, the step S103 that schedules the resource on the physical device for the first task execution main body according to the execution priority further includes one of the following steps:
when the resource utilization rate of the second task execution main body is reduced to a second preset threshold value, adding resources to the first task execution main body;
and when the memory overflows, recovering the memory resources occupied by the first task execution main body.
In this optional implementation manner, when the priority of the second task execution main body deployed on the same physical device is higher and the current resource utilization rate of the second task execution main body is lower, more resources may be scheduled for the first task execution main body, so that the first task execution main body may run in a reselling manner. After the resource utilization rate of the second task execution subject is increased, the over-selling resources of the first task execution subject can be recovered.
In addition, when the memory overflows, the contents of the task execution subject with the low priority can be preferentially collected. When the priority of the first task execution main body is lower than the priority of the second task execution main body deployed on the same physical device, the partial memory occupied by the first task execution main body can be preferentially recycled under the condition of memory overflow.
Fig. 2 shows a flowchart of a task configuration method according to another embodiment of the present disclosure. As shown in fig. 2, the task configuration method includes the following steps:
in step S201, a configuration request of a task execution subject is received;
in step S202, at least one priority configurable for the task execution subject is presented;
in step S203, receiving the priority selected for the task execution subject;
in step S204, the task execution subject is deployed on a physical device of a cloud platform according to the selected priority.
In this embodiment, the task execution body includes, but is not limited to, a virtual machine, a Docker container, an application, a computation function, and the like; after the virtual machine is deployed on the cloud platform, the virtual machine can be called as a cloud server, and the cloud server is a computing service which is simple, efficient, safe and reliable and has elastically stretchable processing capacity.
A plurality of task execution main bodies with different priorities can be deployed on the same physical device, and the plurality of task execution main bodies can belong to the same tenant or different tenants. In order to implement isolation of resources between multiple different task execution main bodies deployed on the same physical device, a Cgroup mechanism provided by a Linux kernel may be used, which is a mechanism that can limit, record, and isolate physical resources used by a process group, and specifically relates to CPU isolation, CAT (Cache Allocation Technology), memory isolation, disk IO, network, and the like.
When a tenant needs to perform one or more tasks, such as running an online application or an offline computing task, using physical resources of the cloud platform, the tenant may order physical resources in the cloud platform through the client, such as physical resources on the entire physical device in the cloud platform, or partial physical resources on one or more physical devices. Physical resources may include, but are not limited to, CPU, memory, disk I/O, network traffic, etc.
In order to improve the utilization rate of the physical devices on the cloud platform, the embodiment supports the deployment of task execution subjects, such as virtual machines, with different priorities on the same physical device. The physical resources that can be occupied by task execution bodies with different priorities in different time periods can be dynamically changed. For example, a high priority task execution master may preempt the physical resources of a low priority task execution master, while a low priority task execution master may use more physical resources when a high priority task execution master is idle, and so on.
The tenant can configure the corresponding priority of the task execution main body to be deployed according to the requirement of the tenant. After ordering the physical resources, when the tenant requests to configure the task execution main body, the client can show the optional priority of the task execution main body configurable on the ordered physical resources for the user, after the client receives the priority to be configured selected by the tenant, the task execution main body is deployed on the physical equipment according to the request of the tenant, other task execution main bodies can be deployed on the physical equipment, and the priorities of the other task execution main bodies and the task execution main body can be different.
For specific details, reference may also be made to the description of the deployment method in the embodiment shown in fig. 1 and the related embodiments, which are not described herein again.
Fig. 3 illustrates a scene application diagram according to an embodiment of the present disclosure. As shown in fig. 3, a tenant 301 deploys a virtual machine 3041 through a client 302, the client 302 sends a request of a user to a cloud platform 303, the cloud platform 303 deploys the virtual machine 3041 to one of the servers 304 according to the request of the user, and sets a priority of the virtual machine 3041 as a priority configured by the user. The cloud platform 303 corresponds to m servers, and one or more virtual machines may be deployed on each server, and the priorities of the one or more virtual machines may be different.
The following are embodiments of the disclosed apparatus that may be used to perform embodiments of the disclosed methods.
Fig. 4 shows a block diagram of a deployment apparatus according to an embodiment of the present disclosure, which may be implemented as part or all of an electronic device by software, hardware, or a combination of both. As shown in fig. 4, the deployment apparatus includes:
a first receiving module 401 configured to receive a deployment request of a first task execution subject; wherein the deployment request comprises a priority of the first task execution principal;
a first deployment module 402 configured to deploy the first task execution principal on a physical device of a cloud platform according to the deployment request; wherein at least one second task execution subject having a different priority than the first task execution subject is deployable on the physical device;
a scheduling module 403 configured to schedule resources on the physical device for the first task execution master according to the priority.
In this embodiment, the tenant may deploy a task execution subject on the physical device through the cloud platform, where the task execution subject is used to execute some task or tasks of the tenant, for example, the task execution subject is used to execute an online application, an offline application, and the like. The physical device in the cloud platform may be a device, such as a computer, a server, or the like, capable of deploying the task execution agent and providing resources required for the task execution agent to execute the task. The cloud platform is also called a cloud computing platform and is a virtual environment developed for providing self-service, physical equipment at the bottom layer of the cloud platform can be distributed at any position in a network, upper-layer application does not need to care about the specific position of the physical equipment at the bottom layer, and the middle layer of the cloud platform uniformly manages the physical equipment at the bottom layer. Cloud platforms can be divided into three categories: the cloud computing platform comprises a storage type cloud platform taking data storage as a main part, a computing type cloud platform taking data processing as a main part and a comprehensive cloud computing platform taking computing and data storage processing into consideration.
In some embodiments, the task execution subjects include, but are not limited to, virtual machines, docker containers, applications, and computing functions, among others; after the virtual machine is deployed on the cloud platform, the virtual machine can be called as a cloud server, and the cloud server is a computing service which is simple, efficient, safe and reliable and has elastically stretchable processing capacity.
In this embodiment, a plurality of task execution main bodies with different priorities may be deployed on the same physical device, and the plurality of task execution main bodies may belong to the same tenant or belong to different tenants. In order to implement isolation of resources between multiple different task execution main bodies deployed on the same physical device, a Cgroup mechanism provided by a Linux kernel may be used, which is a mechanism that can limit, record, and isolate physical resources used by a process group, and specifically relates to CPU isolation, CAT (Cache Allocation Technology), memory isolation, disk IO, network, and the like.
So far, the resource utilization rate of physical devices in a cloud platform is usually about 10%. Therefore, in order to improve the resource utilization rate on the physical device in the cloud platform, the task execution subjects with different priorities may be deployed on the same physical device based on the request of the tenant, and the resource on the physical device may be flexibly called for the task execution subjects based on the difference of the priorities. Resources on the physical device include, but are not limited to, CPU, memory, disk I/O, network traffic, etc.
The tenant may determine in advance a priority of a first task execution subject to be deployed according to an actual demand, and request the cloud platform to deploy the first task execution subject on the physical device. The priority of the first task execution main body can be divided into a plurality of levels according to actual conditions.
After receiving a deployment request of a tenant, the cloud platform may deploy the first task execution main body on a corresponding physical device, where the physical device may be a dedicated host dedicated to the tenant or a host shared by other tenants, and the physical device may also deploy one or more other task execution main bodies, for example, a second task execution main body, where the second task execution main body may belong to the tenant with the first task execution main body, or belong to other tenants. The priority of the first task execution main body may be different from the priority of the second task execution main body, and in the running process of the first task execution main body and the second task execution main body, the cloud platform may schedule resources on the physical device for the first task execution main body and the second task execution main body respectively according to the priorities.
In some embodiments, the resource scheduling policy may be pre-established according to the priority, and the policy of resource scheduling may include, but is not limited to, that the high-priority task execution subject can immediately preempt the resource of the low-priority task execution subject when the resource demand is raised, and that the low-priority task execution subject can occupy more resources in a resource over-selling manner when the resource demand of the high-priority task execution subject is not high.
For example, when a task execution main body with a high priority needs to use a CPU resource, if the CPU resource is just occupied by a task execution main body with a low priority, the kernel CPU scheduler may enable the task execution main body with a high priority to immediately preempt the CPU of the task execution main body with a low priority, so that the scheduling delay of the task execution main body with a high priority to the CPU is reduced to the minimum; in addition, the memory can also be configured to be dynamically adjusted, in daily operation, the high-priority task execution main body can deploy online application, the low-priority task execution main body can deploy offline application, the memory actually used by the online application is not high in general, and the offline application generally executes a large number of computing tasks, so that the memory requirement is very large; therefore, by monitoring the actual memory usage, under the condition that the memory usage rate of the high-priority task execution main body is low, a part of the low-priority task execution main body is operated in a mode of over-selling the online memory; when the memory utilization rate of the high-priority task execution main body rises, the over-selling operation of the low-priority task execution main body is quickly recycled, and the memory is returned to the high-priority task execution main body in time. Besides, the Memory can be dynamically over-sold, a priority policy for recovering processes in the case Of an OOM (Out Of Memory), that is, a priority for recovering over-sold job processes Of a task execution subject with a low priority in the case Of an OOM (Out Of Memory) may be configured.
In the embodiment of the present disclosure, after receiving a deployment request of a first task execution main body, the first task execution main body may be deployed on a physical device in a cloud platform according to a priority, carried in the deployment request by a requester, configured for the first task execution main body, and a resource on the physical device may be scheduled for the first task execution main body according to the priority of the first task execution main body. By the technical scheme, different priorities can be set for different task execution main bodies based on the request of the tenant, the task execution main bodies with different priorities are deployed on the same physical device, and flexible scheduling of resources is performed among the task execution main bodies with different priorities, so that the resource utilization rate can be improved, meanwhile, a selectable option for resource use is provided for the tenant, and the use cost of the tenant can be further reduced.
In an optional implementation manner of this embodiment, the first task execution body includes at least one of a virtual machine, a Docker container, an application, and a calculation function.
In this optional implementation manner, the tenant may configure, according to a requirement of the tenant, a priority of the first task execution main body to be deployed through the cloud platform, and send a deployment request of the first task execution main body to the cloud platform, so that the cloud platform can deploy the first task execution main body on the corresponding physical device according to the priority configured by the tenant.
The virtual machine is a complete computer system which has the function of a complete hardware system and runs in a completely isolated environment through software simulation, is deployed on physical equipment in a cloud platform and can provide cloud services for users. For example, the tenant is an e-commerce, and the e-commerce platform thereof can be deployed on a physical device in the cloud platform through a virtual machine, so that the e-commerce platform can provide functions such as online shopping for a user.
Docker is an open source application container engine that allows developers to package their applications and dependencies into a portable container and then release them to any popular Linux machine. Thus, the tenant may place its applications in a Docker container and deploy them on physical devices of the cloud platform. Similarly, the tenant may also deploy an application, a computing function, and the like developed by the tenant to the physical device of the cloud platform, and run a task borne by the application and the computing function using the resource on the physical device.
In an optional implementation manner of the embodiment, the service level objectives of the first task execution subjects with different execution priorities on the cloud platform are different.
In this optional implementation manner, the Service Level Object (SLO) refers to a Service Level that can be provided by the cloud platform for the first task execution main body, for example, a performance index that can be reached when the first task execution main body runs on a physical device of the cloud platform. Therefore, when purchasing the cloud service, the tenant may select to purchase a high-priority service or a low-priority service based on its own requirements, that is, performance indexes that the first task execution main body needs to reach, and after selecting the high-priority service, the tenant may configure the priority of the first task execution main body as the high priority, and may schedule resources on the physical device for the first task execution main body with the high-priority standard after deploying on the physical device of the cloud platform; after the low-priority service is selected, the tenant may configure the priority of the first task execution main body to be the low priority, and then may schedule the resource on the physical device for the first task execution main body with the low priority standard after being deployed on the physical device of the cloud platform. As is well known, the higher the service level objective is, the higher the cost that needs to be spent, and by this way of the present disclosure, a tenant may select an appropriate service level objective based on its own needs, for example, when a first task execution subject of the tenant is used to run an offline computing task, the tenant may select a cloud service with a lower service level objective, which may reduce the cost of the tenant for using the cloud service.
In an optional implementation manner of this embodiment, the physical device includes a dedicated host dedicated to the requester of the deployment request or a shared host shared with other tenants.
In this alternative implementation, the requester of the deployment request may be a tenant requesting deployment of the first task execution principal. The special host is a physical server which is exclusively shared by the tenants, and through the technical means of the embodiment of the disclosure, resources on the physical equipment are fully utilized, so that the cost of the tenants can be reduced, and if the resource rate of the special host is increased from 10% to 30%, the cost of the tenants can be reduced by 66%. Therefore, in order to reduce the cost of tenants, a plurality of task execution subjects with different priorities can be deployed on one special host, and machine resources on the special host are scheduled through the priorities.
For example, the online application is configured as a high-priority task execution main body, and the offline computing task is configured as a low-priority task execution main body, and in a normal case, the peak time of the online application is in the daytime, and the peak time is in the night, and the resources required by the online application in the daytime are higher than those required by the offline computing task in the night, so that in the peak time of the high-priority task execution main body, that is, in a period where the resource usage rate is not high, more resources can be scheduled for the low-priority task execution main body, so that the low-priority task execution main body can use the time period to accelerate the execution of the computing task, and in the peak time of the high-priority task execution main body, the resources occupied by the low-priority task execution main body can be immediately scheduled to the high-priority task execution main body after the resource usage rate is increased by the high-priority task execution main body. It should be noted that, in the process of scheduling resources by priority, it is assumed that the service level target of the task execution main body is to be guaranteed, and resources are fully used by scheduling modes such as resource preemption and over-sale between the task execution main bodies with high and low priorities, thereby reducing the cost.
In an optional implementation manner of this embodiment, the first deployment module 402 further includes at least one of the following:
a first deployment submodule configured to deploy the first task execution principal on a physical device specified in the deployment request;
and the second deployment submodule is configured to select a corresponding physical device in the cloud platform to deploy the first task execution subject according to the execution priority.
In this optional implementation, when initiating the deployment request, the tenant may further designate a physical device in the cloud platform. For example, in a case where a tenant owns a dedicated host in a cloud platform, the tenant may designate one of the dedicated hosts to deploy the first task execution subject. And under the condition that the tenant does not designate physical equipment, the cloud platform can select one from the physical equipment which can be used by the tenant to deploy according to the priority of the first task execution main body, and the selection principle is to deploy the task execution main bodies with different priorities on the same physical equipment as much as possible, and deploy the task execution main bodies with the same priority on different physical equipment. For example, when the priority of the first task execution subject is higher, a physical device that is not deployed with any task execution subject or a physical device that is deployed with a low-priority task execution subject may be selected; when the priority of the first task execution subject is lower, the physical device on which no task execution subject is deployed or the physical device on which a high-priority task execution subject is deployed may be selected.
In an optional implementation manner of this embodiment, the second deployment sub-module includes:
and the third deployment submodule is configured to select corresponding physical equipment in the cloud platform according to a strategy of collocating and deploying of the high-priority task execution main body and the low-priority task execution main body on the same physical equipment, and deploy the first task execution main body on the selected physical equipment.
In this alternative implementation, the strategy for collocating and deploying the high-priority task execution main body and the low-priority task execution main body may be understood as that the high-priority task execution main body and the low-priority task execution main body are deployed on the same physical device at the same time. In the process of executing the policy, one of the physical devices having the usage right of the tenant may be selected according to the priority of the first task execution subject, and at least one second task execution subject having a different priority from the first task execution subject may be deployed on the selected physical device, or when there is no physical device having a second task execution subject having a different priority from the first task execution subject, a physical device not having a task execution subject deployed may be selected.
In an optional implementation manner of this embodiment, in a case that the priority of the first task execution main body deployed on the same physical device is higher than that of at least one of the second task execution main bodies, the scheduling module 403 includes:
and the scheduling submodule is configured to schedule at least one part of resources currently occupied by the second task execution main body to the first task execution main body when the resource utilization rate of the first task execution main body rises to a first preset threshold value.
In this alternative implementation, the resource usage includes, but is not limited to, memory usage, CPU usage, network bandwidth occupancy, and the like. After the resource utilization rate of the first task execution main body is improved, the resources of the second task execution main body with the priority lower than that of the first task execution main body can be preempted, namely, the cloud platform can schedule part of the resources currently occupied by the second task execution main body to the first task execution main body for use, so that the normal running state of the first task execution main body with the high priority can be ensured. For example, when the first task execution main body runs the online application, more CPU resources may be occupied during a peak period, and at this time, at least a part of the CPU resources currently occupied by the second task execution main body with a low priority may be scheduled to the first task execution main body, so as to ensure a low latency of the first task execution main body.
In an optional implementation manner of this embodiment, in a case that the first task execution main body deployed on the same physical device has a lower priority than at least one of the second task execution main bodies, the scheduling module 403 includes at least one of:
a resource increasing sub-module configured to increase resources for the first task execution subject when the resource usage rate of the second task execution subject falls to a second preset threshold;
and the resource recycling submodule is configured to recycle the memory resource occupied by the first task execution main body when the memory overflows.
In this optional implementation manner, when the priority of the second task execution main body deployed on the same physical device is higher and the current resource utilization rate of the second task execution main body is lower, more resources may be scheduled for the first task execution main body, so that the first task execution main body may run in a reselling manner. After the resource utilization rate of the second task execution subject is increased, the over-selling resources of the first task execution subject can be recovered.
In addition, when the memory overflows, the contents of the task execution subjects of low priority can be preferentially collected. When the priority of the first task execution main body is lower than the priority of the second task execution main body deployed on the same physical device, the partial memory occupied by the first task execution main body can be preferentially recycled under the condition of memory overflow.
Fig. 5 shows a block diagram of a task configuration device according to an embodiment of the present disclosure, which may be implemented as part or all of an electronic device by software, hardware, or a combination of both. As shown in fig. 5, the task configuration device includes:
a second receiving module 501 configured to receive a configuration request of a task execution subject;
a presentation module 502 configured to present at least one priority configurable for the task execution agent;
a third receiving module 503 configured to receive the priority selected for the task execution subject;
a second deployment module 504 configured to deploy the task execution agent on a physical device of a cloud platform according to the selected priority.
In this embodiment, the task execution subject includes, but is not limited to, a virtual machine, a Docker container, an application, a calculation function, and the like; after the virtual machine is deployed on the cloud platform, the virtual machine can be called as a cloud server, and the cloud server is a computing service which is simple, efficient, safe and reliable and has elastically stretchable processing capacity.
A plurality of task execution main bodies with different priorities can be deployed on the same physical device, and the plurality of task execution main bodies can belong to the same tenant or different tenants. In order to implement isolation of resources between a plurality of different task execution subjects deployed on the same physical device, a Cgroup mechanism provided by a Linux kernel may be used, which is a mechanism capable of limiting, recording, and isolating physical resources used by a process group, and specifically relates to CPU isolation, CAT (Cache Allocation Technology), memory isolation, disk IO, network, and the like.
When a tenant needs to perform one or more tasks using physical resources of the cloud platform, for example, running an online application or an offline computing task, the tenant may order physical resources in the cloud platform through the client, for example, may order physical resources on the entire physical device in the cloud platform, or may order partial physical resources on one or more physical devices. Physical resources may include, but are not limited to, CPU, memory, disk I/O, network traffic, etc.
In order to improve the utilization rate of the physical devices on the cloud platform, the embodiment supports deploying task execution subjects with different priorities, such as virtual machines, on the same physical device. The physical resources that can be occupied by task execution bodies with different priorities in different time periods can be dynamically changed. For example, a high priority task execution master may preempt the physical resources of a low priority task execution master, while a low priority task execution master may use more physical resources when a high priority task execution master is idle, and so on.
The tenant can configure the corresponding priority of the task execution main body to be deployed according to the requirement of the tenant. After ordering the physical resources, when the tenant requests to configure the task execution main body, the client can show the selectable priority of the task execution main body configurable on the ordered physical resources for the user, after the client receives the priority to be configured selected by the tenant, the task execution main body is deployed on the physical equipment according to the request of the tenant, other task execution main bodies can be deployed on the physical equipment, and the priorities of the other task execution main bodies and the task execution main body can be different.
For specific details, reference may also be made to the description of the deployment apparatus in the embodiment shown in fig. 2 and the related embodiments, which are not described herein again.
FIG. 6 is a schematic structural diagram of an electronic device suitable for use in implementing a deployment method in accordance with embodiments of the present disclosure.
As shown in fig. 6, the electronic apparatus 600 includes a Central Processing Unit (CPU) 601 that can execute various processes in the embodiment shown in fig. 1 described above according to a program stored in a Read Only Memory (ROM) 602 or a program loaded from a storage section 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The CPU601, ROM602, and RAM603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
The following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, and the like; an output portion 607 including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage section 608 including a hard disk and the like; and a communication section 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the internet. A driver 610 is also connected to the I/O interface 605 as needed. A removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 610 as necessary, so that the computer program read out therefrom is mounted in the storage section 608 as necessary.
In particular, according to embodiments of the present disclosure, the methods in the embodiments above with reference to the present disclosure may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program tangibly embodied on a medium readable thereby, the computer program comprising program code for performing the methods of embodiments of the present disclosure. In such an embodiment, the computer program may be downloaded and installed from a network through the communication section 609 and/or installed from the removable medium 611.
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 disclosure. In this regard, each block in the flowcharts or block diagrams may represent a module, a program segment, or a portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, 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 which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units or modules described in the embodiments of the present disclosure may be implemented by software or hardware. The units or modules described may also be provided in a processor, and the names of the units or modules do not in some cases constitute a limitation of the units or modules themselves.
As another aspect, the present disclosure also provides a computer-readable storage medium, which may be the computer-readable storage medium included in the apparatus in the above embodiment; or it may be a separate computer readable storage medium not incorporated into the device. The computer readable storage medium stores one or more programs for use by one or more processors in performing the methods described in the present disclosure.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is possible without departing from the inventive concept. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (20)

1. A method of deployment, comprising:
receiving a deployment request of a first task execution subject; the deployment request comprises the priority of the first task execution main body, and the priority of the first task execution main body is configured according to a service level target which the first task execution main body needs to reach on a cloud platform, wherein when a tenant requests to configure the task execution main body after ordering physical resources, the client displays the selectable priority of the task execution main body which can be configured on the ordered physical resources for the tenant;
deploying the first task execution subject on physical equipment of a cloud platform according to the deployment request; the physical equipment can be used for deploying at least one second task execution main body with the priority different from that of the first task execution main body, the task execution main bodies with different priorities are deployed on the same physical equipment as much as possible, and the task execution main bodies with the same priority are deployed on different physical equipment; the physical device comprises a dedicated host machine which is exclusively shared by the tenant, the dedicated host machine provides physical resources ordered by the tenant, and the first task execution main body and the at least one second task execution main body both belong to the tenant;
and scheduling the resources on the physical equipment for the first task execution main body according to the priority, on the premise of ensuring the service level target of the first task execution main body, preempting the resources of the low-priority task execution main body on the physical equipment in the peak period, and providing the over-selling resources for the low-priority task execution main body on the physical equipment in the peak period.
2. The method of claim 1, wherein the first task execution body comprises at least one of a virtual machine, a Docker container, an application, and a computation function.
3. The method of claim 1, wherein the first task execution principal of different execution priorities has different service level objectives on the cloud platform.
4. The method of any of claims 1-3, wherein deploying the first task execution principal on a physical device of a cloud platform in accordance with the deployment request comprises at least one of:
deploying the first task execution principal on a physical device specified in the deployment request;
and selecting corresponding physical equipment in the cloud platform to deploy the first task execution main body according to the execution priority.
5. The method of claim 4, wherein selecting the corresponding physical device in the cloud platform to deploy the first task execution principal according to the execution priority comprises:
and selecting corresponding physical equipment in the cloud platform according to the strategy of collocating and deploying the high-priority task execution main body and the low-priority task execution main body on the same physical equipment, and deploying the first task execution main body on the selected physical equipment.
6. The method according to any of claims 1-3 and 5, wherein in case that the first task execution master deployed on the same physical device has a higher priority than at least one of the second task execution masters, scheduling resources on the physical device for the first task execution master according to the execution priority comprises:
when the resource utilization rate of the first task execution main body rises to a first preset threshold value, at least one part of resources occupied by the second task execution main body is dispatched to the first task execution main body.
7. The method according to any of claims 1-3, 5, wherein in case that the first task execution entity deployed on the same physical device has a lower priority than at least one of the second task execution entities, scheduling resources on the physical device for the first task execution entity according to the execution priority comprises at least one of:
when the resource utilization rate of the second task execution main body is reduced to a second preset threshold value, adding resources to the first task execution main body;
and when the memory overflows, recovering the memory resources occupied by the first task execution main body.
8. A method of deployment, comprising:
receiving a deployment request of a first task execution subject; the deployment request comprises the priority of the first task execution main body, and the priority of the first task execution main body is configured according to a service level target which the first task execution main body needs to reach on a cloud platform, wherein when a tenant requests to configure the task execution main body after ordering physical resources, the client displays the selectable priority of the task execution main body which can be configured on the ordered physical resources for the tenant;
deploying the first task execution subject on a physical device of a cloud platform according to the deployment request; the physical equipment can be used for deploying at least one second task execution main body with the priority different from that of the first task execution main body, the task execution main bodies with different priorities are deployed on the same physical equipment as much as possible, and the task execution main bodies with the same priority are deployed on different physical equipment; the physical device comprises a shared host shared by the tenant and other tenants, the shared host provides physical resources ordered by the tenant, and the at least one second task execution subject belongs to other tenants;
and scheduling the resources on the physical equipment for the first task execution main body according to the priority, on the premise of ensuring the service level target of the first task execution main body, preempting the resources of the low-priority task execution main body on the physical equipment in the peak period, and providing the over-selling resources for the low-priority task execution main body on the physical equipment in the peak period.
9. A task configuration method, comprising:
receiving a configuration request of a task execution main body;
exposing at least one priority configurable for the task execution agent;
receiving the priority selected by the task execution subject, wherein the priority is selected by the tenant through the cloud platform according to a service level target which the first task execution subject needs to reach on the cloud platform;
deploying the task execution subject on a physical device of a cloud platform according to the selected priority; the physical equipment can be used for deploying at least one other task execution main body with the priority different from that of the task execution main body, the task execution main bodies with different priorities are deployed on the same physical equipment as much as possible, and the task execution main bodies with the same priority are deployed on different physical equipment;
the physical device comprises a dedicated host machine which is exclusively shared by the tenant, the dedicated host machine provides physical resources ordered by the tenant, and the first task execution main body and the at least one second task execution main body both belong to the tenant; or the physical device comprises a shared host shared by the tenant and other tenants, the shared host provides physical resources ordered by the tenant, and the at least one second task execution subject belongs to other tenants.
10. A deployment device, comprising:
a first receiving module configured to receive a deployment request of a first task execution subject; the deployment request comprises the priority of the first task execution main body, and the priority of the first task execution main body is configured according to a service level target which needs to be reached by the first task execution main body on the cloud platform when a tenant requests to configure the task execution main body after ordering physical resources by the tenant;
a first deployment module configured to deploy the first task execution principal on a physical device of a cloud platform according to the deployment request; the physical equipment can be used for deploying at least one second task execution main body with the priority different from that of the first task execution main body, the task execution main bodies with different priorities are deployed on the same physical equipment as much as possible, and the task execution main bodies with the same priority are deployed on different physical equipment; the physical device comprises a dedicated host machine which is exclusively shared by the tenant, the dedicated host machine provides physical resources ordered by the tenant, and the first task execution main body and the at least one second task execution main body both belong to the tenant;
and the scheduling module is configured to schedule the resources on the physical equipment for the first task execution main body according to the priority, preempt the resources of the low-priority task execution main body on the physical equipment in a peak period of the scheduling module on the premise of ensuring the service level target of the first task execution main body, and provide the over-selling resources for the low-priority task execution main body on the physical equipment in a low peak period of the scheduling module.
11. The apparatus of claim 10, wherein the first task execution body comprises at least one of a virtual machine, a Docker container, an application, and a computation function.
12. The apparatus of claim 10, wherein the first task execution principal of different execution priorities has a different service level objective on the cloud platform.
13. The apparatus according to any one of claims 10-12, wherein the first deployment module comprises at least one of:
a first deployment submodule configured to deploy the first task execution principal on a physical device specified in the deployment request;
and the second deployment submodule is configured to select a corresponding physical device in the cloud platform to deploy the first task execution subject according to the execution priority.
14. The apparatus of claim 13, wherein the second deployment submodule comprises:
and the third deployment submodule is configured to select corresponding physical equipment in the cloud platform according to a strategy of collocating and deploying of the high-priority task execution main body and the low-priority task execution main body on the same physical equipment, and deploy the first task execution main body on the selected physical equipment.
15. The apparatus according to any of claims 10-12, 14, wherein in case that the first task execution entity deployed on the same physical device has a higher priority than at least one of the second task execution entities, the scheduling module comprises:
the scheduling submodule is configured to schedule at least one part of resources currently occupied by the second task execution main body to the first task execution main body when the resource utilization rate of the first task execution main body rises to a first preset threshold value.
16. The apparatus of claim 15, wherein the scheduling module comprises at least one of the following if the first task execution entity has a lower priority than at least one of the second task execution entities deployed on the same physical device:
a resource increasing submodule configured to increase resources for the first task execution main body when the resource usage rate of the second task execution main body falls to a second preset threshold;
and the resource recycling submodule is configured to recycle the memory resource occupied by the first task execution main body when the memory overflows.
17. A deployment device, comprising:
a first receiving module configured to receive a deployment request of a first task execution subject; the deployment request comprises the priority of the first task execution main body, and the priority of the first task execution main body is configured according to a service level target which needs to be reached by the first task execution main body on the cloud platform when a tenant requests to configure the task execution main body after ordering physical resources by the tenant;
a first deployment module configured to deploy the first task execution principal on a physical device of a cloud platform according to the deployment request; the physical equipment can be used for deploying at least one second task execution main body with the priority different from that of the first task execution main body, the task execution main bodies with different priorities are deployed on the same physical equipment as much as possible, and the task execution main bodies with the same priority are deployed on different physical equipment; the physical device comprises a shared host shared by the tenant and other tenants, the shared host provides physical resources ordered by the tenant, and the at least one second task execution subject belongs to other tenants;
and the scheduling module is configured to schedule the resources on the physical equipment for the first task execution main body according to the priority, preempt the resources of the low-priority task execution main body on the physical equipment in a peak period of the scheduling module on the premise of ensuring the service level target of the first task execution main body, and provide the over-selling resources for the low-priority task execution main body on the physical equipment in a low peak period of the scheduling module.
18. A task configuration apparatus, comprising:
a second receiving module configured to receive a configuration request of the task execution main body;
a presentation module configured to present at least one priority configurable for the task execution agent;
a third receiving module configured to receive the priority selected by the task execution subject, wherein the priority is selected by the tenant through the cloud platform according to a service level target that the first task execution subject needs to reach on the cloud platform;
a second deployment module configured to deploy the task execution agent on a physical device of a cloud platform according to the selected priority; the physical equipment can be used for deploying at least one other task execution main body with the priority different from that of the task execution main body, the task execution main bodies with different priorities are deployed on the same physical equipment as much as possible, and the task execution main bodies with the same priority are deployed on different physical equipment;
the physical device comprises a dedicated host machine which is exclusively shared by the tenant, the dedicated host machine provides physical resources ordered by the tenant, and the first task execution main body and the at least one second task execution main body both belong to the tenant; or the physical device comprises a shared host shared by the tenant and other tenants, the shared host provides physical resources ordered by the tenant, and the at least one second task execution subject belongs to other tenants.
19. An electronic device comprising a memory and a processor; wherein,
the memory is to store one or more computer instructions, wherein the one or more computer instructions are to be executed by the processor to implement the method of any of claims 1-9.
20. A computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions, when executed by a processor, implement the method of any of claims 1-9.
CN201910824466.6A 2019-09-02 2019-09-02 Deployment method, device, electronic equipment and storage medium Active CN112445569B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910824466.6A CN112445569B (en) 2019-09-02 2019-09-02 Deployment method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910824466.6A CN112445569B (en) 2019-09-02 2019-09-02 Deployment method, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112445569A CN112445569A (en) 2021-03-05
CN112445569B true CN112445569B (en) 2023-01-17

Family

ID=74734278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910824466.6A Active CN112445569B (en) 2019-09-02 2019-09-02 Deployment method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112445569B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407305A (en) * 2021-05-31 2021-09-17 北京达佳互联信息技术有限公司 Task deployment method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106043A (en) * 2011-06-29 2013-05-15 国际商业机器公司 Methods and computer systems for managing resources of a storage server
CN104252393A (en) * 2013-06-25 2014-12-31 威睿公司 Performance-driven resource management in a distributed computer system
CN106255967A (en) * 2014-03-31 2016-12-21 亚马逊科技公司 NameSpace management in distributed memory system
CN107911316A (en) * 2017-12-29 2018-04-13 江苏省未来网络创新研究院 A kind of traffic scheduling method and system based on MPLS in SDN technologies
CN108170531A (en) * 2017-12-26 2018-06-15 北京工业大学 A kind of cloud data center request stream scheduling method based on depth belief network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752622B1 (en) * 2005-05-13 2010-07-06 Oracle America, Inc. Method and apparatus for flexible job pre-emption
US7984447B1 (en) * 2005-05-13 2011-07-19 Oracle America, Inc. Method and apparatus for balancing project shares within job assignment and scheduling
CN109992403B (en) * 2017-12-30 2021-06-01 中国移动通信集团福建有限公司 Optimization method and device for multi-tenant resource scheduling, terminal equipment and storage medium
CN109783225B (en) * 2018-12-12 2023-09-08 华南理工大学 Tenant priority management method and system of multi-tenant big data platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106043A (en) * 2011-06-29 2013-05-15 国际商业机器公司 Methods and computer systems for managing resources of a storage server
CN104252393A (en) * 2013-06-25 2014-12-31 威睿公司 Performance-driven resource management in a distributed computer system
CN106255967A (en) * 2014-03-31 2016-12-21 亚马逊科技公司 NameSpace management in distributed memory system
CN108170531A (en) * 2017-12-26 2018-06-15 北京工业大学 A kind of cloud data center request stream scheduling method based on depth belief network
CN107911316A (en) * 2017-12-29 2018-04-13 江苏省未来网络创新研究院 A kind of traffic scheduling method and system based on MPLS in SDN technologies

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"多租户集群中基于服务水平目标的调度机制";杜雄杰等;《计算机应用》;20150410;第35卷(第4期);第2节,图2 *
杜雄杰等."多租户集群中基于服务水平目标的调度机制".《计算机应用》.2015,第35卷(第4期),第944-949页. *

Also Published As

Publication number Publication date
CN112445569A (en) 2021-03-05

Similar Documents

Publication Publication Date Title
US10599466B2 (en) Managed services coordinator
US9830678B2 (en) Graphics processing unit resource sharing
CN111966500B (en) Resource scheduling method and device, electronic equipment and storage medium
US9277003B2 (en) Automated cloud workload management in a map-reduce environment
US9635103B2 (en) Dynamic virtual resource request rate control for utilizing physical resources
US20200218579A1 (en) Selecting a cloud service provider
US11150951B2 (en) Releasable resource based preemptive scheduling
US20150277987A1 (en) Resource allocation in job scheduling environment
US10095621B1 (en) Coordination of cache and memory reservation
US10360074B2 (en) Allocating a global resource in a distributed grid environment
US11502972B2 (en) Capacity optimization in an automated resource-exchange system
US9591094B2 (en) Caching of machine images
US9971971B2 (en) Computing instance placement using estimated launch times
US20120323821A1 (en) Methods for billing for data storage in a tiered data storage system
EP3561671A1 (en) Allocating workload
US20180136980A1 (en) Provisioning of computing resources for a workload
CN112445569B (en) Deployment method, device, electronic equipment and storage medium
US10956228B2 (en) Task management using a virtual node
US11029999B1 (en) Lottery-based resource allocation with capacity guarantees
US9641384B1 (en) Automated management of computing instance launch times
US20230289214A1 (en) Intelligent task messaging queue management
CN109753343A (en) The method and device of VNF instantiation
CN115543554A (en) Method and device for scheduling calculation jobs and computer readable storage medium
CN114090228A (en) Resource allocation method, device, electronic equipment and medium

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