Time-bound task management in parallel processing environment
AssigneeDell Products L.P.
InventorsShibi Panikkar, Rohit Gosain
Life of this patent
Estimating the term…
Abstract
Techniques for task management in a parallel processing environment are disclosed. For example, a method comprises obtaining an indication of a data load for a given task, a time range within which the given task is to be executed, and a resource utilization limit for executing the task. The method computes a number of processes to be instantiated to execute the given task for the data load within the time range and the resource utilization limit. The method then schedules the given task to be executed by the computed number of processes in a parallel processing environment.
Claims20
An apparatus comprising:
- at least one processing platform comprising at least one processor coupled to at least one memory, the at least one processing platform, when executing program code, is configured to:
- obtain an indication of a data load for a given task, a configured range of time for execution and completion of the given task and a resource utilization limit for executing the given task, wherein the resource utilization limit comprises at least one of a central processing unit consumption threshold and a memory consumption threshold for executing the given task to completion, wherein the configured range of time for execution and completion of the given task is generated by:
- receiving a minimum time period to execute and complete the given task and receiving a maximum time period to execute and complete the given task, wherein the configured range of time is greater than the minimum time period and lesser than the maximum time period;
- computing a compute a number of processes to be instantiated to execute the given task for the data load within the configured range of time and the within resource utilization limit by:
- causing execution of the given task by iteratively adding an additional parallel process to a number of processes for executing the given task and obtaining a round trip processing time and consumption percentage for each iteration, when the time to execute the number of processes is greater than or equal to the received maximum time period;
- determining an iteration at which an adverse processing condition occurs and recording the number of processes executed in the iteration;
- and
- determining that a parallel process number threshold is the number of processes executed in the iteration;
- and
- generating the configured range of time based on the parallel process number threshold, the received minimum time period and the received maximum time period;
- compute a number of processes to be instantiated to execute the given task for the data load within the configured range of time and within the resource utilization limit;
- and
- schedule the given task to be executed by the computed number of processes within the configured range of time in a parallel processing environment.
A method comprising:
- obtaining an indication of a data load for a given task, a configured range of time for execution and completion of the given task and a resource utilization limit for executing the given task, wherein the resource utilization limit comprises at least one of a central processing unit consumption threshold and a memory consumption threshold for executing the given task to completion, wherein the configured range of time for execution and completion of the given task is generated by:
- receiving a minimum time period to execute and complete the given task and receiving a maximum time period to execute and complete the given task, wherein the configured range of time is greater than the minimum time period and lesser than the maximum time period;
- computing a compute a number of processes to be instantiated to execute the given task for the data load within the configured range of time and the within resource utilization limit by:
- causing execution of the given task by iteratively adding an additional parallel process to a number of processes for executing the given task and obtaining a round trip processing time and consumption percentage for each iteration, when the time to execute the number of processes is greater than or equal to the received maximum time period;
- determining an iteration at which an adverse processing condition occurs and recording the number of processes executed in the iteration;
- and
- determining that a parallel process number threshold is the number of processes executed in the iteration;
- and
- generating the configured range of time based on the parallel process number threshold, the received minimum time period and the received maximum time period;
- computing a number of processes to be instantiated to execute the given task for the data load within the configured range of time and within the resource utilization limit;
- and
- scheduling the given task to be executed by the computed number of processes within the configured range of time in a parallel processing environment;
- wherein the obtaining, computing and scheduling are performed by at least one processing platform comprising at least one processor coupled to at least one memory configured to execute program code.
A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing platform causes the at least one processing platform to:
- obtain an indication of a data load for a given task, a configured range of time for execution and completion of the given task and a resource utilization limit for executing the given task, wherein the resource utilization limit comprises at least one of a central processing unit consumption threshold and a memory consumption threshold for executing the given task to completion, wherein the configured range of time for execution and completion of the given task is generated by:
- receiving a minimum time period to execute and complete the given task and receiving a maximum time period to execute and complete the given task, wherein the configured range of time is greater than the minimum time period and lesser than the maximum time period;
- computing a compute a number of processes to be instantiated to execute the given task for the data load within the configured range of time and the within resource utilization limit by:
- causing execution of the given task by iteratively adding an additional parallel process to a number of processes for executing the given task and obtaining a round trip processing time and consumption percentage for each iteration, when the time to execute the number of processes is greater than or equal to the received maximum time period;
- determining an iteration at which an adverse processing condition occurs and recording the number of processes executed in the iteration;
- and
- determining that a parallel process number threshold is the number of processes executed in the iteration;
- and
- generating the configured range of time based on the parallel process number threshold, the received minimum time period and the received maximum time period;
- compute a number of processes to be instantiated to execute the given task for the data load within the configured range of time and within the resource utilization limit;
- and
- schedule the given task to be executed by the computed number of processes within the configured range of time in a parallel processing environment.
Dependencies are inferred from the claim text.