Slutrapport EFFEKTIVARE KOMMUNIKATION FÖR FRAMTIDENS INTERNET 31 maj 2012 Per Hurtig Karlstads universitet Avdelningen för Datavetenskap per.hurtig@kau.se
Innehåll 1 Inledning 3 2 Mål och syfte 3 2.1 Problembeskrivning och föreslagna mekanismer............... 4 3 Projektbeskrivning 5 4 Leverabler 5 5 Resultat 6 5.1 Positiva Resultat................................ 6 5.2 Mindre Positiva Resultat............................ 6 5.3 Vetenskapliga Resultat............................. 6 6 Utvärdering och analys 7 6.1 Utvärdering av resultat............................ 7 6.2 Förslag på förbättringar............................ 8 7 Framtida arbeten 8
1 Inledning Denna rapport beskriver genomförandet av, och utfallet av, projektet Effektivare kommunikation för framtidens Internet. Projektet har adresserat de extra fördröjningar som moderna internetapplikationer kan drabbas av. Dessa fördröjningar är ofta en direkt följd av den typ av trafik som de kommunicerar (korta TCP-flöden). Problemet med korta TCP-flöden och extra fördröjningar har varit känt men aningen förbisett i ett antal år eftersom fokus hos forskare och utvecklare har varit att istället öka bandbredden, ofta med ökade fördröjningar som bieffekt. För att belysa detta problem och även försöka reducera de extra fördröjningar som moderna applikationer kan uppleva har vi i detta projekt utvecklat, utvärderat och börjat standardisera två mekanismer. Dessa mekanismer förändrar TCPs pålitlighetsfunktionalitet för kortare flöden så att dessa flöden inte särbehandlas negativt med längre fördröjningar som följd. De resultat vi hitills har uppnått visar att båda mekanismerna klarar av att reducera sådana fördröjningar signifikant. Det finns två separata målgrupper för projektets resultat. Den primära gruppen utgörs av TCP standardiseringsorgan Internet Engineering Task Force (IETF) 1, operativsystemsutvecklare som arbetar med internetprotokoll, forskare inom datakommunikation, applikationsutvecklare samt studenter. Det vill säga, alla de som är intresserade av det aktuella problemet och möjliga lösningar på det. Givet att intresset inom denna grupp är tillräckligt stort så kan vi, genom bl.a. standardisering och implementation i operativsystem, nå allmänheten, vår andra målgrupp. Det övergripande målet är ju trots allt att förbättra vanliga användares internetprestanda. Eftersom detta mål sträcker sig över en tidsperiod som är längre än projekttiden är det svårt att säga något definitivt om resultatet. Vi har dock påbörjat standardiseringsprocessen med väldigt goda resultat. Vi har bl.a. presenterat en av mekanismerna vid två separata IETF möten, och knutit värdefulla kontakter inför den fortsatta processen. Problematiken som detta projekt adresserar är som sagt inte nytt, men har fallit i glömska på grund av det stora fokuset på hög bandbredd. Det finns dock ett flertal forskare som nu tittar på hur det är möjligt att lösa detta återupptäckta problem. Vi har under projektets gång samarbetat med två sådana aktörer: Simula Research Laboratory i Oslo samt Oslo Universitet. Dessa instutitioner har varit av stor betydelse för projektets framgång, eftersom de både forskar inom detta område och är aktiva inom IETFs standardiseringsarbete. 2 Mål och syfte Syftet med projektet har varit att förbättra prestandan för moderna internetapplikationer, genom att minska den extra fördröjning som sådana applikationer ofta utsätts för. För att uppnå detta syfte sattes två delmål: (i) utveckling och utvärdering av två mekanismer som erbjuder minskade fördröjningar för kortare TCP-flöden; och (ii) standardisering av dessa mekanismer för att nå en så bred målgrupp som möjligt. 1 http://www.ietf.org Effektivare Kommunikation Sida 3 av 8 2012-05-31
Förutom dessa explicita mål har syftet med projektet även varit att belysa problemen med höga fördröjningar för denna typ av trafik och hitta samarbetspartners inom akademin och standardiseringsorganet IETF som är intresserade av att fortsätta arbeta med problemet. I nästa avsnitt av rapporten ges en beskrivning av problemet med fördröjningar för kortare TCP-flöden samt de mekanismer vi har utvecklat och utvärderat. 2.1 Problembeskrivning och föreslagna mekanismer Merparten av den trafik som skickas över Internet använder sig av transportprotokollet TCP. TCP har under åren optimerats för att utnyttja det underliggande nätverkets bandbredd så bra som möjligt. Detta har möjliggjort utvecklandet av applikationer med höga krav på bandbredd (t.ex. fildelningsprogram). Många internetbaserade applikationer, såsom webbläsare och online-spel, använder sig dock av TCP för att överföra mindre datamängder. Då de flesta molntjänster tillhör denna grupp av applikationer, kan man dessutom anta att andelen korta flöden kommer att öka avsevärt i framtiden. Vid överföring av mindre mängder data är inte bandbredd så viktigt för bra prestanda, istället är låg fördröjning avgörande. Eftersom TCP prioriterar bandbredd och inte fördröjning så missgynnas kortare dataflöden. Ett problem återfinns i TCPs pålitlighetsmekanismer. Om data förloras på vägen mellan avsändare och mottagare, så har TCP två mekanismer som detekterar förluster och åtgärdar dem. Dessa mekanismer är inte anpassade för kortare flöden då enbart den långsammare, Retransmission TimeOut (RTO), fungerar för kortare flöden. För att lösa detta problem har vi tidigare föreslagit Early Retransmit-mekanismen (ER). ER möjliggör snabb omsändning för en del korta flöden, dock inte alla. Resterande flöden måste fortfarande förlita sig på RTO. Ett problem med denna mekanism, förutom att den rent generellt är långsam, är att den i många fall förlänger återhämtningstiderna helt i onödan. Förlängningen är dessutom godtycklig då den beror på när data förloras i en överföring. I några få fall så sker återhämtningen precis när den skall men i de flesta fall så lägger TCP på en extra fördröjning, vilket kan öka den totala överföringstiden drastiskt för kortare flöden. Den mekanism vi har utvecklat, och utvärderat, optimerar sättet som RTOn sköts på, så att den tid det tar för TCP att återhämta sig från förluster inte är godtycklig. Resultaten från vår utvärdering visar att korta TCP flöden, i genomsnitt, kan tjäna avsevärt på att använda den föreslagna RTO-optimeringen. I de fall paket förloras har vi sett reduceringar i överföringstiden med mer än en round-trip tid. Ett annat problem för korta flöden är den s.k. cachning som ibland används av TCP. I t.ex. operativsystemet Linux så sparas vissa prestandamått under pågående överföring. Dessa mått återanvänds sedan för att optimera nya förbindelser. Medan man under en längre överföring kontinuerligt kan mäta och därigenom konvergera mot ett rättvisande prestandamått, kan enstaka händelser i ett kortare flöde få en orimligt stor inverkan på kommande förbindelser och därigenom istället försämra prestandan. För att lösa detta problem har vi konstruerat en cachningsmekanism som, för korta flöden, inte sparar de prestandamått som kan vara skadliga för påföljande flöden. Våra utvärderingar visar att även denna optimering kan reducera den genomsnittliga Effektivare Kommunikation Sida 4 av 8 2012-05-31
överföringstiden när paketförluster sker. I våra mätningar har vi observerat reduceringar i den totala överföringstiden med ungefär 40%, även för så låga paketförlusthalter som 0.5%. 3 Projektbeskrivning Projektet Effektivare Kommunikation för Framtidens Internet har under perioden 2011-06-01 till 2012-05-31 bestått av tre personer vid Karlstads universitet: 1. Per Hurtig 2. Tomas Hall 3. Anna Brunström Projektledare Per Hurtig har genomfört merparten av arbetet med att utveckla och utvärdera de två mekanismer som projektet fokuserat på. Under projektets gång så har den formella specifikationen av dessa mekanismer utformats i samarbete med Professor Anna Brunström och själva implementationen av mekanismerna har gjorts i samarbete med projektassistent Tomas Hall. För att vanliga internetanvändare skall kunna tillgodogöra sig dessa optimeringar har projektet även omfattat ett standardiseringsarbete. I fallet med RTO-optimeringen har projektgruppen diskuterat problemställningen och den tänkbara lösningen inom TCPs standardiseringsorgan IETF. Diskutionerna har förts på mailing-listor och vid ett flertal IETF-möten, bl.a. i IETFs arbetsgrupp TCP Maintenance and Minor Extensions och i gruppen Transport Area Working Group. Vi har även varit i kontakt med utvecklarna för Linuxkärnan för att på sikt integrera vår cachningsmekanism i deras kodbas. I detalj så har projektet löpt enligt den överenskommna aktivitetsplanen, med mycket få avvikelser. De aktiviteter som genomförts har redovisats.se genom månatliga projektrapporter under projektets löptid. Under projektets gång har vi även samarbetat med en rad institutioner och personer som är involverade både inom forskning i detta område samt standardisering inom IETF. Våra främsta samarbetspartners har varit Simula Research Laboratory i Oslo samt Universitetet i Oslo. Vi har även fått bra återkoppling på våra ideer och resultat i diskussioner med representanter för företag som Google och Cisco. 4 Leverabler Tabell 1 visar en lista över projektets leverabler tillsammans med leveransdatum. Listan innehåller implementationerna av de två föreslagna mekanismerna samt utvärderingar av dem och denna slutrapport. Effektivare Kommunikation Sida 5 av 8 2012-05-31
Tabell 1: Leverabler. # Leveransförteckning Leveransdatum 1 Implementation av cachningsoptimering 2011-10-01 2 Prestandautvärdering av cachningsoptimering (publikation) 2011-12-01 3 Implementation av RTO-optimering 2012-03-01 4 Utvärdering av RTO-optimering (publikation) 2012-05-01 5 Slutrapport 2012-05-31 5 Resultat Resultatmässigt har projektet löpt mycket väl. I detta kapitel går vi kort igenom de positiva resultat som uppnåts, en sammanfattning av de vetenskapliga resultat som projektet gett upphov/bidragit till samt det som fungerat mindre bra. 5.1 Positiva Resultat Projektet har levererat samtliga leverabler som specificerades i projektavtalet (se Kapitel 4). De två mekanismerna har färdigställts, utvärderats och standardiseringsprocessen har inletts. Vidare så har informationsspridning kring dessa mekanismer och deras prestanda skett vid ett antal tillfällen, bland annat i olika arbetsgrupper inom IETF. Projektet har också bidragit positivt till vårt samarbete med instutitioner som är ledande inom standardisering och TCP optimering. Vi har t.ex. utökat vårt samarbete med Simula Research Laboratory samt Universitetet i Oslo, vilka har forskare som är verksamma inom IETF. Vi har även låtit studenter vid Karlstads universitet experimentera med, och mäta effekten av, våra mekanismer i ett antal kurser på avancerad nivå. Slutligen så har vi även presenterat delar av projektets resultat vid vetenskapliga konferenser, och som en del av projektledare Per Hurtigs doktorsavhandling. En fullständig lista över den vetenskapliga spridningen återfinns i Kapitel 5.3. 5.2 Mindre Positiva Resultat De mindre positiva resultaten rör främst integrationen av cachningsoptimeringen i Linux kodbas. Vi har haft kontakter med utvecklarna för Linuxkärnan men än så länge har detta inte gett några konkreta resultat. I och med att vi kommer fortsätta vårt arbete inom detta område, hoppas vi dock att det går att genomföra en integration i framtiden. 5.3 Vetenskapliga Resultat Under projektets gång har ett antal publikationer färdigställts och presentationer hållits: Standardiseringsdokument Effektivare Kommunikation Sida 6 av 8 2012-05-31
Per Hurtig, Andreas Petlund and Michael Welzl, TCP and SCTP RTO Restart, Work in progress, Internet-Draft, draft-hurtig-tcpm-rtorestart-01, October 2011. Standardiseringspresentationer Per Hurtig, Andreas Petlund and Michael Welzl, TCP and SCTP RTO Restart, Internet-Draft, IETF 82, TCPm, November 13-18 2011, Taipei, Taiwan. Per Hurtig, Andreas Petlund and Michael Welzl, TCP and SCTP RTO Restart, Internet-Draft, IETF 83, TSVwg, March 25-30 2012, Paris, France. Konferenspublikationer Per Hurtig and Anna Brunstrom, Short Flows and Metric Caching in Linux, In Proceedings of the 7th Swedish National Computer Networking Workshop (SNCNW 2011), June 13-14 2011, Linköping, Sweden. Per Hurtig, Anna Brunstrom, Enhanced Metric Caching for Short TCP Flows, IEEE International Conference on Communications (ICC 12), June 2012, Ottawa, Canada. Övriga Publikationer och Presentationer Per Hurtig, Transport-Layer Performance for Applications and Technologies of the Future Internet, Doctoral Thesis, February 9 2011, Karlstad, Sweden. Per Hurtig, TCP and SCTP RTO Restart, Short Flows and TCP Metric Caching in Linux, Workshop, 5-6 September 2011, Oslo, Norway. 6 Utvärdering och analys 6.1 Utvärdering av resultat Samtliga specificerade leverabler har levererats. Vetenskapliga resultat har presenterats vid vetenskapliga konferenser, workshops och i ett antal publikationer. Vi har presenterat våra mekanismer vid ett flertal IETF-möten. Vi har knutit kontakter som kommer att underlätta vårt fortsatta arbete med både forskning och standardisering inom detta område. Studenter på avancerad nivå har fått en gedigen kunskap om forskningsfronten inom detta område. Detta genom att de fått genomföra diverse utvärderingar av de föreslagna mekanismerna i kurserna: Performance Modelling & Simulation Topics in Computer Networking Effektivare Kommunikation Sida 7 av 8 2012-05-31
6.2 Förslag på förbättringar För att sprida information om projektresultaten upprättades en projektsajt under Karlstads universitets domän. Denna sajt uppdaterades väldigt infrekvent, och blev ingen bra kanal för informationsspridning. I eventuella fortsättningsprojekt skulle detta kunna förbättras markant. 7 Framtida arbeten Vi har i och med detta projekt börjat utforska ett pånyfött och relativt outforskat område. Vi har även etablerat och fördjupat en rad kontakter under detta projekt med en gemensam EU-ansökan som följd. Den gemensamma EU-ansökan behandlar även den problemet med ökade fördröjningar, om än i en vidare kontext. Tack vare detta kommer vi tillsammans med våra samarbetspartners fortsätta att undersöka detta problemområde. Vi kommer bl.a. fortsätta att verka för en standardisering av de två föreslagna mekanismerna. Som tidigare nämnts, har vi främst tittat på specifika mekanismer där det varit uppenbart att TCP förfördelar kortare flöden. Framtida arbeten kommer ha ett bredare förhållningssätt till denna problematik, och involvera olika protokoll, olika typer av trafik samt olika nivåer i nätverket, exempelvis applikationslagret. Effektivare Kommunikation Sida 8 av 8 2012-05-31