CN110647393A - Elastic process management system and method - Google Patents
Elastic process management system and method Download PDFInfo
- Publication number
- CN110647393A CN110647393A CN201810681920.2A CN201810681920A CN110647393A CN 110647393 A CN110647393 A CN 110647393A CN 201810681920 A CN201810681920 A CN 201810681920A CN 110647393 A CN110647393 A CN 110647393A
- Authority
- CN
- China
- Prior art keywords
- task
- resources
- resource
- manager
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Multi Processors (AREA)
Abstract
The invention discloses an elastic process management system and a method, which can realize the dynamic allocation of resources to each avatar task by highly abstracting the concept of the task and the resource, uniformly managing the avatar task and the resource process and uniformly managing the avatar at an abstract layer through a task manager and a resource manager, thereby preventing the problems of poor computer computing capability and low computer performance caused by different time consumption among multiple processes and processes, and effectively realizing the dynamic allocation of computing resources to application programs.
Description
Technical Field
The invention belongs to the field of computer process management, and particularly relates to an elastic process management system and method.
Background
In the process, one application program may need a plurality of processes to execute tasks in parallel, and each process is opened more than one time, so that more basic resources of the computer are consumed, and in a certain situation, each process is opened more than one time, so that the overall performance is not improved, but the performance is reduced, and in the face of the problem, the method is usually adopted, in which an optimal performance problem is solved to a certain extent by a certain algorithm based on the computing capacity of the application computer when the application program is started, but the application program cannot be always kept in the optimal state, because some resources are consumed in the whole task execution period of the application program, some resources are consumed in a short and flat manner, and some resources are consumed in a concentrated manner and are long in time, if the initial process number is calculated based on the computing capacity requirement in the short and flat period, the performance of the computer is reduced on the contrary in the link of resource centralized consumption because the computing resources of the CPU need to be seized among a plurality of processes, if the computing tasks are computing tasks consumed for a long time in the resource centralized mode, the processing performance can be reduced in the resource seizing under the plurality of processes, and because the processes need to allocate certain resources to seize the resources or wait for the resources seized by other processes; in addition, different process tasks may be divided into different tasks in the same application program due to different task roles, some tasks occasionally need to consume a large amount of computing resources, centralized time for consuming resources among some tasks is staggered, and if all tasks are distributed according to the total amount, the actually used resources of each task are very small, so that the waste of the application of the actual computing resources is caused. How to dynamically allocate computing resources for application programs through actual computing tasks of the computer and dynamic activity of resource consumption among multiple tasks becomes an urgent problem to be solved.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a method and a system for managing an elastic process, which can improve the computing power of a computer, improve the performance of the computer, and dynamically allocate computing resources to an application program.
In order to solve the technical problems, the technical solution of the invention is as follows:
a resilient process management system, comprising: a task manager and a resource manager,
the task manager is used for managing executed tasks, tracking the execution condition of the tasks, detecting the resource consumption condition of the tasks and coordinating data of the multi-process tasks in the process of dynamically allocating resources;
the resource manager is used for managing the scheduling of resources, allocating a specified amount of resources to the tasks according to the requirements of the task manager when the tasks are required to be executed by multiple processes, recovering the resources when the tasks of the task manager are finished, and allocating the resource allocation among the tasks when the tasks are executed simultaneously;
the task manager and the resource manager are connected in sequence.
Further, the task manager comprises a task driving module and a data synchronization module, wherein the task driving module is used for loading specific computer task execution codes into the task driving module, the task driving module clones the task execution codes into a plurality of processes when multi-process processing is needed, resource occupation conditions of the tasks are analyzed in the task execution process and sent to the resource manager, the resource manager feeds back distributable resource conditions, the task driving module distributes more resources to the tasks to the maximum extent according to the distributable conditions, and the resources are handed back to the resource manager when the task execution is finished; the data synchronization module is used for distributing task data to each process when the task is executed in multiple processes, collecting task results processed by each process and coordinating among tasks with sequential execution requirements.
Furthermore, the resource manager comprises a resource creation module and a resource recovery module, wherein the resource creation module is used for allocating resources for the tasks, and the resources are allocated according to the resource occupation condition analyzed in the task driving module during allocation; and the resource recovery module is used for recovering the resources when the task execution of the task driving module is finished and releasing the resources occupied by the task.
Further, the resources include process resources, content resources and network resources.
An elastic process management method comprises the following steps:
(1) starting an application program, and starting a task manager by the application program;
(2) the application program implants the task into a task driving module of the task manager;
(3) the task driving module starts a task and tracks the execution condition of the task;
(4) the task driving module applies for resources from the resource manager according to the task occupation condition;
(5) the resource manager allocates corresponding resources to the task driving module;
(6) the task driving module clones the task to the process of resource allocation;
(7) the data synchronization module is connected with the scheduling authority of the task driving module and distributes the data to be processed to each process;
(8) all processes simultaneously process the received data, and after the processing is finished, all processes send the processed data to the data synchronization module;
(9) the data synchronization module collects the results and sends the results to the task driving module, and the task driving module returns the acquired control right of the resources to the resource manager;
(10) the resource manager releases the resources occupied by the processes;
(11) the task driving module sends the final processing result to the application program;
(12) repeating the step (2) to the step (11), and continuing to start a new task by the application program;
(13) application program to complete multitask concurrent processing
Further, the resources in the step (10) include a memory and a network of the process and a CPU.
The invention has the beneficial effects that:
the invention realizes the dynamic allocation of resources to each avatar task by highly abstracting the concepts of tasks and resources, uniformly managing all avatar tasks and resource processes and uniformly managing the avatar at an abstraction layer through the task manager and the resource manager, thereby preventing the problems of poor computing capability of a computer and low computer performance caused by different time consumption among multiple avails and processes, and effectively realizing the dynamic allocation of computing resources to application programs.
Drawings
FIG. 1 is a flow chart of a corresponding method of the present invention;
FIG. 2 is a block diagram of the architecture of a corresponding system of the present invention;
the following drawings: 100-a task manager; 200-a resource manager; 101-task driving module; 102-a data synchronization module; 201-resource creation module; 202-resource recovery module;
Detailed Description
The invention is described in further detail below with reference to the figures and specific examples. It should be noted that the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
In the prior art, a plurality of processes may be required to execute tasks in parallel, and more basic resources of a computer are required to be consumed when one process is opened, so that in the prior art, an optimal number of processes is calculated by a certain algorithm based on the computing capacity of the application computer when the application program is started, but because some resources are short and fast in consumption, and some resources are concentrated in consumption and long in time, the concentrated consumption of the resources is relieved, and the performance of the computer is reduced, because the computing resources of a CPU are required to be seized among the processes, if the computing tasks are consumed for a long time in the concentration of the resources, the processing performance is reduced in the resource seizing under the multiprocess, and because the processes need to allocate certain resources to seize the resources or wait for the resources seized by other processes; therefore, how to dynamically allocate computing resources for application programs through actual computing tasks of the computer and dynamic activity of resource consumption among multiple tasks becomes an urgent problem to be solved. The present invention specifically discloses an elastic process management system through improvement, as shown in fig. 2, including:
the task manager 100: the task manager 100 is configured to manage executed tasks, track execution conditions of the tasks, detect resource consumption conditions of the tasks, and coordinate data of the multiprocess tasks in a process of dynamically allocating resources; specifically, the task manager 100 includes a task driver module 101 and a data synchronization module 102, where the task driver module 101 is configured to load a specific computer task execution code into the task driver module 101, when multi-process processing is required, the task driver module 101 clones the task execution code into multiple processes, analyzes resource occupation of the task during task execution, and sends the occupation to the resource manager 200, the resource manager 200 feeds back a distributable resource situation, and the task driver module 101 allocates more resources to the task to the maximum extent according to the distributable situation, and returns the resources to the resource manager 200 when task execution is finished; the data synchronization module 102 is configured to, when a task is executed in multiple processes, allocate task data to each process, collect task results processed by each process, and coordinate between tasks having sequential execution requirements.
The resource manager 200: the resource manager 200 is configured to manage resource scheduling, allocate a specified number of resources to tasks according to requirements of the task manager 100 when tasks need to be executed in multiple processes, recover resources when the task manager 100 finishes executing the tasks, and allocate resource allocation among the tasks when the tasks are executed simultaneously; specifically, the resource manager 200 includes a resource creating module 201 and a resource recycling module 202, where the resource creating module 201 is configured to allocate resources for a task, and during allocation, the resources are allocated according to resource occupation conditions analyzed in the task driving module 101; the resource recovery module 202 is configured to recover resources when the task driver module 101 finishes executing the task, and release resources occupied by the task, where the released resources include process resources, content resources, and network resources.
The task manager 100 and the resource manager 200 are sequentially connected, specifically, the task driving module 101 in the task manager 100 is sequentially connected with the data synchronization module 102, the task driving module 101 in the task manager 100 is connected with the resource creation module 201 in the resource manager 200, and the task driving module 101 is connected with the resource recovery module 202 in the resource manager 200.
The invention also discloses a method for managing the elastic process, which is a using method of a corresponding system and specifically comprises the following steps:
(1) starting an application program, and starting a task manager by the application program;
(2) the application program implants the task into a task driving module of the task manager;
(3) the task driving module starts a task and tracks the execution condition of the task;
(4) the task driving module applies for resources from the resource manager according to the task occupation condition;
(5) a resource creating module in the resource manager allocates corresponding resources to the task driving module;
(6) the task driving module clones the task to the process of resource allocation;
(7) the data synchronization module is connected with the scheduling authority of the task driving module and distributes the data to be processed to each process;
(8) all processes simultaneously process the received data, and after the processing is finished, all processes send the processed data to the data synchronization module;
(9) the data synchronization module collects results and sends the results to the task driving module, the task driving module returns the acquired control right of the resources to the resource manager, and the resource recovery module in the resource manager recovers the resources when the task driving module finishes the task execution;
(10) the resource manager releases the resources occupied by the processes, wherein the resources comprise the memory, the network and the CPU of the processes;
(11) the task driving module sends the final processing result to the application program;
(12) repeating the step (2) to the step (11), and continuing to start a new task by the application program;
(13) application program to complete multitask concurrent processing
The core design idea of the invention is to highly abstract the concept of tasks and resources and uniformly manage all the avatar tasks and resource processes, and the task manager and the resource manager are used for uniformly managing the avatar at an abstract layer, thereby realizing the dynamic allocation of resources to each avatar task from the perspective of a global user. Therefore, the problems of poor computing capability and low computer performance of the computer caused by multiple open processes and different time consumption among the processes are solved, the dynamic allocation of computing resources to the application program is effectively realized, and the process management and processing efficiency of the computer is improved.
The above-mentioned embodiments are only preferred embodiments of the present invention, and do not limit the technical scope of the present invention, so that the changes and modifications made by the claims and the specification of the present invention should fall within the scope of the present invention.
Claims (6)
1. An elastic process management system, comprising a task manager and a resource manager, characterized in that:
the task manager is used for managing executed tasks, tracking the execution condition of the tasks, detecting the resource consumption condition of the tasks and coordinating data of the multi-process tasks in the process of dynamically allocating resources;
the resource manager is used for managing the scheduling of resources, allocating a specified amount of resources to the tasks according to the requirements of the task manager when the tasks are required to be executed by multiple processes, recovering the resources when the tasks of the task manager are finished, and allocating the resource allocation among the tasks when the tasks are executed simultaneously;
the task manager and the resource manager are connected in sequence.
2. The elastic process management system according to claim 1, wherein the task manager includes a task driver module and a data synchronization module, the task driver module is configured to load a specific computer task execution code into the task driver module, when multiprocess processing is required, the task driver module clones the task execution code into multiple processes, analyzes resource occupation of the task during the task execution, and sends the occupation to the resource manager, the resource manager feeds back a distributable resource situation, and the task driver module maximally allocates more resources to the task according to the distributable situation and returns the resources to the resource manager when the task execution is finished; the data synchronization module is used for distributing task data to each process when the task is executed in multiple processes, collecting task results processed by each process and coordinating among tasks with sequential execution requirements.
3. The elastic process management system according to claim 1, wherein the resource manager includes a resource creation module and a resource recovery module, the resource creation module is configured to allocate resources for the task, and the allocation is performed according to the resource occupation condition analyzed in the task driving module; and the resource recovery module is used for recovering the resources when the task execution of the task driving module is finished and releasing the resources occupied by the task.
4. A resilient process management system according to claim 3, wherein said resources include process resources and content resources and network resources.
5. An elastic process management method comprises the following steps:
(1) starting an application program, and starting a task manager by the application program;
(2) the application program implants the task into a task driving module of the task manager;
(3) the task driving module starts a task and tracks the execution condition of the task;
(4) the task driving module applies for resources from the resource manager according to the task occupation condition;
(5) the resource manager allocates corresponding resources to the task driving module;
(6) the task driving module clones the task to the process of resource allocation;
(7) the data synchronization module is connected with the scheduling authority of the task driving module and distributes the data to be processed to each process;
(8) all processes simultaneously process the received data, and after the processing is finished, all processes send the processed data to the data synchronization module;
(9) the data synchronization module collects the results and sends the results to the task driving module, and the task driving module returns the acquired control right of the resources to the resource manager;
(10) the resource manager releases the resources occupied by the processes;
(11) the task driving module sends the final processing result to the application program;
(12) repeating the step (2) to the step (11), and continuing to start a new task by the application program;
(13) the application completes multitask concurrent processing.
6. A resilient process management method according to claim 5, wherein the resources in step (10) include the memory and network of the process and the CPU.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810681920.2A CN110647393A (en) | 2018-06-27 | 2018-06-27 | Elastic process management system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810681920.2A CN110647393A (en) | 2018-06-27 | 2018-06-27 | Elastic process management system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110647393A true CN110647393A (en) | 2020-01-03 |
Family
ID=68988915
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810681920.2A Pending CN110647393A (en) | 2018-06-27 | 2018-06-27 | Elastic process management system and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647393A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379877A (en) * | 2020-11-13 | 2021-02-19 | 武汉蓝星科技股份有限公司 | Programming system of embedded end multi-process GUI program |
WO2023116522A1 (en) * | 2021-12-22 | 2023-06-29 | 北京有竹居网络技术有限公司 | Process management method and apparatus, and storage medium and electronic device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049321A (en) * | 2012-12-27 | 2013-04-17 | 中国建设银行股份有限公司 | Intelligentized task processing device and intelligentized task processing method |
CN103810048A (en) * | 2014-03-11 | 2014-05-21 | 国家电网公司 | Automatic adjusting method and device for thread number aiming to realizing optimization of resource utilization |
CN107436806A (en) * | 2016-05-27 | 2017-12-05 | 苏宁云商集团股份有限公司 | A kind of resource regulating method and system |
-
2018
- 2018-06-27 CN CN201810681920.2A patent/CN110647393A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049321A (en) * | 2012-12-27 | 2013-04-17 | 中国建设银行股份有限公司 | Intelligentized task processing device and intelligentized task processing method |
CN103810048A (en) * | 2014-03-11 | 2014-05-21 | 国家电网公司 | Automatic adjusting method and device for thread number aiming to realizing optimization of resource utilization |
CN107436806A (en) * | 2016-05-27 | 2017-12-05 | 苏宁云商集团股份有限公司 | A kind of resource regulating method and system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379877A (en) * | 2020-11-13 | 2021-02-19 | 武汉蓝星科技股份有限公司 | Programming system of embedded end multi-process GUI program |
WO2023116522A1 (en) * | 2021-12-22 | 2023-06-29 | 北京有竹居网络技术有限公司 | Process management method and apparatus, and storage medium and electronic device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107038069B (en) | Dynamic label matching DLMS scheduling method under Hadoop platform | |
US6732139B1 (en) | Method to distribute programs using remote java objects | |
US8739171B2 (en) | High-throughput-computing in a hybrid computing environment | |
US8316376B2 (en) | Optimizing workflow execution against a heterogeneous grid computing topology | |
US8024395B1 (en) | Distributed processing multiple tier task allocation | |
Jung et al. | Synchronous parallel processing of big-data analytics services to optimize performance in federated clouds | |
US20060130062A1 (en) | Scheduling threads in a multi-threaded computer | |
CN109564528B (en) | System and method for computing resource allocation in distributed computing | |
CN113434284B (en) | Privacy computation server side equipment, system and task scheduling method | |
CN102902587A (en) | Distribution type task scheduling method, distribution type task scheduling system and distribution type task scheduling device | |
CN111104211A (en) | Task dependency based computation offload method, system, device and medium | |
Casini et al. | Semi-partitioned scheduling of dynamic real-time workload: A practical approach based on analysis-driven load balancing | |
CN103500119A (en) | Task allocation method based on pre-dispatch | |
Guo et al. | The concurrent consideration of uncertainty in WCETs and processor speeds in mixed-criticality systems | |
CN110647393A (en) | Elastic process management system and method | |
Zhou et al. | Energy-efficient speculative execution using advanced reservation for heterogeneous clusters | |
Lipari et al. | Resource reservation for mixed criticality systems | |
Niu et al. | Reliability-aware scheduling for reducing system-wide energy consumption for weakly hard real-time systems | |
Ali et al. | Cluster-based multicore real-time mixed-criticality scheduling | |
CN103959276A (en) | Resource allocation prioritization based on knowledge of user intent and process independence | |
Sodan | Loosely coordinated coscheduling in the context of other approaches for dynamic job scheduling: a survey | |
CN116244073A (en) | Resource-aware task allocation method for hybrid key partition real-time operating system | |
CN104657204B (en) | short task processing method, device and operating system | |
CN115576683A (en) | Coroutine pool scheduling management method, system, device and storage medium | |
Meyer et al. | Reducing the cost of redundant execution in safety-critical systems using relaxed dedication |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210329 Address after: Room 2201, 703c, Desai science and technology building, 9789 Shennan Avenue, high tech Zone community, Yuehai street, Nanshan District, Shenzhen, Guangdong 518000 Applicant after: Benchainless Technology (Shenzhen) Co.,Ltd. Address before: 361000 unit 11, 201, building B, 86 Haijing Road, Xiamen area, China (Fujian) pilot Free Trade Zone, Xiamen City, Fujian Province Applicant before: XIAMEN INSTINCT BLOCKCHAIN TECHNOLOGY Co.,Ltd. |