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: 11397682Abstract: 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: GrantFiled: June 30, 2020Date of Patent: July 26, 2022Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Daniel Marcovitch, Gil Bloch, Richard Graham, Ariel Shahar, Roee Moyal, Igor Voks
-
Publication number: 20220217101Abstract: 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: ApplicationFiled: January 6, 2021Publication date: July 7, 2022Inventors: Gal Yefet, Daniel Marcovitch, Roee Moyal, Ariel Shahar, Gil Bloch, Lior Narkis
-
Publication number: 20220188147Abstract: 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: ApplicationFiled: December 14, 2020Publication date: June 16, 2022Inventors: Roman Nudelman, Gil Bloch, Daniel Marcovitch
-
Publication number: 20220131826Abstract: 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: ApplicationFiled: October 26, 2020Publication date: April 28, 2022Inventors: Lion Levi, Vladimir Koushnir, Matty Kadosh, Gil Bloch, Aviad Levy, Liran Liss, Dvir Libhaber
-
Publication number: 20220029854Abstract: 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: ApplicationFiled: October 7, 2021Publication date: January 27, 2022Inventors: Richard Graham, Lion Levi, Gil Bloch, Daniel Marcovitch, Noam Bloch, Yong Qin, Yaniv Blumenfeld, Eitan Zahavi
-
Publication number: 20210406179Abstract: 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: ApplicationFiled: June 30, 2020Publication date: December 30, 2021Inventors: Daniel Marcovitch, Gil Bloch, Richard Graham, Ariel Shahar, Roee Moyal, Igor Voks
-
Patent number: 11196586Abstract: 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: GrantFiled: February 13, 2020Date of Patent: December 7, 2021Assignee: MELLANOX TECHNOLOGIES TLV LTD.Inventors: Richard Graham, Lion Levi, Gil Bloch, Daniel Marcovitch, Noam Bloch, Yong Qin, Yaniv Blumenfeld, Eitan Zahavi
-
Publication number: 20210218808Abstract: 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: ApplicationFiled: January 13, 2021Publication date: July 15, 2021Inventors: Richard Graham, Lion Levi, Daniel Marcovitch, Larry R. Dennison, Aviad Levy, Noam Bloch, Gil Bloch
-
Publication number: 20200274733Abstract: 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: ApplicationFiled: February 13, 2020Publication date: August 27, 2020Inventors: Richard Graham, Lion Levi, Gil Bloch, Daniel Marcovitch, Noam Bloch, Yong Qin, Yaniv Blumenfeld, Eitan Zahavi
-
Patent number: 10642780Abstract: 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: GrantFiled: February 28, 2017Date of Patent: May 5, 2020Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
-
Patent number: 10521283Abstract: 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: GrantFiled: March 1, 2017Date of Patent: December 31, 2019Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
-
Patent number: 10320952Abstract: 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: GrantFiled: May 9, 2017Date of Patent: June 11, 2019Assignee: MELLANOX TECHNOLOGIES TLV LTD.Inventors: Aviad Raveh, Gil Bloch, Richard Mark Hastie, Asaf Wachtel
-
Patent number: 10284383Abstract: 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: GrantFiled: August 30, 2016Date of Patent: May 7, 2019Assignee: Mellanox Technologies, Ltd.Inventors: Gil Bloch, Diego Crupnicoff, Benny Koren, Oded Wertheim, Lion Levi, Richard Graham, Michael Kagan
-
Patent number: 10158702Abstract: 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: GrantFiled: November 11, 2015Date of Patent: December 18, 2018Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Noam Bloch, Gil Bloch, Ariel Shahar, Hillel Chapman, Gilad Shainer, Adi Menachem, Ofer Hayut
-
Publication number: 20170331926Abstract: 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: ApplicationFiled: May 9, 2017Publication date: November 16, 2017Inventors: Aviad Raveh, Gil Bloch, Richard Mark Hastie, Asaf Wachtel
-
Publication number: 20170255590Abstract: 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: ApplicationFiled: February 28, 2017Publication date: September 7, 2017Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
-
Publication number: 20170255501Abstract: 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: ApplicationFiled: March 1, 2017Publication date: September 7, 2017Inventors: Shahaf Shuler, Noam Bloch, Gil Bloch
-
Patent number: 9634940Abstract: 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: GrantFiled: March 19, 2015Date of Patent: April 25, 2017Assignee: MELLANOX TECHNOLOGIES, LTD.Inventors: Zachy Haramaty, Eitan Zahavi, Freddy Gabbay, Diego Crupnicoff, Amiad Marelli, Gil Bloch
-
Publication number: 20170063613Abstract: 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: ApplicationFiled: August 30, 2016Publication date: March 2, 2017Inventors: Gil Bloch, Diego Crupnicoff, Benny Koren, Oded Wertheim, Lion Levi, Richard Graham, Michael Kagan
-
Patent number: 9344490Abstract: 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: GrantFiled: July 7, 2014Date of Patent: May 17, 2016Assignee: Mellanox Technologies Ltd.Inventors: Noam Bloch, Gil Bloch, Ariel Shachar, Hillel Chapman, Ishai Rabinobitz, Pavel Shamis, Gilad Shainer