Jak przechowywanie danych paraliżuje aplikacje mobilne

Najnowsze smartfony i tablety na targach Consumer Electronics Show w Las Vegas w zeszłym miesiącu kładły nacisk na szybsze procesory i kompatybilność z szybszymi sieciami bezprzewodowymi. Jednak nowe badania pokazują, że największym wąskim gardłem wydajności popularnych aplikacji na smartfony, takich jak Facebook i Google Maps, jest w rzeczywistości szybkość odczytu i zapisu danych z urządzenia. Wyniki sugerują, że bez zmiany sposobu, w jaki gadżety mobilne przechowują dane, korzyści z nowych sieci i procesorów będą ograniczone.





Spędzamy dużo czasu w naszym życiu, korzystając z tych aplikacji, ale dużą część z tego spędzamy czekając — na załadowanie strony internetowej lub odświeżenie [interfejsu użytkownika] — powiedział Nitin Agrawal, badacz z laboratoria producenta elektroniki NEC, prezentującego się na Konferencja Usenix File and Storage Technology w San Jose w Kalifornii w zeszłym tygodniu. Odkryliśmy, że pamięć masowa jest kluczowym wąskim gardłem dla urządzeń mobilnych, powiedział Agrawal. Systemy przechowywania na urządzeniach mobilnych wymagają świeżego wyglądu.

Agrawal i jego koledzy, Hyojun Kim i Cristian Ungureanu, doszli do tego wniosku po przetestowaniu, w jaki sposób karta pamięci w urządzeniu miała wpływ na wydajność serii popularnych aplikacji dla mobilnego systemu operacyjnego Google Android. Aplikacje obejmowały Facebooka, Mapy Google, Angry Birds i przeglądarkę internetową Androida.

Aplikacje były wielokrotnie sprawdzane, podczas gdy osiem różnych kart pamięci od kilku producentów było wymienianych i wymienianych, aby sprawdzić, czy aplikacje są bardziej lub mniej responsywne. Urządzenia z Androidem zwykle korzystają z wewnętrznych chipów pamięci podczas uruchamiania aplikacji, ale aby ułatwić eksperymenty, naukowcy dopracowali system operacyjny tak, aby opierał się prawie wyłącznie na wymiennej karcie pamięci urządzenia, która jest zwykle używana do przechowywania zdjęć i muzyki. Ale Agrawal twierdzi, że odkrycia powinny dotyczyć również pamięci wewnętrznej, która ma podobne właściwości.



Niektóre wyniki były uderzające. Od zimnego startu aplikacja Gmail działała ponad trzy razy szybciej na najlepiej działającej karcie pamięci niż na najgorszej; aplikacja Twitter została uruchomiona ponad dwa razy szybciej z szybszym przechowywaniem. Przeglądarka internetowa Android została przetestowana, prosząc ją o nawigację i wczytanie 50 najlepszych stron internetowych jedna po drugiej; w najlepszym przypadku było około trzy razy szybciej niż w najgorszym. Testy przeprowadzono na telefonie Nexus One z systemem Android w wersji Gingerbread, który dopiero niedawno został zastąpiony przez najnowszą wersję Androida, Ice Cream Sandwich.

Agrawal twierdzi, że fakt, że przechowywanie danych ogranicza wydajność, sugeruje szybsze prędkości sieci i procesory, czyli obszary, które przyciągają największą uwagę badaczy, inżynierów i marketerów, może mieć niewielki wpływ na wydajność aplikacji dla użytkowników.

Kiedy testy przeprowadzono przy użyciu kabla do symulacji połączenia 10 razy szybciej niż Wi-Fi, aplikacje prawie nie stały się bardziej responsywne. Spodziewaliśmy się, że wydajność poprawi się nieco wraz z szybszym połączeniem, ale tak się nie stało, powiedział Agrawal.



Zdaniem naukowców problem polega po części na sposobie działania pamięci nieulotnej używanej w telefonach i kartach pamięci. Specyfikacje produktów sugerują, że te chipy powinny być w stanie odczytywać i zapisywać dane szybciej niż procesory lub bezprzewodowe łącza danych, ale w praktyce nie mogą. Dzieje się tak, ponieważ testy porównawcze używane do kategoryzacji pamięci służą do odczytywania lub zapisywania bitów danych na dysku w kolejności, ale wiele popularnych aplikacji w rzeczywistości uzyskuje dostęp do bitów w mniej uporządkowany sposób. Wykazano, że niedociągnięcie to zostało spotęgowane przez sposób, w jaki wiele z badanych aplikacji wykorzystywało kod zarządzania danymi, który w dużej mierze opiera się na losowym dostępie do danych.

Wydajność zapisu losowego jest o rząd wielkości gorsza w przypadku pamięci urządzeń mobilnych i wolniejsza niż w przypadku typowej sieci 3G, powiedział Agrawal. Wydajność pamięci masowej wyraźnie nie nadążała za ulepszeniami sieci.

Naukowcy z NEC przetestowali kilka strategii, które mogą ograniczyć dławienie przechowywania danych na wydajności aplikacji. Facebook stał się czterokrotnie szybszy, gdy na przykład zmusił go do korzystania z innego systemu buforowania danych. To pokazuje, że wybory projektowe dokonywane przez twórców aplikacji mogą złagodzić wąskie gardło przechowywania danych, chociaż usunięcie tego wąskiego gardła wymagałoby zmian w mobilnych systemach operacyjnych i sprzęcie.



Agrawal powiedział Przegląd technologii że nie wiedział, jak iPhone firmy Apple może się zachowywać w podobnych testach. Urządzenia Apple używają tylko pamięci wewnętrznej, a ich technologia jest podobna do tej używanej przez urządzenia z Androidem. Jednak system operacyjny Apple iOS i aplikacje zbudowane dla niego przechowują dane na różne sposoby.

Po prezentacji Agrawal Eno Thereska z Microsoft Research zasugerował, że wyniki należy zweryfikować za pomocą testów z udziałem prawdziwych użytkowników, aby sprawdzić, czy zauważą wykryte ograniczenia wydajności. Wątpił, czy te granice naprawdę mają znaczenie. Potrafię tylko tak szybko czytać stronę internetową, powiedział, i muszę przyznać, że jestem całkiem zadowolony z aplikacji mobilnych. Jakie jest postrzeganie tych doświadczeń przez użytkowników?

Agrawal twierdzi, że jego grupa nie przetestowała jeszcze, czy użytkownicy zauważają wąskie gardła pamięci, ale zauważa, że ​​większość ich testów powielała sposób, w jaki ludzie korzystają z ich aplikacji. Na przykład w przypadku Map Google mierzono, ile czasu zajęło uzyskanie wyników po dotknięciu wskazówek dojazdu. Agrawal mówi, że jest przekonany, że ludzie potrafią odróżnić i uważają, że ograniczenia nałożone przez pamięć są frustrujące. Dlaczego ktokolwiek miałby chcieć zobaczyć 20-sekundowe czekanie, jeśli może uciec z pięcioma sekundami?



ukryć