Hoe gegevensopslag mobiele apps verlamt

De nieuwste smartphones en tablets op de Consumer Electronics Show in Las Vegas vorige maand kwamen met de nadruk op snellere processors en compatibiliteit met snellere draadloze netwerken. Maar nieuw onderzoek toont aan dat het grootste prestatieprobleem bij populaire smartphone-apps zoals Facebook en Google Maps in feite is hoe snel ze de gegevensopslag van een apparaat kunnen lezen en schrijven. De resultaten suggereren dat zonder de manier waarop mobiele gadgets gegevens opslaan te veranderen, de voordelen van nieuwe netwerken en processors beperkt zullen zijn.





We brengen een groot deel van ons leven door met het gebruik van deze apps, maar een groot deel daarvan wordt besteed aan het wachten op het laden van een webpagina of het vernieuwen van een [gebruikersinterface], zegt Nitin Agrawal, een onderzoeker in de laboratoria van elektronicafabrikant NEC, presenteren op de Usenix-conferentie over bestands- en opslagtechnologie in San Jose, Californië, vorige week. We ontdekten dat opslag het belangrijkste knelpunt is voor mobiele apparaten, zei Agrawal. De opslagsystemen op mobiele apparaten vragen om een ​​frisse look.

Agrawal en zijn collega's Hyojun Kim en Cristian Ungureanu kwamen tot die conclusie nadat ze hadden getest hoe de prestaties van een reeks populaire apps voor het mobiele Android-besturingssysteem van Google werden beïnvloed door de geheugenkaart in een apparaat. De apps omvatten Facebook, Google Maps, Angry Birds en de webbrowser van Android.

Apps werden keer op keer op de proef gesteld, terwijl acht verschillende geheugenkaarten van verschillende fabrikanten werden verwisseld om te zien of ze apps meer of minder responsief maakten. Android-apparaten vertrouwen normaal gesproken op interne geheugenchips bij het uitvoeren van apps, maar om experimenten te vergemakkelijken, hebben de onderzoekers het besturingssysteem aangepast om bijna uitsluitend te vertrouwen op de verwijderbare geheugenkaart van een apparaat, die meestal wordt gebruikt om foto's en muziek op te slaan. Maar Agrawal zegt dat de bevindingen ook moeten gelden voor interne opslag, die vergelijkbare eigenschappen heeft.



Sommige resultaten waren opvallend. Vanaf een koude start startte de Gmail-app meer dan drie keer sneller op de best presterende geheugenkaart dan op de slechtste; de Twitter-app is meer dan twee keer zo snel gelanceerd met snellere opslag. De Android-webbrowser is getest door hem te vragen naar 50 topwebpagina's na elkaar te navigeren en deze te laden; het was in het beste geval ongeveer drie keer sneller dan in het slechtste geval. De tests zijn uitgevoerd op een Nexus One-telefoon met de Gingerbread-versie van Android, die pas onlangs werd vervangen door de nieuwste Android-release, Ice Cream Sandwich.

Agrawal zegt dat het feit dat gegevensopslag de prestaties beperkt, suggereert dat hogere netwerksnelheden en processors, de gebieden die de meeste aandacht krijgen van onderzoekers, ingenieurs en marketeers, weinig verschil kunnen maken in hoe apps presteren voor gebruikers.

Toen testen werden gedaan met een kabel om een ​​verbinding 10 keer sneller te simuleren dan wifi, werden apps nauwelijks responsiever. We hadden verwacht dat de prestaties behoorlijk zouden verbeteren door de snellere verbinding, maar dat gebeurde niet, zei Agrawal.



Het probleem, zeggen de onderzoekers, is gedeeltelijk de manier waarop niet-vluchtig geheugen dat in telefoons en geheugenkaarten wordt gebruikt, werkt. Productspecificaties suggereren dat deze chips gegevens sneller zouden moeten kunnen lezen en schrijven dan processors of draadloze datalinks kunnen leveren, maar in de praktijk kunnen ze dat niet. Dit komt omdat benchmarks die worden gebruikt om geheugen te categoriseren, zijn bedoeld voor het achter elkaar lezen of schrijven van gegevens op een schijf, maar veel van de populaire apps hebben in werkelijkheid toegang tot bits op een minder geordende manier. Die tekortkoming bleek te worden vergroot door de manier waarop veel van de bestudeerde apps gegevensbeheercode gebruikten die sterk afhankelijk is van willekeurige gegevenstoegang.

Willekeurige schrijfprestaties zijn orden van grootte slechter voor opslag op mobiele apparaten en langzamer dan een typisch 3G-netwerk, zei Agrawal. De opslagprestaties hebben duidelijk geen gelijke tred gehouden met de verbeteringen in het netwerk.

De NEC-onderzoekers hebben een handvol strategieën getest die de belemmering van gegevensopslag op app-prestaties kunnen beperken. Facebook werd vier keer sneller toen ze het bijvoorbeeld dwongen een ander systeem van datacaching te gebruiken. Dat toont aan dat ontwerpkeuzes die app-ontwikkelaars maken het knelpunt voor gegevensopslag kunnen verminderen, hoewel het verwijderen van dat knelpunt wijzigingen in mobiele besturingssystemen en hardware vereist.



Agrawal vertelde Technologie beoordeling dat hij niet wist hoe de iPhone van Apple zou kunnen presteren in vergelijkbare tests. Apple-apparaten gebruiken alleen interne opslag en hun technologie is vergelijkbaar met die van Android-apparaten. Het iOS-besturingssysteem van Apple en de apps die ervoor zijn gebouwd, slaan gegevens echter op verschillende manieren op.

Na de presentatie van Agrawal suggereerde Eno Thereska van Microsoft Research dat de resultaten moeten worden gevalideerd met tests waarbij echte gebruikers betrokken zijn, om te zien of ze de vastgestelde prestatielimieten opmerken. Hij vroeg zich af of deze limieten er echt toe deden. Ik kan een webpagina alleen zo snel lezen, zei hij, en ik moet toegeven dat ik redelijk tevreden ben met mobiele apps. Wat is de perceptie van gebruikers van deze ervaringen?

Agrawal zegt dat zijn groep nog niet heeft getest of gebruikers geheugenknelpunten opmerken, maar merkt op dat de meeste van hun tests repliceerden hoe mensen hun apps gebruiken. Voor Google Maps hebben ze bijvoorbeeld getimed hoe lang het duurde om resultaten te krijgen nadat op een routebeschrijving was getikt. Agrawal zegt dat hij er zeker van is dat mensen het verschil kunnen zien en de beperkingen die worden opgelegd door het geheugen frustrerend vinden. Waarom zou iemand een wachttijd van 20 seconden willen zien als ze met vijf seconden weg kunnen komen?



zich verstoppen