Department of Information Technology (INTEC) Internet Based Communication Networks and Services research group (IBCN) Protocoloptimalisaties voor mobiele cloud computing Pieter Simoens Openbare doctoraatsverdediging
Evolutie van mobiele toestellen : eerste mobiele telefoon van Motorola 6-digit LED display 1u autonomie 33 cm x 4,45 cm x 8,9 cm 800 gram telefonie geheugen voor 30 nummers
Van draadloze telefoon naar smartphone 6-digit LED display 1u autonomie 33 cm x 4,45 x 8,9 cm 800 gram geheugen voor 30 nummers 9 cm display 14u GSM/10u Wi-Fi 11,5 cm x 5,9 cm x 0,9 cm 137 gram 512 MB RAM 16 GB permanent geheugen telefonie gyroscoop kompas GPS Wi-Fi/UMTS BlueTooth HD camera telefonie 3
Uitbesteden van data en programma’s centrale installatie en onderhoud geen dataverlies bij diefstal of crash krachtige reken- en opslagcapaciteit 4 server smartphone server router Cloud computing thin client Grootste deel van de rekentaken worden op de server en niet op het toestel uitgevoerd
Cloud computing aan UGent 5 DICT, campus De Sterre FEA, Jozef Plateaustraat IBCN, campus Zuiderpoort
Cloud computing: ver van uw bed? 6
Positionering van het onderzoek Protocoloptimalisaties voor mobielecloud computing A A A (25,37) 7 Citrix ICA VNC Microsoft RDP
Inhoud doctoraat uitdagingen oplossingen 8
Uitdaging 1: draadloze bandbreedte draadloze bandbreedte beperkt variërend duur Economisch Technologisch 9
Uitdaging 2: responstijd fysische propagatietijd verwerkingstijden in routers, firewalls… rekentijd in server vertraging door opnieuw verzenden van verloren data 10 router firewall
Uitdaging 3: energieverbruik PACEMAKER GSM BATTERIJBATTERIJ LAPTOP iPOD DIGITALE CAMERA PLAYSTATION PORTABLE 11 Ik ga op reis en ik neem mee… een oplader voor al mijn elektronische toestellen!
Uitdaging 3: energieverbruik SIM kaart aansturing beeldscherm geheugen (FLASH) processor draadloze communicatie 12 GPS energiebeheer Elektronica van de iPhone 3Gs minder berekeningen Cloud computing heeft dubbele impact op energieverbruik meer dataverkeer
Inhoud doctoraat uitdagingen oplossingen Intelligent verzenden van gebruikersinvoer Dynamisch uitschakelen van hardwarecomponenten 13
‘B’ Overdracht van gebruikersinvoer 14 ‘A’ data adres ‘A’ Verhouding nuttige data/adresinformatie < 10 % Inefficiënt transport van gebruikersinvoer 6-8 bytes nuttige data 84 bytes adresinformatie ‘B’ ‘A’
Groeperen van invoer ‘B’ ‘A’ ‘A’ ‘B’ bandbreedte responstijd Hoe lang bufferen? variërende vertraging in het netwerk wachten op volgende invoer of niet? Nood aan model met instelpunten buffer 15
RTT = 100 ms Modellenwerk buffertijd responstijd maximale responstijd bandbreedte Keuze instelpunt hangt af van het netwerk, de ingestelde voorkeur (policy) en de specifieke toepassing 16 RTT = 50 ms RTT = 30 ms
Voortdurend aanpassen instelpunt Algoritme werkt in een dynamische lus netwerk monitor analyse beslissing buffertijd 17
Resultaten Maximale responstijd niet overschreden Bandbreedtebesparing tot 78 % buffertijd bandbreedte [kbps] buffertijd responstijd [ms] 18 Resultaten voor VNC, automatisch gegenereerde gebruikersinvoer en ingestelde maximale responstijd van 150 ms
Inhoud doctoraat uitdagingen oplossingen Intelligent verzenden van gebruikersinvoer Dynamisch uitschakelen van hardwarecomponenten 19
Elektronica van de iPhone 3Gs processor draadloze communicatie BaseBand processor versterkers transceiver TX 4 toestanden RX ID SL verzenden van data (transmit) ontvangen van data (receive) stand-by (idle) slaapstand (sleep) tot 10x minder energieverbruik Het gemiddelde energieverbruik hangt rechtstreeks af van de tijd doorgebracht in elke toestand. 20
Energiebesparing Department of Information Technology – Broadband Communication Networks (IBCN) 21 RX ID tijd TX ID RX ID Ga over naar slaapstand tijdens wachttijden Uitdagingen variërende netwerkvertraging en rekentijden uitschakelen antenne kan leiden tot dataverlies en retransmissies 21
applicatielaag transmissielaag Administratief overleg applicatielaag transmissielaag coderen gebruikersinvoer decoderen beeldupdates versturen/ontvangen van bytes aansturen communicatiehardware A
Omzetten stand-by naar slaapstand applicatielaag transmissielaag ITRAITRA Idle Time Reduction Algorithm tijd TX Analyse uitgewisselde data Voorspel ontvangst van nieuwe serverdata tijd ID SL Ga in ‘sleep’ toestand gedurende X ms RX ID zonder ITRA ITRA bespaart tot 35% energie 23
Inhoud doctoraat uitdagingen oplossingen Hybrid thin client protocol Semantisch thin client protocol 24
Grote diversiteit in beelden grote gebieden met dezelfde kleur beperkt aantal kleuren kleine updates van het scherm beperkt aantal updates per seconde geen homogene kleurgebieden gedetailleerde kleurpatronen ganse scherm tegelijk geüpdatet groot aantal updates per seconde kantoortoepassing tekstverwerker, rekenblad, multimedia toepassing video, 3D spel 25
One size does not fit all 26 Codeerformaat aanpassen aan karakteristieken van het beeld
Oplossing: hybrid protocol toepassing beeldanalyse beslissing 27 video (H.264) thin client protocol statisch dynamisch processorbelasting bandbreedte beeldkwaliteit type beeld codering framebuffer thin client protocol (VNC) video H.264
Beeldanalyse Vergelijk aantal pixels van opeenvolgende beelden om hoeveelheid beweging te bepalen 28
Beslissingsalgoritm e beslissings variable tijd VNC video Hysteresis en geheugeneffect in algoritme beslissingsvariable uitmiddelen over langere periode thermostaatregeling met overgangszone statische scene starten Word 29
Inhoud doctoraat uitdagingen oplossingen Hybrid thin client protocol Semantisch thin client protocol 30
Een bijkomend kanaal 31 RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB RGB beschrijving lay-out en eigenschappen (semantische informatie) video invoerveld tekst afbeelding Uitdaging detecteren individuele objecten Nadelen klassiek protocol geen individuele codering per object toestel “weet” niet wat het weergeeft
Semantische informatie verzamelen toepassing grafische bibliotheek netwerkcommunicatie send( ) 32 putImage(, X, Y) tekeninstructies te versturen bytes (gecodeerd beeld) decodering weergave beeld “plaats deze bytes op positie (X, Y)” Microsoft Word coderen semantische informatie send(0101) send(1100) JPEG bytes “Deze bytes stellen een JPEG afbeelding voor, op positie (X,Y)”
Lokaal afhandelen van gebruikersinvoer Zonder semantische informatie “gebruiker heeft geklikt op positie (4,5)” Met semantische informatie “gebruiker heeft geklikt op object A” type: menu item positie: (1,1) grootte: 10x10 bij muisklik: actie X kortere responstijd minder bandbreedte 33
INVOER ACTIES Intelligente component grafische bibliotheek netwerkcommunicatie 34 Microsoft Word coderen semantische informatie INVOER ACTIES
Resultaten Reductie van datapieken bezochte website [MB] Extra bandbreedte voor meta-data weegt niet op tegen efficiëntere codering 60 – 80 % besparing t.o.v. conventioneel thin client protocol open sluit tijd [s] ogenblikkelijke bandbreedte [kbps] reductie met 70 %, ook t.o.v. semantische thin client protocollen 35 Resultaten voor gEdit tekstverwerker en MPEG-4 BiFS compressie
Samenvatting bandbreedte responstijd energieverbruik intelligent bufferen gebruikersinvoer energiebesparing tijdens intervallen zonder data hybrid protocol doorsturen extra informatie
En verder? 37 “The mobile platforms are so powerful now that you can build applications that do magical things that are connected with the cloud.” Eric Schmidt, Google CEO Thin client wordt smart client Smartphone als toegangspunt voor immersieve toepassingen
Vragen? Department of Information Technology (INTEC) Internet Based Communication Networks and Services research group (IBCN) 38
Het leven zoals het is… de vergaderzaal 39
One size does not fit all hoog bandbreedteverbruik hoge processorbelasting op het toestel trage toepassingen 40 Foute keuze codeerformaat leidt tot
INVOER ACTIES Intelligente component grafische bibliotheek netwerkcommunicatie 41 Microsoft Word coderen semantische informatie drawText(“Nieuw”) putImage(,x,y) drawText(“recentbestand_1.docx”) drawText(“Nieuw”) putImage(,x,y) drawText(“recentbestand_1.docx”) INVOER ACTIES drawText(“Nieuw”) putImage(,x,y) drawText(“recentbestand_1.docx”) INVOER ACTIES drawText(“Nieuw”) putImage(,x,y) drawText(“recentbestand_1.docx”) drawText(“Nieuw”) putImage(,x,y) drawText(“een_ander_bestand.docx”)