Patents by Inventor Suresh Srinivas

Suresh Srinivas 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).

  • Patent number: 8560781
    Abstract: A technique for using memory attributes to relay information to a program or other agent. More particularly, embodiments of the invention relate to using memory attribute bits to check various memory properties in an efficient manner.
    Type: Grant
    Filed: July 4, 2011
    Date of Patent: October 15, 2013
    Assignee: Intel Corporation
    Inventors: Quinn A. Jacobson, Anne Weinberger Bracy, Hong Wang, John P. Shen, Per Hammarlund, Matthew C. Merten, Suresh Srinivas, Kshitij A. Doshi, Gautham N. Chinya, Bratin Saba, Ali-Reza Adl-Tabatabai, Gad S. Sheaffer
  • Publication number: 20130262779
    Abstract: Profiling and analyzing modules may be combined with hardware modules to identify a likelihood that a particular region of code in a computer program contains data that would benefit from prefetching. Those regions of code that would not benefit from prefetching may also be identified. Once a region of code has been identified, a hardware prefetcher may be selectively enabled or disable when executing code in identified code region. In some instances, once a processing device finishes executing code in the identified code region, the state of the hardware prefetcher may then be switched back to its original state. Systems, methods, and media are provided.
    Type: Application
    Filed: March 30, 2012
    Publication date: October 3, 2013
    Inventors: Jayaram BOBBA, Ryan CARLSON, Jeffrey Cook, Abhinav DAS, Jason HORIHAN, Wei LI, Suresh SRINIVAS, Sreenivas SUBRAMONEY, Krishnaswamy VISWANATHAN
  • Publication number: 20130198458
    Abstract: In one embodiment, a processor can operate in multiple modes, including a direct execution mode and an emulation execution mode. More specifically, the processor may operate in a partial emulation model in which source instruction set architecture (ISA) instructions are directly handled in the direct execution mode and translated code generated by an emulation engine is handled in the emulation execution mode. Embodiments may also provide for efficient transitions between the modes using information that can be stored in one or more storages of the processor and elsewhere in a system. Other embodiments are described and claimed.
    Type: Application
    Filed: March 5, 2013
    Publication date: August 1, 2013
    Inventors: SEBASTIAN WINKEL, KOICHI YAMADA, SURESH SRINIVAS, JAMES E. SMITH
  • Publication number: 20130166886
    Abstract: Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program into multiple parallel threads are described. For example, a method according to one embodiment comprises: analyzing a single-threaded region of executing program code, the analysis including identifying dependencies within the single-threaded region; determining portions of the single-threaded region of executing program code which may be executed in parallel based on the analysis; assigning the portions to two or more parallel execution tracks; and executing the portions in parallel across the assigned execution tracks.
    Type: Application
    Filed: June 26, 2012
    Publication date: June 27, 2013
    Inventors: Ruchira Sasanka, Abhinav Das, Jeffrey J. Cook, Jayaram Bobba, Arvind Krishnaswamy, David I. Sager, Suresh Srinivas
  • Publication number: 20110264866
    Abstract: A technique for using memory attributes to relay information to a program or other agent. More particularly, embodiments of the invention relate to using memory attribute bits to check various memory properties in an efficient manner.
    Type: Application
    Filed: July 4, 2011
    Publication date: October 27, 2011
    Inventors: Quinn A. Jacobson, Anne Weinberger Bracy, Hong Wang, John P. Shen, Per Hammarlund, Matthew C. Merten, Suresh Srinivas, Kshitij A. Doshi, Gautham N. Chinya, Bratin Saba, Ali-Reza Adl-Tabatabai, Gad S. Sheaffer
  • Patent number: 7991956
    Abstract: In one embodiment, the present invention includes a method for associating a first identifier with data stored by a first agent in a cache line of a cache to indicate the identity of the first agent, and storing the first identifier with the data in the cache line and updating at least one of a plurality of counters associated with the first agent in a metadata storage in the cache, where the counter includes information regarding inter-agent interaction with respect to the cache line. Other embodiments are described and claimed.
    Type: Grant
    Filed: June 27, 2007
    Date of Patent: August 2, 2011
    Assignee: Intel Corporation
    Inventors: Rameshkumar Illikkal, Ravishankar Iyer, Li Zhao, Donald Newell, Carl Lebsack, Quinn A. Jacobson, Suresh Srinivas, Mingqiu Sun
  • Patent number: 7991965
    Abstract: A technique for using memory attributes to relay information to a program or other agent. More particularly, embodiments of the invention relate to using memory attribute bits to check various memory properties in an efficient manner.
    Type: Grant
    Filed: February 7, 2006
    Date of Patent: August 2, 2011
    Assignee: Intel Corporation
    Inventors: Quinn A. Jacobson, Anne Weinberger Bracy, Hong Wang, John P. Shen, Per Hammarlund, Matthew C. Merten, Suresh Srinivas, Kshitij A. Doshi, Gautham N. Chinya, Bratin Saha, Ali-Reza Adl-Tabatabai, Gad S. Sheaffer
  • Publication number: 20110167416
    Abstract: Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program into multiple parallel threads are described. In some embodiments, the systems and apparatuses execute a method of original code decomposition and/or generated thread execution.
    Type: Application
    Filed: December 25, 2010
    Publication date: July 7, 2011
    Inventors: David J. Sager, Ruchira Sasanka, Ron Gabor, Shlomo Raikin, Joseph Nuzman, Leeor Peled, Jason A. Domer, Ho-Seop Kim, Youfeng Wu, Koichi Yamada, Tin-Fook Ngai, Howard H. Chen, Jayaram Bobba, Jeffery J. Cook, Omar M. Shaikh, Suresh Srinivas
  • Publication number: 20110153992
    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: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Suresh Srinivas, Stephen H. Dohrmann, Mingqiu Sun, Uma Srinivasan, Ravi Rajwar, Konrad K. Lai
  • Publication number: 20110153307
    Abstract: In one embodiment, a processor can operate in multiple modes, including a direct execution mode and an emulation execution mode. More specifically, the processor may operate in a partial emulation model in which source instruction set architecture (ISA) instructions are directly handled in the direct execution mode and translated code generated by an emulation engine is handled in the emulation execution mode. Embodiments may also provide for efficient transitions between the modes using information that can be stored in one or more storages of the processor and elsewhere in a system. Other embodiments are described and claimed.
    Type: Application
    Filed: December 23, 2009
    Publication date: June 23, 2011
    Inventors: Sebastian Winkel, Koichi Yamada, Suresh Srinivas, James E. Smith
  • Publication number: 20090006755
    Abstract: In one embodiment, the present invention includes a method for associating a first identifier with data stored by a first agent in a cache line of a cache to indicate the identity of the first agent, and storing the first identifier with the data in the cache line and updating at least one of a plurality of counters associated with the first agent in a metadata storage in the cache, where the counter includes information regarding inter-agent interaction with respect to the cache line. Other embodiments are described and claimed.
    Type: Application
    Filed: June 27, 2007
    Publication date: January 1, 2009
    Inventors: Ramesh Illikkal, Ravishankar Iyer, Li Zhao, Donald Newell, Carl Lebsack, Quinn A. Jacobson, Suresh Srinivas, Mingqiu Sun
  • Publication number: 20080244544
    Abstract: Hardware checkpoints may be used to mark software-based speculation regions. An instruction may be provided at the beginning of a speculation region and at the end of the speculation region. If an exception occurs during the speculation region, a hardware rollback may be occurred. The hardware rollback rolls back to the instruction at the beginning of the speculation region. The hardware may take a checkpoint by taking a register snapshot and treating future memory updates as tentative. When the instruction marking the end of the speculation is reached, all the tentative memory updates are committed and the previously taken register snapshot is discarded.
    Type: Application
    Filed: March 29, 2007
    Publication date: October 2, 2008
    Inventors: Naveen Neelakantam, Craig Zilles, Uma Srinivasan, Suresh Srinivas, Ravi Rajwar, Konrad Lai
  • Patent number: 7415701
    Abstract: Methods and apparatus to support the execution of a managed application that is linked to a native library or application are disclosed. The disclosed methods and apparatus support a virtual machine that is associated with the same ISA as the executing platform, while the ISA of the native library or application is of a different ISA. The disclosed methods and apparatus also support the execution of a managed application that is linked with several native libraries or applications that are associated with several different ISAs respectively.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: August 19, 2008
    Assignee: Intel Corporation
    Inventors: Yun Wang, Miaobo Chen, Eric Lin, Chris Elford, Suresh Srinivas
  • Publication number: 20080052691
    Abstract: A technique includes communicating a message to a dynamic translator in response to a change, which affects the validity of a translation that is performed by the dynamic translator.
    Type: Application
    Filed: June 29, 2006
    Publication date: February 28, 2008
    Inventors: Naveen Neelakantam, Gregory M. Lueck, Christopher L. Elford, Suresh Srinivas, Robert S. Cohn
  • Publication number: 20070186055
    Abstract: A technique for using memory attributes to relay information to a program or other agent. More particularly, embodiments of the invention relate to using memory attribute bits to check various memory properties in an efficient manner.
    Type: Application
    Filed: February 7, 2006
    Publication date: August 9, 2007
    Inventors: Quinn Jacobson, Anne Bracy, Hong Wang, John Shen, Per Hammarlund, Matthew Merten, Suresh Srinivas, Kshitij Doshi, Gautham Chinya, Bratin Saha, Ali-Reza Adl-Tabatabai, Gad Sheaffer
  • Publication number: 20070162475
    Abstract: A method and apparatus for hardware-based dynamic escape detection in managed run-time environments are described. In one embodiment, the method includes the detection of a pointer update of a first object having a global scope. In one embodiment, a single instruction is issued to assert that a scope attribute associated with a target object of the pointer update identifies a global scope. The single instruction may return failure if the scope attribute that is associated with the second object identifies the scope of the second object as local. Verification may include the reading of an object descriptor for the second object to determine whether a scope attribute of the object descriptor indicates that the scope of the second object is local. Once verified, in one embodiment, the second object, and each object reachable from the second object, are converted into global objects. Other embodiments are described and claimed.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 12, 2007
    Inventors: Quinn Jacobson, Suresh Srinivas, Anne Bracy, Hong Wang
  • Publication number: 20070156967
    Abstract: In one embodiment, an object oriented programming language can pre-fetch objects and fields within those objects to a cache memory. A hardware performance monitor can be used to identify loads that read from an address that is frequently absent from a memory. Instrumentation can be used to mark the objects that include the frequently missed address. A compiler can identify chains of objects that are frequently absent from memory. The chains of objects can be pre-fetched without regard to the types of object. Other embodiments are described and claimed.
    Type: Application
    Filed: December 29, 2005
    Publication date: July 5, 2007
    Inventors: Michael Bond, Shirish Aundhe, Greg Eastman, Suresh Srinivas
  • Publication number: 20060184920
    Abstract: Methods and apparatus to support the execution of a managed application that is linked to a native library or application are disclosed. The disclosed methods and apparatus support a virtual machine that is associated with the same ISA as the executing platform, while the ISA of the native library or application is of a different ISA. The disclosed methods and apparatus also support the execution of a managed application that is linked with several native libraries or applications that are associated with several different ISAs respectively.
    Type: Application
    Filed: February 17, 2005
    Publication date: August 17, 2006
    Inventors: Yun Wang, Miaobo Chen, Eric Lin, Chris Elford, Suresh Srinivas
  • Publication number: 20050132336
    Abstract: Analyzing profile data of a software application in terms of high-level instances of the software application.
    Type: Application
    Filed: December 16, 2003
    Publication date: June 16, 2005
    Applicant: Intel Corporation
    Inventors: Jacob Gotwals, Suresh Srinivas