Patents by Inventor Ali-Reza Adl-Tabatabai

Ali-Reza Adl-Tabatabai 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: 20090241097
    Abstract: In one embodiment, the invention provides a method comprising determining metadata encoded in instructions of a stored program; and executing the stored program based on the metadata.
    Type: Application
    Filed: May 20, 2009
    Publication date: September 24, 2009
    Inventors: Hong Wang, John Shen, Ali-Reza Adl-Tabatabai, Anwar Ghuloum
  • Patent number: 7580914
    Abstract: In one embodiment, the invention provides a method comprising determining metadata encoded in instructions of a stored program; and executing the stored program based on the metadata.
    Type: Grant
    Filed: December 24, 2003
    Date of Patent: August 25, 2009
    Assignee: Intel Corporation
    Inventors: Hong Wang, John Shen, Ali-Reza Adl-Tabatabai, Anwar Ghuloum
  • Patent number: 7577947
    Abstract: Methods and apparatus to dynamically insert prefetch instructions are disclosed. In an example method, one or more samples associated with cache misses are identified from a performance monitoring unit in a processor system. Based on sample information associated with the one or more samples, delinquent information is generated. To dynamically insert one or more prefetch instructions, a prefetch point is identified based on the delinquent information.
    Type: Grant
    Filed: December 19, 2003
    Date of Patent: August 18, 2009
    Assignee: Intel Corporation
    Inventors: Sreenivas Subramoney, Mauricio J. Serrano, Richard L. Hudson, Ali-Reza Adl-Tabatabai
  • Patent number: 7567963
    Abstract: Thread synchronization with lock inflation methods and apparatus for managed run-time environments are disclosed. An example method disclosed herein comprises determining a locking operation to perform on a lock corresponding to the object, performing an optimistically balanced synchronization of the lock if the locking operation is not unbalanced, and modifying a lock shape of the lock if the locking operation is unbalanced.
    Type: Grant
    Filed: June 28, 2004
    Date of Patent: July 28, 2009
    Assignee: Intel Corporation
    Inventors: Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Brian Murphy
  • Publication number: 20090172305
    Abstract: A method and apparatus for providing optimized strong atomicity operations for non-transactional writes is herein described. Locks are acquired upon initial non-transactional writes to memory locations. The locks are maintained until an event is detected resulting in the release of the locks. As a result, in the intermediary period between acquiring and releasing the locks, any subsequent writes to memory locations that are locked are accelerated through non-execution of lock acquire operations.
    Type: Application
    Filed: December 30, 2007
    Publication date: July 2, 2009
    Inventors: Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Vijay Menon, Bratin Saha
  • Publication number: 20090172292
    Abstract: A method and apparatus for accelerating lookups in an address based table is herein described. When an address and value pair is added to an address based table, the value is privately stored in the address to allow for quick and efficient local access to the value. In response to the private store, a cache line holding the value is transitioned to a private state, to ensure the value is not made globally visible. Upon eviction of the privately held cache line, the information is not written-back to ensure locality of the value. In one embodiment, the address based table includes a transactional write buffer to hold addresses, which correspond to tentatively updated values during a transaction. Accesses to the tentative values during the transaction may be accelerated through use of annotation bits and private stores as discussed herein. Upon commit of the transaction, the values are copied to the location to make the updates globally visible.
    Type: Application
    Filed: December 27, 2007
    Publication date: July 2, 2009
    Inventors: Bratin Saha, Ali-Reza Adl-Tabatabai, Ethan Schuchman
  • Publication number: 20090172317
    Abstract: A method and apparatus for providing efficient strong atomicity is herein described. Optimized strong operations may be inserted at non-transactional read accesses to provide efficient strong atomicity. A global transaction value is copied at a beginning of a non-transational function to a local transaction value; essentially creating a local timestamp of the global transaction value. At a non-transactional memory access within the function, a counter value or version value is compared to the LTV to see if a transaction has started updating memory locations, or specifically the memory location accessed. If memory locations have not been updated by a transaction, execution is accelerated by avoiding a full set of slowpath strong atomic operations to ensure validity of data accessed. In contrast, the slowpath operations may be executed to resolve contention between a transactional and non-transaction access contending for the same memory location.
    Type: Application
    Filed: December 30, 2007
    Publication date: July 2, 2009
    Inventors: Bratin Saha, Ali-Reza Adl-Tabatabai, Cheng Wang, Tatiana Shpeisman
  • Publication number: 20090172303
    Abstract: A method and apparatus for a hybrid transactional memory system is herein described. A first transaction is executed utilizing a first style of a transactional memory system and a second transaction is executed in parallel utilizing a second style of a transactional memory system. For example, a main thread is executed utilizing an update-in place Software Transactional Memory (STM) system while a parallel thread, such as a helper thread, is executed utilizing a write buffering STM. As a result, a main thread may directly update memory locations, while a helper thread's transactional writes are buffered to ensure they do not invalidate transactional reads of the main thread. Therefore, parallel execution of threads is achieved, while ensuring at least one thread, such as a main thread, does not degrade below an amount of execution cycles it would take to execute the main thread serially.
    Type: Application
    Filed: December 27, 2007
    Publication date: July 2, 2009
    Inventors: Adam Welc, Ali-Reza Adl-Tabatabai
  • Patent number: 7542977
    Abstract: Embodiments of a system and method for transactional memory (TM) with automatic object versioning are described. Embodiments described herein include a TM system and method that facilitates the execution of object-oriented application programs in a transactional environment, including automatically versioning objects to enhance efficiency. Embodiments of the TM automatically designate versions of objects using pointers, accurately identifying usable and unusable versions. Object versioning as described herein allows the garbage collector to easily and efficiently determine which objects may be moved, freeing memory space and reducing the number of objects traversed by a transaction before finding a useable version of an object. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 29, 2006
    Date of Patent: June 2, 2009
    Assignee: Intel Corporation
    Inventors: Richard L. Hudson, Ali-Reza Adl-tabatabai, Bratin Saha
  • Publication number: 20090089520
    Abstract: In accordance with some embodiments, software transactional memory may be used for both managed and unmanaged environments. If a cache line is resident in a cache and this is not the first time that the cache line has been read since the last write, then the data may be read directly from the cache line, improving performance. Otherwise, a normal read may be utilized to read the information. Similarly, write performance can be accelerated in some instances to improve performance.
    Type: Application
    Filed: September 28, 2007
    Publication date: April 2, 2009
    Inventors: Bratin Saha, Ali-Reza Adl-Tabatabai, Tatiana Shpeisman, Cheng Wang
  • Patent number: 7512930
    Abstract: A method and apparatus for a read barrier mechanism are described. According to an embodiment, a method comprises receiving an access request for a program object; performing a combined check for a null reference or for a read barrier for the program object; and if the combined check is affirmative, performing a recovery operation.
    Type: Grant
    Filed: March 31, 2004
    Date of Patent: March 31, 2009
    Assignee: Intel Corporation
    Inventors: Ali-Reza Adl-Tabatabai, Jayashankar Bharadwaj, Tatiana Shpeisman
  • Patent number: 7512750
    Abstract: A memory controller is described that comprises a compression map cache. The compression map cache is to store information that identifies a cache line's worth of information that has been compressed with another cache line's worth of information. A processor and a memory controller integrated on a same semiconductor die is also described. The memory controller comprises a compression map cache. The compression map cache is to store information that identifies a cache line's worth of information that has been compressed with another cache line's worth of information.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: March 31, 2009
    Assignee: Intel Corporation
    Inventors: Chris J. Newburn, Ram Huggahalli, Herbert H J Hum, Ali-Reza Adl-Tabatabai, Anwar M. Ghuloum
  • Publication number: 20090077339
    Abstract: Object-based conflict detection is described in the context of software transactional memory. In one example, a pointer is received for a block of instructions, the block of instructions having allocated objects. The lower bits of the pointer are masked if the pointer is in a small object space to obtain a block header for the block, and a size of the allocated objects is determined using the block header.
    Type: Application
    Filed: November 13, 2008
    Publication date: March 19, 2009
    Inventors: Ben Hertzberg, Bratin Saha, Ali-Reza Adl-Tabatabai
  • Patent number: 7502897
    Abstract: Object-based conflict detection is described in the context of software transactional memory. In one example, a block of instructions is received for execution as an object in a software transactional memory transaction. The base of the object is computed, a lock is found for the object using the base of the object.
    Type: Grant
    Filed: June 28, 2006
    Date of Patent: March 10, 2009
    Assignee: Intel Corporation
    Inventors: Ben Hertzberg, Bratin Saha, Ali-Reza Adl-Tabatabai
  • Patent number: 7490117
    Abstract: Techniques are described for optimizing memory management in a processor system. The techniques may be implemented on processors that include on-chip performance monitoring and on systems where an external performance monitor is coupled to a processor. Processors that include a Performance Monitoring Unit (PMU) are examples. The PMU may store data on read and write cache misses, as well as data on translation lookaside buffer (TLB) misses. The data from the PMU is used to determine if any memory regions within a memory heap are delinquent memory regions, i.e., regions exhibiting high numbers of memory problems or stalls. If delinquent memory regions are found, the memory manager, such as a garbage collection routine, can efficiently optimize memory performance as well as the mutators performance by improving the layout of objects in the heap. In this way, memory management routines may be focused based on dynamic and real-time memory performance data.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: February 10, 2009
    Assignee: Intel Corporation
    Inventors: Sreenivas Subramoney, Richard Hudson, Mauricio Serrano, Ali-Reza Adl-Tabatabai
  • Patent number: 7487336
    Abstract: The present disclosure relates to the allocation of registers the scheduling of instructions, and, more specifically, to the classifying of operands and allocation of registers to local operands.
    Type: Grant
    Filed: December 12, 2003
    Date of Patent: February 3, 2009
    Assignee: Intel Corporation
    Inventors: Jayashankar Bharadwaj, Tatiana Shpeisman, Ali-Reza Adl-Tabatabai
  • Patent number: 7478210
    Abstract: Memory reclamation with optimistic concurrency is described. In one example an allocated memory object is tentatively freed in a software transactional memory, the object having pointers into it from at least one transaction. A time when all transactions that are outstanding at the time an object is tentatively freed have ended is detected, and the object is actually freed based on the detection.
    Type: Grant
    Filed: June 9, 2006
    Date of Patent: January 13, 2009
    Assignee: Intel Corporation
    Inventors: Bratin Saha, Richard L. Hudson, Ali-Reza Adl-tabatabai
  • Publication number: 20090006767
    Abstract: A method and apparatus for fine-grained filtering in a hardware accelerated software transactional memory system is herein described. A data object, which may have any arbitrary size, is associated with a filter word. The filter word is in a first default state when no access, such as a read, from the data object has occurred during a pendancy of a transaction. Upon encountering a first access, such as a first read, from the data object, access barrier operations including an ephemeral/private store operation to set the filter word to a second state are performed. Upon a subsequent/redundant access, such as a second read, the access barrier operations are elided to accelerate the subsequent access, based on the filter word being set to the second state to indicate a previous access occurred.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Inventors: Bratin Saha, Ali-Reza Adl-Tabatabai, Gad Sheaffer, Quinn Jacobson
  • Publication number: 20080270745
    Abstract: A method and apparatus for accelerating a software transactional memory (STM) system is described herein. Annotation field are associated with lines of a transactional memory. An annotation field associated with a line of the transaction memory is initialized to a first value upon starting a transaction. In response to encountering a read operation in the transaction, then annotation field is checked. If the annotation field includes a first value, the read is serviced from the line of the transaction memory without having to search an additional write space. A second and third value in the annotation field potentially indicates whether a read operation missed the transactional memory or a tentative value is stored in a write space. Additionally, an additional bit in the annotation field, may be utilized to indicate whether previous read operations have been logged, allowing for subsequent redundant read logging to be reduced.
    Type: Application
    Filed: April 9, 2007
    Publication date: October 30, 2008
    Inventors: Bratin Saha, Ali-Reza Adl-Tabatabai, Quinn Jacobson
  • Publication number: 20080162885
    Abstract: A method and apparatus for ensuring integrity of transaction exit functions is herein described. Dead local data in a transaction is prevented from overwriting local variables associated with a transaction exit function. In a write-buffering Software Transactional Memory (STM) system, a commit function is associated with a private stack to store local variables to ensure write-back of local dead data in a write-buffer does not corrupt the commit function. Similarly, in a roll-back STM, an abort function is associated with a private stack to store local variables to ensure the roll-back of a program stack with local dead data from a write log does not corrupt the abort function. Alternatively, one stack may be used for the transaction including a first function and an exit function. Here, local dead variables are detected and prevented from overwriting local variables of the exit function.
    Type: Application
    Filed: December 28, 2006
    Publication date: July 3, 2008
    Inventors: Cheng Wang, Youfeng Wu, Bratin Saha, Ali-Reza Adl-Tabatabai