IP Library Granted Patent US 9,032,405
Granted Patent B2
US 9,032,405 · App. 13/976,321 · Granted May 12, 2015

Systems and method for assigning executable functions to available processors in a multiprocessing environment

Inventor: Andrew Gerber (Fredericton, CA)
Assignee: University of New Brunswick
G06F9/3885G06F9/5066
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,032,405
App. No.
13/976,321
Granted
May 12, 2015
Kind
B2
Abstract

A computer implemented method for assigning executable functions to available processors in a Multiprocessor environment comprising (as an example of a collection of different processing architectures) one or more CPUs and one or more GPUs, the method comprising: providing an input source comprising instructions and data; breaking the input source into data oriented cell and interface objects with processing attributes; assigning the cell and interface objects to one or more of the GPUs and CPUs based on processing attributes and the multiprocessor environment; and producing output data.

Claims (27)

1. A computer implemented method for assigning executable functions to available processors in a multiprocessor environment comprising a processing architecture selected from the group consisting of one or more CPUs, one or more GPUs and combinations thereof, the method comprising:

providing an input source comprising instructions and data;

breaking the input source into data oriented cell and interface objects with processing attributes;

interrogating the processing architecture to ascertain available processor resources and creating a task graph based on available processor resources and the processing attributes of cell and interface objects;

using the cell and interface processing attributes to assign the cell and interface objects to the processing architecture;

carrying out the assigning step using the processing architecture and the cell and interface processing attributes to create the task graph;

organizing the input source into a problem representation where the problem representation defines the relationships between the cell objects, interface objects (with associated processing attributes) and task objects;

using the cell objects, interface objects (with associated processing attributes) and task objects in conjunction with information on the multiprocessing environment in the creation of the task graph;

in the problem representation, using a directory structure to relate task objects to specific cell objects and interface objects and directing what computer instructions will operate on what data in the multiprocessing environment; and

producing output data.

2. The method according to claim 1 comprising:

wherein the input source is a computer application for a problem to be solved and

adjusting the task graph using solution monitoring while solving the problem.

3. The method according to claim 1

wherein a zone defines a collection of cell objects, interface objects and task objects that operate within a common shared memory subset of the multiprocessing environment;

the step of creating the task graph comprising:

estimating through the interrogation or modifying the number of cell objects, interface objects and related task objects that make up a zone in order to obtain better load balance over distributed multiprocessor resources, and;

estimating or modifying through the association of cell objects, interface objects and related task objects that make up a zone.

4. The method according to claim 3 comprising:

assessing in a weighted manner the cell and interface objects and the related task objects for data item organization and size, task computational and data transfer intensity, and

associating the cell and interface objects and the related task objects to a specific resource in the multiprocessing environment.

5. The method according to claim 1 comprising:

collecting the cell, the interface and the related task objects to a zone and deploying the objects collectively on a shared memory system in the multiprocessing environment, and

allocating the objects using attribute filtering to processors with different architectures—associations match attributes with computer architectures to promote optimal problem solutions.

6. The method according to claim 1 , wherein the data oriented cell objects and the interface objects represent a collection of nodes over which the problem can be solved and wherein the cells comprising structured and unstructured nodal representations.

7. The method according to claim 1 wherein the multiprocessing environment comprises:

processors selected from the group consisting of a single central processing unit, a multi-core central processing unit, a manycore single, a multi-graphics processing unit and combinations thereof.

Assignments (6)
SECURITY INTEREST Recorded Jun 29, 2026
From: JUUL LABS, INC.; VMR PRODUCTS LLC; ENVENIO INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 075853/0773 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: ALTER DOMUS (US) LLC
To: JUUL LABS, INC.; VMR PRODUCTS LLC; ENVENIO INC.
Reel/Frame 069185/0228 →
SECURITY INTEREST Recorded Jul 11, 2023
From: JUUL LABS, INC.; VMR PRODUCTS LLC; ENVENIO INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 064252/0225 →
SECURITY INTEREST Recorded Sep 30, 2022
From: ENVENIO, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 061274/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2022
From: THE UNIVERSITY OF NEW BRUNSWICK
To: ENVENIO, INC.
Reel/Frame 059520/0307 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2013
From: GERBER, ANDREW
To: UNIVERSITY OF NEW BRUNSWICK
Reel/Frame 031052/0331 →
Continuity (2)
Provisional Application 61427888 · Dec 29, 2010
Related Publication 20140149716A1 · May 29, 2014