Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

System and method for hiding memory latency

Inactive Publication Date: 2006-04-13
IBM CORP
View PDF17 Cites 18 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0011] The second thread receives control, and begins to execute its instructions. The second thread encounters a prolonged instruction and begins to execute the prolonged instruction. The second thread identifies that its next instruction is either a BISL or a BISLED instruction. As such, the second thread stores the second thread's return address in the second register, and retrieves the first thread's return address from the first register. The second thread passes control to the first thread at the first thread's return address, whereby the first thread executes its instructions. This cyclical loop continues between the first thread and the second thread in order to hide memory latency that both threads encounter when they perform a prolonged instruction.

Problems solved by technology

There are instructions, however, that take a prolonged amount of time to execute.
A challenge found with prolonged instructions is removing the latency that results when an application waits for the prolonged instruction to finish.
A further challenge is found when an application invokes multiple threads and one of the threads encounters a prolonged instruction.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • System and method for hiding memory latency
  • System and method for hiding memory latency
  • System and method for hiding memory latency

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0024] The following is intended to provide a detailed description of an example of the invention and should not be taken to be limiting of the invention itself. Rather, any number of variations may fall within the scope of the invention which is defined in the claims following the description.

[0025]FIG. 1 is a diagram showing two threads branching to each other when the threads encounter a prolonged instruction. While the example shown in FIG. 1 includes two threads, the invention described herein is not limited to two threads and, as one skilled in the art can appreciate, the invention is applicable to any number of multiple threads. At compile time, Branch Indirect and Set Link (BISL) and / or Branch Indirect and Set Link if External Data (BISLED) instructions are placed in thread code at instances that correspond to a thread's prolonged instruction. A prolonged instruction is an instruction that may instigate latency in a computer system, such as a DMA instruction. When a first t...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A System and method for hiding memory latency in a multi-thread environment is presented. Branch Indirect and Set Link (BISL) and / or Branch Indirect and Set Link if External Data (BISLED) instructions are placed in thread code during compilation at instances that correspond to a prolonged instruction. A prolonged instruction is an instruction that instigates latency in a computer system, such as a DMA instruction. When a first thread encounters a BISL or a BISLED instruction, the first thread passes control to a second thread while the first thread's prolonged instruction executes. In turn, the computer system masks the latency of the first thread's prolonged instruction. The system can be optimized based on the memory latency by creating more threads and further dividing a register pool amongst the threads to further hide memory latency in operations that are highly memory bound.

Description

BACKGROUND OF THE INVENTION [0001] 1. Technical Field [0002] The present invention relates in general to a system and method for hiding memory latency. More particularly, the present invention relates to a system and method for, in a multi-thread environment, passing control from a first thread to a second thread when the first thread encounters a prolonged instruction. [0003] 2. Description of the Related Art [0004] Developers attempt to increase a computer system's performance by improving both the hardware aspects and the software aspects of the computer system. From a hardware perspective, a hardware developer may focus on improving areas such as a microprocessor's speed, bus interface speed, and memory size. From a software perspective, a developer may design an application to invoke multiple threads in order to increase the application's performance. For example, a gaming application may invoke a thread to render terrain data for the left half of a computer screen, and invoke ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F9/46
CPCG06F8/41G06F9/322G06F9/3851
Inventor BROKENSHIRE, DANIEL ALANHOFSTEE, HARM PETERMINOR, BARRY L.NUTTER, MARK RICHARD
Owner IBM CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products