Determine variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time

US9304814B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9304814-B2
Application numberUS-201313873569-A
CountryUS
Kind codeB2
Filing dateApr 30, 2013
Priority dateApr 30, 2013
Publication dateApr 5, 2016
Grant dateApr 5, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method includes a workload management (WLM) server that receives a first CHECK WORKLOAD command for a workload in a queue of the WLM server. It may be determined whether the workload is ready to run on a WLM client. If the workload is not ready to run, a wait time for the workload with the WLM server is dynamically estimated. The wait time is sent to the WLM client. If the workload is ready to run, then a response is sent to the WLM client that workload is ready to run.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of asynchronous call-back in a parallel execution system, the method comprising: receiving, by a workload management (WLM) server from a WLM client, a first authorization request for authorization to run a workload, the workload in a queue of pending workloads, each pending workload and each of a plurality of prior workloads having an actual wait time spent in the queue of pending workloads, the queue of pending workloads containing a number of workloads (Lq), and wherein a weighted maximum workload count per queue (Nmax) is a maximum number of workloads that can run concurrently in the parallel execution system; determining, by the WLM server in response to the receiving the first authorization request, that the workload is not ready to run; dividing, by the WLM server, the queue of pending workloads into a number of sub-queues (Ns), wherein Ns=Lq/Nmax; calculating, by the WLM server, an average sub-queue wait time (Wsavg) for each of the Ns sub-queues, wherein the Wsavg of a given sub-queue is based at least in part on an average queue wait time (Wqavg), the Wqavg of the given sub-queue being an average of the actual wait times of the plurality of prior workloads contained in that given sub-queue; calculating, by the WLM server, a first wait time based at least in part on the Wsavg of the sub-queue containing the workload; sending, by the WLM server, the first wait time to the WLM client, the first wait time indicating how long the WLM client should wait before sending a second authorization request for the authorization to run the workload; sending, by the WLM client, the second authorization request after waiting a time period equal to the first wait time; receiving, by the WLM server and after the first wait time has expired, the second authorization request from the WLM client; determining, by the WLM server in response to the receiving the second authorization request, that the workload is not ready to run; calculating, by the WLM server, a second wait time, the second wait time different from the first wait time; and sending, by the WLM server, the second wait time to the WLM client, the second wait time indicating how long the WLM client should wait before sending a third authorization request for the authorization to run the workload. 2. A computer program product for asynchronous call-back in a parallel execution system, the computer program product comprising a non-transitory computer readable storage medium having computer readable program code embodied therewith, wherein the computer readable program code, when executed by a processor of a computer, is configured to perform a method comprising: receiving, by a workload management (WLM) server from a WLM client, a first authorization request for authorization to run a workload, the workload in a queue of pending workloads, each pending workload and each of a plurality of prior workloads having an actual wait time spent in the queue of pending workloads, the queue of pending workloads containing a number of workloads (Lq), an wherein a weighted maximum workload count per queue (Nmax) is a maximum number of workloads that can run concurrently in the parallel execution system; determining, by the WLM server in response to the receiving the first authorization request, that the workload is not ready to run; dividing, by the WLM server, the queue of pending workloads into a number of sub-queues (Ns), wherein Ns=Lq/Nmax; calculating, by the WLM server, an average sub-queue wait time (Wsavg) for each of the Ns sub-queues; wherein the Wsavg of a given sub-queue is based at least in part on an average queue wait time (Wqavg), the Wqavg of the given sub-queue being an average of the actual wait times of the plurality of prior workloads contained in that given sub-queue; calculating, by the WLM server, a first wait time based at least in part on the Wsavg of the sub-queue containing the workload; sending, by the WLM server, the first wait time to the WLM client, the first wait time indicating how long the WLM client should wait before sending a second authorization request for the authorization to run the workload; sending, by the WLM client, the second authorization request after waiting a time period equal to the first wait time; receiving, by the WLM server and after the first wait time has expired, the second authorization request from the WLM client; determining, by the WLM server in response to the receiving the second authorization request, that the workload is not ready to run; calculating, by the WLM server, a second wait time, the second wait time different from the first wait time; and sending, by the WLM server, the second wait time to the WLM client, the second wait time indicating how long the WLM client should wait before sending a third authorization request for the authorization to run the workload. 3. The method of claim 1 , further comprising: receiving, by the WLM server and before the calculating the first wait time, a first wait time request for the first wait time from the WLM client; and receiving, by the WLM server and before the calculating the second wait time, a second wait time request for the second wait time from the WLM client. 4. The method of claim 1 , wherein a first sub-queue contains the Nmax workloads having actual wait times longer than the actual wait times of all other workloads in the queue of pending workloads, wherein a second sub-queue contains the Nmax workloads having actual wait times shorter than the workloads in the first sub-queue but longer than the actual wait times of all other workloads in the queue of pending workloads, wherein a last sub-queue contains the Nmax or fewer workloads having actual wait times shorter than the actual wait times of all other workloads in the queue of pending workloads, wherein the first sub-queue has a first Wsavg=Wqavg/Ns, wherein the second sub-queue has a second Wsavg=Wqavg/(Ns−1), and wherein the last sub-queue has a last Wsavg=Wqavg. 5. The method of claim 4 , wherein the calculating the first wait time comprises: determining that the workload is in the second sub-queue; and setting the first wait time equal to the second Wsavg. 6. The method of claim 5 , wherein the calculating the second wait time comprises: determining that the workload is in the first sub-queue; and setting the second wait time equal to the first Wsavg. 7. The method of claim 4 , wherein the queue of pending workloads contains a maximum of Lqmax workloads, and wherein the calculating the first wait time comprises: determining that the workload is in the second sub-queue; and setting the first wait time equal to the second Wsavg*Lq/Lqmax. 8. The computer program product of claim 2 , wherein the method further comprises: receiving, by the WLM server and before the calculating the first wait time, a first wait time request for the first wait time from the WLM client; and receiving, by the WLM server and before the calculating the second wait time, a second wait time request for the second wait time from the WLM client. 9. The computer program product of claim 2 , wherein a first sub-queue contains the Nmax workloads having actual wait times longer than the actual wait times of all other workloads in the queue of pending workloads, wherein a second sub-queue contains the Nmax workloads having actual wait times shorter than the workloads in the first sub-queue but longer than the actual wait times of all other workloads in the queue of pending workloads, wherein a last sub-queue contains the Nmax or fewer workloads having actual wait times shorter than the actual wait times of all other workloads in the queue of pending workloads, wherein the first sub-

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9304814B2 cover?
A method includes a workload management (WLM) server that receives a first CHECK WORKLOAD command for a workload in a queue of the WLM server. It may be determined whether the workload is ready to run on a WLM client. If the workload is not ready to run, a wait time for the workload with the WLM server is dynamically estimated. The wait time is sent to the WLM client. If the workload is ready t…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/4881. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).