×

Assigning and scheduling threads for multiple prioritized queues

  • US 9,715,406 B2
  • Filed: 06/14/2013
  • Issued: 07/25/2017
  • Est. Priority Date: 06/14/2013
  • Status: Active Grant
First Claim
Patent Images

1. A computer comprising:

  • a memory and at least one processing unit;

    an operating system executing on the at least one processing unit, wherein the operating system is operative to;

    in response to a request from an application executing on the computer, allocate a pool of worker threads for the application, wherein each worker thread is a thread provided by the operating system, and wherein each worker thread services requests from the application to access operating system resources;

    associate a plurality of queues with the pool of worker threads allocated for the application, each queue having a different priority, for storing items to be assigned to the worker threads, each item representing a request, having a priority, from the application to access the operating system resources using one of the worker threads in the pool of worker threads allocated for the application; and

    the operating system further comprising a concurrency controller operative to assign items from the plurality of queues to worker threads while limiting a number of concurrently executing worker threads;

    wherein, in response to a request, having a priority, from the application to access the operating system resources, the concurrency controller is operative to;

    add an item corresponding to the request to the queue having the priority of the request, anddetermine whether a concurrency limit for the queue having the priority of the request is reached based on at least a thread count of concurrently executing worker threads associated with the queue; and

    in response to a determination that the concurrency limit for the queue having the priority of the request is not reached, assign the item corresponding to the request to one of the worker threads and increment the thread count associated with the queue.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×