Darmowa chmura obliczeniowa, czyli hakowanie przeglądarek

dodał 30 listopada 2012 o 11:48 w kategorii Info, Mobilne  z tagami:
Darmowa chmura obliczeniowa, czyli hakowanie przeglądarek

Usługi przetwarzania danych w chmurze tanieją z każdym dniem, ale czy można je dostać za darmo? Okazuje się, że tak – wystarczy zaprząc do pracy mobilne przeglądarki internetowe, działające w chmurze i dostępne dla wszystkich. Jak to zrobić?

Naukowcy z dwóch amerykańskich uniwersytetów udowodnili, że mobilne przeglądarki internetowe, takie jak Amazon Silk, Opera Mini, Cloud Browse czy Puffin można wykorzystać do wykonywania rozproszonych, złożonych obliczeń. Wykorzystali w tym celu standardową funkcjonalność tych przeglądarek, polegającą na przetwarzaniu w chmurze stron internetowych. Przeglądarki te mają za zadanie odciążać urządzenia mobilne, wykonując za nie pracochłonne czynności takie jak wyświetlanie złożonych stron internetowych, korzystających między innymi z technologii JavaScript. Przeglądarka w chmurze wykonuje wszystkie potrzebne operacje, by wysłać użytkownikowi gotową, przetworzona stronę. Naukowcy, odpowiednio manipulując żądaniami wyświetlenia stron internetowych, zmusili te przeglądarki do wykonywania zadanych obliczeń. Jak im się to udało?

Schemat działania Browser MapReduce

Badacze zaczęli od skonstruowania platformy, umozliwiającej rozproszenie wykonywanego zadania na wiele węzłów w sieci. W tym celu wykorzystali technologię Google MapReduce, którą zmodyfikowali odpowiednio dla swoich potrzeb, nazywając Browser MapReduce. Technologia ta pozwala podzielić złożone zadania na mniejsze części i zagregować wyniki działania poszczególnych węzłów, by otrzymać końcową odpowiedź.

Naukowcy przetestowali także 4 dostępne mobilne przeglądarki, by ocenić, która z nich najlepiej będzie nadawać się do ich celów. Co prawda dostawcy tych usług nie precyzują możliwości swoich rozwiązań, jednak odpowiednio zaplanowane testy pozwoliły na oszacowanie parametrów poszczególnych platform.

Wyniki testów przeglądarek

Jak widać, Cloud Browse i Puffin okazały się być znacznie bardziej tolerancyjne w stosunku do zadań, generowanych w trakcie testów. Co prawda Cloud Browse udostępniał więcej pamięci, jednak ze względu na większe możliwości procesora do dalszych testów został wybrany Puffin .

Postanowiono zaimplementować trzy standardowe zadania: liczenie wystąpień danego słowa, przeszukiwanie pliku (grep) i sortowanie pliku. Do składowania danych wejściowych i przejściowych wyników obliczeń wybrano inną darmową usługę – skracacz linków bit.ly. Metodą prób i błędów określono jego pojemność na 2022 znaki w jednym linku i 99 linków, które można dodać w ciągu minuty z jednego adresu IP. Aby zaimplementować wybrane rozwiązania, naukowcy poddali dizasemblacji klienta Puffina na platformę Android i wykorzystali jego kod do skonstruowania swojego narzędzia. Same zadania obliczeniowe wykonywały skrypty JavaScript.

Dla określenia skali wydajności zaimplementowanej platformy oraz związanych z nią oszczędności, identyczne zadania wykonywano na platformie Amazona Elastic MapReduce oraz na platformie Hadoop. Ze względów etycznych próby przeprowadzano jedynie na zbiorach danych o rozmiarach 1, 10 i 100MB. Nie stwierdzono technologicznych ograniczeń, uniemożliwiających przetwarzanie znacznie większych zbiorów danych wejściowych, jednak postanowiono nie obciążać testowanych usług ponad miarę. Co ciekawe, okazało się, że funkcja grep działała znacznie wydajniej zaimplementowana na mobilnych przeglądarkach. Funkcje liczenia wystąpień i sortowania zostały znacznie szybciej wykonane na konkurencyjnych platformach. Ze względu na niskie koszty przetwarzania w chmurze, oszczędności przy tej skali testów były znikome i wynosiły kilka centów. Należy jednak wziąć pod uwagę fakt, że testy były krótkie i obejmowały relatywnie niewielkie zbiory danych, zatem darmowa wersja przetwarzania w chmurze przy długoterminowych zadaniach może przynieść znacznie większe korzyści.

Oczywiście testowane funkcjonalności były jedynie przykładami. Inni uzytkownicy mogą próbować nadużywać darmowych usług w chmurze w zupełnie innych celach – w innym teście naukowcy zweryfikowali, że stworzona przez nich darmowa chmura obliczeniowa była w stanie przetestować 24 tysiące hashy hasła na sekundę – niestety nie podali testowanego algorytmu hashowania.

Dostawcy usług przeglądarek  chmurze najwyraźniej nie przewidzieli poziomu kreatywności ich użytkowników i nie wprowadzili mechanizmów istotnie ograniczających możliwości tego typu nadużyć. Można się jednak spodziewać, że gdy opisywana powyżej praca naukowców zyska więcej rozgłosu, zostaną zaimplementowane mechanizmy, utrudniające takie wykorzystanie tych platform.