IP Library Granted Patent US 9,665,290
Granted Patent B2
US 9,665,290 · App. 15/348,157 · Granted May 30, 2017

Memory controller for heterogeneous computer

Inventors: Hao Wang (Madison, WI); Nam Sung Kim (Middleton, WI)
Assignee: Wisconsin Alumni Research Foundation
G06F3/0611G06F3/0659G06F3/0685
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,665,290
App. No.
15/348,157
Granted
May 30, 2017
Kind
B2
Abstract

A memory controller for heterogeneous computer processors dynamically adjusts access priorities by the different processors to maximize performance in the execution of a single parallel application program on both processor architectures. In one embodiment, the memory controller predicts sequential memory accesses by the processor having higher memory latency or fewer access requests to lockout the other processor during those sequences for improved implementation of the intended prioritization.

Claims (20)

1. A computer for heterogeneous computing of a single parallel application comprising;

a first processor having a first architecture;

a second processor having a second architecture different from the first architecture;

an electronic memory; and

a memory controller communicating memory access requests from the first and second processor to the memory, the memory controller giving priority to memory access requests from the first processor to a portion of the memory during a predetermined lockout period after a first memory access request from the first processor to the portion of the memory following a memory access request from the first processor to a different portion of memory.

2. The computer of claim 1 wherein the first processor has at least one of greater sensitivity to memory latency than the second processor, and a lower rate of memory access requests than the second processor.

3. The computer of claim 1 further including a lockout period adjuster measuring successive memory access requests from the first processor to the portion during execution of the single parallel application and adjusting the lockout period according to that measurement.

4. A memory controller comprising:

inputs adapted to receive memory requests from a first processor having a first architecture and a second processor having a second architecture different from the first architecture;

outputs adapted to communicate memory requests received from the first and second processors to all electronic memory to obtain data requested by the memory requests; and

a memory request lockout giving priority to memory access requests from the first processor to a portion of the memory during a predetermined lockout period after a first memory access request from the first processor to the portion of the memory following a memory access request from the first processor to a different portion of memory;

wherein the first processor has at least one of greater sensitivity to memory latency than the second processor, and a lower rate of memory access requests than the second processor.

5. The computer of claim 4 further including a lockout period adjuster measuring successive memory access requests from the first processor to the portion during execution of the single parallel application and adjusting the lockout period according to that measurement.

6. The computer of claim 5 wherein the lockout period adjuster combines multiple measures of successive memory access requests to determine the lockout period to be representative of an expected number of successive memory accesses.

7. The computer of claim 1 wherein the lockout period adjuster combines multiple measures of successive memory access requests to determine the lockout period to be representative of an expected number of successive memory accesses.

8. The computer of claim 7 wherein the lockout period adjuster is at least in part a program executing on one of the first and second processors.

9. The computer of claim 1 wherein the electronic memory includes different hanks, and wherein the portion is a given bank and the lockout period adjuster independently controls a lockout period for each bank.

10. The computer of claim 1 wherein the first processor has greater sensitivity to memory latency than the second processor.

11. The computer of claim 1 wherein the first processor makes fewer memory access requests than the second processor.

12. The computer of claim 1 wherein the first processor is at least one general-purpose computer processing unit providing a first instruction set and the second processor is at least one graphic processing unit providing a second instruction set different from the first instruction set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2017
From: KIM, NAM SUNG; WANG, HAO
To: WISCONSIN ALUMNI RESEARCH FOUNDATION
Reel/Frame 042175/0123 →
CONFIRMATORY LICENSE Recorded Jan 9, 2017
From: UNIVERSITY OF WISCONSIN, MADISON
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 041299/0218 →
Continuity (2)
Division 14465126 · Aug 21, 2014
Related Publication 20170060441A1 · Mar 2, 2017