Patents by Inventor Jonathan Chew

Jonathan Chew 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: 10152354
    Abstract: To schedule a software thread for execution on a CPU in a multiprocessor system, a scheduler uses both software and hardware utilization information. For a thread, resource demands (including software and hardware resource demands) are determined based on measuring resource usage while the thread executes on the multiprocessor system without being isolated from any other threads that may run concurrently. For at least two processor cores, resource usage is calculated based on any threads already running on it. The software thread is assigned to a strand in the processor core with optimum available resources given the thread's resource demands.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: December 11, 2018
    Assignee: Oracle International Corporation
    Inventors: Jonathan Chew, Nicolas Michael, Junsang Cho
  • Publication number: 20180246767
    Abstract: To schedule a software thread for execution on a CPU in a multiprocessor system, a scheduler uses both software and hardware utilization information. For a thread, resource demands (including software and hardware resource demands) are determined based on measuring resource usage while the thread executes on the multiprocessor system without being isolated from any other threads that may run concurrently. For at least two processor cores, resource usage is calculated based on any threads already running on it. The software thread is assigned to a strand in the processor core with optimum available resources given the thread's resource demands.
    Type: Application
    Filed: February 28, 2017
    Publication date: August 30, 2018
    Inventors: Jonathan Chew, Nicolas Michael, Junsang Cho
  • Patent number: 9921880
    Abstract: A system and method for facilitating allocating computing resources to workloads, facilitating workload performance isolation. An example method includes determining one or more workloads to be allocated a set of computing resources in the computing environment, the one or more workloads characterized by metadata describing one or more workload properties; and using the one or more workload properties to calculate a binding between each of the one or more workloads and one or more corresponding portions of the computing resources. Plural competing workloads may be isolated by binding each workload to a disjunct set of Central Processing Units (CPUs) that share as few common hardware resources as possible given a topology the computing resources. Resource allocation adjustments need not require any reconfiguration of the system or adjustment to already provisioned workloads.
    Type: Grant
    Filed: January 28, 2016
    Date of Patent: March 20, 2018
    Assignee: Oracle International Corporation
    Inventors: Nicolas Michael, Chen Wang, Jonathan Chew
  • Publication number: 20170220389
    Abstract: A system and method for facilitating allocating computing resources to workloads, facilitating workload performance isolation. An example method includes determining one or more workloads to be allocated a set of computing resources in the computing environment, the one or more workloads characterized by metadata describing one or more workload properties; and using the one or more workload properties to calculate a binding between each of the one or more workloads and one or more corresponding portions of the computing resources. Plural competing workloads may be isolated by binding each workload to a disjunct set of Central Processing Units (CPUs) that share as few common hardware resources as possible given a topology the computing resources. Resource allocation adjustments need not require any reconfiguration of the system or adjustment to already provisioned workloads.
    Type: Application
    Filed: January 28, 2016
    Publication date: August 3, 2017
    Inventors: Nicolas Michael, Chen Wang, Jonathan Chew
  • Patent number: 8725913
    Abstract: A method for binding input/output (I/O) objects to nodes includes an subsystem receiving a request to use an I/O device from a process, determining a first resource to service the request, generating a first I/O object corresponding to the first resource, wherein the first I/O object is unbound, and sending the first I/O object to a Non-Uniform Memory Access (NUMA) I/O Framework. The method further includes the NUMA I/O Framework selecting a first NUMA node of a plurality of NUMA nodes, to which to bind the first I/O object and binding the first I/O object to the first NUMA node. The method further includes servicing the request by processing, on the first NUMA node, the first resource corresponding to the first I/O object.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: May 13, 2014
    Assignee: Oracle International Corporation
    Inventors: Nicolas G. Droux, Jonathan Chew, Rajagopal Kunhappan
  • Publication number: 20120072624
    Abstract: A method for binding input/output (I/O) objects to nodes includes an subsystem receiving a request to use an I/O device from a process, determining a first resource to service the request, generating a first I/O object corresponding to the first resource, wherein the first I/O object is unbound, and sending the first I/O object to a Non-Uniform Memory Access (NUMA) I/O Framework. The method further includes the NUMA I/O Framework selecting a first NUMA node of a plurality of NUMA nodes, to which to bind the first I/O object and binding the first I/O object to the first NUMA node. The method further includes servicing the request by processing, on the first NUMA node, the first resource corresponding to the first I/O object.
    Type: Application
    Filed: March 31, 2011
    Publication date: March 22, 2012
    Applicant: ORACLE AMERICA, INC.
    Inventors: Nicolas G. Droux, Jonathan Chew, Rajagopal Kunhappan
  • Patent number: 7614056
    Abstract: An abstraction layer is comprised in the operating system that represents the particulars of the PPMs. The abstractions in the abstraction layer are differentiated from one another by parameters representing the characteristics of the PPMs. The dispatcher uses the abstraction to balance processing loads when assigning execution threads to the PPMs. The assigning of the execution threads and the balancing of the processing loads is performed while taking account of the characteristics of the PPMs, such as shared resources and clock speed.
    Type: Grant
    Filed: September 12, 2003
    Date of Patent: November 3, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Eric C. Saxe, Andrei Dorofeev, Jonathan Chew, Bart Smaalders, Andrew G. Tucker
  • Patent number: 7313795
    Abstract: A method and system of managing resource allocation in a non-uniform resource access computer system is disclosed. A method comprises determining access costs between resources in a computer system having non-uniform access costs between the resources. The method also includes constructing a hierarchical data structure comprising the access costs. The hierarchical data structure is traversed to manage a set of the resources.
    Type: Grant
    Filed: May 27, 2003
    Date of Patent: December 25, 2007
    Assignee: Sun Microsystems, Inc.
    Inventors: Jonathan Chew, Robert L. Berube, Kevin Clarke, Tim Marsland, Eric Saxe, Bart Smaalders
  • Publication number: 20040243660
    Abstract: A method and system of managing resource allocation in a non-uniform resource access computer system is disclosed. A method comprises determining access costs between resources in a computer system having non-uniform access costs between the resources. The method also includes constructing a hierarchical data structure comprising the access costs. The hierarchical data structure is traversed to manage a set of the resources.
    Type: Application
    Filed: May 27, 2003
    Publication date: December 2, 2004
    Inventors: Jonathan Chew, Robert L. Berube, Kevin Clarke, Tim Marsland, Eric Saxe, Bart Smaalders