Methods and apparatuses for compiler-creating helper threads for multi-threading

a multi-threading and helper thread technology, applied in the field of information processing system, can solve the problems of memory latency becoming the critical bottleneck to achieving high performance on modern processors, many large applications today are memory intensive, and memory bottleneck problems still persis

Inactive Publication Date: 2005-03-31
INTEL CORP
View PDF15 Cites 91 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

Memory latency has become the critical bottleneck to achieving high performance on modern processors.
Many large applications today are memory intensive, because their memory access patterns are difficult to predict and their working sets are becoming quite large.
Despite continued advances in cache design and new developments in prefetching techniques, the memory bottleneck problem still persists.
This problem worsens when executing pointer-intensive applications, which tend to defy conventional stride-based prefetching techniques.
However, SMT does not directly improve the performance, in terms of reducing latency, of single-threaded applications.

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
  • Methods and apparatuses for compiler-creating helper threads for multi-threading
  • Methods and apparatuses for compiler-creating helper threads for multi-threading
  • Methods and apparatuses for compiler-creating helper threads for multi-threading

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

Methods and apparatuses for compiler-creating helper threads for multi-threading systems are described. According to one embodiment, a compiler, also referred to as AutoHelper, that implements thread-based prefetching helper threads on a multi-threading system, such as, for example, the Intel Pentium™ 4 Hyper-Threading systems, available from Intel Corporation. In one embodiment, the compiler automates the generation of helper threads for Hyper-Threading processors. The techniques focus at identifying and generating helper threads of minimal sizes that can be executed to achieve timely and effective data prefetching, while incurring minimal communication overhead. A runtime system is also implemented to efficiently manage the helper threads and the synchronization between threads. Consequently, helper threads are able to issue timely prefetches for the sequential pointer-intensive applications.

In addition, hardware resources such as register contexts may be managed for helper thr...

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

Methods and apparatuses for compiler-created helper thread for multi-threading are described herein. In one embodiment, exemplary process includes identifying a region of a main thread that likely has one or more delinquent loads, the one or more delinquent loads representing loads which likely suffer cache misses during an execution of the main thread, analyzing the region for one or more helper threads with respect to the main thread, and generating code for the one or more helper threads, the one or more helper threads being speculatively executed in parallel with the main thread to perform one or more tasks for the region of the main thread. Other methods and apparatuses are also described.

Description

FIELD Embodiments of the invention relate to information processing system; and more specifically, to compiler-created helper threads for multi-threading. BACKGROUND Memory latency has become the critical bottleneck to achieving high performance on modern processors. Many large applications today are memory intensive, because their memory access patterns are difficult to predict and their working sets are becoming quite large. Despite continued advances in cache design and new developments in prefetching techniques, the memory bottleneck problem still persists. This problem worsens when executing pointer-intensive applications, which tend to defy conventional stride-based prefetching techniques. One solution is to overlap memory stalls in one program with the execution of useful instructions from another program, thus effectively improving system performance in terms of overall throughput. Improving throughput of multitasking workloads on a single processor has been the primary m...

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
Patent Type & Authority Applications(United States)
IPC IPC(8): G06F9/38G06F9/45
CPCG06F8/4442G06F9/3851G06F9/3842G06F9/383
Inventor LIAO, SHIH-WEITIAN, XINMINHOFLEHNER, GEROLF F.WANG, HONGLAVERY, DANIEL M.WANG, PERRYKIM, DONGKEUNGIRKAR, MILINDSHEN, JOHN P.
Owner INTEL CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products