Unlock instant, AI-driven research and patent intelligence for your innovation.

Assigning and scheduling threads for multiple prioritized queues

A queue and priority technology, applied in the field of allocating and scheduling threads for multiple prioritized queues, can solve problems such as inability to change priority, priority inversion, and number limited by system resources

Active Publication Date: 2016-04-06
MICROSOFT TECH LICENSING LLC
View PDF6 Cites 9 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0003] With such a system, each worker thread has a fixed priority and cannot change priority during execution; otherwise there is a risk of priority inversion
Also, with worker thread pools for each priority level, the number of priority levels is limited by system resources
Finally, such systems may experience dependency deadlocks

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Assigning and scheduling threads for multiple prioritized queues
  • Assigning and scheduling threads for multiple prioritized queues
  • Assigning and scheduling threads for multiple prioritized queues

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0015] The following sections describe an example computer system on which an operating system can be implemented that allocates and schedules worker threads to items from multiple prioritized queues.

[0016] The following description is intended to provide a brief, general description of a suitable computer with which such a system may be implemented. A computer can be any of a variety of general-purpose or special-purpose computing hardware configurations. Examples of well-known computers that may be suitable include, but are not limited to, personal computers, server computers, handheld or laptop devices (e.g., media players, notebook computers, tablet computers, cellular phones, personal data assistants, voice recorders), multimedia Processor systems, microprocessor-based systems, set-top boxes, game consoles, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

An operating system provides a pool of worker threads servicing multiple queues of requests at different priority levels. A concurrency controller limits the number of currently executing threads. The system tracks the number of currently executing threads above each priority level, and preempts operations of lower priority worker threads in favor of higher priority worker threads. A system can have multiple pools of worker threads, with each pool having its own priority queues and concurrency controller. A thread also can change its priority mid-operation. If a thread becomes lower priority and is currently active, then steps are taken to ensure priority inversion does not occur. In particular, the current thread for the now lower priority item can be preempted by a thread for a higher priority item and the preempted item is placed in the lower priority queue.

Description

Background technique [0001] In modern computing systems, it is common to have an operating system that allows a computer program to execute as multiple threads that share access to computing resources managed by the operating system. The operating system itself may also have multiple threads, referred to herein as worker threads, available to service requests from applications to operating system resources. [0002] There are several ways to manage the complexity of multiple applications competing for resources. Typically, queues are provided to manage requests from applications to use worker threads, such as requests to access resources using threads. If all requests are treated equally, the worker thread is assigned the first-coming request first. In some instances, some requests have higher priority than other requests. In such a case, a separate request queue is used for each priority level, and each priority level has its own pool of worker threads. The scheduler assi...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/50
CPCG06F9/5038G06F9/4881G06F9/50
Inventor P.泰克赛拉A.基尚
Owner MICROSOFT TECH LICENSING LLC