Patents by Inventor Sriram Vajapeyam

Sriram Vajapeyam 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: 9940170
    Abstract: Technologies are generally provided for dynamically managing execution of sequential programs in a multi-core processing environment by dynamically hosting the data for the different dynamic program phases in the local caches of different cores. This may be achieved through monitoring data access patterns of a sequential program initially executed on a single core. Based on such monitoring, data identified as being accessed by different program phases may be sent to be stored in the local caches of different cores. The computation may then be moved from core to core based on which data is being accessed, when the program changes phase. Program performance may thus be enhanced by reducing local cache miss rates, proactively reducing the possibility of thermal hotspots, as well as by utilizing otherwise idle hardware.
    Type: Grant
    Filed: March 1, 2013
    Date of Patent: April 10, 2018
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 9916086
    Abstract: Techniques described herein are generally related to storing and retrieving data from a content-addressable memory (CAM). A data value to be stored in the CAM may be received, where the data value has two or more bits. The CAM may include a plurality of memory sets. An index corresponding to the data value may be determined. The index may be determined based on a subset of bits of the data value that correspond to an index bit set. A memory set of the CAM may be identified based on the determined index and the data value may be stored in a storage unit of the identified memory set.
    Type: Grant
    Filed: December 4, 2013
    Date of Patent: March 13, 2018
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 9864709
    Abstract: Techniques described herein are generally related to data transfer in multi-core processor devices. A core of a multi-core processor device may be configured to receive a request for a data block, which may be stored in a private cache of the core. The data block in the private cache may be evaluated by a coherence module of the core to determine when the data block is in a ready state. A program slice associated with the data block may be identified by the coherence module when the data block is determined to be in an unavailable state and the identified program slice may be executed by the core to update the data block from the unavailable state to the ready state. The data block may be sent to an interconnect network in response to the received request when the stored data block is determined to be in the ready state.
    Type: Grant
    Filed: November 21, 2013
    Date of Patent: January 9, 2018
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 9811469
    Abstract: Technologies are generally described for methods and systems effective to access data in a cache. In an example, a method to access data in a cache may include processing a first request for data at a first memory address related to first data in a memory. The method may further include retrieving the first data from the memory. The method may further include storing the first data in a first cache line in the cache. The method may further include processing a second request for data at a second memory address related to second data in the memory. The method may further include retrieving the second data from the memory. The method may further include selecting a second cache line in the cache to store the second data based on the storage of the first data. The method may further include storing the second data in the second cache line.
    Type: Grant
    Filed: January 29, 2014
    Date of Patent: November 7, 2017
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 9804896
    Abstract: Techniques described herein are generally related to thread migration across processing cores of a multi-core processor. Execution of a thread may be migrated from a first processing core to a second processing core. Selective state data required for execution of the thread on the second processing core can be identified and can be dynamically acquired from the first processing core. The acquired state data can be utilized by the thread executed on the second processing core.
    Type: Grant
    Filed: June 11, 2013
    Date of Patent: October 31, 2017
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 9785568
    Abstract: Techniques described herein are generally related to retrieval of data in computer systems having multi-level caches. The multi-level cache may include at least a first cache and a second cache. The first cache may be configured to receive a request for a cache line. The request may be associated with an instruction executing on a tile of the computer system. A suppression status of the instruction may be determined by a first cache controller to determine whether look-up of the first cache is suppressed based upon the determined suppression status. The request for the cache line may be forwarded to the second cache by the first cache controller after the look-up of the first cache is suppressed.
    Type: Grant
    Filed: May 18, 2015
    Date of Patent: October 10, 2017
    Assignee: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 9483318
    Abstract: Technologies are generally described for methods and systems effective to execute a program in a multi-core processor. In an example, methods to execute a program in a multi-core processor may include executing a first procedure on a first core of a multi-core processor. The methods may further include while executing the first procedure, sending a first and second instruction, from the first core to a second and third core, respectively. The instructions may command the cores to execute second and third procedures. The methods may further include executing the first procedure on the first core while executing the second procedure on the second core and executing the third procedure on the third core.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: November 1, 2016
    Assignee: Empire Technology Development LLC
    Inventor: Sriram Vajapeyam
  • Publication number: 20160283386
    Abstract: Technologies are generally described for methods and systems effective to access data in a cache. In an example, a method to access data in a cache may include processing a first request for data at a first memory address related to first data in a memory. The method may further include retrieving the first data from the memory. The method may further include storing the first data in a first cache line in the cache. The method may further include processing a second request for data at a second memory address related to second data in the memory. The method may further include retrieving the second data from the memory. The method may further include selecting a second cache line in the cache to store the second data based on the storage of the first data. The method may further include storing the second data in the second cache line.
    Type: Application
    Filed: January 29, 2014
    Publication date: September 29, 2016
    Applicant: EMPIRE TECHNOLOGY DEVELOPMENT LLC
    Inventor: SRIRAM VAJAPEYAM
  • Patent number: 9405691
    Abstract: Techniques described herein are generally related to managing cached memory addresses in a multi-core processor device that has a plurality of cores and a plurality of caches. Communication between the plurality of caches of and a main memory may be monitored. One or more memory addresses cached by the plurality of cores may be identified based on the monitored communications. A probabilistic memory address distribution table of the locations of the one or more memory addresses cached by the plurality of core may be generated and location of a given memory address can be predicted based upon the probabilistic memory address distribution table.
    Type: Grant
    Filed: August 12, 2013
    Date of Patent: August 2, 2016
    Assignee: Empire Technology Development LLC
    Inventor: Sriram Vajapeyam
  • Publication number: 20160026391
    Abstract: Techniques described herein are generally related to storing and retrieving data from a content-addressable memory (CAM). A data value to be stored in the CAM may be received, where the data value has two or more bits. The CAM may include a plurality of memory sets. An index corresponding to the data value may be determined. The index may be determined based on a subset of bits of the data value that correspond to an index bit set. A memory set of the CAM may be identified based on the determined index and the data value may be stored in a storage unit of the identified memory set.
    Type: Application
    Filed: December 4, 2013
    Publication date: January 28, 2016
    Inventor: Sriram Vajapeyam
  • Publication number: 20150331804
    Abstract: Techniques described herein are generally related to retrieval of data in computer systems having multi-level caches. The multi-level cache may include at least a first cache and a second cache. The first cache may be configured to receive a request for a cache line. The request may be associated with an instruction executing on a tile of the computer system. A suppression status of the instruction may be determined by a first cache controller to determine whether look-up of the first cache is suppressed based upon the determined suppression status. The request for the cache line may be forwarded to the second cache by the first cache controller after the look-up of the first cache is suppressed.
    Type: Application
    Filed: May 18, 2015
    Publication date: November 19, 2015
    Inventor: Sriram VAJAPEYAM
  • Publication number: 20150286597
    Abstract: Techniques described herein are generally related to data transfer in multi-core processor devices. A core of a multi-core processor device may be configured to receive a request for a data block, which may be stored in a private cache of the core. The data block in the private cache may be evaluated by a coherence module of the core to determine when the data block is in a ready state. A program slice associated with the data block may be identified by the coherence module when the data block is determined to be in an unavailable state and the identified program slice may be executed by the core to update the data block from the unavailable state to the ready state. The data block may be sent to an interconnect network in response to the received request when the stored data block is determined to be in the ready state.
    Type: Application
    Filed: November 21, 2013
    Publication date: October 8, 2015
    Inventor: Sriram Vajapeyam
  • Publication number: 20150242322
    Abstract: Techniques described herein are generally related to managing cached memory addresses in a multi-core processor device that has a plurality of cores and a plurality of caches. Communication between the plurality of caches of and a main memory may be monitored. One or more memory addresses cached by the plurality of cores may be identified based on the monitored communications. A probabilistic memory address distribution table of the locations of the one or more memory addresses cached by the plurality of core may be generated and location of a given memory address can be predicted based upon the probabilistic memory address distribution table.
    Type: Application
    Filed: August 12, 2013
    Publication date: August 27, 2015
    Inventor: Sriram Vajapeyam
  • Publication number: 20150234687
    Abstract: Techniques described herein are generally related to thread migration across processing cores of a multi-core processor. Execution of a thread may be migrated from a first processing core to a second processing core. Selective state data required for execution of the thread on the second processing core can be identified and can be dynamically acquired from the first processing core. The acquired state data can be utilized by the thread executed on the second processing core.
    Type: Application
    Filed: June 11, 2013
    Publication date: August 20, 2015
    Inventor: Sriram Vajapeyam
  • Publication number: 20150220369
    Abstract: Technologies are generally described for methods and systems effective to execute a program in a multi-core processor. In an example, methods to execute a program in a multi-core processor may include executing a first procedure on a first core of a multi-core processor. The methods may further include while executing the first procedure, sending a first and second instruction, from the first core to a second and third core, respectively. The instructions may command the cores to execute second and third procedures. The methods may further include executing the first procedure on the first core while executing the second procedure on the second core and executing the third procedure on the third core.
    Type: Application
    Filed: December 20, 2013
    Publication date: August 6, 2015
    Inventor: Sriram Vajapeyam
  • Publication number: 20140181837
    Abstract: Technologies are generally provided for dynamically managing execution of sequential programs in a multi-core processing environment by dynamically hosting the data for the different dynamic program phases in the local caches of different cores. This may be achieved through monitoring data access patterns of a sequential program initially executed on a single core. Based on such monitoring, data identified as being accessed by different program phases may be sent to be stored in the local caches of different cores. The computation may then be moved from core to core based on which data is being accessed, when the program changes phase. Program performance may thus be enhanced by reducing local cache miss rates, proactively reducing the possibility of thermal hotspots, as well as by utilizing otherwise idle hardware.
    Type: Application
    Filed: March 1, 2013
    Publication date: June 26, 2014
    Applicant: Empire Technology Development LLC
    Inventor: Sriram Vajapeyam
  • Patent number: 8694962
    Abstract: Techniques for using one or more aspect-oriented parallelism primitives to implement one or more aspects of a program in parallel are provided. The techniques include using one or more aspect-oriented parallelism primitives to implement one or more aspects of a program in parallel, wherein implementing the one or more aspects of a program in parallel comprises implementing the one or more aspects of a program in parallel on a multi-core processor.
    Type: Grant
    Filed: April 30, 2009
    Date of Patent: April 8, 2014
    Assignee: International Business Machines Corporation
    Inventor: Sriram Vajapeyam
  • Publication number: 20100281464
    Abstract: Techniques for using one or more aspect-oriented parallelism primitives to implement one or more aspects of a program in parallel are provided. The techniques include using one or more aspect-oriented parallelism primitives to implement one or more aspects of a program in parallel, wherein implementing the one or more aspects of a program in parallel comprises implementing the one or more aspects of a program in parallel on a multi-core processor.
    Type: Application
    Filed: April 30, 2009
    Publication date: November 4, 2010
    Applicant: International Business Machines Corporation
    Inventor: Sriram Vajapeyam
  • Patent number: 7363467
    Abstract: An apparatus and method for a processor microarchitecture that quickly and efficiently takes large steps through program segments without fetching all intervening instructions. The microarchitecture processes descriptors of trace sequences in program order so as to locate and dispatch descriptors of dependence chains that are used to fetch and execute the instructions of the dependence chain in data flow order.
    Type: Grant
    Filed: January 3, 2002
    Date of Patent: April 22, 2008
    Assignee: Intel Corporation
    Inventors: Sriram Vajapeyam, Bohuslav Rychlik, John P. Shen
  • Publication number: 20030126408
    Abstract: An apparatus and method for a processor microarchitecture that quickly and efficiently takes large steps through program segments without fetching all intervening instructions. The microarchitecture processes descriptors of trace sequences in program order so as to locate and dispatch descriptors of dependence chains that are used to fetch and execute the instructions of the dependence chain in data flow order.
    Type: Application
    Filed: January 3, 2002
    Publication date: July 3, 2003
    Inventors: Sriram Vajapeyam, Bohuslav Rychlik, John P. Shen