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: 11615069
    Abstract: 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: Grant
    Filed: May 15, 2019
    Date of Patent: March 28, 2023
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Robert J. Halstead, Bharat Sukhwani
  • Patent number: 11093674
    Abstract: 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: Grant
    Filed: December 19, 2018
    Date of Patent: August 17, 2021
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Mohit Kapur
  • Patent number: 11047907
    Abstract: 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: Grant
    Filed: October 17, 2019
    Date of Patent: June 29, 2021
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Mohit Kapur
  • Patent number: 10664234
    Abstract: 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: Grant
    Filed: March 22, 2019
    Date of Patent: May 26, 2020
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
  • Publication number: 20200049764
    Abstract: 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: Application
    Filed: October 17, 2019
    Publication date: February 13, 2020
    Inventors: Sameh W. Asaad, Mohit Kapur
  • Patent number: 10488460
    Abstract: 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: Grant
    Filed: February 11, 2016
    Date of Patent: November 26, 2019
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Mohit Kapur
  • Patent number: 10387403
    Abstract: 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: Grant
    Filed: July 6, 2015
    Date of Patent: August 20, 2019
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Robert J. Halstead, Bharat Sukhwani
  • Patent number: 10372700
    Abstract: 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: Grant
    Filed: March 30, 2015
    Date of Patent: August 6, 2019
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Robert J. Halstead, Bharat Sukhwani
  • Publication number: 20190235835
    Abstract: 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: Application
    Filed: March 22, 2019
    Publication date: August 1, 2019
    Inventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
  • Patent number: 10346131
    Abstract: 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: Grant
    Filed: March 25, 2016
    Date of Patent: July 9, 2019
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
  • Publication number: 20190147130
    Abstract: 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: Application
    Filed: December 19, 2018
    Publication date: May 16, 2019
    Inventors: Sameh W. Asaad, Mohit Kapur
  • Patent number: 10176281
    Abstract: 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: Grant
    Filed: November 12, 2015
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Sameh W. Asaad, Mohit Kapur
  • Patent number: 10169413
    Abstract: 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: Grant
    Filed: August 17, 2016
    Date of Patent: January 1, 2019
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
  • Patent number: 10133774
    Abstract: 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: Grant
    Filed: September 5, 2013
    Date of Patent: November 20, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
  • Patent number: 10089352
    Abstract: 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: Grant
    Filed: December 8, 2016
    Date of Patent: October 2, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Matthew S. Thoennes
  • Patent number: 9830354
    Abstract: 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: Grant
    Filed: August 7, 2013
    Date of Patent: November 28, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sameh W. Asaad, Parijat Dube, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
  • Publication number: 20170277717
    Abstract: 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: Application
    Filed: March 25, 2016
    Publication date: September 28, 2017
    Inventors: Sameh W. Asaad, Dajung Lee, Roger Moussalli, Mudhakar Srivatsa
  • Patent number: 9720092
    Abstract: 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: Grant
    Filed: March 26, 2015
    Date of Patent: August 1, 2017
    Assignee: International Business Machines Corporation
    Inventors: Roger Moussalli, Sameh W. Asaad, Mudhakar Srivatsa
  • Patent number: 9710503
    Abstract: 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: Grant
    Filed: December 22, 2015
    Date of Patent: July 18, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes
  • Patent number: 9690813
    Abstract: 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: Grant
    Filed: December 22, 2015
    Date of Patent: June 27, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Sameh W. Asaad, Hong Min, Bharat Sukhwani, Mathew S. Thoennes