×

Managing thread execution in a multitasking computing environment

  • US 10,169,078 B2
  • Filed: 10/16/2015
  • Issued: 01/01/2019
  • Est. Priority Date: 10/16/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method for managing thread execution, the method comprising:

  • predicting, by one or more computer processors, an amount of processor usage that would be used by a thread in a computing system for execution of a critical section of code, where the critical section of code is defined by a starting marker and an ending marker in a program code that contains the critical section of code;

    determining that the thread has a sufficient processor usage allowance to execute the critical section of code to completion; and

    in response to determining that the thread has sufficient processor usage allowance to execute the critical section of code to completion;

    scheduling, by one or more computer processors, the thread for execution of the critical section of code;

    receiving, by one or more computer processors, a request to deschedule the thread, wherein the request is made in response to determining that the thread has insufficient processor usage allowance to continue execution;

    responsive to receiving a request to deschedule the thread, scheduling, by one or more computer processors, the thread to complete execution of the critical section of code;

    responsive to scheduling the thread to complete execution, determining, by one or more computer processors, processor usage debt accumulated by the thread;

    determining that the thread has completed execution of the critical section of code;

    responsive to determining that the thread has completed execution of the critical section of code, suspending the thread; and

    preventing further execution of the thread until after the processor has executed one or more other threads for an amount of time equal to the amount of processor usage debt accumulated by the thread;

    wherein;

    the predicted amount of processor usage is a percentage of total execution capacity of the processor that the thread is predicted to use during execution of the critical section of code;

    the processor usage debt comprises an amount of time for which the thread is executing while the thread has both insufficient processor usage allowance to continue execution and is executing the critical section of code; and

    the one or more computer processors are one or more field programmable gate arrays.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×