Patents by Inventor Ravi Rajwar

Ravi Rajwar has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20150089286
    Abstract: Event counter checkpointing and restoring is disclosed. In one implementation, a processor includes a first event counter to count events that occur during execution within the processor, event counter checkpoint logic, communicably coupled with the first event counter, to store, prior to a transactional execution of the processor, a value of the first event counter, a second event counter to count events prior to and during the transactional execution, wherein the second event counter is to increment without resetting after the transactional execution is aborted, event count restore logic to restore the first event counter to the stored value after the transactional execution is aborted, and tuning logic to determine, in response to aborting of the transactional execution, a number of the events that occurred during the transactional execution based on the stored value of the first event counter and a value of the second event counter.
    Type: Application
    Filed: November 26, 2014
    Publication date: March 26, 2015
    Inventors: Laura A. Knauth, Ravi Rajwar, Konrad K. Lai, Martin G. Dixon, Peggy Irelan
  • Patent number: 8972994
    Abstract: Example methods and apparatus to manage object locks are disclosed. A disclosed example method includes receiving an object lock request from a processor, the lock request associated with object lock code to lock an object, and generating object lock-bypass code based on a type of the processor, the object lock-bypass code to execute in a managed runtime in response to receiving the object lock request. The example method also includes identifying a type of instruction set architecture (ISA) associated with the processor, invoking a checkpoint instruction for the processor based on the identified ISA, suspending the object lock code from executing and executing target code when the object is uncontended, and allowing the object lock code to execute when the object is contended.
    Type: Grant
    Filed: December 23, 2009
    Date of Patent: March 3, 2015
    Assignee: Intel Corporation
    Inventors: Suresh Srinivas, Stephen H. Dohrmann, Mingqiu Sun, Uma Srinivasan, Ravi Rajwar, Konrad K. Lai
  • Publication number: 20150032998
    Abstract: An apparatus and method is described herein for providing speculation control instructions. An xAcquire and xRelease instruction are provided to define a critical section. In one embodiment, the xAcquire instruction includes a lock instruction with an elision prefix and the xRelease instruction includes a lock release instruction with an elision prefix. As a result, a processor is able to elide locks and transactionally execute a critical section defined in software by xAcquire and xRelease. But by adding only prefix hints, legacy processor are able to execute the same code by just ignoring the hints and executing the critical section traditionally with locks to guarantee mutual exclusion. Moreover, xBegin and xEnd are similarly provided for in an Instruction Set Architecture (ISA) to define a transactional code region.
    Type: Application
    Filed: February 2, 2012
    Publication date: January 29, 2015
    Inventors: Ravi Rajwar, Martin G. Dixon, Konrad K. Lai, Alexandre J. Farcy, Bret L. Toll, Robert S. Chappell, Matthew C. Merten, Rajesh S. Parthasarathy, Per Hammarlund
  • Publication number: 20150006496
    Abstract: A processor, system, and method are described for continued retirement of operations during a commit of a speculative region of program code. For example, one embodiment of a method comprises the operations of identifying a plurality of transactional memory regions in program code, including a first transactional memory region; and retiring one or more of a plurality of operations which follow the first transactional memory region even when a commit operation associated with the first transactional memory region is waiting to complete.
    Type: Application
    Filed: June 29, 2013
    Publication date: January 1, 2015
    Inventors: Ravi RAJWAR, Matthew C. MERTEN, Christine E. WANG, Vijaykumar B. KADGI, Rajesh S. PARTHASARATHY
  • Publication number: 20150006717
    Abstract: In accordance with embodiments disclosed herein, there is provided systems and methods for tracking the mode of processing devices in an instruction tracing system. The method may include receiving an indication of a change in a current execution mode of the processing device. The method may also include determining that the current execution mode of the received indication is different than a value of an execution mode of a first execution mode (EM) packet previously-generated by the IT module. The method may also include generating, based on the determining that the current execution mode is different, a second EM packet that provides a value of the current execution mode of the processing device to indicate the change in the execution mode for an instruction in a trace generated by the IT module. The method may further include generating transactional memory (TMX) packets having n bit mode pattern in the packet log. The n is at least two and the n bit mode indicates transaction status of the TMX operation.
    Type: Application
    Filed: June 27, 2013
    Publication date: January 1, 2015
    Inventors: Thilo Schmitt, Peter Lachner, Beeman Strong, Ofer Levy, Thomas Toll, Matthew Merten, Tong Li, Ravi Rajwar, Konrad Lai
  • Patent number: 8924692
    Abstract: A method of one aspect may include storing an event count of an event counter that counts events that occur during execution within a logic device. The method may further include restoring the event counter to the stored event count after the event counter has counted additional events. Other methods are also disclosed. Apparatus, systems, and machine-readable medium having software are also disclosed.
    Type: Grant
    Filed: December 26, 2009
    Date of Patent: December 30, 2014
    Assignee: Intel Corporation
    Inventors: Laura A. Knauth, Ravi Rajwar, Konrad K. Lai, Martin G. Dixon, Peggy Irelan
  • Publication number: 20140379996
    Abstract: An apparatus and method is described herein for providing speculative escape instructions. Specifically, an explicit non-transactional load operation is described herein. During execution of a speculative code region (e.g. a transaction or critical section) loads are normally tracked in a read set. However, a programmer or compiler may utilize the explicit non-transactional read to load from a memory address into a destination register, while not adding the read/load to the transactional read set. Similarly, a non-transactional store is also provided. Here, a transactional store is performed and not added to a write set during speculative code execution. And the store may be immediately globally visible and/or persistent (even after an abort of the speculative code region). In other words, speculative escape operations are provided to ‘escape’ a speculative code region to perform non-transactional memory accesses without causing the speculative code region to abort or fail.
    Type: Application
    Filed: February 2, 2012
    Publication date: December 25, 2014
    Inventors: Ravi Rajwar, Martin G. Dixon, Konrad K. Lai, Robert S. Chappell, Bret L. Toll
  • Patent number: 8881106
    Abstract: Methods and apparatus relating to debugging parallel software using speculatively executed code sequences in a multiple core environment are described. In an embodiment, occurrence of a speculative code debug event is detected and a speculative code execution debug module is executed in response to occurrence of the event. Other embodiments are also disclosed and claimed.
    Type: Grant
    Filed: December 24, 2010
    Date of Patent: November 4, 2014
    Assignee: Intel Corporation
    Inventors: Peter Lachner, Konrad K. Lai, Ravi Rajwar
  • Publication number: 20140297970
    Abstract: Critical sections of multi-threaded programs, normally protected by locks providing access by only one thread, are speculatively executed concurrently by multiple threads with elision of the lock acquisition and release. Upon a completion of the speculative execution without actual conflict as may be identified using standard cache protocols, the speculative execution is committed, otherwise the speculative execution is squashed. Speculative execution with elision of the lock acquisition, allows a greater degree of parallel execution in multi-threaded programs with aggressive lock usage.
    Type: Application
    Filed: June 13, 2014
    Publication date: October 2, 2014
    Inventors: Ravi Rajwar, James R. Goodman
  • Publication number: 20140258695
    Abstract: In one embodiment, a processor includes an execution unit and at least one last branch record (LBR) register to store address information of a branch taken during program execution. This register may further store a transaction indicator to indicate whether the branch was taken during a transactional memory (TM) transaction. This register may further store an abort indicator to indicate whether the branch was caused by a transaction abort. Other embodiments are described and claimed.
    Type: Application
    Filed: June 14, 2013
    Publication date: September 11, 2014
    Inventors: Ravi Rajwar, Peter Lachner, Laura A. Knauth, Konrad K. Lai
  • Patent number: 8782382
    Abstract: In one embodiment, a processor includes an execution unit and at least one last branch record (LBR) register to store address information of a branch taken during program execution. This register may further store a transaction indicator to indicate whether the branch was taken during a transactional memory (TM) transaction. This register may further store an abort indicator to indicate whether the branch was caused by a transaction abort. Other embodiments are described and claimed.
    Type: Grant
    Filed: March 6, 2013
    Date of Patent: July 15, 2014
    Assignee: Intel Corporation
    Inventors: Ravi Rajwar, Peter Lachner, Laura A. Knauth, Konrad K. Lai
  • Publication number: 20140189315
    Abstract: An apparatus is described having an out-of-order instruction execution pipeline. The out-of-order execution pipeline has a first circuit and a second circuit. The first circuit is to hold a pointer to physical storage space where information is kept that cannot yet be confirmed as being free of potential dependencies on the information. The second circuit is to hold the pointer if the pointer existed in the first circuit when a non speculative region of program code ended and upon retirement of a following speculative overwriter instruction originally coded to overwrite the information.
    Type: Application
    Filed: December 29, 2012
    Publication date: July 3, 2014
    Inventors: Ravi RAJWAR, David LIM, James HADLEY, Matthew MERTEN, Joseph MCMAHON, Yury ILIN, Justin DEINLEIN
  • Publication number: 20140189241
    Abstract: A method is described that includes performing the following for a transactional operation in response to a request from a processing unit that is directed to a cache identifying a cache line.
    Type: Application
    Filed: December 29, 2012
    Publication date: July 3, 2014
    Inventors: Ravi RAJWAR, Robert CHAPPELL, Zhongying ZHANG, Jason BESSETTE
  • Publication number: 20140156933
    Abstract: Systems, apparatuses, and methods for improving TM throughput using a TM region indicator (or color) are described. Through the use of TM region indicators younger TM regions can have their instructions retired while waiting for older TM regions to commit.
    Type: Application
    Filed: November 30, 2012
    Publication date: June 5, 2014
    Inventors: Omar M. Shaikh, Ravi Rajwar, Paul Caprioli, Muawya M. Al-Otoom
  • Patent number: 8683143
    Abstract: Methods and apparatus to provide unbounded transactional memory systems are described. In one embodiment, an operation corresponding to a software transactional memory (STM) access may be executed if a preceding hardware transactional memory (HTM) access operation fails.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: March 25, 2014
    Assignee: Intel Corporation
    Inventors: Haitham H. Akkary, Ali-Reza Adl-tabatabai, Bratin Saha, Ravi Rajwar
  • Publication number: 20140059333
    Abstract: An apparatus and method is described herein for providing robust speculative code section abort control mechanisms. Hardware is able to track speculative code region abort events, conditions, and/or scenarios, such as an explicit abort instruction, a data conflict, a speculative timer expiration, a disallowed instruction attribute or type, etc. And hardware, firmware, software, or a combination thereof makes an abort determination based on the tracked abort events. As an example, hardware may make an initial abort determination based on one or more predefined events or choose to pass the event information up to a firmware or software handler to make such an abort determination. Upon determining an abort of a speculative code region is to be performed, hardware, firmware, software, or a combination thereof performs the abort, which may include following a fallback path specified by hardware or software.
    Type: Application
    Filed: February 2, 2012
    Publication date: February 27, 2014
    Inventors: Martin G. Dixon, Ravi Rajwar, Konrad K. Lai, Robert S. Chappell, Rajesh S. Parthasarathy, Alexandre J. Farcy, Ilhyun Kim, Prakash Math, Matthew Merten, Vijaykumar Kadgi
  • Publication number: 20140019692
    Abstract: Critical sections of multi-threaded programs, normally protected by locks providing access by only one thread, are speculatively executed concurrently by multiple threads with elision of the lock acquisition and release. Upon a completion of the speculative execution without actual conflict as may be identified using standard cache protocols, the speculative execution is committed, otherwise the speculative execution is squashed. Speculative execution with elision of the lock acquisition, allows a greater degree of parallel execution in multi-threaded programs with aggressive lock usage.
    Type: Application
    Filed: September 17, 2013
    Publication date: January 16, 2014
    Applicant: Wisconsin Alumni Research Foundation
    Inventors: Ravi Rajwar, James R. Goodman
  • Patent number: 8627030
    Abstract: A method and apparatus for a late lock acquire mechanism is herein described. In response to detecting a late-lock acquire event, such as expiration of a timer, a full cachet set, and an irrevocable event, a late-lock acquire may be initiated. Consecutive critical sections are stalled until a late-lock acquire is completed utilizing fields of access buffer entries associated with consecutive critical section operations.
    Type: Grant
    Filed: November 7, 2007
    Date of Patent: January 7, 2014
    Assignee: Intel Corporation
    Inventors: Haitham Akkary, Ravi Rajwar, Srikanth T. Srinivasan
  • Publication number: 20140006698
    Abstract: In one embodiment, a cache memory can store a plurality of cache lines, each including a write-set field to store a write-set indicator to indicate whether data has been speculatively written during a transaction of a transactional memory, and a read-set field to store a plurality of read-set indicators each to indicate whether a corresponding thread has read the data before the transaction has committed. A compression filter associated with the cache memory includes a first filter storage to store a representation of a cache line address of a cache line read by a first thread of threads before the transaction has committed. Other embodiments are described and claimed.
    Type: Application
    Filed: June 28, 2012
    Publication date: January 2, 2014
    Inventors: Robert S. Chappell, Ravi Rajwar, Zhongying Zhang, Jason A. Bessette
  • Patent number: 8533436
    Abstract: In one embodiment, a method includes receiving an instruction for decoding in a processor core and dynamically handling the instruction with one of multiple behaviors based on whether contention is predicted. If no contention is predicted, the instruction is executed in the core, and if contention is predicted data associated with the instruction is marshaled and sent to a selected remote agent for execution. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 26, 2009
    Date of Patent: September 10, 2013
    Assignee: Intel Corporation
    Inventors: Joshua B. Fryman, Edward T. Grochowski, Toni Juan, Andrew Thomas Forsyth, John Mejia, Ramacharan Sundararaman, Eric Sprangle, Roger Espasa, Ravi Rajwar