Patents by Inventor Gopi K. Attaluri
Gopi K. Attaluri 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: 10157193Abstract: A method implemented by at least one processing device, a processing device, and a computer program product are provided for adjusting hash partitions for a hash join operation. An amount of rows within each of an initial number of hash partitions is determined during assignment of respective rows to respective hash partitions. The initial number of hash partitions is adjusted to a final number of hash partitions based on the amount of rows within each of the initial number of hash partitions and an amount of available memory. The adjusting further includes determining the final number of hash partitions based on the amount of rows within each of the initial number of hash partitions and the amount of available memory, and assigning the rows to the final number of hash partitions. The hash join operation is then performed.Type: GrantFiled: March 3, 2016Date of Patent: December 18, 2018Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe
-
Patent number: 10133760Abstract: A hardware accelerator includes a bitmap processor that processes a bitmap structure for multiple list population. A population count processor processes population counts for data and aggregates the population counts. The bitmap data structure includes bitmap bit fields interleaved with aggregated population count fields.Type: GrantFiled: January 12, 2015Date of Patent: November 20, 2018Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Richard S. Sidle
-
Patent number: 10108667Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.Type: GrantFiled: March 7, 2016Date of Patent: October 23, 2018Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
-
Publication number: 20180246806Abstract: To manage memory in a multi-processing system, a memory budget is assigned to each of a number of agents within the multi-processing system. A portion of memory is allocated to each the agents within the memory budget. Metrics are collected for each agent during processing of data by the agents; the metrics include an amount of data processed and an amount of memory used for each agent. Memory efficiency is determined for each agent based on the collected metrics and another memory budget is determined based on the memory efficiency. The portion of the memory is reallocated to the agents within the other memory budget in response to data stored in the memory relative to the assigned memory budget meeting a criterion.Type: ApplicationFiled: February 28, 2017Publication date: August 30, 2018Inventors: Gopi K. Attaluri, Ronald J. Barber, Vijayshankar Raman, Liping Zhang
-
Publication number: 20180225329Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.Type: ApplicationFiled: April 24, 2018Publication date: August 9, 2018Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
-
Publication number: 20180225328Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.Type: ApplicationFiled: April 24, 2018Publication date: August 9, 2018Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
-
Patent number: 9984122Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.Type: GrantFiled: July 26, 2017Date of Patent: May 29, 2018Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
-
Publication number: 20180137123Abstract: A method for creating a compact hash table includes a thread executing using a processor for scanning a subset of keys and values, and for each key, performing a hash operation and inserting hashed keys into a bitmap structure. Cumulative population counts of keys and values are determined within the bitmap. The method repeats scanning the subset of the keys and values. The keys and values are inserted into a compacted array using the cumulative population counts.Type: ApplicationFiled: December 21, 2017Publication date: May 17, 2018Inventors: Gopi K. Attaluri, Ronald J. Barber, Ippokratis Pandis, Vijayshankar Raman
-
Publication number: 20180113864Abstract: A method for building a hash table over a subset of data in a data set includes partitioning a subset of keys and values in the data set into multiple partitions. A hash table is formed with space reserved for each partition based on cumulative counts for a number of keys and values in each partition of the multiple partitions. Each thread selects one or more partitions and inserts keys and values belonging to the selected one or more partitions into the hash table in the reserved space for those partitions. A compact hash table is created that includes a bitmap and a compacted army.Type: ApplicationFiled: December 21, 2017Publication date: April 26, 2018Inventors: Gopi K. Attaluri, Ronald J. Barber, Ippokratis Pandis, Vijayshankar Raman
-
Publication number: 20180107732Abstract: A method, a system, and a computer program product are provided. A filter is created for each portion of a data set. The filter indicates which one or more characteristics are present among each of the portions. Each of the one or more characteristics comprises one or more groups defined by the data grouping operation. The filters for the portions of the data sets are transferred to one or more filter processors and combined within the one or more filter processors to indicate characteristics of data residing across multiple processing elements to produce a result for a data grouping operation, utilizing transfers based on a combined filter result. In various embodiments, the filter may be a Bloom filter.Type: ApplicationFiled: December 5, 2017Publication date: April 19, 2018Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Patent number: 9940346Abstract: In a shared data system comprising one or more primary nodes and a plurality of secondary nodes, global lock manager on a primary node manages locks for shared resources by exchanging an abstract lock state with local lock managers on the secondary nodes. The abstract lock state includes a particular representation of all of the applications on the nodes that are requesting or are granted locks. The exchange of these particular lock states instead of individual requests improves performance by increasing concurrency and reducing off-machine communication. A global deadlock detector on a node detects and resolves global deadlocks, in conjunction with local deadlock detectors on the secondary nodes.Type: GrantFiled: July 23, 2014Date of Patent: April 10, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Gopi K. Attaluri, James L. Finnie, Stewart L. Palmer, Piotr M. Plachta, Garret F. Swart, Xun Xue, Roger L. Q. Zheng
-
Patent number: 9922064Abstract: A method for building a hash table over a subset of data in a data set includes mapping keys in the data set to values in the data set using multiple parallel computation threads. Each thread scans a subset of the keys and values and partitioning the subset of the keys and values into multiple partitions. A cumulative count for keys and values in each partition is determined. A hash table with space reserved for each partition is formed based on the determined cumulative counts. Each thread selects one or more partitions and inserts keys and values belonging to the selected one or more partitions into the hash table in the reserved space for those partitions.Type: GrantFiled: March 20, 2015Date of Patent: March 20, 2018Assignee: International Business Machines CorporationInventors: Gopi K. Attaluri, Ronald J. Barber, Ippokratis Pandis, Vijayshankar Raman
-
Patent number: 9875280Abstract: Embodiments of the present invention provide a database processing system for efficient partitioning of a database table with column-major layout for executing one or more join operations. One embodiment comprises a method for partitioning a database table with column-major layout, partitioning only the join-columns by limiting the partitions by size and number, executing one or more join operations for joining the partitioned columns, and optionally de-partitioning the join result to the original order by sequentially writing and randomly reading table values using P cursors.Type: GrantFiled: August 24, 2012Date of Patent: January 23, 2018Assignee: International Business Machines CorporationInventors: Stefan Arndt, Gopi K. Attaluri, Ronald J. Barber, Guy M. Lohman, Lin Qiao, Vijayshankar Raman, Eugene J. Shekita, Richard S. Sidle
-
Patent number: 9870396Abstract: Embodiments relate to an immediate join spilling scheme for a database. An aspect includes receiving a command to perform a join of an inner table and an outer table in a database. Another aspect includes spilling a plurality of hash tables to a disk memory, each hash table corresponding to a respective inner table partition. Another aspect includes registering, by a first agent of a plurality of agents, a set of inner table partitions that require processing by the first agent to complete the join for a first stride of rows of the outer table. Another aspect includes, based on determining that a hash table corresponding to a registered inner table partition of the first agent has been loaded into the local memory by the second agent of the plurality of agents, performing the join of the loaded hash table and the first stride of rows of the outer table by the first agent.Type: GrantFiled: March 12, 2014Date of Patent: January 16, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Gopi K. Attaluri, Francisco J. Bermudez, Vijayshankar Raman
-
Publication number: 20170344621Abstract: A method, a system, and a computer program product are provided. A filter is created for each portion of a data set. The filter indicates which one or more characteristics are present among each of the portions. Each of the one or more characteristics comprises one or more groups defined by the data grouping operation. The filters for the portions of the data sets are transferred to one or more filter processors and combined within the one or more filter processors to indicate characteristics of data residing across multiple processing elements to produce a result for a data grouping operation, utilizing transfers based on a combined filter result. In various embodiments, the filter may be a Bloom filter.Type: ApplicationFiled: May 31, 2016Publication date: November 30, 2017Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Publication number: 20170329823Abstract: A computer program product provides efficient multiple aggregation distinct processing. The computer program product including a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by a processor to cause the processor to convert a query with multiple aggregation distincts into a two-stage group-by process using a nest operator. The two-stage group-by process including further program instructions to cause the processor to: perform a first stage group-by process including the nest operator taking a single input row, and concatenating a grouping key with a measure value for each aggregation distinct that forms multiple inputs to a single group-by table, and perform a second stage group-by process including the nest operator bringing together entries for each original group.Type: ApplicationFiled: May 11, 2016Publication date: November 16, 2017Inventors: Gopi K. Attaluri, Ronald J. Barber, Vincent Kulandaisamy, Vijayshankar Raman, Liping Zhang
-
Publication number: 20170316056Abstract: A computer-implemented method includes receiving a query plan. The method includes identifying a plurality of qualified relevant rows and one or more encoding candidate payload columns. The method includes analyzing the relevant rows in the encoding candidate payload columns to yield a count of distinct contents and a payload column width. The method includes estimating a cost and determining whether the cost is larger than an amount of available memory for on-the-fly encoding all of the plurality of encoding candidate payload columns. The method is responsive to the estimated cost being less than the amount of available memory, by on-the-fly encoding the encoding candidates and responsive to the estimated cost being greater than the amount of available memory by on-the-fly encoding fewer than all of the encoding candidates so as not to exceed the available memory, and leaving alone one or more remaining encoding candidate payload columns unencoded.Type: ApplicationFiled: July 26, 2017Publication date: November 2, 2017Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe, Richard S. Sidle, Liping Zhang
-
Publication number: 20170293469Abstract: A system for sorting in a column organized relational database by sorting only key columns in the column organized relational database to reduce memory and CPU usage. The sort may be performed using an in memory sort. After sorting the key columns, the system orders a payload column according to an order indicated by the key columns. The payload column is associated with the key columns in the column organized relational database. The system assesses memory capacity prior to ordering the payload column. Prior to ordering a plurality of payload columns, the system refrains from automatically concatenating the plurality of payload columns, and refrains from automatically de-concatenating any concatenated payload columns after the ordering the plurality of payload columns. The system determines an amount of required memory necessary to order the payload column, and detects an amount of available memory accessible to order the payload column.Type: ApplicationFiled: March 21, 2017Publication date: October 12, 2017Inventors: Gopi K. ATTALURI, Vijayshankar RAMAN, David C. SHARPE
-
Publication number: 20170293468Abstract: A system for sorting in a column organized relational database by sorting only key columns in the column organized relational database to reduce memory and CPU usage. The sort may be performed using an in memory sort. After sorting the key columns, the system orders a payload column according to an order indicated by the key columns. The payload column is associated with the key columns in the column organized relational database. The system assesses memory capacity prior to ordering the payload column. Prior to ordering a plurality of payload columns, the system refrains from automatically concatenating the plurality of payload columns, and refrains from automatically de-concatenating any concatenated payload columns after the ordering the plurality of payload columns. The system determines an amount of required memory necessary to order the payload column, and detects an amount of available memory accessible to order the payload column.Type: ApplicationFiled: April 10, 2016Publication date: October 12, 2017Inventors: Gopi K. ATTALURI, Vijayshankar RAMAN, David C. SHARPE
-
Publication number: 20170255672Abstract: A method implemented by at least one processing device, a processing device, and a computer program product are provided for adjusting hash partitions for a hash join operation. An amount of rows within each of an initial number of hash partitions is determined during assignment of respective rows to respective hash partitions. The initial number of hash partitions is adjusted to a final number of hash partitions based on the amount of rows within each of the initial number of hash partitions and an amount of available memory. The adjusting further includes determining the final number of hash partitions based on the amount of rows within each of the initial number of hash partitions and the amount of available memory, and assigning the rows to the final number of hash partitions. The hash join operation is then performed.Type: ApplicationFiled: March 3, 2016Publication date: September 7, 2017Inventors: Gopi K. Attaluri, Vijayshankar Raman, David C. Sharpe