Patents by Inventor Richard T Snodgrass
Richard T Snodgrass 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: 12045653Abstract: A computer-implemented method and related systems for reducing memory access stalls and memory allocation requests in data-intensive applications are provided. Invariants associated with execution paths that access data in a memory of the data-intensive application are identified. At least one field specialization technique using at least one speccode segment is then applied. The speccode segment exploits the identified invariants, thereby reducing at least one of memory stalls and memory allocation requests in a data-intensive application. The field specialization technique may include specialized software prefetching, a data distribution-based hash function, process to CPU binding, memory segment reuse, or memory layout optimization, or any combination thereof.Type: GrantFiled: June 22, 2018Date of Patent: July 23, 2024Assignee: DATAWARE VENTURES, LLCInventors: Rui Zhang, Richard T. Snodgrass, Christian Convey
-
Publication number: 20210279105Abstract: A computer-implemented method and related systems for reducing memory access stalls and memory allocation requests in data-intensive applications are provided. Invariants associated with execution paths that access data in a memory of the data-intensive application are identified. At least one field specialization technique using at least one speccode segment is then applied. The speccode segment exploits the identified invariants, thereby reducing at least one of memory stalls and memory allocation requests in a data-intensive application. The field specialization technique may include specialized software prefetching, a data distribution-based hash function, process to CPU binding, memory segment reuse, or memory layout optimization, or any combination thereof.Type: ApplicationFiled: June 22, 2018Publication date: September 9, 2021Inventors: Rui ZHANG, Richard T. SNODGRASS, Christian CONVEY
-
Patent number: 10733099Abstract: A method to minimize cache pressure using slot pressure profile (SPP)-guided Algorithm includes generating an intermediate SPP from a binary code of a DBMS. The generated intermediate SPP is received and a reference SPP is output. The reference SPP has a value assigned for each cache slot in a cache, whereby a cache slot value is indicative of cache pressure. The reference SPP is accepted and a candidate slot list related to the cache is produced by sorting the values in the reference SPP. A slot number among the candidate slot list is decided and passed to find an open memory address mapping to the decided slot number for a bee code, the bee code being a specialized version of a DBMS function created and loaded into the cache at run-time. A query with the bee code is executed using the open memory address found.Type: GrantFiled: December 14, 2016Date of Patent: August 4, 2020Assignees: ARIZONA BOARD OF REGENTS ON BEHALF OF THE UNIVERSITY OF ARIZONA, DATAWARE VENTURES, LLCInventors: Richard T. Snodgrass, Saumya K. Debray, Rui Zhang, Yang Liu
-
Patent number: 10365900Abstract: Three extensions to the conventional field specialization process are disclosed. The first extension is cross-application value flows, where a value transfers out of one application and subsequently into another application. The second extension is an inter-application analysis. Static and dynamic analysis is performed by a Spiff Toolset not just on the source code of a single application, but also across the data read and written by that application. The third extension is invariant cross-application termination, verifying the possibility of an invariant originating in an application and terminating in a specialization opportunity in a separate application. An ecosystem specification is disclosed to enable such field specialization broadening.Type: GrantFiled: December 14, 2015Date of Patent: July 30, 2019Assignees: DATAWARE VENTURES, LLC, THE ARIZONA BOARD OF REGENTS ON BEHALF OF THE UNIVERSITY OF ARIZONAInventors: Richard T. Snodgrass, Saumya K. Debray, Rui Zhang
-
Publication number: 20180365148Abstract: Four extensions to the conventional field specialization process are disclosed. The first extension is cross-application value flows, where a value transfers out of one application and subsequently into another application. The second extension is an inter-application analysis. Static and dynamic analysis is performed by a Spiff Toolset not just on the source code of a single application, but also across the data read and written by that application. The third extension is invariant cross-application termination, verifying the possibility of an invariant originating in an application and terminating in a specialization opportunity in a separate application. The fourth extension relates to run-time code placement algorithms to mitigate an increase in I-cache pressure and L2-cache pressure.Type: ApplicationFiled: December 14, 2016Publication date: December 20, 2018Inventors: Richard T. SNODGRASS, Saumya K. DEBRAY, Rui ZHANG, Yang LIU
-
Patent number: 9607017Abstract: Systems and methods for utilizing relation- and query-specific information to specialize DBMS code at runtime based on identifying runtime locally invariant variables. Runtime invariant is often of the form of variables in code that hold values that are constant during a portion of code execution. Micro-specialization is applied to eliminate from the original program unnecessary code such as branching statements that reference local invariant(s) in branch-condition evaluation. The resulting specialized code reduces the code complexity as well as significantly improves the runtime efficiency during code execution.Type: GrantFiled: December 21, 2012Date of Patent: March 28, 2017Assignee: THE ARIZONA BOARD OF REGENTS ON BEHALF OF THE UNIVERSITY OF ARIZONAInventors: Saumya K. Debray, Richard T. Snodgrass, Rui Zhang
-
Publication number: 20160110172Abstract: Three extensions to the conventional field specialization process are disclosed. The first extension is cross-application value flows, where a value transfers out of one application and subsequently into another application. The second extension is an inter-application analysis. Static and dynamic analysis is performed by a Spiff Toolset not just on the source code of a single application, but also across the data read and written by that application. The third extension is invariant cross-application termination, verifying the possibility of an invariant originating in an application and terminating in a specialization opportunity in a separate application. An ecosystem specification is disclosed to enable such field specialization broadening.Type: ApplicationFiled: December 14, 2015Publication date: April 21, 2016Inventors: Richard T. Snodgrass, Saumya K. Debray, Rui Zhang
-
Publication number: 20140365533Abstract: Systems and methods for utilizing relation- and query-specific information to specialize DBMS code at runtime based on identifying runtime locally invariant variables. Runtime invariant is often of the form of variables in code that hold values that are constant during a portion of code execution. Micro-specialization is applied to eliminate from the original program unnecessary code such as branching statements that reference local invariant(s) in branch-condition evaluation. The resulting specialized code reduces the code complexity as well as significantly improves the runtime efficiency during code execution.Type: ApplicationFiled: December 21, 2012Publication date: December 11, 2014Inventors: Saumya K. Debray, Richard T. Snodgrass, Rui Zhang
-
Patent number: 6442543Abstract: A method and apparatus accepts a query to update or delete rows in a temporal table of a database. The query may describe which rows are to be updated, a calculation for the value to be used to update each row of the table, and a period of validity, during which the changes are to take place. The method and apparatus creates a sequence of queries and SQL program elements that together can make up an SQL program that will execute the query received. The SQL program can split any row of the table to be updated into multiple rows so that each of the multiple rows of the table to be changed have an effective period during which no changes occur in the table to be changed or any other tables referenced in the query received and no effective periods span the beginning or the end of the period of validity. The specified change may then be made to the resulting rows, and rows that are adjacent in time with identical values may be collapsed into a single row.Type: GrantFiled: December 18, 2000Date of Patent: August 27, 2002Assignee: Amazon.com, Inc.Inventors: Richard T Snodgrass, John Bair
-
Patent number: 6324535Abstract: A method and apparatus converts an original query into a sequenced query that takes into account a range of values of a variable defined by a start and end point in performing the query. The start or end points are calculated if necessary and a query to collect all of the start and end points may be generated, and a query is generated that produces a constant set of start and end points defining consecutive periods, such that all the data in the tables related to the original query is constant over each of these periods. These two queries are merged into the original query to produce a sequenced query capable of execution on various database software and capable of taking into account the range of values of the variable in performing the original query.Type: GrantFiled: December 2, 1999Date of Patent: November 27, 2001Assignee: Amazon.com, Inc.Inventors: John Bair, Richard T Snodgrass
-
Patent number: 6185556Abstract: A method and apparatus accepts a query to update or delete rows in a temporal table of a database. The query may describe which rows are to be updated, a calculation for the value to be used to update each row of the table, and a period of validity, during which the changes are to take place. The method and apparatus creates a sequence of queries and SQL program elements that together can make up an SQL program that will execute the query received. The SQL program can split any row of the table to be updated into multiple rows so that each of the multiple rows of the table to be changed have an effective period during which no changes occur in the table to be changed or any other tables referenced in the query received and no effective periods span the beginning or the end of the period of validity. The specified change may then be made to the resulting rows, and rows that are adjacent in time with identical values may be collapsed into a single row.Type: GrantFiled: May 4, 1999Date of Patent: February 6, 2001Assignee: Amazon.com, Inc.Inventors: Richard T Snodgrass, John Bair
-
Patent number: 5999924Abstract: A method and apparatus converts an original query into a sequenced query that takes into account a range of values of a variable defined by a start and end point in performing the query. The start or end points are calculated if necessary and a query to collect all of the start and end points may be generated, and a query is generated that produces a constant set of start and end points defining consecutive periods, such that all the data in the tables related to the original query is constant over each of these periods. These two queries are merged into the original query to produce a sequenced query capable of execution on various database software and capable of taking into account the range of values of the variable in performing the original query.Type: GrantFiled: July 25, 1997Date of Patent: December 7, 1999Assignee: Amazon.com, Inc.Inventors: John Bair, Richard T Snodgrass