211service.com
Hur datalagring försämrar mobilappar
De senaste smarta telefonerna och surfplattorna på Consumer Electronics Show i Las Vegas förra månaden kom med betoning på snabbare processorer och kompatibilitet med snabbare trådlösa nätverk. Men ny forskning visar att den största prestandaflaskhalsen med populära smarttelefonappar som Facebook och Google Maps faktiskt är hur snabbt de kan läsa och skriva en enhets datalagring. Resultaten tyder på att utan att ändra hur mobila prylar lagrar data, kommer fördelarna med nya nätverk och processorer att begränsas.
Vi spenderar mycket tid av våra liv med att använda dessa appar, men en stor del av det går åt till att vänta – på att en webbsida ska laddas eller att ett [användargränssnitt] ska uppdateras, säger Nitin Agrawal, en forskare inom labb av elektroniktillverkaren NEC, som presenterar på Usenix fil- och lagringsteknikkonferens i San Jose, Kalifornien, förra veckan. Vi fann att lagring är den viktigaste flaskhalsen för mobila enheter, sa Agrawal. Lagringssystemen på mobila enheter kräver ett fräscht utseende.
Agrawal och hans kollegor Hyojun Kim och Cristian Ungureanu kom till den slutsatsen efter att ha testat hur prestandan hos en serie populära appar för Googles mobiloperativsystem Android påverkades av minneskortet inuti en enhet. Apparna inkluderade Facebook, Google Maps, Angry Birds och Androids webbläsare.
Appar sattes igenom gång på gång medan åtta olika minneskort från flera tillverkare byttes in och ut för att se om de gjorde appar mer eller mindre responsiva. Android-enheter förlitar sig normalt på interna minneschips när de kör appar, men för att underlätta experimenterandet anpassade forskarna operativsystemet så att det nästan uteslutande förlitar sig på en enhets flyttbara minneskort, som vanligtvis används för att lagra foton och musik. Men Agrawal säger att fynden också bör gälla intern lagring, som har liknande egenskaper.
Några av resultaten var slående. Från en kall start startade Gmail-appen mer än tre gånger snabbare körning på det bästa minneskortet än på det sämsta; Twitter-appen lanserades mer än dubbelt så snabbt med snabbare lagring. Webbläsaren Android testades genom att den bad den att navigera till och ladda 50 toppwebbsidor efter varandra; det var ungefär tre gånger snabbare i bästa fall än i värsta fall. Testerna utfördes på en Nexus One-telefon som körde Gingerbread-versionen av Android, som först nyligen ersattes av den senaste Android-versionen, Ice Cream Sandwich.
Agrawal säger att det faktum att datalagring begränsar prestanda antyder snabbare nätverkshastigheter och processorer, de områden som får mest uppmärksamhet från forskare, ingenjörer och marknadsförare, kan göra liten skillnad för hur appar presterar för användarna.
När tester gjordes med en kabel för att simulera en anslutning 10 gånger snabbare än Wi-Fi, blev appar knappast mer lyhörda. Vi förväntade oss att prestandan skulle förbättras ganska mycket med den snabbare anslutningen, men det hände inte, sa Agrawal.
Problemet, säger forskarna, är delvis hur beständigt minne som används inuti telefoner och minneskort fungerar. Produktspecifikationer tyder på att dessa chips borde kunna läsa och skriva data snabbare än processorer eller trådlösa datalänkar kan tjäna det, men i praktiken kan de inte. Detta beror på att riktmärken som används för att kategorisera minne är för att läsa eller skriva bitar av data på en disk i sekvens, men många av de populära apparna i verkligheten kommer åt bitar på ett mindre ordnat sätt. Den bristen visade sig förstärkas genom att många av de studerade apparna använde datahanteringskod som är starkt beroende av slumpmässig dataåtkomst.
Slumpmässig skrivprestanda är storleksordningar sämre för lagring av mobila enheter och långsammare än ett typiskt 3G-nätverk, sa Agrawal. Lagringsprestanda har uppenbarligen inte hållit jämna steg med förbättringarna i nätverket.
NEC-forskarna testade en handfull strategier som kunde begränsa datalagringens chokehold på appens prestanda. Facebook blev fyra gånger snabbare när de tvingade det att använda ett annat system för datacache, till exempel. Det visar att designval som apputvecklare gör kan mildra flaskhalsen för datalagring, även om att ta bort den flaskhalsen skulle kräva förändringar av mobila operativsystem och hårdvara.
Agrawal berättade Teknikgranskning att han inte visste hur Apples iPhone kunde prestera i liknande tester. Apple-enheter använder endast intern lagring, och deras teknik liknar den som används av Android-enheter. Apples iOS-operativsystem och appar byggda för det lagrar dock data på olika sätt.
Efter Agrawals presentation föreslog Eno Thereska från Microsoft Research att resultaten måste valideras med tester som involverar riktiga användare, för att se om de lägger märke till prestandagränserna som upptäckts. Han ifrågasatte om dessa gränser verkligen spelade någon roll. Jag kan bara läsa en webbsida så snabbt, sa han, och måste erkänna att jag är ganska nöjd med mobilappar. Vad är användarnas uppfattning om dessa upplevelser?
Agrawal säger att hans grupp ännu inte har testat om användare märker minnesflaskhalsar, men noterar att de flesta av deras tester replikerade hur människor använder sina appar. Till exempel, för Google Maps, tidsbestämde de hur lång tid det tog att få resultat efter att hitta vägbeskrivningar trycktes. Agrawal säger att han är övertygad om att människor kan se skillnaden och att begränsningar som åläggs minnet är frustrerande. Varför skulle någon vilja se en 20-sekunders väntan om de kan komma undan med fem sekunder?