IP Library › Granted Patent US 12,309,070
Granted Patent B2
US 12,309,070 · App. 18/149,924 · Granted May 20, 2025

In-network message aggregation for efficient small message transport

Inventors: Benjamin Klenk (San Jose, CA); Alan Lynn Davis (Coalville, UT); Larry Robert Dennison (Mendon, MA)
Assignee: NVIDIA Corporation
H04L47/2441
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,309,070
App. No.
18/149,924
Granted
May 20, 2025
Kind
B2
Abstract

Aggregation of small payloads from multiple packets may improve bandwidth efficiency of a network, particularly a high-performance compute cluster with thousands of network endpoints and distributed data. Aggregation is context-based and a packet header is reduced because the common components that are shared by the aggregated messages are included once within the header. Execution contexts are explicitly created and destroyed by application programs. Each participating endpoint stores context-specific properties until the context is destroyed, so that the properties are not included in the header. Aggregation may be performed at different hierarchical levels by switches and/or endpoints.

Claims (50)

1. A computer-implemented method, comprising:

identifying messages that share a context created by a source application program;

aggregating the identified messages for inclusion in a single packet;

constructing the single packet including the aggregated identified messages and an identifier for the context, wherein the identifier references properties needed by a destination endpoint to interpret at least one of the identified messages in the single packet and the properties are stored, by the source application program, at each destination endpoint that participates in the context;

extracting, at a switch within a network, a first message and a second message of the aggregated identified messages from the single packet, wherein the properties are irrelevant for routing the single packet through the switch;

transmitting the first message and the identifier towards a first destination endpoint; and

transmitting the second message and the identifier towards a second destination endpoint.

2. The computer-implemented method of claim 1 , further comprising:

receiving the first message at the first destination endpoint; and

using the identifier, accessing the properties stored in a table within the first destination endpoint.

3. The computer-implemented method of claim 1 , wherein the properties comprise at least one of properties of packets, response requirements, or notification mechanisms.

4. The computer-implemented method of claim 1 , wherein the properties comprise at least one of a number of processes in a collective, a location where at least one of the identified messages will be stored, or attributes associated with reliability, ordering, atomicity, or data type.

5. The computer-implemented method of claim 1 , wherein the first message is aggregated with other messages identified as sharing the context and included in a second packet constructed at the switch.

6. The computer-implemented method of claim 1 , wherein the single packet is constructed in response to determining that either a timer expired or a maximum number of the identified messages are aggregated.

7. The computer-implemented method of claim 6 , wherein at least one of the timer and the maximum number is adjusted as a processing workload changes.

8. The computer-implemented method of claim 6 , wherein the maximum number corresponds to the context and a second maximum number corresponds to an additional context.

9. The computer-implemented method of claim 1 , wherein the single packet is constructed in response to determining that an aggregation buffer is not available for an additional context.

10. The computer-implemented method of claim 1 , wherein constructing the single packet comprises encoding a common portion of addresses of destination endpoints for the aggregated identified messages into the single packet.

11. The computer-implemented method of claim 10 , wherein constructing the single packet further comprises encoding message-specific portions of the addresses of the destination endpoints for the aggregated identified messages into the single packet.

12. The computer-implemented method of claim 1 , wherein constructing the single packet comprises encoding a next hop for the aggregated identified messages into the single packet.

13. The computer-implemented method of claim 1 , wherein at least one of the steps of identifying, aggregating, and constructing is performed on a server or in a data center to generate content that is streamed to a user device.

14. The computer-implemented method of claim 1 , wherein at least one of the steps of identifying, aggregating, and constructing is performed within a cloud computing environment.

15. The computer-implemented method of claim 1 , wherein at least one of the steps of identifying, aggregating, and constructing is performed for training, testing, or certifying a neural network employed in a machine, robot, or autonomous vehicle.

16. The computer-implemented method of claim 1 , wherein at least one of the steps of identifying, aggregating, and constructing is performed on a virtual machine comprising a portion of a graphics processing unit.

17. A system, comprising:

a processor that is connected to a network, wherein the processor executes a source application program that creates a context;

