Patents by Inventor Ryan N. Rakvic

Ryan N. Rakvic 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: 8887174
    Abstract: A technique to monitor software thread performance and update software that issues or uses the thread(s) to reduce performance-inhibiting events. At least one embodiment of the invention uses hardware and/or software timers or counters to monitor various events associated with executing user-level threads and report these events back to a user-level software program, which can use the information to avoid or at least reduce performance-inhibiting events associated with the user-level threads.
    Type: Grant
    Filed: July 26, 2011
    Date of Patent: November 11, 2014
    Assignee: Intel Corporation
    Inventors: Richard A. Hankins, Gautham N. Chinya, Hong Wang, Shivnandan D. Kaushik, Bryant E. Bigbee, John P. Shen, Trung A. Diep, Xiang Zou, Baiju V. Patel, Paul M. Petersen, Sanjiv M. Shah, Ryan N. Rakvic, Prashant Sethi
  • Patent number: 8205200
    Abstract: Method, apparatus and system embodiments to schedule user-level OS-independent “shreds” without intervention of an operating system. For at least one embodiment, the shred is scheduled for execution by a scheduler routine rather than the operating system. The scheduler routine may receive compiler-generated hints from a compiler. The compiler hints may be generated by the compiler without user-provided pragmas, and may be passed to the scheduler routine via an API-like interface. The interface may include a scheduling hint data structure that is maintained by the compiler. Other embodiments are also described and claimed.
    Type: Grant
    Filed: November 29, 2005
    Date of Patent: June 19, 2012
    Assignee: Intel Corporation
    Inventors: Shih-wei Liao, Ryan N. Rakvic, Richard A. Hankins, Hong Wang, Gansha Wu, Guei-Yuan Lueh, Xinmin Tian, Paul M. Petersen, Sanjiv Shah, Trung Diep, John Shen, Gautham Chinya
  • Publication number: 20120017221
    Abstract: A technique to monitor software thread performance and update software that issues or uses the thread(s) to reduce performance-inhibiting events. At least one embodiment of the invention uses hardware and/or software timers or counters to monitor various events associated with executing user-level threads and report these events back to a user-level software program, which can use the information to avoid or at least reduce performance-inhibiting events associated with the user-level threads.
    Type: Application
    Filed: July 26, 2011
    Publication date: January 19, 2012
    Inventors: Richard A. Hankins, Gautham N. Chinya, Hong Wang, Shivnandan D. Kaushik, Bryant E. Bigbee, John P. Shen, Trung A. Diep, Xiang Zou, Baiju V. Patel, Paul M. Petersen, Sanjiv M. Shah, Ryan N. Rakvic, Prashant Sethi
  • Patent number: 8010969
    Abstract: A technique to monitor software thread performance and update software that issues or uses the thread(s) to reduce performance-inhibiting events. At least one embodiment of the invention uses hardware and/or software timers or counters to monitor various events associated with executing user-level threads and report these events back to a user-level software program, which can use the information to avoid or at least reduce performance-inhibiting events associated with the user-level threads.
    Type: Grant
    Filed: June 13, 2005
    Date of Patent: August 30, 2011
    Assignee: Intel Corporation
    Inventors: Richard A. Hankins, Gautham N. Chinya, Hong Wang, Shivnandan D. Kaushik, Bryant E. Bigbee, John P. Shen, Trung A. Diep, Xiang Zou, Baiju V. Patel, Paul M. Petersen, Sanjiv M. Shah, Ryan N. Rakvic, Prashant Sethi
  • Patent number: 7743233
    Abstract: Disclosed are embodiments of a system, methods and mechanism for management and translation of mapping between logical sequencer addresses and physical or logical sequencers in a multi-sequencer multithreading system. A mapping manager may manage assignment and mapping of logical sequencer addresses or pages to actual sequencers or frames of the system. Rationing logic associated with the mapping manager may take into account sequencer attributes when such mapping is performed Relocation logic associated with the mapping manager may manage spill and fill of context information to/from a backing store when re-mapping actual sequencers. Sequencers may be allocated singly, or may be allocated as part of partitioned blocks. The mapping manager may also include translation logic that provides an identifier for the mapped sequencer each time a logical sequencer address is used in a user program. Other embodiments are also described and claimed.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: June 22, 2010
    Assignee: Intel Corporation
    Inventors: Hong Wang, Gautham N. Chinya, Richard A. Hankins, Shivnandan D. Kaushik, Bryant Bigbee, John Shen, Per Hammarlund, Xiang Zou, Jason W. Brandt, Prashant Sethi, Douglas M. Carmean, Baiju V. Patel, Scott Dion Rodgers, Ryan N. Rakvic, John L. Reid, David K. Poulsen, Sanjiv M. Shah, James Paul Held, James Charles Abel
  • Patent number: 7424576
    Abstract: Parallel cachelets are provided for a level of cache in a microprocessor. The cachelets may be independently addressable. The level of cache may accept multiple load requests in a single cycle and apply each to a respective cachelet. Depending upon the content stored in each cachelet, the cachelet may generate a hit/miss response to the respective load request. Load requests that hit their cachelets may be satisfied therefrom. Load requests that miss their cachelets may be referred to another level of cache.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: September 9, 2008
    Assignee: Intel Corporation
    Inventors: Ryan N. Rakvic, John P. Shen, Deepak Limaye
  • Patent number: 7228402
    Abstract: A method to handle data dependencies in a pipelined computer system is disclosed. The method includes allocating a plurality of registers, enabling execution of computer instructions concurrently by using the plurality of registers, and tracking and reducing data dependencies in the computer instructions by correlating a busy condition of a computer instruction to each register.
    Type: Grant
    Filed: January 2, 2002
    Date of Patent: June 5, 2007
    Assignee: Intel Corporation
    Inventors: Bohuslav Rychlik, Ryan N. Rakvic, Edward Brekelbaum, Bryan Black
  • Patent number: 7216201
    Abstract: Parallel cachelets are provided for a level of cache in a microprocessor. The cachelets may be independently addressable. The level of cache may accept multiple load requests in a single cycle and apply each to a respective cachelet. Depending upon the content stored in each cachelet, the cachelet may generate a hit/miss response to the respective load request. Load requests that hit their cachelets may be satisfied therefrom. Load requests that miss their cachelets may be referred to another level of cache.
    Type: Grant
    Filed: January 9, 2006
    Date of Patent: May 8, 2007
    Assignee: Intel Corporation
    Inventors: Ryan N. Rakvic, John P. Shen, Deepak Limaye
  • Patent number: 6668306
    Abstract: A load instruction is classified as vital or non-vital. One of a number of caches with different latencies is selected, based on a vitality of the load instruction. Data are then loaded through the selected cache into a register in a microprocessor.
    Type: Grant
    Filed: June 12, 2001
    Date of Patent: December 23, 2003
    Assignee: Intel Corporation
    Inventors: Ryan N. Rakvic, John P. Shen, Bohuslav Rychlik, Christopher B. Wilkerson, Jared Stark, Hong Wang
  • Publication number: 20030135713
    Abstract: A method to handle data dependencies in a pipelined computer system. The method includes allocating a plurality of registers, enabling execution of computer instructions concurrently by using the plurality of registers, and tracking and reducing data dependencies in the computer instructions by correlating busy condition of a computer instruction to each register.
    Type: Application
    Filed: January 2, 2002
    Publication date: July 17, 2003
    Inventors: Bohuslav Rychlik, Ryan N. Rakvic, Edward Brekelbaum, Bryan Black
  • Publication number: 20030131345
    Abstract: A method and apparatus for predicting instruction results in a program using the compiler are described. In one embodiment, the method includes creating a data flow graph associated with the program, identifying a target instruction that is to be executed after a producer instruction, and determining that the outcome of the target instruction is dependent on the outcome of the producer instruction using the data flow graph. The outcome of the producer instruction represents a key into a software structure that includes a set of keys and a corresponding set of predicted outcomes of the target instruction. The method further includes inserting an additional instruction that will retrieve a predicted outcome of the target instruction from the software structure based on the outcome of the producer instruction. The additional instruction will be executed after the producer instruction and before the target instruction.
    Type: Application
    Filed: January 9, 2002
    Publication date: July 10, 2003
    Inventors: Chris Wilkerson, Ryan N. Rakvic, John P. Shen
  • Publication number: 20030065906
    Abstract: A system and method of storing instructions is disclosed. First an instruction is received. Then if the instruction will be used in a next instruction cycle, the instruction is loaded in a next instruction cycle cache memory.
    Type: Application
    Filed: September 28, 2001
    Publication date: April 3, 2003
    Inventors: Ryan N. Rakvic, Hong Wang, John P. Shen
  • Publication number: 20020188804
    Abstract: A load instruction is classified as vital or non-vital. One of a number of caches with different latencies is selected, based on a vitality of the load instruction. Data are then loaded through the selected cache into a register in a microprocessor.
    Type: Application
    Filed: June 12, 2001
    Publication date: December 12, 2002
    Inventors: Ryan N. Rakvic, John P. Shen, Bohuslav Rychlik, Christopher B. Wilkerson, Jared Stark, Hong Wang
  • Publication number: 20020188806
    Abstract: Parallel cachelets are provided for a level of cache in a microprocessor. The cachelets may be independently addressable. The level of cache may accept multiple load requests in a single cycle and apply each to a respective cachelet. Depending upon the content stored in each cachelet, the cachelet may generate a hit/miss response to the respective load request. Load requests that hit their cachelets may be satisfied therefrom. Load requests that miss their cachelets may be referred to another level of cache.
    Type: Application
    Filed: June 27, 2001
    Publication date: December 12, 2002
    Inventors: Ryan N. Rakvic, John P. Shen