Patents by Inventor Gil Bloch

Gil Bloch 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: 11397682
    Abstract: A network device in a communication network includes a controller and processing circuitry. The controller is configured to manage execution of an operation whose execution depends on inputs from a group of one or more work-request initiators. The processing circuitry is configured to read one or more values, which are set by the work-request initiators in one or more memory locations that are accessible to the work-request initiators and to the network device, and to trigger execution of the operation in response to verifying that the one or more values read from the one or more memory locations indicate that the work-request initiators in the group have provided the respective inputs.
    Type: Grant
    Filed: June 30, 2020
    Date of Patent: July 26, 2022
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Daniel Marcovitch, Gil Bloch, Richard Graham, Ariel Shahar, Roee Moyal, Igor Voks
  • Publication number: 20220217101
    Abstract: A network adapter includes a network interface, a host interface and processing circuitry. The network interface connects to a communication network for communicating with remote targets. The host interface connects to a host that accesses a Multi-Channel Send Queue (MCSQ) storing Work Requests (WRs) originating from client processes running on the host. The processing circuitry is configured to retrieve WRs from the MCSQ and distribute the WRs among multiple Send Queues (SQs) accessible by the processing circuitry.
    Type: Application
    Filed: January 6, 2021
    Publication date: July 7, 2022
    Inventors: Gal Yefet, Daniel Marcovitch, Roee Moyal, Ariel Shahar, Gil Bloch, Lior Narkis
  • Publication number: 20220188147
    Abstract: A network device includes a network interface, a host interface and processing circuitry. The network interface is configured to connect to a communication network. The host interface is configured to connect to a host including a processor. The processing circuitry is configured to receive from the processor, via the host interface, a notification specifying an operation for execution by the network device, the operation including (i) multiple tasks that are executable by the network device, and (ii) execution dependencies among the tasks in response to the notification, the processing circuitry is configured to determine a schedule for executing the tasks, the schedule complying with the execution dependencies, and to execute the operation by executing the tasks of the operation is accordance with the schedule.
    Type: Application
    Filed: December 14, 2020
    Publication date: June 16, 2022
    Inventors: Roman Nudelman, Gil Bloch, Daniel Marcovitch
  • Publication number: 20220131826
    Abstract: A router includes routing circuitry and a plurality of ports. The routing circuitry is configured to receive from a first subnetwork, via one of the ports, a packet destined to be delivered to a target node located in a second subnetwork, to select a mapping, from among two or more mappings, depending on a topological relation between the first subnetwork and the second subnetwork, to map a Layer-3 address of the packet into a Layer-2 address using the selected mapping, and to forward the packet via another one of the ports to the Layer-2 address.
    Type: Application
    Filed: October 26, 2020
    Publication date: April 28, 2022
    Inventors: Lion Levi, Vladimir Koushnir, Matty Kadosh, Gil Bloch, Aviad Levy, Liran Liss, Dvir Libhaber
  • Publication number: 20220029854
    Abstract: A method in which a plurality of process are configured to hold a block of data destined for other processes, with data repacking circuitry including receiving circuitry configured to receive at least one block of data from a source process of the plurality of processes, the repacking circuitry configured to repack received data in accordance with at least one destination process of the plurality of processes, and sending circuitry configured to send the repacked data to the at least one destination process of the plurality of processes, receiving a set of data for all-to-all data exchange, the set of data being configured as a matrix, the matrix being distributed among the plurality of processes, and transposing the data by each of the plurality of processes sending matrix data from the process to the repacking circuitry, and the repacking circuitry receiving, repacking, and sending the resulting matrix data to destination processes.
    Type: Application
    Filed: October 7, 2021
    Publication date: January 27, 2022
    Inventors: Richard Graham, Lion Levi, Gil Bloch, Daniel Marcovitch, Noam Bloch, Yong Qin, Yaniv Blumenfeld, Eitan Zahavi
  • Publication number: 20210406179
    Abstract: A network device in a communication network includes a controller and processing circuitry. The controller is configured to manage execution of an operation whose execution depends on inputs from a group of one or more work-request initiators. The processing circuitry is configured to read one or more values, which are set by the work-request initiators in one or more memory locations that are accessible to the work-request initiators and to the network device, and to trigger execution of the operation in response to verifying that the one or more values read from the one or more memory locations indicate that the work-request initiators in the group have provided the respective inputs.
    Type: Application
    Filed: June 30, 2020
    Publication date: December 30, 2021
    Inventors: Daniel Marcovitch, Gil Bloch, Richard Graham, Ariel Shahar, Roee Moyal, Igor Voks
  • Patent number: 11196586
    Abstract: A method in which a plurality of process are configured to hold a block of data destined for other processes, with data repacking circuitry including receiving circuitry configured to receive at least one block of data from a source process of the plurality of processes, the repacking circuitry configured to repack received data in accordance with at least one destination process of the plurality of processes, and sending circuitry configured to send the repacked data to the at least one destination process of the plurality of processes, receiving a set of data for all-to-all data exchange, the set of data being configured as a matrix, the matrix being distributed among the plurality of processes, and transposing the data by each of the plurality of processes sending matrix data from the process to the repacking circuitry, and the repacking circuitry receiving, repacking, and sending the resulting matrix data to destination processes.
    Type: Grant
    Filed: February 13, 2020
    Date of Patent: December 7, 2021
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Richard Graham, Lion Levi, Gil Bloch, Daniel Marcovitch, Noam Bloch, Yong Qin, Yaniv Blumenfeld, Eitan Zahavi
  • Publication number: 20210218808
    Abstract: An apparatus includes one or more ports for connecting to a communication network, processing circuitry and a message aggregation circuit (MAC). The processing circuitry is configured to communicate messages over the communication network via the one or more ports. The MAC is configured to receive messages, which originate in one or more source processes and are destined to one or more destination processes, to aggregate two or more of the messages that share a common destination into an aggregated message, and to send the aggregated message using the processing circuitry over the communication network.
    Type: Application
    Filed: January 13, 2021
    Publication date: July 15, 2021
    Inventors: Richard Graham, Lion Levi, Daniel Marcovitch, Larry R. Dennison, Aviad Levy, Noam Bloch, Gil Bloch
  • Publication number: 20200274733
    Abstract: A method in which a plurality of process are configured to hold a block of data destined for other processes, with data repacking circuitry including receiving circuitry configured to receive at least one block of data from a source process of the plurality of processes, the repacking circuitry configured to repack received data in accordance with at least one destination process of the plurality of processes, and sending circuitry configured to send the repacked data to the at least one destination process of the plurality of processes, receiving a set of data for all-to-all data exchange, the set of data being configured as a matrix, the matrix being distributed among the plurality of processes, and transposing the data by each of the plurality of processes sending matrix data from the process to the repacking circuitry, and the repacking circuitry receiving, repacking, and sending the resulting matrix data to destination processes.
    Type: Application
    Filed: February 13, 2020
    Publication date: August 27, 2020
    Inventors: Richard Graham, Lion Levi, Gil Bloch, Daniel Marcovitch, Noam Bloch, Yong Qin, Yaniv Blumenfeld, Eitan Zahavi
  • Patent number: 10642780
    Abstract: In a fabric of network elements one network element has an object pool to be accessed stored in its memory. A request for atomic access to the object pool by another network element is carried out by transmitting the request through the fabric to the one network element, performing a remote direct memory access to a designated member of the object pool, atomically executing the request, and returning a result of the execution of the request through the fabric to the other network element.
    Type: Grant
    Filed: February 28, 2017
    Date of Patent: May 5, 2020
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
  • Patent number: 10521283
    Abstract: An MPI collective operation carried out in a fabric of network elements by transmitting MPI messages from all the initiator processes in an initiator node to designated ones of the responder processes in respective responder nodes. Respective payloads of the MPI messages are combined in a network interface device of the initiator node to form an aggregated MPI message. The aggregated MPI message is transmitted through the fabric to network interface devices of responder nodes, disaggregating the aggregated MPI message into individual messages, and distributing the individual messages to the designated responder node processes.
    Type: Grant
    Filed: March 1, 2017
    Date of Patent: December 31, 2019
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
  • Patent number: 10320952
    Abstract: A network device includes multiple ports, for communicating over a communication network, and packet processing circuitry. The packet processing circuitry is configured to receive via the ports packets belonging to a plurality of multicast flows, to receive, for each of the multicast flows, (i) a first configuration that specifies clients that are to receive the multicast flow prior to a specified switch-over time, and (ii) a second configuration that specifies the clients that are to receive the multicast flow after the specified switch-over time, to forward the multicast flows via the ports in accordance with the first configuration, to extract from a field in at least one of the packets a value that is indicative of the switch-over time, and, based on the extracted value, to switch-over forwarding of the multicast flows from the first configuration to the second configuration simultaneously at the switch-over time.
    Type: Grant
    Filed: May 9, 2017
    Date of Patent: June 11, 2019
    Assignee: MELLANOX TECHNOLOGIES TLV LTD.
    Inventors: Aviad Raveh, Gil Bloch, Richard Mark Hastie, Asaf Wachtel
  • Patent number: 10284383
    Abstract: A switch in a data network is configured to mediate data exchanges among network elements. The apparatus further includes a processor, which organizes the network elements into a hierarchical tree having a root node network element, vertex node network elements, and child node network elements that include leaf node network elements. The leaf node network elements are originate aggregation data and transmit the aggregation data to respective parent vertex node network elements. The vertex node network elements combine the aggregation data from at least a portion of the child node network elements, and transmit the combined aggregation data from the vertex node network elements to parent vertex node network elements. The root node network element is operative for initiating a reduction operation on the aggregation data.
    Type: Grant
    Filed: August 30, 2016
    Date of Patent: May 7, 2019
    Assignee: Mellanox Technologies, Ltd.
    Inventors: Gil Bloch, Diego Crupnicoff, Benny Koren, Oded Wertheim, Lion Levi, Richard Graham, Michael Kagan
  • Patent number: 10158702
    Abstract: A Network Interface (NI) includes a host interface, which is configured to receive from a host processor of a node one or more work requests that are derived from an operation to be executed by the node. The NI maintains a plurality of work queues for carrying out transport channels to one or more peer nodes over a network. The NI further includes control circuitry, which is configured to accept the work requests via the host interface, and to execute the work requests using the work queues by controlling an advance of at least a given work queue according to an advancing condition, which depends on a completion status of one or more other work queues, so as to carry out the operation.
    Type: Grant
    Filed: November 11, 2015
    Date of Patent: December 18, 2018
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Noam Bloch, Gil Bloch, Ariel Shahar, Hillel Chapman, Gilad Shainer, Adi Menachem, Ofer Hayut
  • Publication number: 20170331926
    Abstract: A network device includes multiple ports, for communicating over a communication network, and packet processing circuitry. The packet processing circuitry is configured to receive via the ports packets belonging to a plurality of multicast flows, to receive, for each of the multicast flows, (i) a first configuration that specifies clients that are to receive the multicast flow prior to a specified switch-over time, and (ii) a second configuration that specifies the clients that are to receive the multicast flow after the specified switch-over time, to forward the multicast flows via the ports in accordance with the first configuration, to extract from a field in at least one of the packets a value that is indicative of the switch-over time, and, based on the extracted value, to switch-over forwarding of the multicast flows from the first configuration to the second configuration simultaneously at the switch-over time.
    Type: Application
    Filed: May 9, 2017
    Publication date: November 16, 2017
    Inventors: Aviad Raveh, Gil Bloch, Richard Mark Hastie, Asaf Wachtel
  • Publication number: 20170255590
    Abstract: In a fabric of network elements one network element has an object pool to be accessed stored in its memory. A request for atomic access to the object pool by another network element is carried out by transmitting the request through the fabric to the one network element, performing a remote direct memory access to a designated member of the object pool, atomically executing the request, and returning a result of the execution of the request through the fabric to the other network element.
    Type: Application
    Filed: February 28, 2017
    Publication date: September 7, 2017
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
  • Publication number: 20170255501
    Abstract: An MPI collective operation carried out in a fabric of network elements by transmitting MPI messages from all the initiator processes in an initiator node to designated ones of the responder processes in respective responder nodes. Respective payloads of the MPI messages are combined in a network interface device of the initiator node to form an aggregated MPI message. The aggregated MPI message is transmitted through the fabric to network interface devices of responder nodes, disaggregating the aggregated MPI message into individual messages, and distributing the individual messages to the designated responder node processes.
    Type: Application
    Filed: March 1, 2017
    Publication date: September 7, 2017
    Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
  • Patent number: 9634940
    Abstract: A method includes receiving in a network switch of a communication network communication traffic that originates from a source node and arrives over a route through the communication network traversing one or more preceding network switches, for forwarding to a destination node. In response to detecting in the network switch a compromised ability to forward the communication traffic to the destination node, a notification is sent to the preceding network switches. The notification is to be consumed by the preceding network switches and requests the preceding network switches to modify the route so as not to traverse the network switch.
    Type: Grant
    Filed: March 19, 2015
    Date of Patent: April 25, 2017
    Assignee: MELLANOX TECHNOLOGIES, LTD.
    Inventors: Zachy Haramaty, Eitan Zahavi, Freddy Gabbay, Diego Crupnicoff, Amiad Marelli, Gil Bloch
  • Publication number: 20170063613
    Abstract: A switch in a data network is configured to mediate data exchanges among network elements. The apparatus further includes a processor, which organizes the network elements into a hierarchical tree having a root node network element, vertex node network elements child node network elements that include leaf node network elements. The leaf node network elements are originate aggregation data and transmit the aggregation data to respective parent vertex node network elements. The vertex node network elements combine the aggregation data from at least a portion of the child node network elements, and transmit the combined aggregation data from the vertex node network elements to parent vertex node network elements. The root node network element is operative for initiating a reduction operation on the aggregation data.
    Type: Application
    Filed: August 30, 2016
    Publication date: March 2, 2017
    Inventors: Gil Bloch, Diego Crupnicoff, Benny Koren, Oded Wertheim, Lion Levi, Richard Graham, Michael Kagan
  • Patent number: 9344490
    Abstract: A Network Interface (NI) includes a host interface, which is configured to receive from a host processor of a node one or more cross-channel work requests that are derived from an operation to be executed by the node. The NI includes a plurality of work queues for carrying out transport channels to one or more peer nodes over a network. The NI further includes control circuitry, which is configured to accept the cross-channel work requests via the host interface, and to execute the cross-channel work requests using the work queues by controlling an advance of at least a given work queue according to an advancing condition, which depends on a completion status of one or more other work queues, so as to carry out the operation.
    Type: Grant
    Filed: July 7, 2014
    Date of Patent: May 17, 2016
    Assignee: Mellanox Technologies Ltd.
    Inventors: Noam Bloch, Gil Bloch, Ariel Shachar, Hillel Chapman, Ishai Rabinobitz, Pavel Shamis, Gilad Shainer