a device within the network that is configured to:

identify messages that share the context;

aggregate the identified messages for inclusion in a single packet;

construct the single packet including the aggregated identified messages and an identifier for the context, wherein the identifier references properties needed by a destination endpoint to interpret at least one of the identified messages in the single packet and the properties are stored, by the source application program, at each destination endpoint that participates in the context;

extract, at a switch within a network, a first message and a second message of the aggregated identified messages from the single packet, wherein the properties are irrelevant for routing the single packet through the switch;

transmit the first message and the identifier towards a first destination endpoint; and

transmit the second message and the identifier towards a second destination endpoint.

18. The system of claim 17 , wherein the first destination endpoint is further configured to:

receive the first message; and

using the identifier, access the properties stored in a table within the first destination endpoint.

19. A non-transitory computer-readable media storing computer instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:

identifying messages that share a context created by a source application program;

aggregating the identified messages for inclusion in a single packet;

constructing the single packet including the aggregated identified messages and an identifier for the context, wherein the identifier references properties needed by a destination endpoint to interpret at least one of the identified messages in the single packet and the properties are stored, by the source application program, at each destination endpoint that participates in the context;

extracting, at a switch within a network, a first message and a second message of the aggregated identified messages from the single packet, wherein the properties are irrelevant for routing the single packet through the switch;

transmitting the first message and the identifier towards a first destination endpoint; and

transmitting the second message and the identifier towards a second destination endpoint.

20. A computer-implemented method for operation of a device connected to a network, wherein a plurality of source endpoints and a plurality of destination endpoints are coupled to the network, and wherein a message includes a payload that is associated with a context of one or more contexts created by a source application program, and wherein the method comprises:

identifying messages that share a first context;

aggregating into a packet the identified messages and a context identifier corresponding to the first context, wherein the identifier references properties needed by a destination endpoint to interpret at least one of the identified messages in the single packet and the properties are stored, by the source application program, at each destination endpoint of the plurality of destination endpoints that participates in the context;

extracting, at a switch within a network, a first message and a second message of the aggregated identified messages from the single packet, wherein the properties are irrelevant for routing the single packet through the switch;

transmitting the first message and the identifier towards a first destination endpoint; and

transmitting the second message and the identifier towards a second destination endpoint.

