Parallel task initialization on dynamic compute resources
AssigneeInternational Business Machines Corporation
InventorsScott Miller, Austen William Lauria, Sameh Sherif Sharkawi, William P. LePera
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsScott Miller, Austen William Lauria, Sameh Sherif Sharkawi, William P. LePera
Estimating the term…
On a first compute resource, execution of a first task is triggered, execution of a portion of the first task being conditioned on a second task executing on a second compute resource. A state indicator of the second task is monitored, the state indicator indicating whether or not the second task is currently executing on the second compute resource. Responsive to the state indicator indicating that the second task is not currently executing, execution of the portion of the first task is suspended. A change in the state indicator is determined to have occurred. Responsive to the determining, received connection information for the second task is forwarded to the first task. Execution of the portion of the first task is re-triggered on the first compute resource.
A computer-implemented method comprising:
A computer program product for parallel task initialization on dynamic compute resources, the computer program product comprising:
A computer system comprising one or more processors, one or more computer-readable memories, and one or more computer-readable storage devices, and program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
To service a request: the resources being hardware resources other than CPUs, Servers and Terminals
The resource being a machine, e.g. CPUs, Servers, Terminals: considering the execution order of a plurality of tasks, e.g. taking priority or time…
By program, e.g. task dispatcher, supervisor, operating system: task life-cycle, e.g. stopping, restarting, resuming execution
By program, e.g. task dispatcher, supervisor, operating system: scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
About 14 years 6 months of term left · ends 30 Apr 2041 (estimated)
The present invention relates generally to a method, system, and computer program product for use of dynamic compute resources. More particularly, the present invention relates to a method, system, and computer program product for parallel task initialization on dynamic compute resources.
A compute resource provides a data processing capability. Some non-limiting examples of a compute resource are a physical computer system, a virtual machine (VM) or logical partition virtualizing a physical computer system, a container executing on a VM, a virtual or physical cluster of computer systems, and a virtual or physical resource pool.
Computing environments often include multiple compute resources and the software executing on the resources. In computer system administration, orchestration is the automated configuration, coordination, and management of computer systems and software. Orchestration typically automates a process or workflow that involves many steps across multiple disparate systems. An orchestration framework is a software tool that performs orchestration. One function of an orchestration framework is to configure and provide compute resources for use as the resources are needed, and to remove or reconfigure compute resources once they are no longer needed. Reconfigurable compute resources that are provided upon request are also call dynamic compute resources. Kubernetes is a non-limiting example of an orchestration framework; other orchestration frameworks are also presently available. (Kubernetes is a registered trademark of the Linux Foundation in the United States and other countries.)
Certain novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of the illustrative embodiments when read in conjunction with the accompanying drawings, wherein:
FIG. 1 depicts a block diagram of a network of data processing systems in which illustrative embodiments may be implemented;
FIG. 2 depicts a block diagram of a data processing system in which illustrative embodiments may be implemented;
The illustrative embodiments recognize that, presently, an orchestration framework schedules a job for execution and assigns compute resources to the job. In a data processing environment in which compute resources are configured and made available only when needed, compute resources that are assigned to a scheduled job may need to be configured and initialized before being used for task execution. Once all the assigned compute resources are ready for task execution, tasks are started on each compute resource. The tasks execute in parallel and communicate with each other. The illustrative embodiments also recognize that, the more compute resources that are required to execute a job, the longer the wait until all compute resources are available and job execution actually begins. Consequently, there is a need to shorten the time between scheduling a job for execution and when job execution actually begins on assigned compute resources.
The illustrative embodiments recognize that the presently available tools or solutions do not address these needs or provide adequate solutions for these needs. The illustrative embodiments used to describe the invention generally address and solve the above-described problems and other problems related to for parallel task initialization on dynamic compute resources.
An embodiment can be implemented as a software application. The application implementing an embodiment can be configured as a modification of an existing process manager, as a separate application that operates in conjunction with an existing process manager, a standalone application, or some combination thereof.