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: 11876731Abstract: 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: GrantFiled: August 17, 2020Date of Patent: January 16, 2024Assignee: Google LLCInventors: Lingjia Tang, Jason Mars, Robert Hundt
-
Publication number: 20200382443Abstract: 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: ApplicationFiled: August 17, 2020Publication date: December 3, 2020Applicant: Google LLCInventors: Lingjia Tang, Jason Mars, Robert Hundt
-
Patent number: 10778605Abstract: 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: GrantFiled: April 24, 2019Date of Patent: September 15, 2020Assignee: Google LLCInventors: Lingjia Tang, Jason Mars, Robert Hundt
-
Patent number: 10313265Abstract: 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: GrantFiled: June 22, 2016Date of Patent: June 4, 2019Assignee: Google LLCInventors: Lingjia Tang, Jason Mars, Robert Hundt
-
Patent number: 9798527Abstract: 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: GrantFiled: January 6, 2017Date of Patent: October 24, 2017Assignee: Google Inc.Inventors: Eli Bendersky, Robert Hundt, Mark Heffernan, Jingyue Wu
-
Patent number: 9798532Abstract: 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: GrantFiled: November 1, 2016Date of Patent: October 24, 2017Assignee: Google Inc.Inventors: Robert Hundt, Mark Heffernan
-
Patent number: 9563532Abstract: 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: GrantFiled: December 2, 2011Date of Patent: February 7, 2017Assignee: Google Inc.Inventors: Robert Hundt, Lingjia Tang, Jason Mars
-
Patent number: 9524398Abstract: 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: GrantFiled: February 17, 2016Date of Patent: December 20, 2016Assignee: Google Inc.Inventor: Robert Hundt
-
Patent number: 9516092Abstract: 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: GrantFiled: May 31, 2013Date of Patent: December 6, 2016Assignee: GOOGLE INC.Inventors: Robert Hundt, Mark Heffernan
-
Patent number: 9401869Abstract: 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: GrantFiled: June 3, 2013Date of Patent: July 26, 2016Assignee: Google Inc.Inventors: Lingjia Tang, Jason Mars, Robert Hundt
-
Patent number: 9292709Abstract: 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: GrantFiled: February 5, 2013Date of Patent: March 22, 2016Assignee: GOOGLE INC.Inventor: Robert Hundt
-
Patent number: 9268542Abstract: 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: GrantFiled: April 28, 2011Date of Patent: February 23, 2016Assignee: Google Inc.Inventors: Jason Mars, Robert Hundt, Neil A. Vachharajani
-
Patent number: 9146719Abstract: 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: GrantFiled: March 20, 2007Date of Patent: September 29, 2015Assignee: Hewlett-Packard Development Company, L.P.Inventors: Luis A. Lozano, Robert Hundt, Shin-Ming Liu, Sandya S Mannarswamy, Sungdo Moon
-
Patent number: 9135082Abstract: 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: GrantFiled: May 20, 2011Date of Patent: September 15, 2015Assignee: Google Inc.Inventors: Tianwei Sheng, Neil A. Vachharajani, Stephane Eranian, Robert Hundt
-
Publication number: 20150215375Abstract: 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: ApplicationFiled: May 31, 2013Publication date: July 30, 2015Inventors: Robert Hundt, Mark Heffernan
-
Publication number: 20150215374Abstract: 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: ApplicationFiled: May 10, 2013Publication date: July 30, 2015Applicant: Google Inc.Inventors: Robert Hundt, Mark Heffernan, Ian Tinkham McCabe Flanigan
-
Patent number: 8806463Abstract: 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: GrantFiled: May 12, 2014Date of Patent: August 12, 2014Assignee: Google Inc.Inventors: Xinliang David Li, Raksit Ashok, Robert Hundt
-
Patent number: 8789032Abstract: 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: GrantFiled: February 27, 2009Date of Patent: July 22, 2014Assignee: Google Inc.Inventors: Xinliang David Li, Raksit Ashok, Robert Hundt
-
Patent number: 8578355Abstract: 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: GrantFiled: March 19, 2010Date of Patent: November 5, 2013Assignee: Google Inc.Inventors: Jason Mars, Robert Hundt
-
Patent number: 8387026Abstract: 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: GrantFiled: December 24, 2008Date of Patent: February 26, 2013Assignee: Google Inc.Inventors: Robert Hundt, Vinodha Ramasamy, Dehao Chen