21. A computer-implemented method of claim 20 , wherein the packet includes a common portion of addresses of each destination endpoint of the plurality of destination endpoints associated with the identified messages and message-specific portions of the addresses of each destination endpoint of the plurality of destination endpoints associated with the identified messages.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2023
From: KLENK, BENJAMIN; DAVIS, ALAN LYNN; DENNISON, LARRY ROBERT
To: NVIDIA CORPORATION
Reel/Frame 062273/0585 →
Continuity (2)
Provisional Application 63328619 · Apr 7, 2022
Related Publication 20230327996A1 · Oct 12, 2023
References Cited (284)
US 6370502B1 · Wu et al. · 2002 [cited by applicant]
US 6438137B1 · Turner · 2002 [cited by applicant]
US 6483804B1 · Muller et al. · 2002 [cited by applicant]
US 6507562B1 · Kadansky et al. · 2003 [cited by applicant]
US 6728862B1 · Wilson · 2004 [cited by applicant]
US 6857004B1 · Howard et al. · 2005 [cited by applicant]
US 6937576B1 · Di Benedetto et al. · 2005 [cited by applicant]
US 7079501B2 · Boivie · 2006 [cited by examiner]
US 7102998B1 · Golestani · 2006 [cited by applicant]
US 7124180B1 · Ranous · 2006 [cited by applicant]
US 7164422B1 · Wholey, III et al. · 2007 [cited by applicant]
US 7171484B1 · Krause et al. · 2007 [cited by applicant]
US 7313582B2 · Bhanot et al. · 2007 [cited by applicant]
US 7327693B1 · Rivers et al. · 2008 [cited by applicant]
US 7336646B2 · Muller · 2008 [cited by applicant]
US 7555549B1 · Campbell et al. · 2009 [cited by applicant]
US 7613774B1 · Caronni et al. · 2009 [cited by applicant]
US 7636424B1 · Halikhedkar et al. · 2009 [cited by applicant]
US 7636699B2 · Stanfill · 2009 [cited by applicant]
US 7738443B2 · Kumar · 2010 [cited by applicant]
US 7760743B2 · Shokri et al. · 2010 [cited by applicant]
US 8213315B2 · Crupnicoff et al. · 2012 [cited by applicant]
US 8255475B2 · Kagan et al. · 2012 [cited by applicant]
US 8380880B2 · Gulley et al. · 2013 [cited by applicant]
US 8510366B1 · Anderson et al. · 2013 [cited by applicant]
US 8645663B2 · Kagan et al. · 2014 [cited by applicant]
US 8738891B1 · Karandikar et al. · 2014 [cited by applicant]
US 8761189B2 · Shachar et al. · 2014 [cited by applicant]
US 8768898B1 · Trimmer et al. · 2014 [cited by applicant]
US 8775698B2 · Archer et al. · 2014 [cited by applicant]
US 8811417B2 · Bloch et al. · 2014 [cited by applicant]
US 9110860B2 · Shahar · 2015 [cited by applicant]
US 9189447B2 · Faraj · 2015 [cited by applicant]
US 9294551B1 · Froese et al. · 2016 [cited by applicant]
US 9344490B2 · Bloch et al. · 2016 [cited by applicant]
US 9456060B2 · Pope et al. · 2016 [cited by applicant]
US 9563426B1 · Bent et al. · 2017 [cited by applicant]
US 9626329B2 · Howard · 2017 [cited by applicant]
US 9756154B1 · Jiang · 2017 [cited by applicant]
US 10015106B1 · Florissi et al. · 2018 [cited by applicant]
US 10158702B2 · Bloch et al. · 2018 [cited by applicant]
US 10284383B2 · Bloch et al. · 2019 [cited by applicant]
US 10296351B1 · Kohn et al. · 2019 [cited by applicant]
US 10305980B1 · Gonzales et al. · 2019 [cited by applicant]
US 10318306B1 · Kohn et al. · 2019 [cited by applicant]
US 10425350B1 · Florissi · 2019 [cited by applicant]
US 10521283B2 · Shuler et al. · 2019 [cited by applicant]
US 10528518B2 · Graham et al. · 2020 [cited by applicant]
US 10541938B1 · Timmerman et al. · 2020 [cited by applicant]
US 10547553B2 · Shattah et al. · 2020 [cited by applicant]
US 10621489B2 · Appuswamy et al. · 2020 [cited by applicant]
US 11088971B2 · Brody et al. · 2021 [cited by applicant]
US 11750699B2 · Graham et al. · 2023 [cited by applicant]
US 20020010844A1 · Noel et al. · 2002 [cited by applicant]
US 20020035625A1 · Tanaka · 2002 [cited by applicant]
US 20020150094A1 · Cheng et al. · 2002 [cited by applicant]
US 20020150106A1 · Kagan et al. · 2002 [cited by applicant]
US 20020152315A1 · Kagan et al. · 2002 [cited by applicant]
US 20020152327A1 · Kagan et al. · 2002 [cited by applicant]
US 20020152328A1 · Kagan et al. · 2002 [cited by applicant]
US 20020165897A1 · Kagan et al. · 2002 [cited by applicant]
US 20020196787A1 · Rajan · 2002 [cited by examiner]
US 20030018828A1 · Craddock et al. · 2003 [cited by applicant]
US 20030061417A1 · Craddock et al. · 2003 [cited by applicant]
US 20030065856A1 · Kagan et al. · 2003 [cited by applicant]
US 20030120835A1 · Kale et al. · 2003 [cited by applicant]
US 20030198226A1 · Westberg · 2003 [cited by examiner]
US 20040030745A1 · Boucher et al. · 2004 [cited by applicant]
US 20040062258A1 · Grow et al. · 2004 [cited by applicant]
US 20040078493A1 · Blumrich et al. · 2004 [cited by applicant]
US 20040120331A1 · Rhine et al. · 2004 [cited by applicant]
US 20040123071A1 · Stefan et al. · 2004 [cited by applicant]
US 20040252685A1 · Kagan et al. · 2004 [cited by applicant]
US 20040260683A1 · Chan et al. · 2004 [cited by applicant]
US 20050097300A1 · Gildea et al. · 2005 [cited by applicant]
US 20050122329A1 · Janus · 2005 [cited by applicant]
US 20050129039A1 · Biran et al. · 2005 [cited by applicant]
US 20050131865A1 · Jones et al. · 2005 [cited by applicant]
US 20050223118A1 · Tucker et al. · 2005 [cited by applicant]
US 20050281287A1 · Ninomi et al. · 2005 [cited by applicant]
US 20060104303A1 · Makineni · 2006 [cited by examiner]
US 20060282838A1 · Gupta et al. · 2006 [cited by applicant]
US 20070127396A1 · Jain et al. · 2007 [cited by applicant]
US 20070127525A1 · Sarangam et al. · 2007 [cited by applicant]
US 20070162236A1 · Lamblin et al. · 2007 [cited by applicant]
US 20080040792A1 · Larson · 2008 [cited by applicant]
US 20080104218A1 · Liang et al. · 2008 [cited by applicant]
US 20080126564A1 · Wilkinson · 2008 [cited by applicant]
US 20080168471A1 · Benner et al. · 2008 [cited by applicant]
US 20080181260A1 · Vonog et al. · 2008 [cited by applicant]
US 20080192750A1 · Ko et al. · 2008 [cited by applicant]
US 20080219159A1 · Chateau et al. · 2008 [cited by applicant]
US 20080244220A1 · Lin et al. · 2008 [cited by applicant]
US 20080263329A1 · Archer et al. · 2008 [cited by applicant]
US 20080028891A1 · Bohra et al. · 2008 [cited by applicant]
US 20080298380A1 · Rittmeyer et al. · 2008 [cited by applicant]
US 20080307082A1 · Cai et al. · 2008 [cited by applicant]
US 20090037377A1 · Archer et al. · 2009 [cited by applicant]
US 20090063816A1 · Arimilli et al. · 2009 [cited by applicant]
US 20090063817A1 · Arimilli et al. · 2009 [cited by applicant]
US 20090063891A1 · Arimilli et al. · 2009 [cited by applicant]
US 20090182814A1 · Tapolcai et al. · 2009 [cited by applicant]
US 20090240838A1 · Berg et al. · 2009 [cited by applicant]
US 20090247241A1 · Gollnick et al. · 2009 [cited by applicant]
US 20090292905A1 · Faraj · 2009 [cited by applicant]
US 20090296699A1 · Hefty · 2009 [cited by applicant]
US 20090327444A1 · Archer et al. · 2009 [cited by applicant]
US 20100017420A1 · Archer et al. · 2010 [cited by applicant]
US 20100049836A1 · Kramer · 2010 [cited by applicant]
US 20100074098A1 · Zeng et al. · 2010 [cited by applicant]
US 20100095086A1 · Eichenberger et al. · 2010 [cited by applicant]
US 20100185719A1 · Howard · 2010 [cited by applicant]
US 20100241828A1 · Yu et al. · 2010 [cited by applicant]
US 20100274876A1 · Kagan et al. · 2010 [cited by applicant]
US 20100329275A1 · Johnsen et al. · 2010 [cited by applicant]
US 20110060891A1 · Jia · 2011 [cited by applicant]
US 20110066649A1 · Berlyant et al. · 2011 [cited by applicant]
US 20110093258A1 · Xu et al. · 2011 [cited by applicant]
US 20110119673A1 · Bloch et al. · 2011 [cited by applicant]
US 20110173413A1 · Chen et al. · 2011 [cited by applicant]
US 20110219208A1 · Asaad · 2011 [cited by applicant]
US 20110238956A1 · Arimilli et al. · 2011 [cited by applicant]
US 20110258245A1 · Blocksome et al. · 2011 [cited by applicant]
US 20110276789A1 · Chambers et al. · 2011 [cited by applicant]
US 20120063436A1 · Thubert et al. · 2012 [cited by applicant]
US 20120117331A1 · Krause et al. · 2012 [cited by applicant]
US 20120131309A1 · Johnson · 2012 [cited by applicant]
US 20120254110A1 · Takemoto · 2012 [cited by applicant]
US 20130117548A1 · Grover et al. · 2013 [cited by applicant]
US 20130159410A1 · Lee et al. · 2013 [cited by applicant]
US 20130159568A1 · Shahar et al. · 2013 [cited by applicant]
US 20130215904A1 · Zhou et al. · 2013 [cited by applicant]
US 20130250756A1 · Johri · 2013 [cited by applicant]
US 20130312011A1 · Kumar et al. · 2013 [cited by applicant]
US 20130318525A1 · Palanisamy et al. · 2013 [cited by applicant]
US 20130336292A1 · Kore et al. · 2013 [cited by applicant]
US 20140019574A1 · Cardona · 2014 [cited by applicant]
US 20140033217A1 · Vajda et al. · 2014 [cited by applicant]
US 20140040542A1 · Kim et al. · 2014 [cited by applicant]
US 20140047341A1 · Breternitz et al. · 2014 [cited by applicant]
US 20140095779A1 · Forsyth et al. · 2014 [cited by applicant]
US 20140122831A1 · Uliel et al. · 2014 [cited by applicant]
US 20140136811A1 · Fleischer et al. · 2014 [cited by applicant]
US 20140189308A1 · Hughes et al. · 2014 [cited by applicant]
US 20140211804A1 · Makikeni et al. · 2014 [cited by applicant]
US 20140258438A1 · Ayoub · 2014 [cited by applicant]
US 20140280420A1 · Khan · 2014 [cited by applicant]
US 20140281370A1 · Khan · 2014 [cited by applicant]
US 20140362692A1 · Wu et al. · 2014 [cited by applicant]
US 20140365548A1 · Mortensen · 2014 [cited by applicant]
US 20150074373A1 · Sperber et al. · 2015 [cited by applicant]
US 20150106578A1 · Warfield et al. · 2015 [cited by applicant]
US 20150143076A1 · Khan · 2015 [cited by applicant]
US 20150143077A1 · Khan · 2015 [cited by applicant]
US 20150143078A1 · Khan et al. · 2015 [cited by applicant]
US 20150143079A1 · Khan · 2015 [cited by applicant]
US 20150143085A1 · Khan · 2015 [cited by applicant]
US 20150143086A1 · Khan · 2015 [cited by applicant]
US 20150154058A1 · Miwa et al. · 2015 [cited by applicant]
US 20150178211A1 · Hiramoto et al. · 2015 [cited by applicant]
US 20150180785A1 · Annamraju · 2015 [cited by applicant]
US 20150188987A1 · Reed et al. · 2015 [cited by applicant]
US 20150193271A1 · Archer et al. · 2015 [cited by applicant]
US 20150212972A1 · Boettcher et al. · 2015 [cited by applicant]
US 20150261720A1 · Kagan et al. · 2015 [cited by applicant]
US 20150269116A1 · Raikin · 2015 [cited by applicant]
US 20150278347A1 · Meyer et al. · 2015 [cited by applicant]
US 20150347012A1 · Dewitt et al. · 2015 [cited by applicant]
US 20150365494A1 · Cardona · 2015 [cited by applicant]
US 20150379022A1 · Puig et al. · 2015 [cited by applicant]
US 20160055225A1 · Xu et al. · 2016 [cited by applicant]
US 20160092362A1 · Barron · 2016 [cited by applicant]
US 20160105494A1 · Reed et al. · 2016 [cited by applicant]
US 20160112531A1 · Milton et al. · 2016 [cited by applicant]
US 20160117277A1 · Raindel et al. · 2016 [cited by applicant]
US 20160119244A1 · Wang et al. · 2016 [cited by applicant]
US 20160179537A1 · Kunzman et al. · 2016 [cited by applicant]
US 20160219009A1 · French · 2016 [cited by applicant]
US 20160248656A1 · Anand et al. · 2016 [cited by applicant]
US 20160283422A1 · Crupnicoff et al. · 2016 [cited by applicant]
US 20160294793A1 · Larson · 2016 [cited by applicant]
US 20160299872A1 · Vaidyanathan et al. · 2016 [cited by applicant]
US 20160342568A1 · Burchard et al. · 2016 [cited by applicant]
US 20160352598A1 · Reinhardt · 2016 [cited by applicant]
US 20160364350A1 · Sanghi et al. · 2016 [cited by applicant]
US 20170063613A1 · Bloch et al. · 2017 [cited by applicant]
US 20170093715A1 · McGhee et al. · 2017 [cited by applicant]
US 20170116154A1 · Palmer et al. · 2017 [cited by applicant]
US 20170187496A1 · Shalev et al. · 2017 [cited by applicant]
US 20170187589A1 · Pope et al. · 2017 [cited by applicant]
US 20170187629A1 · Shalev et al. · 2017 [cited by applicant]
US 20170187846A1 · Shalev et al. · 2017 [cited by applicant]
US 20170192782A1 · Valentine et al. · 2017 [cited by applicant]
US 20170199844A1 · Burchard et al. · 2017 [cited by applicant]
US 20170255501A1 · Shuler · 2017 [cited by applicant]
US 20170308329A1 · A et al. · 2017 [cited by applicant]
US 20180004530A1 · Vorbach · 2018 [cited by applicant]
US 20180046901A1 · Xie et al. · 2018 [cited by applicant]
US 20180047099A1 · Bonig et al. · 2018 [cited by applicant]
US 20180089278A1 · Bhattacharjee et al. · 2018 [cited by applicant]
US 20180091442A1 · Chen et al. · 2018 [cited by applicant]
US 20180097721A1 · Matsui et al. · 2018 [cited by applicant]
US 20180115529A1 · Munger · 2018 [cited by applicant]
US 20180173673A1 · Daglis et al. · 2018 [cited by applicant]
US 20180262551A1 · Demeyer et al. · 2018 [cited by applicant]
US 20180278549A1 · Mula · 2018 [cited by applicant]
US 20180285316A1 · Thorson et al. · 2018 [cited by applicant]
US 20180287928A1 · Levi et al. · 2018 [cited by applicant]
US 20180302324A1 · Kasuya · 2018 [cited by applicant]
US 20180321912A1 · Li et al. · 2018 [cited by applicant]
US 20180321938A1 · Boswell et al. · 2018 [cited by applicant]
US 20180349212A1 · Liu et al. · 2018 [cited by applicant]
US 20180367465A1 · Levi · 2018 [cited by applicant]
US 20180375781A1 · Chen et al. · 2018 [cited by applicant]
US 20190018805A1 · Benisty · 2019 [cited by applicant]
US 20190026250A1 · Das Sarma et al. · 2019 [cited by applicant]
US 20190044889A1 · Serres · 2019 [cited by applicant]
US 20190065208A1 · Liu et al. · 2019 [cited by applicant]
US 20190068501A1 · Schneder et al. · 2019 [cited by applicant]
US 20190102179A1 · Fleming et al. · 2019 [cited by applicant]
US 20190102338A1 · Tang et al. · 2019 [cited by applicant]
US 20190102640A1 · Balasubramanian · 2019 [cited by applicant]
US 20190114533A1 · Ng et al. · 2019 [cited by applicant]
US 20190121388A1 · Knowles et al. · 2019 [cited by applicant]
US 20190138638A1 · Pal et al. · 2019 [cited by applicant]
US 20190141133A1 · Rajan · 2019 [cited by applicant]
US 20190147092A1 · Pal et al. · 2019 [cited by applicant]
US 20190149486A1 · Bohrer et al. · 2019 [cited by applicant]
US 20190149488A1 · Bansal · 2019 [cited by applicant]
US 20190171612A1 · Shahar · 2019 [cited by applicant]
US 20190235866A1 · Das Sarma et al. · 2019 [cited by applicant]
US 20190278737A1 · Kozomora · 2019 [cited by applicant]
US 20190303168A1 · Flemming, Jr. et al. · 2019 [cited by applicant]
US 20190303263A1 · Flemming, Jr. et al. · 2019 [cited by applicant]
US 20190324431A1 · Celia et al. · 2019 [cited by applicant]
US 20190339688A1 · Celia et al. · 2019 [cited by applicant]
US 20190347099A1 · Eapen et al. · 2019 [cited by applicant]
US 20190369994A1 · Parandeh Afshar et al. · 2019 [cited by applicant]
US 20190377580A1 · Vorbach · 2019 [cited by applicant]
US 20190379714A1 · Levi et al. · 2019 [cited by applicant]
US 20200005859A1 · Chen et al. · 2020 [cited by applicant]
US 20200034145A1 · Bainville et al. · 2020 [cited by applicant]
US 20200057748A1 · Danilak et al. · 2020 [cited by applicant]
US 20200103894A1 · Celia et al. · 2020 [cited by applicant]
US 20200106828A1 · Elias et al. · 2020 [cited by applicant]
US 20200137013A1 · Jin et al. · 2020 [cited by applicant]
US 20200265043A1 · Graham et al. · 2020 [cited by applicant]
US 20200274733A1 · Graham et al. · 2020 [cited by applicant]
US 20210203621A1 · Ylisirnio · 2021 [cited by applicant]
US 20210311774A1 · Wei · 2021 [cited by examiner]
US 20210373972A1 · Kurkure · 2021 [cited by examiner]
Maley, F.M., et al., “Conveyors for Streaming Many to Many Communication,” IEEE/ACM 9th Workshop on Irregular Applications: Architectures and Algorithms (IA3), 2019. [cited by applicant]
Ghosh, S., et al., “TriC: Distributed-memory Triangle Counting by Exploiting the Graph Structure,” 2020 IEEE High Performance Extreme Computing Conference (HPEC), 2020. [cited by applicant]
Von Eichen, T., et al., “Active messages: a mechanism for integrated communication and computation,” Proceedings of the 19th Annual International Symposium on Computer Architecture (ISCA'92), 1992. [cited by applicant]
Mellanox Technologies Inc., “Scaling IOGb/s Clustering at Wire-Speed”, pp. 1-8, year 2006. [cited by applicant]
IEEE 802. ID Standard “IEEE Standard for Local and Metropolitan Area Networks-Media Access Control (MAC) Bridges”, IEEE Computer Society, pp. 1-281, Jun. 9, 2004. [cited by applicant]
Turner et al., “Multirate Clos Networks”, IEEE Communications Magazine, pp. 1-11, Oct. 2003. [cited by applicant]
MPI: A Message-Passing Interface Standard, Message Passing Interface Forum, version 3.1, pp. 1-868, Jun. 4, 2015. [cited by applicant]
Coti et al., “MPI Applications on Grids: a Topology-Aware Approach,” Proceedings of the 15th International European Conference on Parallel and Distributed Computing (EuroPar'09), pp. 21, 2008. [cited by applicant]
Petrini et al., “The Quadrics Network (QsNet): High-Performance Clustering Technology,” Proceedings of the 9th IEEE Symposium on Hot Interconnects (Hot!'01), pp. 1-6, Aug. 2001. [cited by applicant]
Sancho et al., “Efficient Offloading of Collective Communications in Large-Scale Systems,” Proceedings of the 2007 IEEE Interna-tional Conference on Cluster Computing, pp. 1-10, Sep. 17-20, 2007. [cited by applicant]
“InfiniBand Architecture Specification, vol. 1,” Release 1.2.1, pp. 1-1727, Nov. 2007. [cited by applicant]
Deming, “Infiniband Architectural Overview”, Storage Developer Conference, pp. 1-70, year 2013. [cited by applicant]
Fugger et al., “Reconciling fault-tolerant distributed computing and systems-on-chip”, Distributed Computing, vol. 24, Issue 6, pp. 323-355, Jan. 2012. [cited by applicant]
Wikipedia, “System on a chip”, pp. 1-4, Jul. 6, 2018. [cited by applicant]
Villavieja et al., “On-chip Distributed Shared Memory”, Computer Architecture Department, pp. 1-10, Feb. 3, 2011. [cited by applicant]
Bruck et al., “Efficient Algorithms for All-to-All Communications in Multiport Message-Passing Systems”, IEEE Transactions on Parallel and Distributed Systems, vol. 8, No. 11, pp. 1143-1156, Nov. 1997. [cited by applicant]
Gainaru et al., “Using InfiniBand Hardware Gather-Scatter Capabilities to Optimize MPI All-to-All”, EuroMPI '16, Edinburgh, United Kingdom, pp. 1-13, year 2016. [cited by applicant]
Pjesivac-Grbovic et al., “Performance analysis of MPI collective operations”, Cluster Computing, pp. 1-25, 2007. [cited by applicant]
Chiang et al., “Toward supporting data parallel programming on clusters of symmetric multiprocessors”, Proceedings International Conference on Parallel and Distributed Systems, pp. 607-614, Dec. 14, 1998. [cited by applicant]
Danalis et al., “PTG: an abstraction for unhindered parallelism”, 2014 Fourth International Workshop on Domain-Specific Lan-guages and High-Level Frameworks for High Performance Com-puting, pp. 1-10, Nov. 17, 2014. [cited by applicant]
Cosnard et al., “Symbolic Scheduling of Parameterized Task Graphs on Parallel Machines,” Combinatorial Optimization book series (COOP, vol. 7), pp. 217-243, year 2000. [cited by applicant]
Jeannot et al., “Automatic Multithreaded Parallel Program Generation for Message Passing Multiprocessors using parameterized Task Graphs”, World Scientific, pp. 1-8, Jul. 23, 2001. [cited by applicant]
Stone, “An Efficient Parallel Algorithm for the Solution of a Tridiagonal Linear System of Equations,” Journal of the Association for Computing Machinery, vol. 10, No. 1, pp. 27-38, Jan. 1973. [cited by applicant]
Kogge et al., “A Parallel Algorithm for the Efficient Solution of a General Class of Recurrence Equations,” IEEE Transactions on Computers, vol. C-22, No. 8, pp. 786-793, Aug. 1973. [cited by applicant]
Hoefler et al., “Message Progression in Parallel Computing—To Thread or not to Thread?”, 2008 IEEE International Conference on Cluster Computing, pp. 1-10, Tsukuba, Japan, Sep. 29-Oct. 1, 2008. [cited by applicant]
Wikipedia, “Loop unrolling,” pp. 1-9, last edited Sep. 9, 2020 downloaded from https://en.wikipedia.org/wiki/Loop_unrolling. [cited by applicant]
Chapman et al., “Introducing OpenSHMEM SHMEM for the PGAS Community,” Partitioned Global Address Space Conference 2010, University of Houston, Oak Ridge National Laboratory & U.S. Department of Defense, pp. 1-3, Oct. 20… [cited by applicant]
Priest et al., “You've Got Mail (YGM): Building Missing Asynchronous Communication Primitives”, IEEE International Parallel and Distributed Processing Symposium Workshops, pp. 221-230, year 2019. [cited by applicant]
Wikipedia, “Nagle's algorithm”, pp. 1-4, Dec. 12, 2019. [cited by applicant]
Yang et al., “SwitchAgg: A Further Step Toward In-Network Computing,” 2019 IEEE International Conference on Parallel & Distributed Processing with Applications, Big Data & Cloud Com-puting, Sustainable Computing & Commu… [cited by applicant]
“Message Passing Interface (MPI): History and Evolution,” Virtual Workshop, Cornell University Center for Advanced Computing, NY, USA, pp. 1-2, year 2021, as downloaded from https://cvw.cac. cornell.edu/mpi/history. [cited by applicant]
Pacheco, “A User's Guide to MPI,” Department of Mathematics, University of San Francisco, CA, USA, pp. 1-51, Mar. 30, 1998. [cited by applicant]
Wikipedia, “Message Passing Interface,” pp. 1-16, last edited Nov. 7, 2021, as downloaded fromhttps://en.wikipedia.org/wiki/Message_Passing_Interface. [cited by applicant]
Cited By (2)
US 12,664,413 US 12,696,245