Unlock instant, AI-driven research and patent intelligence for your innovation.

Method for creating critical section code using a software wrapper for proactive synchronization within a computer system

a software wrapper and critical section technology, applied in the field of microprocessors, can solve the problems of increasing frequency and deep pipelining, affecting the synchronization of critical sections, and limiting the practical limits of the technique, and achieve the effect of proactive synchronization

Inactive Publication Date: 2007-03-01
GLOBALFOUNDRIES INC
View PDF24 Cites 8 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

The patent describes a method for creating code that can access memory resources with exclusive access. This is important for ensuring that multiple applications can work together without interfering with each other. The method allows for the creation of high-level functions that request access to memory, which are then translated into native instructions. This results in a more efficient and effective system. The method also includes a specification phase that generates instructions for accessing memory, as well as a LOCK-based memory instruction set that allows for data loading and prefetching. Overall, this method improves performance and reliability in computer systems.

Problems solved by technology

However, there are drawbacks to increased frequency and deep pipelining.
For example, clock skew and power consumption can be significant during high frequency operation.
As such, the physical constraints imposed by system level thermal budget points, and the increased difficulty in managing clock skew may indicate that practical limits of the technique may be just around the comer.
As computing systems employ multiprocessing schemes with more and more processors (e.g., processing cores), the number of requestors that may interfere or contend for the same memory datum may increase to such an extent that conventional methods of process synchronization may be inadequate.
As the scale of multiprocessing grows, these primitives become less and less efficient.
However, we are now entering the realm in which even these hardware primitives may not provide the kind of performance that may be demanded in high-performance, high processor count multiprocessors.
This type of synchronization may incur an undesirable waste of time, particularly when many processors are attempting the same synchronizing event, since no more than one processor can make forward progress at any instant in time.

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
  • Method for creating critical section code using a software wrapper for proactive synchronization within a computer system
  • Method for creating critical section code using a software wrapper for proactive synchronization within a computer system
  • Method for creating critical section code using a software wrapper for proactive synchronization within a computer system

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0017] To enable the construction of high performance synchronization methods in software, a set of instructions, which may be referred to as an advanced synchronization facility may be used. The facility may support the construction of non-Blocking synchronization, WaitFree synchronization, Transactional Memory, along with the construction of various forms of Compare and Swap primitives typically used in the construction of these methods. The facility allows construction (in software) of a large variety of synchronization primitives.

[0018] Moreover, the advanced synchronization facility may enable software to program a large variety of synchronization kinds. Each synchronization kind may directly specify: the cache lines needed for successful completion, a sequence point where failures can redirect control flow, a data modification section where the result of the successful critical section is performed, and a sequence point where success is made visible to the rest of the system ...

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 method for creating critical section code using a software wrapper includes creating a high-level expression for requesting exclusive access to one or more memory resource addresses. The high-level expression may include an ACQUIRE function call that includes one or more arguments associated with the one or more memory resource addresses. The method may also include creating a low-level set of instructions by compiling the high-level expression into native instructions. The low-level set of instructions includes a specification phase for requesting exclusive access to the one or more memory resource addresses. In response to compiling the ACQUIRE function call, the method includes creating the specification phase of code, which may include generating an instruction stream having LOCK-based memory reference instructions having a LOCK prefix on the one or more arguments, and inserting an ACQUIRE instruction into the instruction stream.

Description

[0001] This application claims the benefit of U.S. Provisional Application No. 60 / 710,548, filed on Aug. 23, 2005.BACKGROUND OF THE INVENTION [0002] 1. Field of the Invention [0003] This invention relates to microprocessors and, more particularly, to process synchronization between processors in a multiprocessor system. [0004] 2. Description of the Related Art [0005] Modern microprocessor performance has increased steadily and somewhat dramatically over the past 10 years or so. To a large degree, the performance gains may be attributed to increased operating frequency and moreover, to a technique known as deep pipelining. Generally speaking, deep pipelining refers to using instruction pipelines with many stages, with each stage doing less, thereby enabling the overall pipeline to execute at a faster rate. This technique has served the industry well. However, there are drawbacks to increased frequency and deep pipelining. For example, clock skew and power consumption can be significa...

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): G06F12/14G06F12/00
CPCG06F9/3004G06F9/30047G06F9/30087G06F9/3017G06F9/3842G06F12/126G06F9/526G06F12/0815G06F12/0831G06F12/0862G06F9/52G06F9/46G06F12/04
Inventor ALSUP, MITCHELL
Owner GLOBALFOUNDRIES INC