×

Scheduling threads in multi-core systems

  • US 8,544,014 B2
  • Filed: 07/24/2007
  • Issued: 09/24/2013
  • Est. Priority Date: 07/24/2007
  • Status: Active Grant
First Claim
Patent Images

1. A method to be executed at least in part in a computing device for scheduling threads in a multi-core processor system, the method comprising:

  • receiving a thread to be scheduled for processing by the multi-core processor system;

    determining whether the received thread has a fixed affinity for a particular core of the multi-core processor system;

    assigning a sequence number to the received thread based on time of arrival of the thread when the thread is determined to not have a fixed affinity for the particular core and assigning a sequence number to the received thread based on time of arrival plus an offset when the thread is determined to have a fixed affinity;

    placing the thread in a per-processor queue for the particular core when the thread is determined to have a fixed affinity for the particular core;

    placing the thread in a global run queue for all available cores of the multi-core processor system when the thread is determined to not have a fixed affinity for the particular core; and

    processing the threads from the global run queue and the per-processor queue according to the assigned sequence number.

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