Patents by Inventor Robert Hundt

Robert Hundt 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: 11876731
    Abstract: Systems and methods for mapping applications onto system resource of a computing platform are discussed. The computing platform may receive, using control circuitry, a request to run a plurality of applications on a computing platform having a plurality of system resources. The computing platform may determine a plurality of mapping configurations for the plurality of applications onto the plurality of system resources. The computing platform may execute the plurality of applications with each of the plurality of mapping configurations. The computing platform may determine at least one performance metric based on the executed plurality of applications for each of the plurality of mapping configurations. The computing platform may select a selected mapping configuration among the plurality of mapping configurations based on at least one determined performance metric.
    Type: Grant
    Filed: August 17, 2020
    Date of Patent: January 16, 2024
    Assignee: Google LLC
    Inventors: Lingjia Tang, Jason Mars, Robert Hundt
  • Publication number: 20200382443
    Abstract: Systems and methods for mapping applications onto system resource of a computing platform are discussed. The computing platform may receive, using control circuitry, a request to run a plurality of applications on a computing platform having a plurality of system resources. The computing platform may determine a plurality of mapping configurations for the plurality of applications onto the plurality of system resources. The computing platform may execute the plurality of applications with each of the plurality of mapping configurations. The computing platform may determine at least one performance metric based on the executed plurality of applications for each of the plurality of mapping configurations. The computing platform may select a selected mapping configuration among the plurality of mapping configurations based on at least one determined performance metric.
    Type: Application
    Filed: August 17, 2020
    Publication date: December 3, 2020
    Applicant: Google LLC
    Inventors: Lingjia Tang, Jason Mars, Robert Hundt
  • Patent number: 10778605
    Abstract: Systems and methods for mapping applications onto system resource of a computing platform are discussed. The computing platform may receive, using control circuitry, a request to run a plurality of applications on a computing platform having a plurality of system resources. The computing platform may determine a plurality of mapping configurations for the plurality of applications onto the plurality of system resources. The computing platform may execute the plurality of applications with each of the plurality of mapping configurations. The computing platform may determine at least one performance metric based on the executed plurality of applications for each of the plurality of mapping configurations. The computing platform may select a selected mapping configuration among the plurality of mapping configurations based on at least one determined performance metric.
    Type: Grant
    Filed: April 24, 2019
    Date of Patent: September 15, 2020
    Assignee: Google LLC
    Inventors: Lingjia Tang, Jason Mars, Robert Hundt
  • Patent number: 10313265
    Abstract: Systems and methods for mapping applications onto system resource of a computing platform are discussed. The computing platform may receive, using control circuitry, a request to run a plurality of applications on a computing platform having a plurality of system resources. The computing platform may determine a plurality of mapping configurations for the plurality of applications onto the plurality of system resources. The computing platform may execute the plurality of applications with each of the plurality of mapping configurations. The computing platform may determine at least one performance metric based on the executed plurality of applications for each of the plurality of mapping configurations. The computing platform may select a selected mapping configuration among the plurality of mapping configurations based on at least one determined performance metric.
    Type: Grant
    Filed: June 22, 2016
    Date of Patent: June 4, 2019
    Assignee: Google LLC
    Inventors: Lingjia Tang, Jason Mars, Robert Hundt
  • Patent number: 9798527
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating efficient compiled code. In an example method, a compilation system obtains an un-optimized computational graph comprising a plurality of nodes representing operations and directed edges representing data dependencies. The un-optimized computational graph is analyzed using pattern matching to determine fusable operations that can be fused together into a single fusion operation. The un-optimized computational graph is transformed into an optimized computational graph by replacing the nodes representing the fusable operations in the un-optimized computational graph with a fusion node representing the single fusion operation. The compilation system produces efficient code by translating the fusion node of the optimized computational graph as a call that performs the fused operations.
    Type: Grant
    Filed: January 6, 2017
    Date of Patent: October 24, 2017
    Assignee: Google Inc.
    Inventors: Eli Bendersky, Robert Hundt, Mark Heffernan, Jingyue Wu
  • Patent number: 9798532
    Abstract: Systems and methods for accessing locally-stored content for a web application are disclosed. In some aspects, a user input for requesting a web application is received at a client computing device. A network request for the web application is provided via a network. That software code for the web application is stored in local storage of the client computing device is determined. The stored software code for the web application is placed into a random access memory (RAM) of the client computing device. At least a portion of the stored software code is precompiled prior to receiving a response to the network request.
    Type: Grant
    Filed: November 1, 2016
    Date of Patent: October 24, 2017
    Assignee: Google Inc.
    Inventors: Robert Hundt, Mark Heffernan
  • Patent number: 9563532
    Abstract: Aspects of the invention may be used to allocate tasks among computing machines in large scale computing systems. In one aspect, the method includes executing a first task in the plurality of tasks on a first computing machine and determining a performance degradation threshold for the first task. The method further includes calculating a predicted performance degradation of the first task when a second task is executed on the first computing machine, wherein the predicted performance degradation is determined by comparing a performance interference score of the second task with a performance sensitivity curve of the first task. The method further includes executing the second task on the first computing machine when the predicted performance degradation of the first task is below the performance degradation threshold.
    Type: Grant
    Filed: December 2, 2011
    Date of Patent: February 7, 2017
    Assignee: Google Inc.
    Inventors: Robert Hundt, Lingjia Tang, Jason Mars
  • Patent number: 9524398
    Abstract: Systems and methods for computing a checksum are provided. In some aspects, an online application code module is written in a first programming language. The online application code module is configured to implement an online application. A checksum compute module is written in a second programming language different from the first programming language. The checksum compute module is separate from the online application code module. The checksum compute module configured to receive one or more parameters from the online application code module. The checksum compute module configured to determine a checksum for the online application code module based on the received one or more parameters. The checksum compute module configured to provide the checksum to a memory.
    Type: Grant
    Filed: February 17, 2016
    Date of Patent: December 20, 2016
    Assignee: Google Inc.
    Inventor: Robert Hundt
  • Patent number: 9516092
    Abstract: Systems and methods for accessing locally-stored content for a web application are disclosed. In some aspects, a user input for requesting a web application is received at a client computing device. A network request for the web application is provided via a network. That software code for the web application is stored in local storage of the client computing device is determined. The stored software code for the web application is placed into a random access memory (RAM) of the client computing device. At least a portion of the stored software code is precompiled prior to receiving a response to the network request.
    Type: Grant
    Filed: May 31, 2013
    Date of Patent: December 6, 2016
    Assignee: GOOGLE INC.
    Inventors: Robert Hundt, Mark Heffernan
  • Patent number: 9401869
    Abstract: Systems and methods for mapping applications onto system resource of a computing platform are discussed. The computing platform may receive, using control circuitry, a request to run a plurality of applications on a computing platform having a plurality of system resources. The computing platform may determine a plurality of mapping configurations for the plurality of applications onto the plurality of system resources. The computing platform may execute the plurality of applications with each of the plurality of mapping configurations. The computing platform may determine at least one performance metric based on the executed plurality of applications for each of the plurality of mapping configurations. The computing platform may select a selected mapping configuration among the plurality of mapping configurations based on at least one determined performance metric.
    Type: Grant
    Filed: June 3, 2013
    Date of Patent: July 26, 2016
    Assignee: Google Inc.
    Inventors: Lingjia Tang, Jason Mars, Robert Hundt
  • Patent number: 9292709
    Abstract: Systems and methods for computing a checksum are provided. In some aspects, an online application code module is written in a first programming language. The online application code module is configured to implement an online application. A checksum compute module is written in a second programming language different from the first programming language. The checksum compute module is separate from the online application code module. The checksum compute module configured to receive one or more parameters from the online application code module. The checksum compute module configured to determine a checksum for the online application code module based on the received one or more parameters. The checksum compute module configured to provide the checksum to a memory.
    Type: Grant
    Filed: February 5, 2013
    Date of Patent: March 22, 2016
    Assignee: GOOGLE INC.
    Inventor: Robert Hundt
  • Patent number: 9268542
    Abstract: A first indicator of a first number of cache misses to a cache memory of a multicore processor for a first application over a first time period is received. The first application executes on a first core of the processor and a second application simultaneously executes on a second core of the processor during the first time period. The first and second cores share the cache memory. A second indicator of a second number of cache misses to the cache memory for the first application over a second time period is received. During the second time period, the first application executes on the first core and the second application does not execute on the second core. A degree of contention among the first and second applications is determined based on the first and second indicators, and execution of the second application is adjusted based on the determined degree of contention.
    Type: Grant
    Filed: April 28, 2011
    Date of Patent: February 23, 2016
    Assignee: Google Inc.
    Inventors: Jason Mars, Robert Hundt, Neil A. Vachharajani
  • Patent number: 9146719
    Abstract: One embodiment relates to a computer-implemented method of compiling a software program into an executable binary file, including determining a data layout in the binary file and a data layout in the executable's dynamically allocated memory. The method includes taking into account data types of data as a factor in determining a data layout for the binary file and for the executable's dynamically allocated memory, wherein the data types include a floating-point data type and a non-floating-point data type. Other embodiments, aspects and features are also disclosed herein.
    Type: Grant
    Filed: March 20, 2007
    Date of Patent: September 29, 2015
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Luis A. Lozano, Robert Hundt, Shin-Ming Liu, Sandya S Mannarswamy, Sungdo Moon
  • Patent number: 9135082
    Abstract: A race detection mechanism can include running threads of a multithreaded program on a processor, the program being configured to produce locksets each of which indicate a set of one or more locks that a thread holds at a point in time. The mechanism can cause a performance monitoring unit included in the processor to monitor memory accesses caused by the threads and to produce samples based on the memory accesses, the samples being indicative of an accessed memory location. The mechanism can detect an existence of a data race condition based on the samples and the locksets. Detecting can include identifying a protected access to a memory location by a first thread of the threads and identifying an unprotected access to the memory location by a second thread of the threads. The process selectively outputs an indication of the data race condition.
    Type: Grant
    Filed: May 20, 2011
    Date of Patent: September 15, 2015
    Assignee: Google Inc.
    Inventors: Tianwei Sheng, Neil A. Vachharajani, Stephane Eranian, Robert Hundt
  • Publication number: 20150215375
    Abstract: Systems and methods for accessing locally-stored content for a web application are disclosed. In some aspects, a user input for requesting a web application is received at a client computing device. A network request for the web application is provided via a network. That software code for the web application is stored in local storage of the client computing device is determined. The stored software code for the web application is placed into a random access memory (RAM) of the client computing device. At least a portion of the stored software code is precompiled prior to receiving a response to the network request.
    Type: Application
    Filed: May 31, 2013
    Publication date: July 30, 2015
    Inventors: Robert Hundt, Mark Heffernan
  • Publication number: 20150215374
    Abstract: Systems and methods for delivering an update for a web application are provided. In some aspects, a request to access a web application is received from a client computing device. A last version of the web application provided to a computing device having an identifier associated with the client computing device is determined based on data stored locally at a server. A delta file is provided to the client computing device in response to the request to access the web application. The delta file includes indicia of a difference between a current version of the web application stored at the server and the last version of the web application provided to the computing device having the identifier associated with the client computing device.
    Type: Application
    Filed: May 10, 2013
    Publication date: July 30, 2015
    Applicant: Google Inc.
    Inventors: Robert Hundt, Mark Heffernan, Ian Tinkham McCabe Flanigan
  • Patent number: 8806463
    Abstract: A method includes generating a first executable program module based on source code modules and collecting profile information for the source code modules by executing the first executable program module. The profile information includes information pertaining to invocation of procedures in the first executable program module. The method further includes determining module grouping information for the source code modules based on procedure invocation patterns in the profile information and according to one or more inter-procedural optimization (IPO) heuristics. The method includes performing IPO based on the module grouping information to generate object code modules and generating a second executable program module based on the plurality of object code modules.
    Type: Grant
    Filed: May 12, 2014
    Date of Patent: August 12, 2014
    Assignee: Google Inc.
    Inventors: Xinliang David Li, Raksit Ashok, Robert Hundt
  • Patent number: 8789032
    Abstract: Methods, systems, and apparatus, including computer program products, for inter-procedural optimization, are disclosed. In one aspect, a first executable program module is generated based on a plurality of source code modules. Profile information is collected for the plurality of source code modules by executing the first executable program module. Inter-procedural analysis for the plurality of source code modules is performed during execution of the first executable program module. The inter-procedural analysis is based on the collected profile information. IPO is performed based on the results from the inter-procedural analysis to generate a plurality of object code modules. A second executable program module is generated based on the plurality of object code modules.
    Type: Grant
    Filed: February 27, 2009
    Date of Patent: July 22, 2014
    Assignee: Google Inc.
    Inventors: Xinliang David Li, Raksit Ashok, Robert Hundt
  • Patent number: 8578355
    Abstract: Techniques and systems for scenario based optimization can include generating multiple different versions of a program segment based on different respective execution scenarios associated with an execution of a program, the program operable to use the program segment versions. In another aspect, techniques and systems can include executing a program executable associated with multiple different versions of a program segment, analyzing the execution for an indication of at least one of the execution scenarios to select one of the program segment versions based on the indication, and causing the execution to use the selected program segment version during at least a portion of the execution.
    Type: Grant
    Filed: March 19, 2010
    Date of Patent: November 5, 2013
    Assignee: Google Inc.
    Inventors: Jason Mars, Robert Hundt
  • Patent number: 8387026
    Abstract: Traditional feedback-directed optimization (FDO) is not widely used due to the significant computational overhead involved in using instrumented binaries. The described embodiments provide methods that eliminate the need for instrumented binaries by permitting the conversion of hardware-event sampling information into edge frequencies usable by FDO compilers. Some advantages include: the ability to collect feedback data on production systems; the ability to perform FDO on the OS kernel; and the ability to avoid disrupting timing paths from instrumented binaries.
    Type: Grant
    Filed: December 24, 2008
    Date of Patent: February 26, 2013
    Assignee: Google Inc.
    Inventors: Robert Hundt, Vinodha Ramasamy, Dehao Chen