Tesla on avaldanud TTPoE (Tesla Transport Protocol over Ethernet) võrguprotokolliga seotud arendused, mis on loodud liikluse edastamise viivituste vähendamiseks masinõppesüsteeme toetavates andmekeskustes ja infrastruktuurides. Tesla kavatseb standardida TTPoE ja on selle eesmärgi saavutamiseks liitunud UEC-ga (Ultra Ethernet Consortium). TTPoE juurutuskood on kirjutatud C-keeles ja on avatud GPLv2 litsentsi all.
Protokoll on loodud asendama TCP-d rakendustes, mis nõuavad madalat latentsust ja suurt andmeedastuskiirust. Sarnaselt TCP-ga võimaldab TTPoE-protokoll pakette tühistada ja uuesti saata, tagades samal ajal täielikult kõigi saadetud andmete kohaletoimetamise. TTPoE on mõeldud kasutamiseks võrkudes, mille ribalaius on üle 100 Gbps ja algselt rakendati riistvara tasemel, et tagada DOJO superarvuti sõlmede koostoime.
TTPoE kasutuselevõtt olemasolevate lahenduste (nt Infiniband) asemel oli suunatud uute sõlmede lisamise lihtsustamisele DOJO-klastrisse, mis on mõeldud visuaalse teabe töötlemiseks tehisintellekti mudelite treenimisel, mis nõudis väga suurte andmemahtude ülekandmist sõlmede vahel, tagades samal ajal minimaalsed viivitused, mis ei ületa mitukümmend mikrosekundit. Protokolli nõuete hulgas märgiti ka selle suhteliselt lihtsa rakendamise võimalust täielikult riistvara tasemel. Selle tulemusena loodi TTPoE-protokoll, mis töötab tavalise Etherneti peal ja asendas võrgupinus oleva TCP-kihi TTP-protokolliga, mida rakendati palju lihtsama olekumasina abil. Etherneti kasutamine võimaldas korraldada klastri tööd olemasolevate Etherneti lülitite abil.

TTP latentsuse vähendamiseks võrreldes TCP-ga on ühenduse ooteolek (TIME_WAIT) kõrvaldatud ja ühenduse sulgemise läbirääkimisteks vajalike sammude arvu on vähendatud. TCP-s taandub ühenduse sulgemine FIN-paketi saatmisele, FIN-paketi vastuvõtmise kinnituse ootamisele, kinnituseks kinnituse saatmisele ja pesa asetamisele mõneks ajaks olekusse TIME_WAIT, kui see on korrast ära. hilinenud pakettide saabumine. TTP-s piisab ühenduse sulgemiseks sulgemiskoodi saatmisest ja sulgemise kinnituse saamisest (CLOSE, CLOSE-ACK).
Sarnaselt optimeerib TTP ühenduste avamist – tavapärase TCP kolmeastmelise uue ühenduse läbirääkimise asemel (SYN, SYN-ACK, ACK) kasutab TTP kahte etappi (OPEN, OPEN-ACK). TTP-sse sisse viidud lihtsustused võimaldavad tarkvaral ka kaotada ühenduse selgesõnalise avamise – piisab andmete saatmise või vastuvõtmise aadressi määramisest.
Ülekoormuse juhtimiseks kasutab TTP pakettide langetamist nagu TCP, kuid kasutamata keerulisi ummikute kontrolli algoritme, mis põhinevad libiseval aknal, mis muudab suurust sõltuvalt pakettide kadumise tasemest. TTP-s ei muutu akna suurus paketikadude alusel – pakettide saatmine lõpetatakse, kui fikseeritud puhver on täis, kanded eemaldatakse puhvrist, kui saabub kinnitus, ja pakettakad korvatakse puhvrisse salvestatud andmete uuesti edastamisega. . Ühest küljest vähendab see lähenemine viivitusi, kuid teisest küljest segab see TTP tõhusat kasutamist madala kiirusega ja madala kvaliteediga võrkudes, kus on suur pakettkadu.
Avaldatud tarkvara juurutamine sisaldab Linuxi kerneli moodulit modttpoe.ko, mis võimaldab korraldada otsesidekanali mitme sõlme vahel samas Etherneti võrgusegmendis, samuti moodulit modttpip.ko koos TTP lüüsi juurutamisega ( TTP-GW, Tesla transpordiprotokolli lüüs), mis võimaldab kasutada standardset IPv4 pinu TTPoE kaudu, ilma et oleks vaja rakendusi muudatusi teha.
Allikas: opennet.ru
