IP Library Granted Patent US 9,086,925
Granted Patent B2
US 9,086,925 · App. 13/858,036 · Granted Jul 21, 2015

Methods of processing core selection for applications on manycore processors

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,086,925
App. No.
13/858,036
Granted
Jul 21, 2015
Kind
B2
Abstract

A runtime method is disclosed that dynamically sets up core containers and thread-to-core affinity for processes running on manycore coprocessors. The method is completely transparent to user applications and incurs low runtime overhead. The method is implemented within a user-space middleware that also performs scheduling and resource management for both offload and native applications using the manycore coprocessors.

Claims (17)

1. A method to manage a multi-processor system with one or more multiple-core coprocessors, comprising:

intercepting coprocessor offload infrastructure application program interface (API) calls;

scheduling user processes to run on one of the coprocessors;

selecting cores for the group of threads such that the number of selected cores previously used by the thread group is maximized by:

selecting allocated cores assigned to at least one earlier active phase of the thread group but not assigned to other thread groups;

if more cores are needed, selecting cores that are free and not currently assigned to any thread group; and

if still more cores are needed, selecting cores that are free but have already been assigned to other thread groups;

scheduling offloads within user processes to run on one of the coprocessors;

binding threads of offloads to predetermined cores within one of the coprocessors by selecting and allocating cores to an offload, and obtaining an affinity setting from a user;

applying an aging-based first-fit for process and offload scheduling; and

applying thread and memory over-scheduling factors to enhance performance.

2. The method of claim 1 , comprising applying greedy core selection such that offloads from the same process get preference to use the same cores.

3. The method of claim 1 , wherein each coprocessor comprise a plurality of X86 cores running Linux, Peripheral Component Interconnect Express Interface, and memory controllers connected with a bidirectional Interprocessor Network (IPN) ring.

4. The method of claim 1 , further comprising:

selecting and scheduling a pending process to a coprocessor with free memory; and

examining offload queues corresponding to each coprocessor, and dispatch an offload to each coprocessor with free threads,

wherein processes and offloads are selected based on an aging-based first-fit heuristic.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2016
From: NEC LABORATORIES AMERICA, INC.
To: NEC CORPORATION
Reel/Frame 037961/0612 →