Patents by Inventor Steven S. Thomson

Steven S. Thomson 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: 8650426
    Abstract: A method of dynamically controlling power within a multicore central processing unit is disclosed and includes executing a plurality of virtual cores, virtually executing one or more tasks, one or more threads, or a combination thereof at the virtual cores, and physically executing one or more tasks, one or more threads, or a combination thereof at a zeroth physical core. The method may further include receiving a degree of parallelism in a workload of a plurality of virtual cores and determining whether the degree of parallelism in the workload of the virtual cores is equal to a first wake condition.
    Type: Grant
    Filed: November 11, 2010
    Date of Patent: February 11, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Bohuslav Rychlik, Ali Iranli, Brian J. Salsbery, Sumit Sur, Steven S. Thomson
  • Publication number: 20140002730
    Abstract: The present disclosure provides for systems, methods, and apparatus for image processing. These systems, methods, and apparatus may compare a current frame to at least one previous frame to determine an amount of difference. The amount of difference between the current frame and the at least one previous frame may be compared to a threshold value. Additionally, the frame rate may be adjusted based on the comparison of the amount of difference between the current frame and the at least one previous frame and the threshold value. Another example may determine an amount of perceivable difference between a current frame and at least one previous frame and adjust a frame rate based on the determined amount of perceivable difference between the current frame and the at least one previous frame.
    Type: Application
    Filed: June 27, 2013
    Publication date: January 2, 2014
    Inventors: Steven S. Thomson, Mriganka Mondal, Nishant Hariharan, Edoardo Regini
  • Publication number: 20130060555
    Abstract: Methods and apparatus for controlling at least two processing cores in a multi-processor device or system include accessing an operating system run queue to generate virtual pulse trains for each core and correlating the virtual pulse trains to identify patterns of interdependence. The correlated information may be used to determine dynamic frequency/voltage control settings for the first and second processing cores to provide a performance level that accommodates interdependent processes, threads and processing cores.
    Type: Application
    Filed: February 27, 2012
    Publication date: March 7, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Steven S. Thomson, Edoardo Regini, Mriganka Mondal, Nishant Hariharan
  • Patent number: 8352759
    Abstract: A method of monitoring one or more central processing units in real time is disclosed. The method may include monitoring state data associated with the one or more CPUs in real-time, filtering the state data, and at least partially based on filtered state data, selectively altering one or more system settings.
    Type: Grant
    Filed: August 19, 2010
    Date of Patent: January 8, 2013
    Assignee: QUALCOMM Incorporated
    Inventors: Steven S. Thomson, Ali Iranli, Michael J. Drop, Vinodh R. Cuppu, Christopher Kong Yee Chun, Tao Xue, Haw-Jing Lo, Moinul H. Kahn
  • Publication number: 20130007413
    Abstract: Methods and apparatus for accomplishing dynamic frequency/voltage control between at least two processor cores in a multi-processor device or system include receiving busy, idle and wait, time and/or frequency information from a first processor core and receiving busy, idle, wait, time and/or frequency information from a second processor core. The received busy, idle, wait, time and/or frequency information may be correlated to identify patterns of interdependence. The correlated information may be used to determine dynamic frequency/voltage control settings for the first and second processor cores to provide a performance level that accommodates interdependent processes, threads and processor cores. The correlation of received busy, idle, wait, time and/or frequency information may involve generating a consolidated busy/idle pulse train that can then be used to set the frequency or voltage of each processor core independently.
    Type: Application
    Filed: January 5, 2012
    Publication date: January 3, 2013
    Applicant: QUALCOMM INCORPORATED
    Inventors: Steven S. Thomson, Mriganka Mondal, Nishant Hariharan
  • Publication number: 20110225590
    Abstract: A method and system for executing a plurality of threads are described. The method may include mapping a thread specified priority value associated with a dormant thread to a thread quantized priority value associated with the dormant thread if the dormant thread becomes ready to run. The method may further include adding the dormant thread to a ready to run queue and updating the thread quantized priority value. A thread quantum value associated with the dormant thread may also be updated, or a combination of the quantum value and quantized priority value may be both updated.
    Type: Application
    Filed: December 9, 2010
    Publication date: September 15, 2011
    Inventors: Steven S. Thomson, Paul R. Johnson, Chirag D. Shah, Ryan C. Michel
  • Publication number: 20110173360
    Abstract: A method of monitoring one or more central processing units in real time is disclosed. The method may include monitoring state data associated with the one or more CPUs in real-time, filtering the state data, and at least partially based on filtered state data, selectively altering one or more system settings.
    Type: Application
    Filed: August 19, 2010
    Publication date: July 14, 2011
    Applicant: QUALCOMM Incorporated
    Inventors: Steven S. Thomson, Ali Iranli, Michael J. Drop, Vinodh R. Cuppu, Christopher Kong Yee Chun, Tao Xue, Haw-Jing Lo, Moinul H. Kahn
  • Publication number: 20110145559
    Abstract: A method of dynamically controlling a central processing unit is disclosed. The method may include determining when a CPU enters a steady state, calculating an optimal frequency for the CPU when the CPU enters a steady state, guaranteeing a steady state CPU utilization, and guaranteeing a steady state CPU utilization deadline.
    Type: Application
    Filed: November 11, 2010
    Publication date: June 16, 2011
    Inventors: Steven S. Thomson, Bohuslav Rychlik, Ali Iranli, Brian J. Salsbery, Sumit Sur, Norman S. Gargash
  • Publication number: 20110145824
    Abstract: A method of dynamically controlling power within a central processing unit is disclosed and may include entering an idle state, reviewing a previous busy cycle immediately prior to the idle state, and based on the previous busy cycle determining a CPU frequency for a next busy cycle.
    Type: Application
    Filed: November 11, 2010
    Publication date: June 16, 2011
    Inventors: Steven S. Thomson, Bohuslav Rychlik, Ali Iranli, Brian J. Salsbery, Sumit Sur, Norman S. Gargash
  • Publication number: 20110145617
    Abstract: A method of controlling power at a central processing unit is disclosed. The method may include moving to a higher CPU frequency after a transient performance deadline has expired, entering an idle state, and resetting the transient performance deadline based on an effective transient budget.
    Type: Application
    Filed: November 11, 2010
    Publication date: June 16, 2011
    Inventors: Steven S. Thomson, Bohuslav Rychlik, Ali Iranli, Sumit Sur, Norman S. Gargash
  • Publication number: 20110145616
    Abstract: A method of dynamically controlling power within a multicore central processing unit is disclosed and includes executing a plurality of virtual cores, virtually executing one or more tasks, one or more threads, or a combination thereof at the virtual cores, and physically executing one or more tasks, one or more threads, or a combination thereof at a zeroth physical core. The method may further include receiving a degree of parallelism in a workload of a plurality of virtual cores and determining whether the degree of parallelism in the workload of the virtual cores is equal to a first wake condition.
    Type: Application
    Filed: November 11, 2010
    Publication date: June 16, 2011
    Inventors: Bohuslav Rychlik, Ali Iranli, Brian J. Salsbery, Sumit Sur, Steven S. Thomson
  • Publication number: 20110145624
    Abstract: A method of controlling core clocks in a multicore central processing unit is disclosed and may include executing a zeroth dynamic clock and voltage scaling (DCVS) algorithm on a zeroth core and executing a first DCVS algorithm on a first core. The zeroth DCVS algorithm may operable to independently control a zeroth clock frequency associated with the zeroth core and the first DCVS algorithm may be operable to independently control a first clock frequency associated with the first core.
    Type: Application
    Filed: November 11, 2010
    Publication date: June 16, 2011
    Inventors: Bohuslav Rychlik, Ali Iranli, Brian J. Salsbery, Sumit Sur, Steven S. Thomson, Robert A. Glenn
  • Publication number: 20110145605
    Abstract: A method of controlling power within a multicore central processing unit (CPU) is disclosed. The method may include monitoring a die temperature, determining a degree of parallelism within a workload of the CPU, and powering one or more cores of the CPU up or down based on the degree of parallelism, the die temperature, or a combination thereof.
    Type: Application
    Filed: November 11, 2010
    Publication date: June 16, 2011
    Inventors: Sumit Sur, Bohuslav Rychlik, Steven S. Thomson, Ali Iranli, Brian J. Salsbery
  • Publication number: 20110145615
    Abstract: A method of dynamically controlling power within a multicore CPU is disclosed and may include receiving a degree of parallelism in a workload of a zeroth core and determining whether the degree of parallelism in the workload of the zeroth core is equal to a first wake condition. Further, the method may include determining a time duration for which the first wake condition is met when the degree of parallelism in the workload of the zeroth core is equal to the first wake condition and determining whether the time duration is equal to a first confirm wake condition. The method may also include invoking an operating system to power up a first core when the time duration is equal to the first confirm wake condition.
    Type: Application
    Filed: November 11, 2010
    Publication date: June 16, 2011
    Inventors: Bohuslav Rychlik, Robert A. Glenn, Ali Iranli, Brian J. Salsbery, Sumit Sur, Steven S. Thomson
  • Publication number: 20090240744
    Abstract: PourOver is the process of replicating databases across clusters, in order to achieve real and/or near real-time database consistency between clusters (e.g., continually provide the ability to construct a consistent database on the alternate cluster that is up to date within a few minutes worth of transactions).
    Type: Application
    Filed: March 21, 2008
    Publication date: September 24, 2009
    Applicant: QUALCOMM Incorporated
    Inventors: Steven S. Thomson, Muralidhar Reddy Akula, Ryan Moore, Vineet Thanedar