I detta dokument presenteras detaljerade mätningar av omkostnader för behandling av Ultrix 4.2a-implementeringen av TCP/IP-nätverksprogram som körs på en DECstation 5000/200. Resultaten användes för att minska flaskhalsarna i fråga om genomströmning och latens. Vi presenterar ett system för impro ving genomströmning när du skickar stora meddelanden genom att annullera de flesta checksummeberäkningar på ett relativt säkert sätt. Vi visar också att för genomförandet vi studerat, minska latency (när du skickar små meddelanden) är ett mer dif ficult problem eftersom bearbetning overheads sprids över många verksamheter; att få en betydande besparingar skulle kräva optimering av många olika mekanismer. Detta är särskilt viktigt eftersom vi vid bearbetning av en realistisk w orkload, vi har funnit att icke-data-touching operationer förbrukar mer tid i aggre grind än data-touching operationer. Vi analyserar TCP/IP [30] och UDP/IP [29] bearbetning omkostnader med en verklig w orkload på en DECstation 5000/200 kör Ultrix 4.2a, och vi använder denna information för att vägleda vår utveckling av nya optimeringar. Kostnaden för olika bearbetning overheads beror på meddelandestorlek; följaktligen tar våra optimeringar hänsyn till meddelandestorlek distributioner som härrör från nätverkstrafiken i vår miljö (vilket inte är atypiskt för många akademiska och kontorsmiljöer). I vår analys av TCP/IP och UDP/IP LAN och WAN trafik kunde vi samla in, vi fann att meddelandestorlekar är f ar från jämnt fördelade; snarare, de flesta meddelanden är antingen mycket små eller mycket stora. Små meddelanden används vanligen för att överföra kontrollinformation, medan lar ge meddelanden vanligtvis innehåller bulkdata. Olika typer av optimeringar kan förbättra processhastigheten för varje typ av trafik; i detta papper diskuterar vi båda. Typiska processtidsnedbrytningar för korta (dvs. 64-128 byte) styrmeddelanden skiljer sig i grunden från dem för långa flera kilobyte datameddelanden. Behandlingstiden för stora meddelanden domineras av data-touching operationer såsom coping ying och data checksums [4, 8-11, 15, 24, 36] eftersom dessa operationer måste tillämpas på varje byte. Små meddelanden har dock få bytes av data, och därmed deras behandlingstid domineras av icke-data-touching verksamhet. För att optimera behandlingen av stora meddelanden beskriver vi en kontrollum redundans en ogiltighetsalgoritm som eliminerar de flesta kontrollsummor utan att offra tillförlitligheten. Eftersom bara kontrollum bearbetning förbrukar nästan hälften av den totala bearbetningstiden (av stora meddelanden), förbättrar denna optimering genomströmningen avsevärt. På både LAN och WAN studerade vi, som båda är typiska Unix-nätverksmiljöer, små meddelanden långt fler än stora meddelanden. I själva verket, även om bearbetning av ett stort meddelande kräver mer tid, den stora andelen små meddelanden orsakar den kumulativa icke-data-touching behandlingstiden att överskrida den kumulativa data-touching behandlingstiden. Vi visar att det skulle vara svårt att avsevärt minska en verage bearbetningstiden för icke-datatouching overheads, åtminstone för genomförandet vi studerat, eftersom den tiden sprids o ver man y operationer. För att uppnå betydande besparingar krävs optimering av många olika mekanismer. Papperet är eller ganiseras som follo ws. I Avsnitt 2 beskriver vi vilka trafikspår som används för att driva vår analys. I Avsnitt 3 presenterar vi vår kategorisering av större nätverk programvara bearbetning o verheads. Den e xperimentella uppsättning som används för att erhålla våra mätningar beskrivs i avsnitt 4. Avsnitt 5 innehåller en analys av netw ork programvara bearbetning overheads för ett komplett utbud av meddelandestorlekar. I avsnitt 6 diskuteras vår algoritm för att annullera beräkningen av checksummor när de anses överflödiga. I Avsnitt 7 analyserar vi aggregerade bearbetning overheads baserat på den uppmätta meddelandestorleken. Avsnitt 8 innehåller en finare analys för varje cate gory av o verheads, med tonvikt på de mest tidskrävande. I avsnitt 9 diskuterar vi kortfattat hur våra resultat kan tillämpas på andra arkitekturer. Slutligen lägger vi fram slutsatser i avsnitt 10. För att bestämma TCP och UDP meddelande storlek distrib utions som är representativa för verkliga traf fic, fick vi pack et spår från två olika FDDI nätverk, var och en används för ett annat ändamål. Det första spåret, som återspeglar bredare användning, är av trafik avsedd för och genererad av en fi le server på en FDDI LAN av allmänna ändamål Unix w orkstations i ett universitet data science avdelning. Vi kallar detta "LAN-spåret". Den andra spår, som är av bred område nätverkstrafik, erhålls från FDDI nettow ork som matar NSFnet ryggrad noden vid San Diego Superdator Center (SDSC) (detta är samma spår används i [7] ). Vi kallar detta andra spår för "WAN-spåret". LAN- och WAN-spåren erhölls i september 1992 och mars 1992.
En detaljerad diskussion om de allmänna omkostnaderna för behandling av TCP, UDP och IP finns också i REF.
Profiling and reducing processing overheads in TCP/IP
{'venue': 'IEEE/ACM Transactions on Networking', 'journal': None, 'mag_field_of_study': ['Computer Science']}