Patents by Inventor Sameh W. Asaad
Sameh W. Asaad 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: 11615069Abstract: Techniques are provided for data filtering using hardware accelerators. An apparatus comprises a processor, a memory and a plurality of hardware accelerators. The processor is configured to stream data from the memory to a first one of the hardware accelerators and to receive filtered data from a second one of the hardware accelerators. The plurality of hardware accelerators are configured to filter the streamed data utilizing at least one bit vector partitioned across the plurality of hardware accelerators. The hardware accelerators may be field-programmable gate arrays.Type: GrantFiled: May 15, 2019Date of Patent: March 28, 2023Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Robert J. Halstead, Bharat Sukhwani
-
Patent number: 11093674Abstract: A method, system and computer program product are disclosed for generating clock signals for a cycle accurate FPGA based hardware accelerator used to simulate operations of a device-under-test (DUT). In one embodiment, the DUT includes multiple device clocks generating multiple device clock signals at multiple frequencies and at a defined frequency ratio; and the FPG hardware accelerator includes multiple accelerator clocks generating multiple accelerator clock signals to operate the FPGA hardware accelerator to simulate the operations of the DUT. In one embodiment, operations of the DUT are mapped to the FPGA hardware accelerator, and the accelerator clock signals are generated at multiple frequencies and at the defined frequency ratio of the frequencies of the multiple device clocks, to maintain cycle accuracy between the DUT and the FPGA hardware accelerator. In an embodiment, the FPGA hardware accelerator may be used to control the frequencies of the multiple device clocks.Type: GrantFiled: December 19, 2018Date of Patent: August 17, 2021Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Mohit Kapur
-
Patent number: 11047907Abstract: A method, system and computer program product are disclosed for using a Field Programmable Gate Array (FPGA) to simulate operations of a device under test (DUT). The DUT includes a device memory having a number of input ports, and the FPGA is associated with a target memory having a second number of input ports, the second number being less than the first number. In one embodiment, a given set of inputs is applied to the device memory at a frequency Fd and in a defined cycle of time, and the given set of inputs is applied to the target memory at a frequency Ft. Ft is greater than Fd and cycle accuracy is maintained between the device memory and the target memory. In an embodiment, a cycle accurate model of the DUT memory is created by separating the DUT memory interface protocol from the target memory storage array.Type: GrantFiled: October 17, 2019Date of Patent: June 29, 2021Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Mohit Kapur
-
Patent number: 10664234Abstract: A method of performing an evaluation of a spatial predicates for first and second regions includes receiving a first set of geohashes representing the first region, and receiving a second set of geohashes representing the second region. The method also includes for each geohash within the first set of geohashes: performing a respective pairwise evaluation of a first spatial primitive for the geohash within the first set and each of the geohashes within the second set to produce a set of first binary results corresponding to respective ones of the geohashes within the second set; and combining the set of first binary results using a first Boolean logic operator to produce one of a set of second binary results corresponding to respective ones of the geohashes within the first set. The method further includes combining the set of second binary results using a second Boolean logic operator to produce a third binary result corresponding to the first set of spatial primitives.Type: GrantFiled: March 22, 2019Date of Patent: May 26, 2020Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
-
Publication number: 20200049764Abstract: A method, system and computer program product are disclosed for using a Field Programmable Gate Array (FPGA) to simulate operations of a device under test (DUT). The DUT includes a device memory having a number of input ports, and the FPGA is associated with a target memory having a second number of input ports, the second number being less than the first number. In one embodiment, a given set of inputs is applied to the device memory at a frequency Fd and in a defined cycle of time, and the given set of inputs is applied to the target memory at a frequency Ft. Ft is greater than Fd and cycle accuracy is maintained between the device memory and the target memory. In an embodiment, a cycle accurate model of the DUT memory is created by separating the DUT memory interface protocol from the target memory storage array.Type: ApplicationFiled: October 17, 2019Publication date: February 13, 2020Inventors: Sameh W. Asaad, Mohit Kapur
-
Patent number: 10488460Abstract: A method, system and computer program product are disclosed for using a Field Programmable Gate Array (FPGA) to simulate operations of a device under test (DUT). The DUT includes a device memory having a number of input ports, and the FPGA is associated with a target memory having a second number of input ports, the second number being less than the first number. In one embodiment, a given set of inputs is applied to the device memory at a frequency Fd and in a defined cycle of time, and the given set of inputs is applied to the target memory at a frequency Ft. Ft is greater than Fd and cycle accuracy is maintained between the device memory and the target memory. In an embodiment, a cycle accurate model of the DUT memory is created by separating the DUT memory interface protocol from the target memory storage array.Type: GrantFiled: February 11, 2016Date of Patent: November 26, 2019Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Mohit Kapur
-
Patent number: 10387403Abstract: Techniques are provided for data filtering using hardware accelerators. An apparatus comprises a processor, a memory and a plurality of hardware accelerators. The processor is configured to stream data from the memory to a first one of the hardware accelerators and to receive filtered data from a second one of the hardware accelerators. The plurality of hardware accelerators are configured to filter the streamed data utilizing at least one bit vector partitioned across the plurality of hardware accelerators. The hardware accelerators may be field-programmable gate arrays.Type: GrantFiled: July 6, 2015Date of Patent: August 20, 2019Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Robert J. Halstead, Bharat Sukhwani
-
Patent number: 10372700Abstract: Techniques are provided for data filtering using hardware accelerators. An apparatus comprises a processor, a memory and a plurality of hardware accelerators. The processor is configured to stream data from the memory to a first one of the hardware accelerators and to receive filtered data from a second one of the hardware accelerators. The plurality of hardware accelerators are configured to filter the streamed data utilizing at least one bit vector partitioned across the plurality of hardware accelerators. The hardware accelerators may be field-programmable gate arrays.Type: GrantFiled: March 30, 2015Date of Patent: August 6, 2019Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Robert J. Halstead, Bharat Sukhwani
-
Publication number: 20190235835Abstract: A method of performing an evaluation of a spatial predicates for first and second regions includes receiving a first set of geohashes representing the first region, and receiving a second set of geohashes representing the second region. The method also includes for each geohash within the first set of geohashes: performing a respective pairwise evaluation of a first spatial primitive for the geohash within the first set and each of the geohashes within the second set to produce a set of first binary results corresponding to respective ones of the geohashes within the second set; and combining the set of first binary results using a first Boolean logic operator to produce one of a set of second binary results corresponding to respective ones of the geohashes within the first set. The method further includes combining the set of second binary results using a second Boolean logic operator to produce a third binary result corresponding to the first set of spatial primitives.Type: ApplicationFiled: March 22, 2019Publication date: August 1, 2019Inventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
-
Patent number: 10346131Abstract: A method of evaluating each of plurality of spatial primitives for a pair of geohashes is disclosed. The method comprises the steps of: detecting which of the pair of geohashes is a shorter geohash and which of the pair of geohashes is a longer geohash; identifying a breakpoint for the pair of geohashes; determining a set of one or more masks each associated with at least one of the pair of geohashes; evaluating a first one of the spatial primitives for the pair of geohashes, the first one of the spatial primitives being a “contain” spatial primitive; and evaluating at least a second one of the spatial primitives for the pair of geohashes, the at least second one of the spatial primitives being at least one “touch” spatial primitive.Type: GrantFiled: March 25, 2016Date of Patent: July 9, 2019Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
-
Publication number: 20190147130Abstract: A method, system and computer program product are disclosed for generating clock signals for a cycle accurate FPGA based hardware accelerator used to simulate operations of a device-under-test (DUT). In one embodiment, the DUT includes multiple device clocks generating multiple device clock signals at multiple frequencies and at a defined frequency ratio; and the FPG hardware accelerator includes multiple accelerator clocks generating multiple accelerator clock signals to operate the FPGA hardware accelerator to simulate the operations of the DUT. In one embodiment, operations of the DUT are mapped to the FPGA hardware accelerator, and the accelerator clock signals are generated at multiple frequencies and at the defined frequency ratio of the frequencies of the multiple device clocks, to maintain cycle accuracy between the DUT and the FPGA hardware accelerator. In an embodiment, the FPGA hardware accelerator may be used to control the frequencies of the multiple device clocks.Type: ApplicationFiled: December 19, 2018Publication date: May 16, 2019Inventors: Sameh W. Asaad, Mohit Kapur
-
Patent number: 10176281Abstract: A method, system and computer program product are disclosed for generating clock signals for a cycle accurate FPGA based hardware accelerator used to simulate operations of a device-under-test (DUT). In one embodiment, the DUT includes multiple device clocks generating multiple device clock signals at multiple frequencies and at a defined frequency ratio; and the FPG hardware accelerator includes multiple accelerator clocks generating multiple accelerator clock signals to operate the FPGA hardware accelerator to simulate the operations of the DUT. In one embodiment, operations of the DUT are mapped to the FPGA hardware accelerator, and the accelerator clock signals are generated at multiple frequencies and at the defined frequency ratio of the frequencies of the multiple device clocks, to maintain cycle accuracy between the DUT and the FPGA hardware accelerator. In an embodiment, the FPGA hardware accelerator may be used to control the frequencies of the multiple device clocks.Type: GrantFiled: November 12, 2015Date of Patent: January 8, 2019Assignee: International Business Machines CorporationInventors: Sameh W. Asaad, Mohit Kapur
-
Patent number: 10169413Abstract: Embodiments include methods, systems and computer program products for offloading multiple processing operations to an accelerator. Aspects include receiving a database query from an application, performing an analysis on the query, and identifying a plurality of available accelerators. Aspects further include retrieving cost information for one or more templates available on each of the plurality of available accelerators, determining a query execution plan based on the cost information and the analysis on the query, and offloading one or more query operations to at least one of the plurality of accelerators based on the query execution plan.Type: GrantFiled: August 17, 2016Date of Patent: January 1, 2019Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 10133774Abstract: Embodiments include methods, systems and computer program products a for offloading multiple processing operations to an accelerator includes receiving, by a processing device, a database query from an application. The method also includes performing analysis on the database query and selecting an accelerator template from a plurality of accelerator templates based on the analysis of the database query. The method further includes transmitting an indication of the accelerator template to the accelerator and executing at least a portion of the database query on the accelerator.Type: GrantFiled: September 5, 2013Date of Patent: November 20, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 10089352Abstract: A computer-implemented method includes determining that a database query warrants a first projection operation to project a plurality of input rows to a plurality of projected rows, where each of the plurality of input rows has one or more variable-length columns. A first projection control block is constructed, by a computer processor, to describe the first projection operation. The first projection operation is offloaded to a hardware accelerator. The first projection control block is provided to the hardware accelerator, and the first projection control block enables the hardware accelerator to perform the first projection operation at streaming rate.Type: GrantFiled: December 8, 2016Date of Patent: October 2, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Matthew S. Thoennes
-
Patent number: 9830354Abstract: Embodiments include methods, systems and computer program products a for offloading multiple processing operations to an accelerator includes receiving, by a processing device, a database query from an application. The method also includes performing analysis on the database query and selecting an accelerator template from a plurality of accelerator templates based on the analysis of the database query. The method further includes transmitting an indication of the accelerator template to the accelerator and executing at least a portion of the database query on the accelerator.Type: GrantFiled: August 7, 2013Date of Patent: November 28, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Publication number: 20170277717Abstract: A method of evaluating each of plurality of spatial primitives for a pair of geohashes is disclosed. The method comprises the steps of: detecting which of the pair of geohashes is a shorter geohash and which of the pair of geohashes is a longer geohash; identifying a breakpoint for the pair of geohashes; determining a set of one or more masks each associated with at least one of the pair of geohashes; evaluating a first one of the spatial primitives for the pair of geohashes, the first one of the spatial primitives being a “contain” spatial primitive; and evaluating at least a second one of the spatial primitives for the pair of geohashes, the at least second one of the spatial primitives being at least one “touch” spatial primitive.Type: ApplicationFiled: March 25, 2016Publication date: September 28, 2017Inventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
-
Patent number: 9720092Abstract: An apparatus for converting between a geohash code and latitude/longitude coordinates includes a conversion module operative in one of at least first and second modes. In the first mode, the conversion module receives a geohash code, a number of geohash code bits remaining to be processed and an initial input interval, and generates first and second output intervals that are updated after each geohash code bit processed. The latitude and longitude coordinates are generated based on the first and second output intervals, respectively. In the second mode, the conversion module receives a latitude or longitude value, the number of geohash code bits remaining to be processed and the initial input interval, and generates a given one of the first and second output intervals. The conversion module is configured to process data at a rate of one geohash code bit per hardware cycle.Type: GrantFiled: March 26, 2015Date of Patent: August 1, 2017Assignee: International Business Machines CorporationInventors: Roger Moussalli, Sameh W. Asaad, Mudhakar Srivatsa
-
Patent number: 9710503Abstract: Embodiments include methods, systems and computer program products for performing a composite sort on a tunable hardware sort engine includes determining desired sort performance parameters, configuring a composite sort engine based on the desired sort performance parameters, and receiving a plurality of keys having a payload associated with each of the plurality of keys. The method also includes reserving DRAM storage for each of the payloads, generating a tag for each of the plurality of keys, the tag identifying the DRAM storage reserved for each of the payloads, and storing the payloads in the portions of the DRAM storage. The method further includes generating a composite key for each of the plurality of keys, sorting the composite keys by the composite sort engine, and retrieving the payloads associated with the sorted composite keys from the DRAM storage. The method also includes outputting the payloads associated the sorted composite keys.Type: GrantFiled: December 22, 2015Date of Patent: July 18, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
-
Patent number: 9690813Abstract: Embodiments include methods, systems and computer program products for performing a composite sort on a tunable hardware sort engine includes determining desired sort performance parameters, configuring a composite sort engine based on the desired sort performance parameters, and receiving a plurality of keys having a payload associated with each of the plurality of keys. The method also includes reserving DRAM storage for each of the payloads, generating a tag for each of the plurality of keys, the tag identifying the DRAM storage reserved for each of the payloads, and storing the payloads in the portions of the DRAM storage. The method further includes generating a composite key for each of the plurality of keys, sorting the composite keys by the composite sort engine, and retrieving the payloads associated with the sorted composite keys from the DRAM storage. The method also includes outputting the payloads associated the sorted composite keys.Type: GrantFiled: December 22, 2015Date of Patent: June 27, 2017Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes