Patent ID: 8510749

Claim:
A computer usable program product comprising a non-transitory computer usable storage medium including computer usable code for scheduling threads in a data processing system having a multi-core processor, the computer usable code comprising: computer usable code for selecting a first thread according to an order in a scheduling discipline, the first thread being a thread of an application executing in the data processing system, the first thread forming a leader thread in a bundle of threads; computer usable code for determining a value of a core attribute in a set of core attributes according to a corresponding thread attribute in a set of thread attributes associated with the leader thread; computer usable code for determining whether a second thread can be added to the bundle of threads such that the bundle including the second thread will satisfy a policy; computer usable code for adding, responsive to the determining being affirmative, the second thread to the bundle; and computer usable code for scheduling the bundle for execution using a core of the multi-core processor; wherein the policy is a compatibility policy, the compatibility policy comprising: computer usable code for determining whether a thread attribute in the set of thread attributes of the second thread is within a tolerance value of a corresponding core attribute in the set of the core attributes as set by the leader thread.